source: trip-planner-front/node_modules/core-js/internals/iterators-core.js@ 8d391a1

Last change on this file since 8d391a1 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 1.7 KB
Line 
1'use strict';
2var fails = require('../internals/fails');
3var getPrototypeOf = require('../internals/object-get-prototype-of');
4var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
5var has = require('../internals/has');
6var wellKnownSymbol = require('../internals/well-known-symbol');
7var IS_PURE = require('../internals/is-pure');
8
9var ITERATOR = wellKnownSymbol('iterator');
10var BUGGY_SAFARI_ITERATORS = false;
11
12var returnThis = function () { return this; };
13
14// `%IteratorPrototype%` object
15// https://tc39.es/ecma262/#sec-%iteratorprototype%-object
16var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
17
18/* eslint-disable es/no-array-prototype-keys -- safe */
19if ([].keys) {
20 arrayIterator = [].keys();
21 // Safari 8 has buggy iterators w/o `next`
22 if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
23 else {
24 PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
25 if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
26 }
27}
28
29var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
30 var test = {};
31 // FF44- legacy iterators case
32 return IteratorPrototype[ITERATOR].call(test) !== test;
33});
34
35if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
36
37// `%IteratorPrototype%[@@iterator]()` method
38// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
39if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {
40 createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
41}
42
43module.exports = {
44 IteratorPrototype: IteratorPrototype,
45 BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
46};
Note: See TracBrowser for help on using the repository browser.