1 | 'use strict';
|
2 | var classof = require('../internals/classof');
|
3 | var getMethod = require('../internals/get-method');
|
4 | var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
5 | var Iterators = require('../internals/iterators');
|
6 | var wellKnownSymbol = require('../internals/well-known-symbol');
|
7 |
|
8 | var ITERATOR = wellKnownSymbol('iterator');
|
9 |
|
10 | module.exports = function (it) {
|
11 | if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
|
12 | || getMethod(it, '@@iterator')
|
13 | || Iterators[classof(it)];
|
14 | };
|