summaryrefslogtreecommitdiff
path: root/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries
diff options
context:
space:
mode:
Diffstat (limited to 'tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries')
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/implement.js6
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/index.js4
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/is-implemented.js15
-rw-r--r--tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/shim.js4
4 files changed, 29 insertions, 0 deletions
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/implement.js b/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/implement.js
new file mode 100644
index 0000000000..490de60e20
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/implement.js
@@ -0,0 +1,6 @@
+'use strict';
+
+if (!require('./is-implemented')()) {
+ Object.defineProperty(Array.prototype, 'entries', { value: require('./shim'),
+ configurable: true, enumerable: false, writable: true });
+}
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/index.js b/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/index.js
new file mode 100644
index 0000000000..292792cf15
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/index.js
@@ -0,0 +1,4 @@
+'use strict';
+
+module.exports = require('./is-implemented')() ?
+ Array.prototype.entries : require('./shim');
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/is-implemented.js b/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/is-implemented.js
new file mode 100644
index 0000000000..e186c17237
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/is-implemented.js
@@ -0,0 +1,15 @@
+'use strict';
+
+module.exports = function () {
+ var arr = [1, 'foo'], iterator, result;
+ if (typeof arr.entries !== 'function') return false;
+ iterator = arr.entries();
+ if (!iterator) return false;
+ if (typeof iterator.next !== 'function') return false;
+ result = iterator.next();
+ if (!result || !result.value) return false;
+ if (result.value[0] !== 0) return false;
+ if (result.value[1] !== 1) return false;
+ if (result.done !== false) return false;
+ return true;
+};
diff --git a/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/shim.js b/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/shim.js
new file mode 100644
index 0000000000..c052b53f01
--- /dev/null
+++ b/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/array/#/entries/shim.js
@@ -0,0 +1,4 @@
+'use strict';
+
+var ArrayIterator = require('es6-iterator/array');
+module.exports = function () { return new ArrayIterator(this, 'key+value'); };