feat:node-modules
This commit is contained in:
56
node_modules/core-js/modules/esnext.iterator.concat.js
generated
vendored
Normal file
56
node_modules/core-js/modules/esnext.iterator.concat.js
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
'use strict';
|
||||
var $ = require('../internals/export');
|
||||
var call = require('../internals/function-call');
|
||||
var aCallable = require('../internals/a-callable');
|
||||
var anObject = require('../internals/an-object');
|
||||
var getIteratorMethod = require('../internals/get-iterator-method');
|
||||
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
||||
|
||||
var $Array = Array;
|
||||
|
||||
var IteratorProxy = createIteratorProxy(function () {
|
||||
while (true) {
|
||||
var iterator = this.iterator;
|
||||
if (!iterator) {
|
||||
var iterableIndex = this.nextIterableIndex++;
|
||||
var iterables = this.iterables;
|
||||
if (iterableIndex >= iterables.length) {
|
||||
this.done = true;
|
||||
return;
|
||||
}
|
||||
var entry = iterables[iterableIndex];
|
||||
this.iterables[iterableIndex] = null;
|
||||
iterator = this.iterator = call(entry.method, entry.iterable);
|
||||
this.next = iterator.next;
|
||||
}
|
||||
var result = anObject(call(this.next, iterator));
|
||||
if (result.done) {
|
||||
this.iterator = null;
|
||||
this.next = null;
|
||||
continue;
|
||||
}
|
||||
return result.value;
|
||||
}
|
||||
});
|
||||
|
||||
// `Iterator.concat` method
|
||||
// https://github.com/tc39/proposal-iterator-sequencing
|
||||
$({ target: 'Iterator', stat: true, forced: true }, {
|
||||
concat: function concat() {
|
||||
var length = arguments.length;
|
||||
var iterables = $Array(length);
|
||||
for (var index = 0; index < length; index++) {
|
||||
var item = anObject(arguments[index]);
|
||||
iterables[index] = {
|
||||
iterable: item,
|
||||
method: aCallable(getIteratorMethod(item))
|
||||
};
|
||||
}
|
||||
return new IteratorProxy({
|
||||
iterables: iterables,
|
||||
nextIterableIndex: 0,
|
||||
iterator: null,
|
||||
next: null
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user