zhangnaisong
2024-05-27 a3d274cc185968709ff240cd77a11a31df045183
1
2
3
4
5
6
7
8
9
10
11
12
13
var call = require('../internals/function-call');
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
var anObject = require('../internals/an-object');
var getIterator = require('../internals/get-iterator');
var getMethod = require('../internals/get-method');
var wellKnownSymbol = require('../internals/well-known-symbol');
 
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
 
module.exports = function (it, usingIterator) {
  var method = arguments.length < 2 ? getMethod(it, ASYNC_ITERATOR) : usingIterator;
  return method ? anObject(call(method, it)) : new AsyncFromSyncIterator(getIterator(it));
};