/
eb
/
Surf
Обзор
Документация
Войти
/
eb
/
Surf
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/rxjs/src/symbol/iterator.ts
38 строк
1 KB
EvgeniyBudaev
Initial commit
17 фев 2020, 09:02
17 фев 2020, 09:02
bb6f06f
Код
Авторство
О чём код?
import { root } from '../util/root'; export function symbolIteratorPonyfill(root: any) { const Symbol: any = root.Symbol; if (typeof Symbol === 'function') { if (!Symbol.iterator) { Symbol.iterator = Symbol('iterator polyfill'); } return Symbol.iterator; } else { // [for Mozilla Gecko 27-35:](https://mzl.la/2ewE1zC) const { Set } = root; if (Set && typeof new Set()['@@iterator'] === 'function') { return '@@iterator'; } const { Map } = root; // required for compatability with es6-shim if (Map) { let keys = Object.getOwnPropertyNames(Map.prototype); for (let i = 0; i < keys.length; ++i) { let key = keys[i]; // according to spec, Map.prototype[@@iterator] and Map.orototype.entries must be equal. if (key !== 'entries' && key !== 'size' && Map.prototype[key] === Map.prototype['entries']) { return key; } } } return '@@iterator'; } } export const iterator = symbolIteratorPonyfill(root); /** * @deprecated use iterator instead */ export const $$iterator = iterator;