core-js 3.22.3 → 3.22.6

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 (84) hide show
  1. package/internals/add-to-unscopables.js +2 -2
  2. package/internals/array-buffer-view-core.js +4 -4
  3. package/internals/array-buffer.js +3 -3
  4. package/internals/async-from-sync-iterator.js +2 -2
  5. package/internals/async-iterator-create-proxy.js +2 -2
  6. package/internals/async-iterator-prototype.js +2 -2
  7. package/internals/collection-strong.js +3 -3
  8. package/internals/collection-weak.js +3 -3
  9. package/internals/collection.js +3 -3
  10. package/internals/define-built-in-accessor.js +8 -0
  11. package/internals/define-built-in.js +20 -0
  12. package/internals/define-built-ins.js +6 -0
  13. package/internals/{set-global.js → define-global-property.js} +0 -0
  14. package/internals/define-iterator.js +4 -4
  15. package/internals/export.js +18 -19
  16. package/internals/fix-regexp-well-known-symbol-logic.js +3 -3
  17. package/internals/iterator-create-proxy.js +2 -2
  18. package/internals/iterators-core.js +2 -2
  19. package/internals/make-built-in.js +47 -0
  20. package/internals/math-expm1.js +2 -1
  21. package/internals/math-fround.js +3 -2
  22. package/internals/math-log1p.js +2 -1
  23. package/internals/math-sign.js +2 -1
  24. package/internals/math-trunc.js +10 -0
  25. package/internals/shared-store.js +2 -2
  26. package/internals/shared.js +2 -2
  27. package/internals/symbol-define-to-primitive.js +3 -3
  28. package/internals/to-integer-or-infinity.js +3 -4
  29. package/internals/typed-array-constructor.js +3 -3
  30. package/modules/es.aggregate-error.cause.js +1 -1
  31. package/modules/es.aggregate-error.constructor.js +1 -1
  32. package/modules/es.array-buffer.constructor.js +1 -1
  33. package/modules/es.array.concat.js +1 -1
  34. package/modules/es.data-view.constructor.js +1 -1
  35. package/modules/es.date.to-json.js +1 -1
  36. package/modules/es.date.to-primitive.js +2 -2
  37. package/modules/es.date.to-string.js +2 -2
  38. package/modules/es.error.cause.js +2 -2
  39. package/modules/es.error.to-string.js +2 -2
  40. package/modules/es.function.has-instance.js +3 -2
  41. package/modules/es.json.stringify.js +1 -1
  42. package/modules/es.math.acosh.js +4 -3
  43. package/modules/es.math.asinh.js +2 -1
  44. package/modules/es.math.atanh.js +2 -1
  45. package/modules/es.math.cbrt.js +2 -1
  46. package/modules/es.math.clz32.js +2 -1
  47. package/modules/es.math.hypot.js +1 -1
  48. package/modules/es.math.sinh.js +2 -1
  49. package/modules/es.math.tanh.js +4 -3
  50. package/modules/es.math.trunc.js +2 -6
  51. package/modules/es.number.constructor.js +2 -2
  52. package/modules/es.object.assign.js +1 -1
  53. package/modules/es.object.to-string.js +2 -2
  54. package/modules/es.promise.catch.js +2 -2
  55. package/modules/es.promise.constructor.js +17 -21
  56. package/modules/es.promise.finally.js +2 -2
  57. package/modules/es.regexp.constructor.js +2 -2
  58. package/modules/es.regexp.dot-all.js +3 -3
  59. package/modules/es.regexp.flags.js +2 -2
  60. package/modules/es.regexp.sticky.js +3 -3
  61. package/modules/es.regexp.to-string.js +2 -2
  62. package/modules/es.string.from-code-point.js +1 -1
  63. package/modules/es.string.match-all.js +2 -2
  64. package/modules/es.symbol.constructor.js +5 -5
  65. package/modules/es.symbol.description.js +1 -1
  66. package/modules/es.weak-map.constructor.js +2 -2
  67. package/modules/esnext.array.last-index.js +2 -2
  68. package/modules/esnext.array.last-item.js +2 -2
  69. package/modules/esnext.array.to-spliced.js +1 -1
  70. package/modules/esnext.async-iterator.constructor.js +1 -1
  71. package/modules/esnext.iterator.constructor.js +1 -1
  72. package/modules/esnext.map.merge.js +1 -1
  73. package/modules/esnext.math.signbit.js +3 -1
  74. package/modules/esnext.observable.constructor.js +12 -12
  75. package/modules/esnext.typed-array.to-spliced.js +1 -1
  76. package/modules/web.dom-exception.constructor.js +10 -10
  77. package/modules/web.dom-exception.stack.js +1 -1
  78. package/modules/web.queue-microtask.js +1 -1
  79. package/modules/web.structured-clone.js +21 -9
  80. package/modules/web.url-search-params.constructor.js +8 -8
  81. package/modules/web.url.constructor.js +43 -45
  82. package/package.json +2 -3
  83. package/internals/redefine-all.js +0 -6
  84. package/internals/redefine.js +0 -46
