core-js 3.24.1 → 3.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +1 -1
  2. package/actual/object/proto.js +3 -0
  3. package/es/index.js +1 -0
  4. package/es/object/index.js +1 -0
  5. package/es/object/proto.js +1 -0
  6. package/features/object/proto.js +1 -0
  7. package/full/index.js +1 -0
  8. package/full/object/proto.js +3 -0
  9. package/internals/{array-buffer-native.js → array-buffer-basic-detection.js} +0 -0
  10. package/internals/array-buffer-view-core.js +1 -1
  11. package/internals/array-buffer.js +3 -3
  12. package/internals/array-set-length.js +27 -0
  13. package/internals/array-unique-by.js +2 -1
  14. package/internals/async-from-sync-iterator.js +2 -2
  15. package/internals/async-iterator-create-proxy.js +19 -11
  16. package/internals/async-iterator-indexed.js +2 -2
  17. package/internals/collection-from.js +2 -1
  18. package/internals/collection-strong.js +3 -2
  19. package/internals/collection-weak.js +3 -2
  20. package/internals/collection.js +2 -1
  21. package/internals/date-to-iso-string.js +7 -6
  22. package/internals/{clear-error-stack.js → error-stack-clear.js} +0 -0
  23. package/internals/get-iterator-method.js +2 -1
  24. package/internals/get-method.js +2 -1
  25. package/internals/internal-state.js +3 -3
  26. package/internals/is-iterable.js +2 -0
  27. package/internals/is-null-or-undefined.js +5 -0
  28. package/internals/is-object.js +8 -1
  29. package/internals/{create-iterator-constructor.js → iterator-create-constructor.js} +0 -0
  30. package/internals/iterator-create-proxy.js +8 -5
  31. package/internals/{define-iterator.js → iterator-define.js} +1 -1
  32. package/internals/iterators-core.js +2 -1
  33. package/internals/new-promise-capability.js +3 -1
  34. package/internals/number-parse-float.js +5 -5
  35. package/internals/numeric-range-iterator.js +8 -7
  36. package/internals/object-iterator.js +1 -1
  37. package/internals/require-object-coercible.js +3 -1
  38. package/internals/shared.js +2 -2
  39. package/internals/species-constructor.js +2 -1
  40. package/internals/{native-symbol.js → symbol-constructor-detection.js} +0 -0
  41. package/internals/{native-symbol-registry.js → symbol-registry-detection.js} +1 -1
  42. package/internals/{native-url.js → url-constructor-detection.js} +0 -0
  43. package/internals/use-symbol-as-uid.js +1 -1
  44. package/internals/weak-map-basic-detection.js +6 -0
  45. package/internals/{define-well-known-symbol.js → well-known-symbol-define.js} +0 -0
  46. package/internals/well-known-symbol.js +1 -1
  47. package/internals/wrap-error-constructor-with-cause.js +1 -1
  48. package/modules/es.aggregate-error.cause.js +1 -0
  49. package/modules/es.aggregate-error.constructor.js +2 -2
  50. package/modules/es.array-buffer.slice.js +3 -3
  51. package/modules/es.array.index-of.js +5 -5
  52. package/modules/es.array.iterator.js +1 -1
  53. package/modules/es.array.join.js +2 -2
  54. package/modules/es.array.push.js +2 -1
  55. package/modules/es.array.reverse.js +2 -2
  56. package/modules/es.array.slice.js +2 -2
  57. package/modules/es.array.sort.js +3 -3
  58. package/modules/es.array.splice.js +2 -1
  59. package/modules/es.array.unshift.js +2 -1
  60. package/modules/es.data-view.constructor.js +1 -1
  61. package/modules/es.date.now.js +2 -2
  62. package/modules/es.date.set-year.js +2 -2
  63. package/modules/es.date.to-string.js +4 -4
  64. package/modules/es.json.stringify.js +1 -1
  65. package/modules/es.number.to-exponential.js +11 -11
  66. package/modules/es.number.to-fixed.js +6 -6
  67. package/modules/es.number.to-precision.js +5 -5
  68. package/modules/es.object.get-own-property-symbols.js +1 -1
  69. package/modules/es.object.proto.js +29 -0
  70. package/modules/es.regexp.test.js +12 -12
  71. package/modules/es.regexp.to-string.js +3 -3
  72. package/modules/es.string.ends-with.js +3 -3
  73. package/modules/es.string.iterator.js +1 -1
  74. package/modules/es.string.match-all.js +8 -7
  75. package/modules/es.string.match.js +2 -1
  76. package/modules/es.string.replace-all.js +2 -1
  77. package/modules/es.string.replace.js +2 -1
  78. package/modules/es.string.search.js +2 -1
  79. package/modules/es.string.split.js +3 -2
  80. package/modules/es.string.starts-with.js +3 -3
  81. package/modules/es.symbol.async-iterator.js +1 -1
  82. package/modules/es.symbol.constructor.js +2 -2
  83. package/modules/es.symbol.description.js +4 -4
  84. package/modules/es.symbol.for.js +1 -1
  85. package/modules/es.symbol.has-instance.js +1 -1
  86. package/modules/es.symbol.is-concat-spreadable.js +1 -1
  87. package/modules/es.symbol.iterator.js +1 -1
  88. package/modules/es.symbol.key-for.js +1 -1
  89. package/modules/es.symbol.match-all.js +1 -1
  90. package/modules/es.symbol.match.js +1 -1
  91. package/modules/es.symbol.replace.js +1 -1
  92. package/modules/es.symbol.search.js +1 -1
  93. package/modules/es.symbol.species.js +1 -1
  94. package/modules/es.symbol.split.js +1 -1
  95. package/modules/es.symbol.to-primitive.js +1 -1
  96. package/modules/es.symbol.to-string-tag.js +1 -1
  97. package/modules/es.symbol.unscopables.js +1 -1
  98. package/modules/es.typed-array.sort.js +7 -7
  99. package/modules/es.weak-map.constructor.js +1 -1
  100. package/modules/esnext.array.is-template-object.js +1 -1
  101. package/modules/esnext.async-iterator.drop.js +2 -2
  102. package/modules/esnext.async-iterator.filter.js +2 -2
  103. package/modules/esnext.async-iterator.flat-map.js +2 -2
  104. package/modules/esnext.async-iterator.map.js +2 -2
  105. package/modules/esnext.async-iterator.take.js +3 -3
  106. package/modules/esnext.math.seeded-prng.js +1 -1
  107. package/modules/esnext.observable.constructor.js +4 -3
  108. package/modules/esnext.string.code-points.js +1 -1
  109. package/modules/esnext.symbol.async-dispose.js +1 -1
  110. package/modules/esnext.symbol.dispose.js +1 -1
  111. package/modules/esnext.symbol.matcher.js +1 -1
  112. package/modules/esnext.symbol.metadata-key.js +1 -1
  113. package/modules/esnext.symbol.metadata.js +1 -1
  114. package/modules/esnext.symbol.observable.js +1 -1
  115. package/modules/esnext.symbol.pattern-match.js +1 -1
  116. package/modules/esnext.symbol.replace-all.js +1 -1
  117. package/modules/web.dom-exception.constructor.js +1 -1
  118. package/modules/web.dom-exception.stack.js +1 -1
  119. package/modules/web.structured-clone.js +26 -14
  120. package/modules/web.url-search-params.constructor.js +2 -2
  121. package/modules/web.url.constructor.js +1 -1
  122. package/package.json +1 -1
  123. package/stable/index.js +1 -0
  124. package/stable/object/proto.js +3 -0
  125. package/internals/native-weak-map.js +0 -7
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Open Collective](https://opencollective.com/core-js/all/badge.svg?label=open%20collective)](https://opencollective.com/core-js) [![version](https://img.shields.io/npm/v/core-js.svg)](https://www.npmjs.com/package/core-js) [![core-js downloads](https://img.shields.io/npm/dm/core-js.svg?label=npm%20i%20core-js)](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [![core-js-pure downloads](https://img.shields.io/npm/dm/core-js-pure.svg?label=npm%20i%20core-js-pure)](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [![tests](https://github.com/zloirock/core-js/workflows/tests/badge.svg)](https://github.com/zloirock/core-js/actions) [![eslint](https://github.com/zloirock/core-js/workflows/eslint/badge.svg)](https://github.com/zloirock/core-js/actions)
4
4
 
5
- > Modular standard library for JavaScript. Includes polyfills for [ECMAScript up to 2021](https://github.com/zloirock/core-js#ecmascript): [promises](https://github.com/zloirock/core-js#ecmascript-promise), [symbols](https://github.com/zloirock/core-js#ecmascript-symbol), [collections](https://github.com/zloirock/core-js#ecmascript-collections), iterators, [typed arrays](https://github.com/zloirock/core-js#ecmascript-typed-arrays), many other features, [ECMAScript proposals](https://github.com/zloirock/core-js#ecmascript-proposals), [some cross-platform WHATWG / W3C features and proposals](#web-standards) like [`URL`](https://github.com/zloirock/core-js#url-and-urlsearchparams). You can load only required features or use it without global namespace pollution.
5
+ > Modular standard library for JavaScript. Includes polyfills for [ECMAScript up to 2023](https://github.com/zloirock/core-js#ecmascript): [promises](https://github.com/zloirock/core-js#ecmascript-promise), [symbols](https://github.com/zloirock/core-js#ecmascript-symbol), [collections](https://github.com/zloirock/core-js#ecmascript-collections), iterators, [typed arrays](https://github.com/zloirock/core-js#ecmascript-typed-arrays), many other features, [ECMAScript proposals](https://github.com/zloirock/core-js#ecmascript-proposals), [some cross-platform WHATWG / W3C features and proposals](#web-standards) like [`URL`](https://github.com/zloirock/core-js#url-and-urlsearchparams). You can load only required features or use it without global namespace pollution.
6
6
 
7
7
  ## As advertising: the author is looking for a good job -)
8
8
 
@@ -0,0 +1,3 @@
1
+ var parent = require('../../stable/object/proto');
2
+
3
+ module.exports = parent;
package/es/index.js CHANGED
@@ -124,6 +124,7 @@ require('../modules/es.object.keys');
124
124
  require('../modules/es.object.lookup-getter');
125
125
  require('../modules/es.object.lookup-setter');
126
126
  require('../modules/es.object.prevent-extensions');
127
+ require('../modules/es.object.proto');
127
128
  require('../modules/es.object.seal');
128
129
  require('../modules/es.object.set-prototype-of');
129
130
  require('../modules/es.object.to-string');
@@ -17,6 +17,7 @@ require('../../modules/es.object.is-frozen');
17
17
  require('../../modules/es.object.is-sealed');
18
18
  require('../../modules/es.object.keys');
19
19
  require('../../modules/es.object.prevent-extensions');
20
+ require('../../modules/es.object.proto');
20
21
  require('../../modules/es.object.seal');
21
22
  require('../../modules/es.object.set-prototype-of');
22
23
  require('../../modules/es.object.values');
@@ -0,0 +1 @@
1
+ require('../../modules/es.object.proto');
@@ -0,0 +1 @@
1
+ module.exports = require('../../full/object/proto');
package/full/index.js CHANGED
@@ -124,6 +124,7 @@ require('../modules/es.object.keys');
124
124
  require('../modules/es.object.lookup-getter');
125
125
  require('../modules/es.object.lookup-setter');
126
126
  require('../modules/es.object.prevent-extensions');
127
+ require('../modules/es.object.proto');
127
128
  require('../modules/es.object.seal');
128
129
  require('../modules/es.object.set-prototype-of');
129
130
  require('../modules/es.object.to-string');
@@ -0,0 +1,3 @@
1
+ var parent = require('../../actual/object/proto');
2
+
3
+ module.exports = parent;
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
- var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
2
+ var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');
3
3
  var DESCRIPTORS = require('../internals/descriptors');
4
4
  var global = require('../internals/global');
5
5
  var isCallable = require('../internals/is-callable');
@@ -2,7 +2,7 @@
2
2
  var global = require('../internals/global');
3
3
  var uncurryThis = require('../internals/function-uncurry-this');
4
4
  var DESCRIPTORS = require('../internals/descriptors');
5
- var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
5
+ var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');
6
6
  var FunctionName = require('../internals/function-name');
7
7
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
8
8
  var defineBuiltIns = require('../internals/define-built-ins');
@@ -197,9 +197,9 @@ if (!NATIVE_ARRAY_BUFFER) {
197
197
  new NativeArrayBuffer();
198
198
  new NativeArrayBuffer(1.5);
199
199
  new NativeArrayBuffer(NaN);
200
- return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;
200
+ return NativeArrayBuffer.length != 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;
201
201
  })) {
202
- /* eslint-enable no-new -- required for testing */
202
+ /* eslint-enable no-new -- required for testing */
203
203
  $ArrayBuffer = function ArrayBuffer(length) {
204
204
  anInstance(this, ArrayBufferPrototype);
205
205
  return new NativeArrayBuffer(toIndex(length));
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+ var DESCRIPTORS = require('../internals/descriptors');
3
+ var isArray = require('../internals/is-array');
4
+
5
+ var $TypeError = TypeError;
6
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
7
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
8
+
9
+ // Safari < 13 does not throw an error in this case
10
+ var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {
11
+ // makes no sense without proper strict mode support
12
+ if (this !== undefined) return true;
13
+ try {
14
+ // eslint-disable-next-line es-x/no-object-defineproperty -- safe
15
+ Object.defineProperty([], 'length', { writable: false }).length = 1;
16
+ } catch (error) {
17
+ return error instanceof TypeError;
18
+ }
19
+ }();
20
+
21
+ module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
22
+ if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {
23
+ throw $TypeError('Cannot set read only .length');
24
+ } return O.length = length;
25
+ } : function (O, length) {
26
+ return O.length = length;
27
+ };
@@ -2,6 +2,7 @@
2
2
  var getBuiltIn = require('../internals/get-built-in');
3
3
  var uncurryThis = require('../internals/function-uncurry-this');
4
4
  var aCallable = require('../internals/a-callable');
5
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
5
6
  var lengthOfArrayLike = require('../internals/length-of-array-like');
6
7
  var toObject = require('../internals/to-object');
7
8
  var arraySpeciesCreate = require('../internals/array-species-create');
@@ -20,7 +21,7 @@ module.exports = function uniqueBy(resolver) {
20
21
  var length = lengthOfArrayLike(that);
21
22
  var result = arraySpeciesCreate(that, 0);
22
23
  var map = new Map();
23
- var resolverFunction = resolver != null ? aCallable(resolver) : function (value) {
24
+ var resolverFunction = !isNullOrUndefined(resolver) ? aCallable(resolver) : function (value) {
24
25
  return value;
25
26
  };
26
27
  var index, item, key;
@@ -17,7 +17,7 @@ var getInternalState = InternalStateModule.getterFor(ASYNC_FROM_SYNC_ITERATOR);
17
17
  var asyncFromSyncIteratorContinuation = function (result, resolve, reject) {
18
18
  var done = result.done;
19
19
  Promise.resolve(result.value).then(function (value) {
20
- resolve({ done: done, value: value });
20
+ resolve({ value: value, done: done });
21
21
  }, reject);
22
22
  };
23
23
 
@@ -41,7 +41,7 @@ AsyncFromSyncIterator.prototype = defineBuiltIns(create(AsyncIteratorPrototype),
41
41
  var iterator = getInternalState(this).iterator;
42
42
  return new Promise(function (resolve, reject) {
43
43
  var $return = getMethod(iterator, 'return');
44
- if ($return === undefined) return resolve({ done: true, value: undefined });
44
+ if ($return === undefined) return resolve({ value: undefined, done: true });
45
45
  var result = anObject(call($return, iterator));
46
46
  asyncFromSyncIteratorContinuation(result, resolve, reject);
47
47
  });
@@ -35,7 +35,7 @@ var createAsyncIteratorProxyPrototype = function (IS_ITERATOR) {
35
35
  var state = stateCompletion.value;
36
36
 
37
37
  if (stateError || (IS_GENERATOR && state.done)) {
38
- return { exit: true, value: stateError ? Promise.reject(state) : Promise.resolve({ done: true, value: undefined }) };
38
+ return { exit: true, value: stateError ? Promise.reject(state) : Promise.resolve({ value: undefined, done: true }) };
39
39
  } return { exit: false, value: state };
40
40
  };
41
41
 
@@ -76,21 +76,29 @@ var createAsyncIteratorProxyPrototype = function (IS_ITERATOR) {
76
76
  var state = stateCompletion.value;
77
77
 
78
78
  return exit ? state : enqueue(state, function () {
79
- return new Promise(function (resolve, reject) {
80
- var iterator = state.iterator;
81
- var innerIterator = state.innerIterator;
82
- state.done = true;
79
+ state.done = true;
80
+ var iterator = state.iterator;
81
+ var innerIterator = state.innerIterator;
82
+ var returnMethod, result;
83
+ var completion = perform(function () {
83
84
  if (innerIterator) try {
84
85
  iteratorClose(innerIterator, 'return');
85
86
  } catch (error) {
86
87
  return iteratorClose(iterator, 'throw', error);
87
88
  }
88
- var $$return = getMethod(iterator, 'return');
89
- if ($$return === undefined) return resolve({ done: true, value: undefined });
90
- Promise.resolve(call($$return, iterator)).then(function (result) {
91
- anObject(result);
92
- resolve({ done: true, value: undefined });
93
- }, reject);
89
+ return getMethod(iterator, 'return');
90
+ });
91
+ returnMethod = result = completion.value;
92
+ if (completion.error) return Promise.reject(result);
93
+ if (returnMethod === undefined) return Promise.resolve({ value: undefined, done: true });
94
+ completion = perform(function () {
95
+ return call(returnMethod, iterator);
96
+ });
97
+ result = completion.value;
98
+ if (completion.error) return Promise.reject(result);
99
+ return IS_ITERATOR ? Promise.resolve(result) : Promise.resolve(result).then(function (resolved) {
100
+ anObject(resolved);
101
+ return { value: undefined, done: true };
94
102
  });
95
103
  });
96
104
  }
@@ -12,9 +12,9 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
12
12
  return Promise.resolve(anObject(call(state.next, iterator))).then(function (step) {
13
13
  if (anObject(step).done) {
14
14
  state.done = true;
15
- return { done: true, value: undefined };
15
+ return { value: undefined, done: true };
16
16
  }
17
- return { done: false, value: [state.index++, step.value] };
17
+ return { value: [state.index++, step.value], done: false };
18
18
  }).then(null, function (error) {
19
19
  state.done = true;
20
20
  throw error;
@@ -4,6 +4,7 @@ var bind = require('../internals/function-bind-context');
4
4
  var call = require('../internals/function-call');
5
5
  var aCallable = require('../internals/a-callable');
6
6
  var aConstructor = require('../internals/a-constructor');
7
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
7
8
  var iterate = require('../internals/iterate');
8
9
 
9
10
  var push = [].push;
@@ -15,7 +16,7 @@ module.exports = function from(source /* , mapFn, thisArg */) {
15
16
  aConstructor(this);
16
17
  mapping = mapFn !== undefined;
17
18
  if (mapping) aCallable(mapFn);
18
- if (source == undefined) return new this();
19
+ if (isNullOrUndefined(source)) return new this();
19
20
  array = [];
20
21
  if (mapping) {
21
22
  n = 0;
@@ -4,8 +4,9 @@ var create = require('../internals/object-create');
4
4
  var defineBuiltIns = require('../internals/define-built-ins');
5
5
  var bind = require('../internals/function-bind-context');
6
6
  var anInstance = require('../internals/an-instance');
7
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
7
8
  var iterate = require('../internals/iterate');
8
- var defineIterator = require('../internals/define-iterator');
9
+ var defineIterator = require('../internals/iterator-define');
9
10
  var setSpecies = require('../internals/set-species');
10
11
  var DESCRIPTORS = require('../internals/descriptors');
11
12
  var fastKey = require('../internals/internal-metadata').fastKey;
@@ -26,7 +27,7 @@ module.exports = {
26
27
  size: 0
27
28
  });
28
29
  if (!DESCRIPTORS) that.size = 0;
29
- if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
30
+ if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
30
31
  });
31
32
 
32
33
  var Prototype = Constructor.prototype;
@@ -2,9 +2,10 @@
2
2
  var uncurryThis = require('../internals/function-uncurry-this');
3
3
  var defineBuiltIns = require('../internals/define-built-ins');
4
4
  var getWeakData = require('../internals/internal-metadata').getWeakData;
5
+ var anInstance = require('../internals/an-instance');
5
6
  var anObject = require('../internals/an-object');
7
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
6
8
  var isObject = require('../internals/is-object');
7
- var anInstance = require('../internals/an-instance');
8
9
  var iterate = require('../internals/iterate');
9
10
  var ArrayIterationModule = require('../internals/array-iteration');
10
11
  var hasOwn = require('../internals/has-own-property');
@@ -63,7 +64,7 @@ module.exports = {
63
64
  id: id++,
64
65
  frozen: undefined
65
66
  });
66
- if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
67
+ if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
67
68
  });
68
69
 
69
70
  var Prototype = Constructor.prototype;
@@ -8,6 +8,7 @@ var InternalMetadataModule = require('../internals/internal-metadata');
8
8
  var iterate = require('../internals/iterate');
9
9
  var anInstance = require('../internals/an-instance');
10
10
  var isCallable = require('../internals/is-callable');
11
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
11
12
  var isObject = require('../internals/is-object');
12
13
  var fails = require('../internals/fails');
13
14
  var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');
@@ -75,7 +76,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
75
76
  Constructor = wrapper(function (dummy, iterable) {
76
77
  anInstance(dummy, NativePrototype);
77
78
  var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
78
- if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
79
+ if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
79
80
  return that;
80
81
  });
81
82
  Constructor.prototype = NativePrototype;
@@ -4,10 +4,11 @@ var fails = require('../internals/fails');
4
4
  var padStart = require('../internals/string-pad').start;
5
5
 
6
6
  var $RangeError = RangeError;
7
+ var $isFinite = isFinite;
7
8
  var abs = Math.abs;
8
9
  var DatePrototype = Date.prototype;
9
- var n$DateToISOString = DatePrototype.toISOString;
10
- var getTime = uncurryThis(DatePrototype.getTime);
10
+ var nativeDateToISOString = DatePrototype.toISOString;
11
+ var thisTimeValue = uncurryThis(DatePrototype.getTime);
11
12
  var getUTCDate = uncurryThis(DatePrototype.getUTCDate);
12
13
  var getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);
13
14
  var getUTCHours = uncurryThis(DatePrototype.getUTCHours);
@@ -20,11 +21,11 @@ var getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);
20
21
  // https://tc39.es/ecma262/#sec-date.prototype.toisostring
21
22
  // PhantomJS / old WebKit fails here:
22
23
  module.exports = (fails(function () {
23
- return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
24
+ return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
24
25
  }) || !fails(function () {
25
- n$DateToISOString.call(new Date(NaN));
26
+ nativeDateToISOString.call(new Date(NaN));
26
27
  })) ? function toISOString() {
27
- if (!isFinite(getTime(this))) throw $RangeError('Invalid time value');
28
+ if (!$isFinite(thisTimeValue(this))) throw $RangeError('Invalid time value');
28
29
  var date = this;
29
30
  var year = getUTCFullYear(date);
30
31
  var milliseconds = getUTCMilliseconds(date);
@@ -37,4 +38,4 @@ module.exports = (fails(function () {
37
38
  ':' + padStart(getUTCSeconds(date), 2, 0) +
38
39
  '.' + padStart(milliseconds, 3, 0) +
39
40
  'Z';
40
- } : n$DateToISOString;
41
+ } : nativeDateToISOString;
@@ -1,12 +1,13 @@
1
1
  var classof = require('../internals/classof');
2
2
  var getMethod = require('../internals/get-method');
3
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
3
4
  var Iterators = require('../internals/iterators');
4
5
  var wellKnownSymbol = require('../internals/well-known-symbol');
5
6
 
6
7
  var ITERATOR = wellKnownSymbol('iterator');
7
8
 
8
9
  module.exports = function (it) {
9
- if (it != undefined) return getMethod(it, ITERATOR)
10
+ if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
10
11
  || getMethod(it, '@@iterator')
11
12
  || Iterators[classof(it)];
12
13
  };
@@ -1,8 +1,9 @@
1
1
  var aCallable = require('../internals/a-callable');
2
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
2
3
 
3
4
  // `GetMethod` abstract operation
4
5
  // https://tc39.es/ecma262/#sec-getmethod
5
6
  module.exports = function (V, P) {
6
7
  var func = V[P];
7
- return func == null ? undefined : aCallable(func);
8
+ return isNullOrUndefined(func) ? undefined : aCallable(func);
8
9
  };
@@ -1,4 +1,4 @@
1
- var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
1
+ var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');
2
2
  var global = require('../internals/global');
3
3
  var uncurryThis = require('../internals/function-uncurry-this');
4
4
  var isObject = require('../internals/is-object');
@@ -32,7 +32,7 @@ if (NATIVE_WEAK_MAP || shared.state) {
32
32
  var wmhas = uncurryThis(store.has);
33
33
  var wmset = uncurryThis(store.set);
34
34
  set = function (it, metadata) {
35
- if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
35
+ if (wmhas(store, it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
36
36
  metadata.facade = it;
37
37
  wmset(store, it, metadata);
38
38
  return metadata;
@@ -47,7 +47,7 @@ if (NATIVE_WEAK_MAP || shared.state) {
47
47
  var STATE = sharedKey('state');
48
48
  hiddenKeys[STATE] = true;
49
49
  set = function (it, metadata) {
50
- if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
50
+ if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
51
51
  metadata.facade = it;
52
52
  createNonEnumerableProperty(it, STATE, metadata);
53
53
  return metadata;
@@ -1,5 +1,6 @@
1
1
  var classof = require('../internals/classof');
2
2
  var hasOwn = require('../internals/has-own-property');
3
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
3
4
  var wellKnownSymbol = require('../internals/well-known-symbol');
4
5
  var Iterators = require('../internals/iterators');
5
6
 
@@ -7,6 +8,7 @@ var ITERATOR = wellKnownSymbol('iterator');
7
8
  var $Object = Object;
8
9
 
9
10
  module.exports = function (it) {
11
+ if (isNullOrUndefined(it)) return false;
10
12
  var O = $Object(it);
11
13
  return O[ITERATOR] !== undefined
12
14
  || '@@iterator' in O
@@ -0,0 +1,5 @@
1
+ // we can't use just `it == null` since of `document.all` special case
2
+ // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
3
+ module.exports = function (it) {
4
+ return it === null || it === undefined;
5
+ };
@@ -1,5 +1,12 @@
1
1
  var isCallable = require('../internals/is-callable');
2
2
 
3
- module.exports = function (it) {
3
+ var documentAll = typeof document == 'object' && document.all;
4
+
5
+ // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
6
+ var SPECIAL_DOCUMENT_ALL = typeof documentAll == 'undefined' && documentAll !== undefined;
7
+
8
+ module.exports = SPECIAL_DOCUMENT_ALL ? function (it) {
9
+ return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;
10
+ } : function (it) {
4
11
  return typeof it == 'object' ? it !== null : isCallable(it);
5
12
  };
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
  var call = require('../internals/function-call');
3
- var anObject = require('../internals/an-object');
4
3
  var create = require('../internals/object-create');
5
4
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
6
5
  var defineBuiltIns = require('../internals/define-built-ins');
@@ -30,7 +29,7 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
30
29
  if (IS_ITERATOR) return state.nextHandler();
31
30
  try {
32
31
  var result = state.done ? undefined : state.nextHandler();
33
- return { done: state.done, value: result };
32
+ return { value: result, done: state.done };
34
33
  } catch (error) {
35
34
  state.done = true;
36
35
  throw error;
@@ -39,15 +38,19 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
39
38
  'return': function () {
40
39
  var state = getInternalState(this);
41
40
  var iterator = state.iterator;
42
- var innerIterator = state.innerIterator;
43
41
  state.done = true;
42
+ if (IS_ITERATOR) {
43
+ var returnMethod = getMethod(iterator, 'return');
44
+ return returnMethod ? call(returnMethod, iterator) : { value: undefined, done: true };
45
+ }
46
+ var innerIterator = state.innerIterator;
44
47
  if (innerIterator) try {
45
48
  iteratorClose(innerIterator, 'return');
46
49
  } catch (error) {
47
50
  return iteratorClose(iterator, 'throw', error);
48
51
  }
49
- var $$return = getMethod(iterator, 'return');
50
- return { done: true, value: $$return ? anObject(call($$return, iterator)).value : undefined };
52
+ iteratorClose(iterator, 'return');
53
+ return { value: undefined, done: true };
51
54
  }
52
55
  });
53
56
 
@@ -4,7 +4,7 @@ var call = require('../internals/function-call');
4
4
  var IS_PURE = require('../internals/is-pure');
5
5
  var FunctionName = require('../internals/function-name');
6
6
  var isCallable = require('../internals/is-callable');
7
- var createIteratorConstructor = require('../internals/create-iterator-constructor');
7
+ var createIteratorConstructor = require('../internals/iterator-create-constructor');
8
8
  var getPrototypeOf = require('../internals/object-get-prototype-of');
9
9
  var setPrototypeOf = require('../internals/object-set-prototype-of');
10
10
  var setToStringTag = require('../internals/set-to-string-tag');
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
  var fails = require('../internals/fails');
3
3
  var isCallable = require('../internals/is-callable');
4
+ var isObject = require('../internals/is-object');
4
5
  var create = require('../internals/object-create');
5
6
  var getPrototypeOf = require('../internals/object-get-prototype-of');
6
7
  var defineBuiltIn = require('../internals/define-built-in');
@@ -25,7 +26,7 @@ if ([].keys) {
25
26
  }
26
27
  }
27
28
 
28
- var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
29
+ var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {
29
30
  var test = {};
30
31
  // FF44- legacy iterators case
31
32
  return IteratorPrototype[ITERATOR].call(test) !== test;
@@ -1,10 +1,12 @@
1
1
  'use strict';
2
2
  var aCallable = require('../internals/a-callable');
3
3
 
4
+ var $TypeError = TypeError;
5
+
4
6
  var PromiseCapability = function (C) {
5
7
  var resolve, reject;
6
8
  this.promise = new C(function ($$resolve, $$reject) {
7
- if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
9
+ if (resolve !== undefined || reject !== undefined) throw $TypeError('Bad Promise constructor');
8
10
  resolve = $$resolve;
9
11
  reject = $$reject;
10
12
  });
@@ -6,17 +6,17 @@ var trim = require('../internals/string-trim').trim;
6
6
  var whitespaces = require('../internals/whitespaces');
7
7
 
8
8
  var charAt = uncurryThis(''.charAt);
9
- var n$ParseFloat = global.parseFloat;
9
+ var $parseFloat = global.parseFloat;
10
10
  var Symbol = global.Symbol;
11
11
  var ITERATOR = Symbol && Symbol.iterator;
12
- var FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity
12
+ var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity
13
13
  // MS Edge 18- broken with boxed symbols
14
- || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));
14
+ || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); }));
15
15
 
16
16
  // `parseFloat` method
17
17
  // https://tc39.es/ecma262/#sec-parsefloat-string
18
18
  module.exports = FORCED ? function parseFloat(string) {
19
19
  var trimmedString = trim(toString(string));
20
- var result = n$ParseFloat(trimmedString);
20
+ var result = $parseFloat(trimmedString);
21
21
  return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;
22
- } : n$ParseFloat;
22
+ } : $parseFloat;
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
  var InternalStateModule = require('../internals/internal-state');
3
- var createIteratorConstructor = require('../internals/create-iterator-constructor');
3
+ var createIteratorConstructor = require('../internals/iterator-create-constructor');
4
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
4
5
  var isObject = require('../internals/is-object');
5
6
  var defineProperties = require('../internals/object-define-properties').f;
6
7
  var DESCRIPTORS = require('../internals/descriptors');
@@ -16,10 +17,10 @@ var $TypeError = TypeError;
16
17
 
17
18
  var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
18
19
  if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {
19
- throw new $TypeError(INCORRECT_RANGE);
20
+ throw $TypeError(INCORRECT_RANGE);
20
21
  }
21
22
  if (start === Infinity || start === -Infinity) {
22
- throw new $RangeError(INCORRECT_RANGE);
23
+ throw $RangeError(INCORRECT_RANGE);
23
24
  }
24
25
  var ifIncrease = end > start;
25
26
  var inclusiveEnd = false;
@@ -32,16 +33,16 @@ var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(sta
32
33
  } else if (typeof option == type) {
33
34
  step = option;
34
35
  } else {
35
- throw new $TypeError(INCORRECT_RANGE);
36
+ throw $TypeError(INCORRECT_RANGE);
36
37
  }
37
- if (step == null) {
38
+ if (isNullOrUndefined(step)) {
38
39
  step = ifIncrease ? one : -one;
39
40
  }
40
41
  if (typeof step != type) {
41
- throw new $TypeError(INCORRECT_RANGE);
42
+ throw $TypeError(INCORRECT_RANGE);
42
43
  }
43
44
  if (step === Infinity || step === -Infinity || (step === zero && start !== end)) {
44
- throw new $RangeError(INCORRECT_RANGE);
45
+ throw $RangeError(INCORRECT_RANGE);
45
46
  }
46
47
  // eslint-disable-next-line no-self-compare -- NaN check
47
48
  var hitsEnd = start != start || end != end || step != step || (end > start) !== (step > zero);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var InternalStateModule = require('../internals/internal-state');
3
- var createIteratorConstructor = require('../internals/create-iterator-constructor');
3
+ var createIteratorConstructor = require('../internals/iterator-create-constructor');
4
4
  var hasOwn = require('../internals/has-own-property');
5
5
  var objectKeys = require('../internals/object-keys');
6
6
  var toObject = require('../internals/to-object');
@@ -1,8 +1,10 @@
1
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
2
+
1
3
  var $TypeError = TypeError;
2
4
 
3
5
  // `RequireObjectCoercible` abstract operation
4
6
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
5
7
  module.exports = function (it) {
6
- if (it == undefined) throw $TypeError("Can't call method on " + it);
8
+ if (isNullOrUndefined(it)) throw $TypeError("Can't call method on " + it);
7
9
  return it;
8
10
  };
@@ -4,9 +4,9 @@ var store = require('../internals/shared-store');
4
4
  (module.exports = function (key, value) {
5
5
  return store[key] || (store[key] = value !== undefined ? value : {});
6
6
  })('versions', []).push({
7
- version: '3.24.1',
7
+ version: '3.25.0',
8
8
  mode: IS_PURE ? 'pure' : 'global',
9
9
  copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
10
- license: 'https://github.com/zloirock/core-js/blob/v3.24.1/LICENSE',
10
+ license: 'https://github.com/zloirock/core-js/blob/v3.25.0/LICENSE',
11
11
  source: 'https://github.com/zloirock/core-js'
12
12
  });
@@ -1,5 +1,6 @@
1
1
  var anObject = require('../internals/an-object');
2
2
  var aConstructor = require('../internals/a-constructor');
3
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
3
4
  var wellKnownSymbol = require('../internals/well-known-symbol');
4
5
 
5
6
  var SPECIES = wellKnownSymbol('species');
@@ -9,5 +10,5 @@ var SPECIES = wellKnownSymbol('species');
9
10
  module.exports = function (O, defaultConstructor) {
10
11
  var C = anObject(O).constructor;
11
12
  var S;
12
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);
13
+ return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);
13
14
  };