core-js 3.22.3 → 3.22.8

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 (157) hide show
  1. package/actual/typed-array/at.js +1 -1
  2. package/full/typed-array/at.js +1 -1
  3. package/internals/a-callable.js +2 -3
  4. package/internals/a-constructor.js +2 -3
  5. package/internals/a-possible-prototype.js +3 -4
  6. package/internals/add-to-unscopables.js +2 -2
  7. package/internals/an-instance.js +2 -3
  8. package/internals/an-object.js +3 -4
  9. package/internals/array-buffer-view-core.js +4 -4
  10. package/internals/array-buffer.js +3 -3
  11. package/internals/array-copy-within.js +2 -1
  12. package/internals/array-from.js +3 -4
  13. package/internals/array-group-by.js +2 -3
  14. package/internals/array-reduce.js +2 -3
  15. package/internals/array-slice-simple.js +2 -3
  16. package/internals/array-species-constructor.js +3 -4
  17. package/internals/array-to-spliced.js +2 -4
  18. package/internals/array-with.js +2 -3
  19. package/internals/async-from-sync-iterator.js +2 -2
  20. package/internals/async-iterator-create-proxy.js +2 -2
  21. package/internals/async-iterator-iteration.js +2 -7
  22. package/internals/async-iterator-prototype.js +2 -2
  23. package/internals/classof.js +2 -3
  24. package/internals/collection-strong.js +3 -3
  25. package/internals/collection-weak.js +3 -3
  26. package/internals/collection.js +3 -3
  27. package/internals/composite-key.js +3 -4
  28. package/internals/date-to-iso-string.js +2 -3
  29. package/internals/date-to-primitive.js +2 -3
  30. package/internals/define-built-in-accessor.js +8 -0
  31. package/internals/define-built-in.js +20 -0
  32. package/internals/define-built-ins.js +6 -0
  33. package/internals/{set-global.js → define-global-property.js} +0 -0
  34. package/internals/define-iterator.js +4 -4
  35. package/internals/delete-property-or-throw.js +8 -0
  36. package/internals/does-not-exceed-safe-integer.js +7 -0
  37. package/internals/export.js +18 -19
  38. package/internals/fix-regexp-well-known-symbol-logic.js +3 -3
  39. package/internals/flatten-into-array.js +2 -4
  40. package/internals/function-bind.js +3 -4
  41. package/internals/get-iterator.js +2 -3
  42. package/internals/ieee754.js +2 -4
  43. package/internals/indexed-object.js +4 -5
  44. package/internals/is-iterable.js +2 -3
  45. package/internals/is-symbol.js +2 -3
  46. package/internals/iterate.js +2 -3
  47. package/internals/iterator-create-proxy.js +2 -2
  48. package/internals/iterators-core.js +2 -2
  49. package/internals/make-built-in.js +48 -0
  50. package/internals/map-upsert.js +2 -3
  51. package/internals/math-expm1.js +2 -1
  52. package/internals/math-fround.js +3 -2
  53. package/internals/math-log1p.js +2 -1
  54. package/internals/math-sign.js +2 -1
  55. package/internals/math-trunc.js +10 -0
  56. package/internals/not-a-regexp.js +2 -3
  57. package/internals/numeric-range-iterator.js +7 -8
  58. package/internals/object-define-property.js +2 -3
  59. package/internals/object-get-prototype-of.js +5 -5
  60. package/internals/ordinary-to-primitive.js +2 -3
  61. package/internals/regexp-exec-abstract.js +2 -3
  62. package/internals/require-object-coercible.js +2 -4
  63. package/internals/shared-store.js +2 -2
  64. package/internals/shared.js +2 -2
  65. package/internals/string-punycode-to-ascii.js +3 -4
  66. package/internals/string-repeat.js +2 -3
  67. package/internals/symbol-define-to-primitive.js +3 -3
  68. package/internals/to-big-int.js +12 -0
  69. package/internals/to-index.js +2 -3
  70. package/internals/to-integer-or-infinity.js +3 -4
  71. package/internals/to-object.js +2 -3
  72. package/internals/to-offset.js +2 -3
  73. package/internals/to-positive-integer.js +2 -3
  74. package/internals/to-primitive.js +2 -3
  75. package/internals/to-string.js +2 -3
  76. package/internals/try-to-string.js +2 -4
  77. package/internals/typed-array-constructor.js +3 -3
  78. package/internals/validate-arguments-length.js +2 -4
  79. package/modules/es.aggregate-error.cause.js +1 -1
  80. package/modules/es.aggregate-error.constructor.js +6 -7
  81. package/modules/es.array-buffer.constructor.js +1 -1
  82. package/modules/es.array.concat.js +4 -7
  83. package/modules/es.array.of.js +4 -4
  84. package/modules/es.array.slice.js +4 -5
  85. package/modules/es.array.sort.js +2 -1
  86. package/modules/es.array.splice.js +7 -11
  87. package/modules/es.data-view.constructor.js +1 -1
  88. package/modules/es.date.now.js +3 -4
  89. package/modules/es.date.to-json.js +1 -1
  90. package/modules/es.date.to-primitive.js +2 -2
  91. package/modules/es.date.to-string.js +2 -2
  92. package/modules/es.error.cause.js +2 -2
  93. package/modules/es.error.to-string.js +2 -2
  94. package/modules/es.function.has-instance.js +3 -2
  95. package/modules/es.json.stringify.js +1 -1
  96. package/modules/es.math.acosh.js +4 -3
  97. package/modules/es.math.asinh.js +2 -1
  98. package/modules/es.math.atanh.js +2 -1
  99. package/modules/es.math.cbrt.js +2 -1
  100. package/modules/es.math.clz32.js +2 -1
  101. package/modules/es.math.hypot.js +1 -1
  102. package/modules/es.math.sinh.js +2 -1
  103. package/modules/es.math.tanh.js +4 -3
  104. package/modules/es.math.trunc.js +2 -6
  105. package/modules/es.number.constructor.js +2 -2
  106. package/modules/es.number.to-exponential.js +7 -8
  107. package/modules/es.number.to-fixed.js +5 -6
  108. package/modules/es.object.assign.js +1 -1
  109. package/modules/es.object.to-string.js +2 -2
  110. package/modules/es.promise.catch.js +2 -2
  111. package/modules/es.promise.constructor.js +17 -21
  112. package/modules/es.promise.finally.js +2 -2
  113. package/modules/es.regexp.constructor.js +2 -2
  114. package/modules/es.regexp.dot-all.js +5 -6
  115. package/modules/es.regexp.flags.js +2 -2
  116. package/modules/es.regexp.sticky.js +5 -6
  117. package/modules/es.regexp.test.js +2 -3
  118. package/modules/es.regexp.to-string.js +2 -2
  119. package/modules/es.string.from-code-point.js +3 -4
  120. package/modules/es.string.match-all.js +4 -5
  121. package/modules/es.string.replace-all.js +2 -3
  122. package/modules/es.symbol.constructor.js +5 -5
  123. package/modules/es.symbol.description.js +1 -1
  124. package/modules/es.typed-array.fill.js +18 -9
  125. package/modules/es.weak-map.constructor.js +2 -2
  126. package/modules/esnext.array.last-index.js +2 -2
  127. package/modules/esnext.array.last-item.js +2 -2
  128. package/modules/esnext.array.to-reversed.js +2 -3
  129. package/modules/esnext.array.to-sorted.js +2 -3
  130. package/modules/esnext.array.to-spliced.js +3 -4
  131. package/modules/esnext.array.with.js +2 -3
  132. package/modules/esnext.async-iterator.constructor.js +1 -1
  133. package/modules/esnext.async-iterator.reduce.js +2 -3
  134. package/modules/esnext.composite-key.js +2 -3
  135. package/modules/esnext.iterator.constructor.js +1 -1
  136. package/modules/esnext.iterator.flat-map.js +2 -3
  137. package/modules/esnext.iterator.reduce.js +2 -3
  138. package/modules/esnext.map.merge.js +1 -1
  139. package/modules/esnext.map.reduce.js +2 -3
  140. package/modules/esnext.map.update.js +2 -3
  141. package/modules/esnext.math.seeded-prng.js +2 -3
  142. package/modules/esnext.math.signbit.js +3 -1
  143. package/modules/esnext.number.from-string.js +8 -9
  144. package/modules/esnext.observable.constructor.js +12 -12
  145. package/modules/esnext.set.reduce.js +2 -3
  146. package/modules/esnext.string.cooked.js +2 -3
  147. package/modules/esnext.typed-array.to-spliced.js +1 -1
  148. package/modules/esnext.typed-array.with.js +9 -0
  149. package/modules/web.dom-exception.constructor.js +10 -10
  150. package/modules/web.dom-exception.stack.js +1 -1
  151. package/modules/web.queue-microtask.js +1 -1
  152. package/modules/web.structured-clone.js +21 -9
  153. package/modules/web.url-search-params.constructor.js +8 -8
  154. package/modules/web.url.constructor.js +43 -45
  155. package/package.json +2 -3
  156. package/internals/redefine-all.js +0 -6
  157. package/internals/redefine.js +0 -46