@@ -1,6 +1,6 @@
1
1
  var wellKnownSymbol = require('../internals/well-known-symbol');
2
2
  var create = require('../internals/object-create');
3
- var definePropertyModule = require('../internals/object-define-property');
3
+ var defineProperty = require('../internals/object-define-property').f;
4
4
 
5
5
  var UNSCOPABLES = wellKnownSymbol('unscopables');
6
6
  var ArrayPrototype = Array.prototype;
@@ -8,7 +8,7 @@ var ArrayPrototype = Array.prototype;
8
8
  // Array.prototype[@@unscopables]
9
9
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
10
10
  if (ArrayPrototype[UNSCOPABLES] == undefined) {
11
- definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
11
+ defineProperty(ArrayPrototype, UNSCOPABLES, {
12
12
  configurable: true,
13
13
  value: create(null)
14
14
  });
@@ -8,7 +8,7 @@ var hasOwn = require('../internals/has-own-property');
8
8
  var classof = require('../internals/classof');
9
9
  var tryToString = require('../internals/try-to-string');
10
10
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
11
- var redefine = require('../internals/redefine');
11
+ var defineBuiltIn = require('../internals/define-built-in');
12
12
  var defineProperty = require('../internals/object-define-property').f;
13
13
  var isPrototypeOf = require('../internals/object-is-prototype-of');
14
14
  var getPrototypeOf = require('../internals/object-get-prototype-of');
@@ -89,7 +89,7 @@ var exportTypedArrayMethod = function (KEY, property, forced, options) {
89
89
  }
90
90
  }
91
91
  if (!TypedArrayPrototype[KEY] || forced) {
92
- redefine(TypedArrayPrototype, KEY, forced ? property
92
+ defineBuiltIn(TypedArrayPrototype, KEY, forced ? property
93
93
  : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);
94
94
  }
95
95
  };
@@ -107,14 +107,14 @@ var exportTypedArrayStaticMethod = function (KEY, property, forced) {
107
107
  if (!TypedArray[KEY] || forced) {
108
108
  // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
109
109
  try {
110
- return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
110
+ return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
111
111
  } catch (error) { /* empty */ }
112
112
  } else return;
113
113
  }
114
114
  for (ARRAY in TypedArrayConstructorsList) {
115
115
  TypedArrayConstructor = global[ARRAY];
116
116
  if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
117
- redefine(TypedArrayConstructor, KEY, property);
117
+ defineBuiltIn(TypedArrayConstructor, KEY, property);
118
118
  }
119
119
  }
120
120
  };
@@ -5,7 +5,7 @@ var DESCRIPTORS = require('../internals/descriptors');
5
5
  var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
6
6
  var FunctionName = require('../internals/function-name');
7
7
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
8
- var redefineAll = require('../internals/redefine-all');
8
+ var defineBuiltIns = require('../internals/define-built-ins');
9
9
  var fails = require('../internals/fails');
10
10
  var anInstance = require('../internals/an-instance');
11
11
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
@@ -134,7 +134,7 @@ if (!NATIVE_ARRAY_BUFFER) {
134
134
  addGetter($DataView, 'byteOffset');
135
135
  }
136
136
 
