diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-08-14 05:01:11 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-08-14 05:02:09 +0200 |
commit | 363723fc84f7b8477592e0105aeb331ec9a017af (patch) | |
tree | 29f92724f34131bac64d6a318dd7e30612e631c7 /node_modules/es5-ext/array/#/values | |
parent | 5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff) |
node_modules
Diffstat (limited to 'node_modules/es5-ext/array/#/values')
-rw-r--r-- | node_modules/es5-ext/array/#/values/implement.js | 8 | ||||
-rw-r--r-- | node_modules/es5-ext/array/#/values/index.js | 3 | ||||
-rw-r--r-- | node_modules/es5-ext/array/#/values/is-implemented.js | 14 | ||||
-rw-r--r-- | node_modules/es5-ext/array/#/values/shim.js | 6 |
4 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/es5-ext/array/#/values/implement.js b/node_modules/es5-ext/array/#/values/implement.js new file mode 100644 index 000000000..b43e9f646 --- /dev/null +++ b/node_modules/es5-ext/array/#/values/implement.js @@ -0,0 +1,8 @@ +"use strict"; + +if (!require("./is-implemented")()) { + Object.defineProperty(Array.prototype, "values", { value: require("./shim"), + configurable: true, +enumerable: false, +writable: true }); +} diff --git a/node_modules/es5-ext/array/#/values/index.js b/node_modules/es5-ext/array/#/values/index.js new file mode 100644 index 000000000..30a50bae7 --- /dev/null +++ b/node_modules/es5-ext/array/#/values/index.js @@ -0,0 +1,3 @@ +"use strict"; + +module.exports = require("./is-implemented")() ? Array.prototype.values : require("./shim"); diff --git a/node_modules/es5-ext/array/#/values/is-implemented.js b/node_modules/es5-ext/array/#/values/is-implemented.js new file mode 100644 index 000000000..8b72568a1 --- /dev/null +++ b/node_modules/es5-ext/array/#/values/is-implemented.js @@ -0,0 +1,14 @@ +"use strict"; + +module.exports = function () { + var arr = ["foo", 1], iterator, result; + if (typeof arr.values !== "function") return false; + iterator = arr.values(); + if (!iterator) return false; + if (typeof iterator.next !== "function") return false; + result = iterator.next(); + if (!result) return false; + if (result.value !== "foo") return false; + if (result.done !== false) return false; + return true; +}; diff --git a/node_modules/es5-ext/array/#/values/shim.js b/node_modules/es5-ext/array/#/values/shim.js new file mode 100644 index 000000000..e46a05261 --- /dev/null +++ b/node_modules/es5-ext/array/#/values/shim.js @@ -0,0 +1,6 @@ +"use strict"; + +var ArrayIterator = require("es6-iterator/array"); +module.exports = function () { + return new ArrayIterator(this, "value"); +}; |