@@ -6,8 +6,8 @@ var fails = require('../internals/fails');
6
6
  var create = require('../internals/object-create');
7
7
  var createPropertyDescriptor = require('../internals/create-property-descriptor');
8
8
  var defineProperty = require('../internals/object-define-property').f;
9
- var defineProperties = require('../internals/object-define-properties').f;
10
- var redefine = require('../internals/redefine');
9
+ var defineBuiltIn = require('../internals/define-built-in');
10
+ var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
11
11
  var hasOwn = require('../internals/has-own-property');
12
12
  var anInstance = require('../internals/an-instance');
13
13
  var anObject = require('../internals/an-object');
@@ -79,11 +79,11 @@ var getterFor = function (key) {
79
79
  });
80
80
  };
81
81
 
82
- if (DESCRIPTORS) defineProperties(DOMExceptionPrototype, {
83
- name: getterFor('name'),
84
- message: getterFor('message'),
85
- code: getterFor('code')
86
- });
82
+ if (DESCRIPTORS) {
83
+ defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code'));
84
+ defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message'));
85
+ defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name'));
86
+ }
87
87
 
88
88
  defineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException));
89
89
 
@@ -111,7 +111,7 @@ var FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISS
111
111
 
112
112
  // `DOMException` constructor
113
113
  // https://webidl.spec.whatwg.org/#idl-DOMException