137
- redefineAll(DataViewPrototype, {
137
+ defineBuiltIns(DataViewPrototype, {
138
138
  getInt8: function getInt8(byteOffset) {
139
139
  return get(this, 1, byteOffset)[0] << 24 >> 24;
140
140
  },
@@ -228,7 +228,7 @@ if (!NATIVE_ARRAY_BUFFER) {
228
228
  var $setInt8 = uncurryThis(DataViewPrototype.setInt8);
229
229
  testView.setInt8(0, 2147483648);
230
230
  testView.setInt8(1, 2147483649);
231
- if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {
231
+ if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {
232
232
  setInt8: function setInt8(byteOffset, value) {
233
233
  $setInt8(this, byteOffset, value << 24 >> 24);
234
234
  },
@@ -3,7 +3,7 @@ var apply = require('../internals/function-apply');
3
3
  var anObject = require('../internals/an-object');
4
4
  var create = require('../internals/object-create');
5
5
  var getMethod = require('../internals/get-method');
6
- var redefineAll = require('../internals/redefine-all');
6
+ var defineBuiltIns = require('../internals/define-built-ins');
7
7
  var InternalStateModule = require('../internals/internal-state');
8
8
  var getBuiltIn = require('../internals/get-built-in');
9
9
  var AsyncIteratorPrototype = require('../internals/async-iterator-prototype');
@@ -29,7 +29,7 @@ var AsyncFromSyncIterator = function AsyncIterator(iterator) {
29
29
  });
30
30
  };
31
31
 
32
- AsyncFromSyncIterator.prototype = redefineAll(create(AsyncIteratorPrototype), {
32
+ AsyncFromSyncIterator.prototype = defineBuiltIns(create(AsyncIteratorPrototype), {
33
33
  next: function next(arg) {
34
34
  var state = getInternalState(this);
35
35
  var hasArg = !!arguments.length;
@@ -4,7 +4,7 @@ var aCallable = require('../internals/a-callable');
4
4
  var anObject = require('../internals/an-object');
5
5
  var create = require('../internals/object-create');
6
6
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
7
- var redefineAll = require('../internals/redefine-all');
7
+ var defineBuiltIns = require('../internals/define-built-ins');
8
8
  var wellKnownSymbol = require('../internals/well-known-symbol');
9
9
  var InternalStateModule = require('../internals/internal-state');
10
10
  var getBuiltIn = require('../internals/get-built-in');
@@ -28,7 +28,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
28
28
  setInternalState(this, state);
29
29
  };
30
30
 
31
- AsyncIteratorProxy.prototype = redefineAll(create(AsyncIteratorPrototype), {
31
+ AsyncIteratorProxy.prototype = defineBuiltIns(create(AsyncIteratorPrototype), {
32
32
  next: function next(arg) {
33
33
  var that = this;
34
34
  var hasArgument = !!arguments.length;
@@ -3,7 +3,7 @@ var shared = require('../internals/shared-store');
3
3
  var isCallable = require('../internals/is-callable');
4
4
  var create = require('../internals/object-create');
5
5
  var getPrototypeOf = require('../internals/object-get-prototype-of');
6
- var redefine = require('../internals/redefine');
6
+ var defineBuiltIn = require('../internals/define-built-in');
7
7
  var wellKnownSymbol = require('../internals/well-known-symbol');
8
8
  var IS_PURE = require('../internals/is-pure');
9
9
 
@@ -29,7 +29,7 @@ if (!AsyncIteratorPrototype) AsyncIteratorPrototype = {};
29
29
  else if (IS_PURE) AsyncIteratorPrototype = create(AsyncIteratorPrototype);
30
30
 
31
31
  if (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR])) {
32
- redefine(AsyncIteratorPrototype, ASYNC_ITERATOR, function () {
32
+ defineBuiltIn(AsyncIteratorPrototype, ASYNC_ITERATOR, function () {
33
33
  return this;
34
34
  });
35
35
  }
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  var defineProperty = require('../internals/object-define-property').f;
3
3
  var create = require('../internals/object-create');
4
- var redefineAll = require('../internals/redefine-all');
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
7
  var iterate = require('../internals/iterate');
@@ -71,7 +71,7 @@ module.exports = {
71
71
  }
72
72
  };
73
73
 
74
- redefineAll(Prototype, {
74
+ defineBuiltIns(Prototype, {
75
75
  // `{ Map, Set }.prototype.clear()` methods
76
76
  // https://tc39.es/ecma262/#sec-map.prototype.clear
77
77
  // https://tc39.es/ecma262/#sec-set.prototype.clear
@@ -131,7 +131,7 @@ module.exports = {
131
131
  }
132
132
  });
133
133
 
134
- redefineAll(Prototype, IS_MAP ? {
134
+ defineBuiltIns(Prototype, IS_MAP ? {
135
135
  // `Map.prototype.get(key)` method
136
136
  // https://tc39.es/ecma262/#sec-map.prototype.get
137
137
  get: function get(key) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var uncurryThis = require('../internals/function-uncurry-this');
3
- var redefineAll = require('../internals/redefine-all');
3
+ var defineBuiltIns = require('../internals/define-built-ins');
4
4
  var getWeakData = require('../internals/internal-metadata').getWeakData;
5
5
  var anObject = require('../internals/an-object');
6
6
  var isObject = require('../internals/is-object');
@@ -78,7 +78,7 @@ module.exports = {
78
78
  return that;
79
79
  };
80
80
 
81
- redefineAll(Prototype, {
81
+ defineBuiltIns(Prototype, {
82
82
  // `{ WeakMap, WeakSet }.prototype.delete(key)` methods
83
83
  // https://tc39.es/ecma262/#sec-weakmap.prototype.delete
84
84
  // https://tc39.es/ecma262/#sec-weakset.prototype.delete
@@ -101,7 +101,7 @@ module.exports = {
101
101
  }
102
102
  });
103
103
 
104
- redefineAll(Prototype, IS_MAP ? {
104
+ defineBuiltIns(Prototype, IS_MAP ? {
105
105
  // `WeakMap.prototype.get(key)` method
106
106
  // https://tc39.es/ecma262/#sec-weakmap.prototype.get
107
107
  get: function get(key) {
@@ -3,7 +3,7 @@ var $ = require('../internals/export');
3
3
  var global = require('../internals/global');
4
4
  var uncurryThis = require('../internals/function-uncurry-this');
5
5
  var isForced = require('../internals/is-forced');
6
- var redefine = require('../internals/redefine');
6
+ var defineBuiltIn = require('../internals/define-built-in');
7
7
  var InternalMetadataModule = require('../internals/internal-metadata');
8
8
  var iterate = require('../internals/iterate');
9
9
  var anInstance = require('../internals/an-instance');
@@ -25,7 +25,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
25
25
 
26
26
  var fixMethod = function (KEY) {
27
27
  var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);
28
- redefine(NativePrototype, KEY,
28
+ defineBuiltIn(NativePrototype, KEY,
29
29
  KEY == 'add' ? function add(value) {
30
30
  uncurriedNativeMethod(this, value === 0 ? 0 : value);
31
31
  return this;
@@ -95,7 +95,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
95
95
  }
96
96
 
97
97
  exported[CONSTRUCTOR_NAME] = Constructor;
98
- $({ global: true, forced: Constructor != NativeConstructor }, exported);
98
+ $({ global: true, constructor: true, forced: Constructor != NativeConstructor }, exported);
99
99
 
100
100
  setToStringTag(Constructor, CONSTRUCTOR_NAME);
101
101
 
@@ -0,0 +1,8 @@
1
+ var makeBuiltIn = require('../internals/make-built-in');
2
+ var defineProperty = require('../internals/object-define-property');
3
+
4
+ module.exports = function (target, name, descriptor) {
5
+ if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
6
+ if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
7
+ return defineProperty.f(target, name, descriptor);
8
+ };
@@ -0,0 +1,20 @@
1
+ var isCallable = require('../internals/is-callable');
2
+ var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
3
+ var makeBuiltIn = require('../internals/make-built-in');
4
+ var defineGlobalProperty = require('../internals/define-global-property');
5
+
6
+ module.exports = function (O, key, value, options) {
7
+ if (!options) options = {};
8
+ var simple = options.enumerable;
9
+ var name = options.name !== undefined ? options.name : key;
10
+ if (isCallable(value)) makeBuiltIn(value, name, options);
11
+ if (options.global) {
12
+ if (simple) O[key] = value;
13
+ else defineGlobalProperty(key, value);
14
+ } else {
15
+ if (!options.unsafe) delete O[key];
16
+ else if (O[key]) simple = true;
17
+ if (simple) O[key] = value;
18
+ else createNonEnumerableProperty(O, key, value);
19
+ } return O;
20
+ };
@@ -0,0 +1,6 @@
1
+ var defineBuiltIn = require('../internals/define-built-in');
2
+
3
+ module.exports = function (target, src, options) {
4
+ for (var key in src) defineBuiltIn(target, key, src[key], options);
5
+ return target;
6
+ };
@@ -9,7 +9,7 @@ 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');
11
11
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
12
- var redefine = require('../internals/redefine');
12
+ var defineBuiltIn = require('../internals/define-built-in');
13
13
  var wellKnownSymbol = require('../internals/well-known-symbol');
14
14
  var Iterators = require('../internals/iterators');
15
15
  var IteratorsCore = require('../internals/iterators-core');
@@ -56,7 +56,7 @@ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, I
56
56
  if (setPrototypeOf) {
57
57
  setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
58
58
  } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {
59
- redefine(CurrentIteratorPrototype, ITERATOR, returnThis);
59
+ defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);
60
60
  }
61
61
  }
62
62
  // Set @@toStringTag to native iterators
@@ -84,14 +84,14 @@ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, I
84
84
  };
85
85
  if (FORCED) for (KEY in methods) {
86
86
  if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
87
- redefine(IterablePrototype, KEY, methods[KEY]);
87
+ defineBuiltIn(IterablePrototype, KEY, methods[KEY]);
88
88
  }
89
89
  } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
90
90
  }
91
91
 
92
92
  // define iterator
93
93
  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
94
- redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });
94
+ defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });
95
95
  }
96
96
  Iterators[NAME] = defaultIterator;
97
97
 
@@ -1,25 +1,25 @@
1
1
  var global = require('../internals/global');
2
2
  var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
3
3
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
4
- var redefine = require('../internals/redefine');
5
- var setGlobal = require('../internals/set-global');
4
+ var defineBuiltIn = require('../internals/define-built-in');
5
+ var defineGlobalProperty = require('../internals/define-global-property');
6
6
  var copyConstructorProperties = require('../internals/copy-constructor-properties');
7
7
  var isForced = require('../internals/is-forced');
8
8
 
9
9
  /*
10
- options.target - name of the target object
11
- options.global - target is the global object
12
- options.stat - export as static methods of target
13
- options.proto - export as prototype methods of target
14
- options.real - real prototype method for the `pure` version
15
- options.forced - export even if the native feature is available
16
- options.bind - bind methods to the target, required for the `pure` version
17
- options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
18
- options.unsafe - use the simple assignment of property instead of delete + defineProperty
19
- options.sham - add a flag to not completely full polyfills
20
- options.enumerable - export as enumerable property
21
- options.noTargetGet - prevent calling a getter on target
22
- options.name - the .name of the function if it does not match the key
10
+ options.target - name of the target object
11
+ options.global - target is the global object
12
+ options.stat - export as static methods of target
13
+ options.proto - export as prototype methods of target
14
+ options.real - real prototype method for the `pure` version
15
+ options.forced - export even if the native feature is available
16
+ options.bind - bind methods to the target, required for the `pure` version
17
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
18
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
19
+ options.sham - add a flag to not completely full polyfills
20
+ options.enumerable - export as enumerable property
21
+ options.dontCallGetSet - prevent calling a getter on target
22
+ options.name - the .name of the function if it does not match the key
23
23
  */
24
24
  module.exports = function (options, source) {
25
25
  var TARGET = options.target;
@@ -29,13 +29,13 @@ module.exports = function (options, source) {
29
29
  if (GLOBAL) {
30
30
  target = global;
31
31
  } else if (STATIC) {
32
- target = global[TARGET] || setGlobal(TARGET, {});
32
+ target = global[TARGET] || defineGlobalProperty(TARGET, {});
33
33
  } else {
34
34
  target = (global[TARGET] || {}).prototype;
35
35
  }
36
36
  if (target) for (key in source) {
37
37
  sourceProperty = source[key];
38
- if (options.noTargetGet) {
38
+ if (options.dontCallGetSet) {
39
39
  descriptor = getOwnPropertyDescriptor(target, key);
40
40
  targetProperty = descriptor && descriptor.value;
41
41
  } else targetProperty = target[key];
@@ -49,7 +49,6 @@ module.exports = function (options, source) {
49
49
  if (options.sham || (targetProperty && targetProperty.sham)) {
50
50
  createNonEnumerableProperty(sourceProperty, 'sham', true);
51
51
  }
52
- // extend global
53
- redefine(target, key, sourceProperty, options);
52
+ defineBuiltIn(target, key, sourceProperty, options);
54
53
  }
55
54
  };
@@ -2,7 +2,7 @@
2
2
  // TODO: Remove from `core-js@4` since it's moved to entry points
3
3
  require('../modules/es.regexp.exec');
4
4
  var uncurryThis = require('../internals/function-uncurry-this');
5
- var redefine = require('../internals/redefine');
5
+ var defineBuiltIn = require('../internals/define-built-in');
6
6
  var regexpExec = require('../internals/regexp-exec');
7
7
  var fails = require('../internals/fails');
8
8
  var wellKnownSymbol = require('../internals/well-known-symbol');
@@ -66,8 +66,8 @@ module.exports = function (KEY, exec, FORCED, SHAM) {
66
66
  return { done: false };
67
67
  });
68
68
 
69
- redefine(String.prototype, KEY, methods[0]);
70
- redefine(RegExpPrototype, SYMBOL, methods[1]);
69
+ defineBuiltIn(String.prototype, KEY, methods[0]);
70
+ defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);
71
71
  }
72
72
 
73
73
  if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);
@@ -4,7 +4,7 @@ var aCallable = require('../internals/a-callable');
4
4
  var anObject = require('../internals/an-object');
5
5
  var create = require('../internals/object-create');
6
6
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
7
- var redefineAll = require('../internals/redefine-all');
7
+ var defineBuiltIns = require('../internals/define-built-ins');
8
8
  var wellKnownSymbol = require('../internals/well-known-symbol');
9
9
  var InternalStateModule = require('../internals/internal-state');
10
10
  var getMethod = require('../internals/get-method');
@@ -25,7 +25,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
25
25
  setInternalState(this, state);
26
26
  };
27
27
 
28
- IteratorProxy.prototype = redefineAll(create(IteratorPrototype), {
28
+ IteratorProxy.prototype = defineBuiltIns(create(IteratorPrototype), {
29
29
  next: function next(arg) {
30
30
  var state = getInternalState(this);
31
31
  var args = arguments.length ? [state.ignoreArg ? undefined : arg] : IS_ITERATOR ? [] : [undefined];
@@ -3,7 +3,7 @@ var fails = require('../internals/fails');
3
3
  var isCallable = require('../internals/is-callable');
4
4
  var create = require('../internals/object-create');
5
5
  var getPrototypeOf = require('../internals/object-get-prototype-of');
6
- var redefine = require('../internals/redefine');
6
+ var defineBuiltIn = require('../internals/define-built-in');
7
7
  var wellKnownSymbol = require('../internals/well-known-symbol');
8
8
  var IS_PURE = require('../internals/is-pure');
9
9
 
@@ -37,7 +37,7 @@ else if (IS_PURE) IteratorPrototype = create(IteratorPrototype);
37
37
  // `%IteratorPrototype%[@@iterator]()` method
38
38
  // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
39
39
  if (!isCallable(IteratorPrototype[ITERATOR])) {
40
- redefine(IteratorPrototype, ITERATOR, function () {
40
+ defineBuiltIn(IteratorPrototype, ITERATOR, function () {
41
41
  return this;
42
42
  });
43
43
  }
@@ -0,0 +1,47 @@
1
+ var fails = require('../internals/fails');
2
+ var isCallable = require('../internals/is-callable');
3
+ var hasOwn = require('../internals/has-own-property');
4
+ var DESCRIPTORS = require('../internals/descriptors');
5
+ var CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;
6
+ var inspectSource = require('../internals/inspect-source');
7
+ var InternalStateModule = require('../internals/internal-state');
8
+
9
+ var enforceInternalState = InternalStateModule.enforce;
10
+ var getInternalState = InternalStateModule.get;
11
+ // eslint-disable-next-line es-x/no-object-defineproperty -- safe
12
+ var defineProperty = Object.defineProperty;
13
+
14
+ var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {
15
+ return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
16
+ });
17
+
18
+ var TEMPLATE = String(String).split('String');
19
+
20
+ var makeBuiltIn = module.exports = function (value, name, options) {
21
+ if (String(name).slice(0, 7) === 'Symbol(') {
22
+ name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
23
+ }
24
+ if (options && options.getter) name = 'get ' + name;
25
+ if (options && options.setter) name = 'set ' + name;
26
+ if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
27
+ defineProperty(value, 'name', { value: name, configurable: true });
28
+ }
29
+ if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {
30
+ defineProperty(value, 'length', { value: options.arity });
31
+ }
32
+ if (options && hasOwn(options, 'constructor') && options.constructor) {
33
+ if (DESCRIPTORS) try {
34
+ defineProperty(value, 'prototype', { writable: false });
35
+ } catch (error) { /* empty */ }
36
+ } else value.prototype = undefined;
37
+ var state = enforceInternalState(value);
38
+ if (!hasOwn(state, 'source')) {
39
+ state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
40
+ } return value;
41
+ };
42
+
43
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
44
+ // eslint-disable-next-line no-extend-native -- required
45
+ Function.prototype.toString = makeBuiltIn(function toString() {
46
+ return isCallable(this) && getInternalState(this).source || inspectSource(this);
47
+ }, 'toString');
@@ -10,5 +10,6 @@ module.exports = (!$expm1
10
10
  // Tor Browser bug
11
11
  || $expm1(-2e-17) != -2e-17
12
12
  ) ? function expm1(x) {
13
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1;
13
+ var n = +x;
14
+ return n == 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp(n) - 1;
14
15
  } : $expm1;
@@ -15,8 +15,9 @@ var roundTiesToEven = function (n) {
15
15
  // https://tc39.es/ecma262/#sec-math.fround
16
16
  // eslint-disable-next-line es-x/no-math-fround -- safe
17
17
  module.exports = Math.fround || function fround(x) {
18
- var $abs = abs(x);
19
- var $sign = sign(x);
18
+ var n = +x;
19
+ var $abs = abs(n);
20
+ var $sign = sign(n);
20
21
  var a, result;
21
22
  if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
22
23
  a = (1 + EPSILON32 / EPSILON) * $abs;
@@ -4,5 +4,6 @@ var log = Math.log;
4
4
  // https://tc39.es/ecma262/#sec-math.log1p
5
5
  // eslint-disable-next-line es-x/no-math-log1p -- safe
6
6
  module.exports = Math.log1p || function log1p(x) {
7
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);
7
+ var n = +x;
8
+ return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log(1 + n);
8
9
  };
@@ -2,6 +2,7 @@
2
2
  // https://tc39.es/ecma262/#sec-math.sign
3
3
  // eslint-disable-next-line es-x/no-math-sign -- safe
4
4
  module.exports = Math.sign || function sign(x) {
5
+ var n = +x;
5
6
  // eslint-disable-next-line no-self-compare -- NaN check
6
- return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
7
+ return n == 0 || n != n ? n : n < 0 ? -1 : 1;
7
8
  };
@@ -0,0 +1,10 @@
1
+ var ceil = Math.ceil;
2
+ var floor = Math.floor;
3
+
4
+ // `Math.trunc` method
5
+ // https://tc39.es/ecma262/#sec-math.trunc
6
+ // eslint-disable-next-line es-x/no-math-trunc -- safe
7
+ module.exports = Math.trunc || function trunc(x) {
8
+ var n = +x;
9
+ return (n > 0 ? floor : ceil)(n);
10
+ };
@@ -1,7 +1,7 @@
1
1
  var global = require('../internals/global');
2
- var setGlobal = require('../internals/set-global');
2
+ var defineGlobalProperty = require('../internals/define-global-property');
3
3
 
4
4
  var SHARED = '__core-js_shared__';
5
- var store = global[SHARED] || setGlobal(SHARED, {});
5
+ var store = global[SHARED] || defineGlobalProperty(SHARED, {});
6
6
 
7
7
  module.exports = store;
@@ -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.22.3',
7
+ version: '3.22.6',
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.22.3/LICENSE',
10
+ license: 'https://github.com/zloirock/core-js/blob/v3.22.6/LICENSE',
11
11
  source: 'https://github.com/zloirock/core-js'
12
12
  });
@@ -1,7 +1,7 @@
1
1
  var call = require('../internals/function-call');
2
2
  var getBuiltIn = require('../internals/get-built-in');
3
3
  var wellKnownSymbol = require('../internals/well-known-symbol');
4
- var redefine = require('../internals/redefine');
4
+ var defineBuiltIn = require('../internals/define-built-in');
5
5
 
6
6
  module.exports = function () {
7
7
  var Symbol = getBuiltIn('Symbol');
@@ -13,8 +13,8 @@ module.exports = function () {
13
13
  // `Symbol.prototype[@@toPrimitive]` method
14
14
  // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
15
15
  // eslint-disable-next-line no-unused-vars -- required for .length
16
- redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {
16
+ defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {
17
17
  return call(valueOf, this);
18
- });
18
+ }, { arity: 1 });
19
19
  }
20
20
  };
@@ -1,10 +1,9 @@
1
- var ceil = Math.ceil;
2
- var floor = Math.floor;
1
+ var trunc = require('../internals/math-trunc');
3
2
 
4
3
  // `ToIntegerOrInfinity` abstract operation
5
4
  // https://tc39.es/ecma262/#sec-tointegerorinfinity
6
5
  module.exports = function (argument) {
7
6
  var number = +argument;
8
- // eslint-disable-next-line no-self-compare -- safe
9
- return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
7
+ // eslint-disable-next-line no-self-compare -- NaN check
8
+ return number !== number || number === 0 ? 0 : trunc(number);
10
9
  };
@@ -223,11 +223,11 @@ if (DESCRIPTORS) {
223
223
  createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);
224
224
  }
225
225
 
226
+ var FORCED = TypedArrayConstructor != NativeTypedArrayConstructor;
227
+
226
228
  exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;
227
229
 
228
- $({
229
- global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS
230
- }, exported);
230
+ $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);
231
231
 
232
232
  if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {
233
233
  createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);
@@ -13,7 +13,7 @@ var FORCED = !fails(function () {
13
13
  });
14
14
 
15
15
  // https://github.com/tc39/proposal-error-cause
16
- $({ global: true, forced: FORCED }, {
16
+ $({ global: true, constructor: true, arity: 2, forced: FORCED }, {
17
17
  AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) {
18
18
  // eslint-disable-next-line no-unused-vars -- required for functions `.length`
19
19
  return function AggregateError(errors, message) { return apply(init, this, arguments); };
@@ -49,6 +49,6 @@ var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype
49
49
 
50
50
  // `AggregateError` constructor
51
51
  // https://tc39.es/ecma262/#sec-aggregate-error-constructor
52
- $({ global: true }, {
52
+ $({ global: true, constructor: true, arity: 2 }, {
53
53
  AggregateError: $AggregateError
54
54
  });
@@ -10,7 +10,7 @@ var NativeArrayBuffer = global[ARRAY_BUFFER];
10
10
 
11
11
  // `ArrayBuffer` constructor
12
12
  // https://tc39.es/ecma262/#sec-arraybuffer-constructor
13
- $({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {
13
+ $({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, {
14
14
  ArrayBuffer: ArrayBuffer
15
15
  });
16
16
 
@@ -39,7 +39,7 @@ var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
39
39
  // `Array.prototype.concat` method
40
40
  // https://tc39.es/ecma262/#sec-array.prototype.concat
41
41
  // with adding support of @@isConcatSpreadable and @@species
42
- $({ target: 'Array', proto: true, forced: FORCED }, {
42
+ $({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
43
43
  // eslint-disable-next-line no-unused-vars -- required for `.length`
44
44
  concat: function concat(arg) {
45
45
  var O = toObject(this);