aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es6-set/ext
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es6-set/ext')
-rw-r--r--node_modules/es6-set/ext/copy.js5
-rw-r--r--node_modules/es6-set/ext/every.js18
-rw-r--r--node_modules/es6-set/ext/filter.js18
-rw-r--r--node_modules/es6-set/ext/get-first.js5
-rw-r--r--node_modules/es6-set/ext/get-last.js11
-rw-r--r--node_modules/es6-set/ext/some.js18
6 files changed, 75 insertions, 0 deletions
diff --git a/node_modules/es6-set/ext/copy.js b/node_modules/es6-set/ext/copy.js
new file mode 100644
index 000000000..a8fd5c20c
--- /dev/null
+++ b/node_modules/es6-set/ext/copy.js
@@ -0,0 +1,5 @@
+'use strict';
+
+var Set = require('../');
+
+module.exports = function () { return new Set(this); };
diff --git a/node_modules/es6-set/ext/every.js b/node_modules/es6-set/ext/every.js
new file mode 100644
index 000000000..ea64ebc56
--- /dev/null
+++ b/node_modules/es6-set/ext/every.js
@@ -0,0 +1,18 @@
+'use strict';
+
+var callable = require('es5-ext/object/valid-callable')
+ , forOf = require('es6-iterator/for-of')
+
+ , call = Function.prototype.call;
+
+module.exports = function (cb/*, thisArg*/) {
+ var thisArg = arguments[1], result = true;
+ callable(cb);
+ forOf(this, function (value, doBreak) {
+ if (!call.call(cb, thisArg, value)) {
+ result = false;
+ doBreak();
+ }
+ });
+ return result;
+};
diff --git a/node_modules/es6-set/ext/filter.js b/node_modules/es6-set/ext/filter.js
new file mode 100644
index 000000000..1178fc591
--- /dev/null
+++ b/node_modules/es6-set/ext/filter.js
@@ -0,0 +1,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;
+};
diff --git a/node_modules/es6-set/ext/get-first.js b/node_modules/es6-set/ext/get-first.js
new file mode 100644
index 000000000..b5d89fc13
--- /dev/null
+++ b/node_modules/es6-set/ext/get-first.js
@@ -0,0 +1,5 @@
+'use strict';
+
+module.exports = function () {
+ return this.values().next().value;
+};
diff --git a/node_modules/es6-set/ext/get-last.js b/node_modules/es6-set/ext/get-last.js
new file mode 100644
index 000000000..d22ce737b
--- /dev/null
+++ b/node_modules/es6-set/ext/get-last.js
@@ -0,0 +1,11 @@
+'use strict';
+
+module.exports = function () {
+ var value, iterator = this.values(), item;
+ while (true) {
+ item = iterator.next();
+ if (item.done) break;
+ value = item.value;
+ }
+ return value;
+};
diff --git a/node_modules/es6-set/ext/some.js b/node_modules/es6-set/ext/some.js
new file mode 100644
index 000000000..400a5a0c6
--- /dev/null
+++ b/node_modules/es6-set/ext/some.js
@@ -0,0 +1,18 @@
+'use strict';
+
+var callable = require('es5-ext/object/valid-callable')
+ , forOf = require('es6-iterator/for-of')
+
+ , call = Function.prototype.call;
+
+module.exports = function (cb/*, thisArg*/) {
+ var thisArg = arguments[1], result = false;
+ callable(cb);
+ forOf(this, function (value, doBreak) {
+ if (call.call(cb, thisArg, value)) {
+ result = true;
+ doBreak();
+ }
+ });
+ return result;
+};