source: imaps-frontend/node_modules/core-js/internals/get-async-iterator-flattenable.js

main
Last change on this file was 79a0317, checked in by stefan toskovski <stefantoska84@…>, 2 weeks ago

F4 Finalna Verzija

  • Property mode set to 100644
File size: 1.1 KB
Line 
1'use strict';
2var call = require('../internals/function-call');
3var isCallable = require('../internals/is-callable');
4var anObject = require('../internals/an-object');
5var getIteratorDirect = require('../internals/get-iterator-direct');
6var getIteratorMethod = require('../internals/get-iterator-method');
7var getMethod = require('../internals/get-method');
8var wellKnownSymbol = require('../internals/well-known-symbol');
9var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
10
11var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
12
13module.exports = function (obj) {
14 var object = anObject(obj);
15 var alreadyAsync = true;
16 var method = getMethod(object, ASYNC_ITERATOR);
17 var iterator;
18 if (!isCallable(method)) {
19 method = getIteratorMethod(object);
20 alreadyAsync = false;
21 }
22 if (method !== undefined) {
23 iterator = call(method, object);
24 } else {
25 iterator = object;
26 alreadyAsync = true;
27 }
28 anObject(iterator);
29 return getIteratorDirect(alreadyAsync ? iterator : new AsyncFromSyncIterator(getIteratorDirect(iterator)));
30};
Note: See TracBrowser for help on using the repository browser.