14 lines
526 B
JavaScript
14 lines
526 B
JavaScript
'use strict';
|
|
var create = require('./_object-create');
|
|
var descriptor = require('./_property-desc');
|
|
var setToStringTag = require('./_set-to-string-tag');
|
|
var IteratorPrototype = {};
|
|
|
|
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
|
|
require('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });
|
|
|
|
module.exports = function (Constructor, NAME, next) {
|
|
Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
|
|
setToStringTag(Constructor, NAME + ' Iterator');
|
|
};
|