18 lines
659 B
18 lines
659 B
'use strict'; |
|
var $ = require('../internals/export'); |
|
var aWeakSet = require('../internals/a-weak-set'); |
|
var remove = require('../internals/weak-set-helpers').remove; |
|
|
|
// `WeakSet.prototype.deleteAll` method |
|
// https://github.com/tc39/proposal-collection-methods |
|
$({ target: 'WeakSet', proto: true, real: true, forced: true }, { |
|
deleteAll: function deleteAll(/* ...elements */) { |
|
var collection = aWeakSet(this); |
|
var allDeleted = true; |
|
var wasDeleted; |
|
for (var k = 0, len = arguments.length; k < len; k++) { |
|
wasDeleted = remove(collection, arguments[k]); |
|
allDeleted = allDeleted && wasDeleted; |
|
} return !!allDeleted; |
|
} |
|
});
|
|
|