File: filter.js

package info (click to toggle)
node-es6-set 0.1.6-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 260 kB
  • sloc: javascript: 701; makefile: 3
file content (15 lines) | stat: -rw-r--r-- 533 bytes parent folder | download
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;
};