1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
"use strict";
var callable = require("es5-ext/object/valid-callable")
, forOf = require("es6-iterator/for-of")
, isSet = require("../is-set")
, SetConstructor = require("../")
, call = Function.prototype.call;
module.exports = function (cb /*, thisArg*/) {
var thisArg = arguments[1], result;
callable(cb);
result = isSet(this) ? new this.constructor() : new SetConstructor();
forOf(this, function (value) { if (call.call(cb, thisArg, value)) result.add(value); });
return result;
};
|