File: filter.js

package info (click to toggle)
node-es6-set 0.1.5-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 216 kB
  • sloc: javascript: 638; makefile: 2
file content (18 lines) | stat: -rw-r--r-- 491 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'use strict';

var callable = require('es5-ext/object/valid-callable')
  , forOf    = require('es6-iterator/for-of')
  , isSet    = require('../is-set')
  , Set      = require('../')

  , call = Function.prototype.call;

module.exports = function (cb/*, thisArg*/) {
	var thisArg = arguments[1], result;
	callable(cb);
	result = isSet(this) ? new this.constructor() : new Set();
	forOf(this, function (value) {
		if (call.call(cb, thisArg, value)) result.add(value);
	});
	return result;
};