UNPKG

@reactivex/rxjs

Version:

Reactive Extensions for modern JavaScript

30 lines (27 loc) 863 B
import {root} from '../util/root'; export let $$iterator: any; const Symbol: any = root.Symbol; if (typeof Symbol === 'function') { if (Symbol.iterator) { $$iterator = Symbol.iterator; } else if (typeof Symbol.for === 'function') { $$iterator = Symbol.for('iterator'); } } else { if (root.Set && typeof new root.Set()['@@iterator'] === 'function') { // Bug for mozilla version $$iterator = '@@iterator'; } else if (root.Map) { // es6-shim specific logic let keys = Object.getOwnPropertyNames(root.Map.prototype); for (let i = 0; i < keys.length; ++i) { let key = keys[i]; if (key !== 'entries' && key !== 'size' && root.Map.prototype[key] === root.Map.prototype['entries']) { $$iterator = key; break; } } } else { $$iterator = '@@iterator'; } }