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;
| };
|
|