114
- $({ global: true, forced: FORCED_CONSTRUCTOR }, {
114
+ $({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, {
115
115
  DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException
116
116
  });
117
117
 
@@ -119,11 +119,11 @@ var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);
119
119
  var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;
120
120
 
121
121
  if (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) {
122
- redefine(PolyfilledDOMExceptionPrototype, 'toString', errorToString);
122
+ defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString);
123
123
  }
124
124
 
125
125
  if (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) {
126
- defineProperty(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () {
126
+ defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () {
127
127
  return codeFor(anObject(this).name);
128
128
  }));
129
129
  }
@@ -36,7 +36,7 @@ var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !DOM_EXCEPTION_HAS_STACK;
36
36
 
37
37
  // `DOMException` constructor patch for `.stack` where it's required
38
38
  // https://webidl.spec.whatwg.org/#es-DOMException-specialness
39
- $({ global: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic
39
+ $({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic
40
40
  DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException
41
41
  });
42
42
 
@@ -9,7 +9,7 @@ var process = global.process;
9
9
 
10
10
  // `queueMicrotask` method
11
11
  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
12
- $({ global: true, enumerable: true, noTargetGet: true }, {
12
+ $({ global: true, enumerable: true, dontCallGetSet: true }, {
13
13
  queueMicrotask: function queueMicrotask(fn) {
14
14
  validateArgumentsLength(arguments.length, 1);
15
15
  aCallable(fn);
@@ -61,30 +61,42 @@ var checkBasicSemantic = function (structuredCloneImplementation) {
61
61
  }) && structuredCloneImplementation;
62
62
  };
63
63
 
64
+ var checkErrorsCloning = function (structuredCloneImplementation) {
65
+ return !fails(function () {
66
+ var error = new Error();
67
+ var test = structuredCloneImplementation({ a: error, b: error });
68
+ return !(test && test.a === test.b && test.a instanceof Error);
69
+ });
70
+ };
71
+
64
72
  // https://github.com/whatwg/html/pull/5749
65
- var checkNewErrorsSemantic = function (structuredCloneImplementation) {
73
+ var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) {
66
74
  return !fails(function () {
67
75
  var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 }));
68
76
  return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3;
69
- }) && structuredCloneImplementation;
77
+ });
70
78
  };
71
79
 
72
- // FF94+, Safari TP134+, Chrome Canary 98+, NodeJS 17.0+, Deno 1.13+
73
- // current FF and Safari implementations can't clone errors
80
+ // FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+
81
+ // FF and Safari implementations can't clone errors
74
82
  // https://bugzilla.mozilla.org/show_bug.cgi?id=1556604
83
+ // Chrome <103 returns `null` if cloned object contains multiple references to one error
84
+ // https://bugs.chromium.org/p/v8/issues/detail?id=12542
75
85
  // no one of current implementations supports new (html/5749) error cloning semantic
76
86
  var nativeStructuredClone = global.structuredClone;
77
87
 
78
- var FORCED_REPLACEMENT = IS_PURE || !checkNewErrorsSemantic(nativeStructuredClone);
88
+ var FORCED_REPLACEMENT = IS_PURE || !checkErrorsCloning(nativeStructuredClone) || !checkNewErrorsCloningSemantic(nativeStructuredClone);
79
89
 
80
90
  // Chrome 82+, Safari 14.1+, Deno 1.11+
81
91
  // Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException`
92
+ // Chrome returns `null` if cloned object contains multiple references to one error
82
93
  // Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround
83
- // current Safari implementation can't clone errors
94
+ // Safari implementation can't clone errors
84
95
  // Deno 1.2-1.10 implementations too naive
85
- // NodeJS 16.0+ does not have `PerformanceMark` constructor, structured cloning implementation
86
- // from `performance.mark` is too naive and can't clone, for example, `RegExp` or some boxed primitives
87
- // https://github.com/nodejs/node/issues/40840
96
+ // NodeJS 16.0+ does not have `PerformanceMark` constructor
97
+ // NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive
98
+ // and can't clone, for example, `RegExp` or some boxed primitives
99
+ // https://github.com/nodejs/node/issues/40840
88
100
  // no one of current implementations supports new (html/5749) error cloning semantic
89
101
  var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) {
90
102
  return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail;
@@ -7,8 +7,8 @@ var call = require('../internals/function-call');
7
7
  var uncurryThis = require('../internals/function-uncurry-this');
8
8
  var DESCRIPTORS = require('../internals/descriptors');
9
9
  var USE_NATIVE_URL = require('../internals/native-url');
10
- var redefine = require('../internals/redefine');
11
- var redefineAll = require('../internals/redefine-all');
10
+ var defineBuiltIn = require('../internals/define-built-in');
11
+ var defineBuiltIns = require('../internals/define-built-ins');
12
12
  var setToStringTag = require('../internals/set-to-string-tag');
13
13
  var createIteratorConstructor = require('../internals/create-iterator-constructor');
14
14
  var InternalStateModule = require('../internals/internal-state');
@@ -208,7 +208,7 @@ var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
208
208
 
209
209
  var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
210
210
 
211
- redefineAll(URLSearchParamsPrototype, {
211
+ defineBuiltIns(URLSearchParamsPrototype, {
212
212
  // `URLSearchParams.prototype.append` method
213
213
  // https://url.spec.whatwg.org/#dom-urlsearchparams-append
214
214
  append: function append(name, value) {
@@ -327,17 +327,17 @@ redefineAll(URLSearchParamsPrototype, {
327
327
  }, { enumerable: true });
328
328
 
329
329
  // `URLSearchParams.prototype[@@iterator]` method
330
- redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });
330
+ defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });
331
331
 
332
332
  // `URLSearchParams.prototype.toString` method
333
333
  // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
334
- redefine(URLSearchParamsPrototype, 'toString', function toString() {
334
+ defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {
335
335
  return getInternalParamsState(this).serialize();
336
336
  }, { enumerable: true });
337
337
 
338
338
  setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
339
339
 
340
- $({ global: true, forced: !USE_NATIVE_URL }, {
340
+ $({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {
341
341
  URLSearchParams: URLSearchParamsConstructor
342
342
  });
343
343
 
@@ -364,7 +364,7 @@ if (!USE_NATIVE_URL && isCallable(Headers)) {
364
364
  };
365
365
 
366
366
  if (isCallable(nativeFetch)) {
367
- $({ global: true, enumerable: true, noTargetGet: true, forced: true }, {
367
+ $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, {
368
368
  fetch: function fetch(input /* , init */) {
369
369
  return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
370
370
  }
@@ -380,7 +380,7 @@ if (!USE_NATIVE_URL && isCallable(Headers)) {
380
380
  RequestPrototype.constructor = RequestConstructor;
381
381
  RequestConstructor.prototype = RequestPrototype;
382
382
 
383
- $({ global: true, forced: true, noTargetGet: true }, {
383
+ $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, {
384
384
  Request: RequestConstructor
385
385
  });
386
386
  }
@@ -7,8 +7,8 @@ var USE_NATIVE_URL = require('../internals/native-url');
7
7
  var global = require('../internals/global');
8
8
  var bind = require('../internals/function-bind-context');
9
9
  var uncurryThis = require('../internals/function-uncurry-this');
10
- var defineProperties = require('../internals/object-define-properties').f;
11
- var redefine = require('../internals/redefine');
10
+ var defineBuiltIn = require('../internals/define-built-in');
11
+ var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
12
12
  var anInstance = require('../internals/an-instance');
13
13
  var hasOwn = require('../internals/has-own-property');
14
14
  var assign = require('../internals/object-assign');
@@ -974,55 +974,53 @@ var accessorDescriptor = function (getter, setter) {
974
974
  };
975
975
 
976
976
  if (DESCRIPTORS) {
977
- defineProperties(URLPrototype, {
978
- // `URL.prototype.href` accessors pair
979
- // https://url.spec.whatwg.org/#dom-url-href
980
- href: accessorDescriptor('serialize', 'setHref'),
981
- // `URL.prototype.origin` getter
982
- // https://url.spec.whatwg.org/#dom-url-origin
983
- origin: accessorDescriptor('getOrigin'),
984
- // `URL.prototype.protocol` accessors pair
985
- // https://url.spec.whatwg.org/#dom-url-protocol
986
- protocol: accessorDescriptor('getProtocol', 'setProtocol'),
987
- // `URL.prototype.username` accessors pair
988
- // https://url.spec.whatwg.org/#dom-url-username
989
- username: accessorDescriptor('getUsername', 'setUsername'),
990
- // `URL.prototype.password` accessors pair
991
- // https://url.spec.whatwg.org/#dom-url-password
992
- password: accessorDescriptor('getPassword', 'setPassword'),
993
- // `URL.prototype.host` accessors pair
994
- // https://url.spec.whatwg.org/#dom-url-host
995
- host: accessorDescriptor('getHost', 'setHost'),
996
- // `URL.prototype.hostname` accessors pair
997
- // https://url.spec.whatwg.org/#dom-url-hostname
998
- hostname: accessorDescriptor('getHostname', 'setHostname'),
999
- // `URL.prototype.port` accessors pair
1000
- // https://url.spec.whatwg.org/#dom-url-port
1001
- port: accessorDescriptor('getPort', 'setPort'),
1002
- // `URL.prototype.pathname` accessors pair
1003
- // https://url.spec.whatwg.org/#dom-url-pathname
1004
- pathname: accessorDescriptor('getPathname', 'setPathname'),
1005
- // `URL.prototype.search` accessors pair
1006
- // https://url.spec.whatwg.org/#dom-url-search
1007
- search: accessorDescriptor('getSearch', 'setSearch'),
1008
- // `URL.prototype.searchParams` getter
1009
- // https://url.spec.whatwg.org/#dom-url-searchparams
1010
- searchParams: accessorDescriptor('getSearchParams'),
1011
- // `URL.prototype.hash` accessors pair
1012
- // https://url.spec.whatwg.org/#dom-url-hash
1013
- hash: accessorDescriptor('getHash', 'setHash')
1014
- });
977
+ // `URL.prototype.href` accessors pair
978
+ // https://url.spec.whatwg.org/#dom-url-href
979
+ defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));
980
+ // `URL.prototype.origin` getter
981
+ // https://url.spec.whatwg.org/#dom-url-origin
982
+ defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));
983
+ // `URL.prototype.protocol` accessors pair
984
+ // https://url.spec.whatwg.org/#dom-url-protocol
985
+ defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));
986
+ // `URL.prototype.username` accessors pair
987
+ // https://url.spec.whatwg.org/#dom-url-username
988
+ defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));
989
+ // `URL.prototype.password` accessors pair
990
+ // https://url.spec.whatwg.org/#dom-url-password
991
+ defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));
992
+ // `URL.prototype.host` accessors pair
993
+ // https://url.spec.whatwg.org/#dom-url-host
994
+ defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));
995
+ // `URL.prototype.hostname` accessors pair
996
+ // https://url.spec.whatwg.org/#dom-url-hostname
997
+ defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));
998
+ // `URL.prototype.port` accessors pair
999
+ // https://url.spec.whatwg.org/#dom-url-port
1000
+ defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));
1001
+ // `URL.prototype.pathname` accessors pair
1002
+ // https://url.spec.whatwg.org/#dom-url-pathname
1003
+ defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));
1004
+ // `URL.prototype.search` accessors pair
1005
+ // https://url.spec.whatwg.org/#dom-url-search
1006
+ defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));
1007
+ // `URL.prototype.searchParams` getter
1008
+ // https://url.spec.whatwg.org/#dom-url-searchparams
1009
+ defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));
1010
+ // `URL.prototype.hash` accessors pair
1011
+ // https://url.spec.whatwg.org/#dom-url-hash
1012
+ defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));
1015
1013
  }
