aboutsummaryrefslogtreecommitdiff
path: root/node_modules/core-js/internals/create-iterator-constructor.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/core-js/internals/create-iterator-constructor.js')
-rw-r--r--node_modules/core-js/internals/create-iterator-constructor.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/node_modules/core-js/internals/create-iterator-constructor.js b/node_modules/core-js/internals/create-iterator-constructor.js
new file mode 100644
index 0000000..f9dbdb7
--- /dev/null
+++ b/node_modules/core-js/internals/create-iterator-constructor.js
@@ -0,0 +1,16 @@
+'use strict';
+var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
+var create = require('../internals/object-create');
+var createPropertyDescriptor = require('../internals/create-property-descriptor');
+var setToStringTag = require('../internals/set-to-string-tag');
+var Iterators = require('../internals/iterators');
+
+var returnThis = function () { return this; };
+
+module.exports = function (IteratorConstructor, NAME, next) {
+ var TO_STRING_TAG = NAME + ' Iterator';
+ IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
+ setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
+ Iterators[TO_STRING_TAG] = returnThis;
+ return IteratorConstructor;
+};