massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / modules / esnext.iterator.from.js
index 10fa7f29603e618652990d9d55f26154d38d6260..27eda194edac2d904bee91880d828f36b73cb026 100644 (file)
@@ -1,16 +1,16 @@
 // https://github.com/tc39/proposal-iterator-helpers
 var $ = require('../internals/export');
-var path = require('../internals/path');
-var aFunction = require('../internals/a-function');
+var apply = require('../internals/function-apply');
 var anObject = require('../internals/an-object');
 var toObject = require('../internals/to-object');
+var isPrototypeOf = require('../internals/object-is-prototype-of');
+var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
 var createIteratorProxy = require('../internals/iterator-create-proxy');
+var getIterator = require('../internals/get-iterator');
 var getIteratorMethod = require('../internals/get-iterator-method');
 
-var Iterator = path.Iterator;
-
-var IteratorProxy = createIteratorProxy(function (arg) {
-  var result = anObject(this.next.call(this.iterator, arg));
+var IteratorProxy = createIteratorProxy(function (args) {
+  var result = anObject(apply(this.next, this.iterator, args));
   var done = this.done = !!result.done;
   if (!done) return result.value;
 }, true);
@@ -20,13 +20,11 @@ $({ target: 'Iterator', stat: true }, {
     var object = toObject(O);
     var usingIterator = getIteratorMethod(object);
     var iterator;
-    if (usingIterator != null) {
-      iterator = aFunction(usingIterator).call(object);
-      if (iterator instanceof Iterator) return iterator;
+    if (usingIterator) {
+      iterator = getIterator(object, usingIterator);
+      if (isPrototypeOf(IteratorPrototype, iterator)) return iterator;
     } else {
       iterator = object;
-    } return new IteratorProxy({
-      iterator: iterator
-    });
+    } return new IteratorProxy({ iterator: iterator });
   }
 });