1016
1014
 
1017
1015
  // `URL.prototype.toJSON` method
1018
1016
  // https://url.spec.whatwg.org/#dom-url-tojson
1019
- redefine(URLPrototype, 'toJSON', function toJSON() {
1017
+ defineBuiltIn(URLPrototype, 'toJSON', function toJSON() {
1020
1018
  return getInternalURLState(this).serialize();
1021
1019
  }, { enumerable: true });
1022
1020
 
1023
1021
  // `URL.prototype.toString` method
1024
1022
  // https://url.spec.whatwg.org/#URL-stringification-behavior
1025
- redefine(URLPrototype, 'toString', function toString() {
1023
+ defineBuiltIn(URLPrototype, 'toString', function toString() {
1026
1024
  return getInternalURLState(this).serialize();
1027
1025
  }, { enumerable: true });
1028
1026
 
@@ -1031,14 +1029,14 @@ if (NativeURL) {
1031
1029
  var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
1032
1030
  // `URL.createObjectURL` method
1033
1031
  // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
1034
- if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));
1032
+ if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));
1035
1033
  // `URL.revokeObjectURL` method
1036
1034
  // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
1037
- if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));
1035
+ if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));
1038
1036
  }
1039
1037
 
1040
1038
  setToStringTag(URLConstructor, 'URL');
