linwenling
2023-08-08 45cdf666979e1248a4c2f4d8c915b747ba11d479
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));
};