collection-delete-all.js
586 Bytes
'use strict';
var call = require('../internals/function-call');
var aCallable = require('../internals/a-callable');
var anObject = require('../internals/an-object');
// https://github.com/tc39/collection-methods
module.exports = function deleteAll(/* ...elements */) {
var collection = anObject(this);
var remover = aCallable(collection['delete']);
var allDeleted = true;
var wasDeleted;
for (var k = 0, len = arguments.length; k < len; k++) {
wasDeleted = call(remover, collection, arguments[k]);
allDeleted = allDeleted && wasDeleted;
}
return !!allDeleted;
};