1041
1039
 
1042
- $({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {
1040
+ $({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {
1043
1041
  URL: URLConstructor
1044
1042
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "core-js",
3
3
  "description": "Standard library",
4
- "version": "3.22.3",
4
+ "version": "3.22.8",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/zloirock/core-js.git"
@@ -53,6 +53,5 @@
53
53
  ],
54
54
  "scripts": {
55
55
  "postinstall": "node -e \"try{require('./postinstall')}catch(e){}\""
56
- },
57
- "gitHead": "3c83544a650f20115b2a586ac226d00b2505fcae"
56
+ }
58
57
  }
@@ -1,6 +0,0 @@
1
- var redefine = require('../internals/redefine');
2
-
3
- module.exports = function (target, src, options) {
4
- for (var key in src) redefine(target, key, src[key], options);
5
- return target;
6
- };
@@ -1,46 +0,0 @@
1
- var global = require('../internals/global');
2
- var isCallable = require('../internals/is-callable');
3
- var hasOwn = require('../internals/has-own-property');
4
- var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
5
- var setGlobal = require('../internals/set-global');
6
- var inspectSource = require('../internals/inspect-source');
7
- var InternalStateModule = require('../internals/internal-state');
8
- var CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;
9
-
10
- var getInternalState = InternalStateModule.get;
11
- var enforceInternalState = InternalStateModule.enforce;
12
- var TEMPLATE = String(String).split('String');
13
-
14
- (module.exports = function (O, key, value, options) {
15
- var unsafe = options ? !!options.unsafe : false;
16
- var simple = options ? !!options.enumerable : false;
17
- var noTargetGet = options ? !!options.noTargetGet : false;
18
- var name = options && options.name !== undefined ? options.name : key;
19
- var state;
20
- if (isCallable(value)) {
21
- if (String(name).slice(0, 7) === 'Symbol(') {
22
- name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
23
- }
24
- if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
25
- createNonEnumerableProperty(value, 'name', name);
26
- }
27
- state = enforceInternalState(value);
28
- if (!state.source) {
29
- state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
30
- }
31
- }
32
- if (O === global) {
33
- if (simple) O[key] = value;
34
- else setGlobal(key, value);
35
- return;
36
- } else if (!unsafe) {
37
- delete O[key];
38
- } else if (!noTargetGet && O[key]) {
39
- simple = true;
40
- }
41
- if (simple) O[key] = value;
42
- else createNonEnumerableProperty(O, key, value);
43
- // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
44
- })(Function.prototype, 'toString', function toString() {
45
- return isCallable(this) && getInternalState(this).source || inspectSource(this);
46
- });