blob: adebcf9a48e503c2e241d4fdd2bcc76d9dde7e21 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
'use strict';
var $ = require('./$')
, descriptor = require('./$.property-desc')
, setToStringTag = require('./$.set-to-string-tag')
, 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');
};
|