core-js 3.27.2 → 3.28.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.
- package/README.md +55 -32
- package/actual/array/index.js +4 -3
- package/actual/array/to-reversed.js +3 -2
- package/actual/array/to-sorted.js +3 -3
- package/actual/array/to-spliced.js +3 -2
- package/actual/array/virtual/index.js +3 -2
- package/actual/array/virtual/to-reversed.js +3 -2
- package/actual/array/virtual/to-sorted.js +3 -3
- package/actual/array/virtual/to-spliced.js +3 -2
- package/actual/array/virtual/with.js +3 -2
- package/actual/array/with.js +3 -2
- package/actual/array-buffer/constructor.js +3 -0
- package/actual/array-buffer/detached.js +2 -0
- package/actual/array-buffer/index.js +3 -0
- package/actual/array-buffer/transfer-to-fixed-length.js +2 -0
- package/actual/array-buffer/transfer.js +2 -0
- package/actual/json/index.js +6 -0
- package/actual/json/is-raw-json.js +4 -0
- package/actual/json/parse.js +5 -0
- package/actual/json/raw-json.js +6 -0
- package/actual/typed-array/index.js +1 -1
- package/actual/typed-array/methods.js +1 -1
- package/actual/typed-array/to-reversed.js +4 -0
- package/actual/typed-array/to-sorted.js +4 -1
- package/actual/typed-array/with.js +4 -0
- package/es/array/index.js +4 -0
- package/es/array/to-reversed.js +4 -0
- package/es/array/to-sorted.js +5 -0
- package/es/array/to-spliced.js +4 -0
- package/es/array/virtual/index.js +4 -0
- package/es/array/virtual/to-reversed.js +4 -0
- package/es/array/virtual/to-sorted.js +5 -0
- package/es/array/virtual/to-spliced.js +4 -0
- package/es/array/virtual/with.js +4 -0
- package/es/array/with.js +4 -0
- package/es/index.js +7 -0
- package/es/instance/to-reversed.js +9 -0
- package/es/instance/to-sorted.js +9 -0
- package/es/instance/to-spliced.js +9 -0
- package/es/instance/with.js +9 -0
- package/es/typed-array/methods.js +3 -0
- package/es/typed-array/to-reversed.js +1 -0
- package/es/typed-array/to-sorted.js +2 -0
- package/es/typed-array/with.js +1 -0
- package/features/array-buffer/detached.js +1 -0
- package/features/array-buffer/transfer-to-fixed-length.js +1 -0
- package/features/array-buffer/transfer.js +1 -0
- package/features/function/demethodize.js +1 -0
- package/features/function/virtual/demethodize.js +1 -0
- package/features/instance/demethodize.js +1 -0
- package/features/iterator/range.js +1 -0
- package/features/json/is-raw-json.js +1 -0
- package/features/json/parse.js +1 -0
- package/features/json/raw-json.js +1 -0
- package/features/symbol/is-registered.js +1 -0
- package/features/symbol/is-well-known.js +1 -0
- package/full/array-buffer/detached.js +3 -0
- package/full/array-buffer/transfer-to-fixed-length.js +3 -0
- package/full/array-buffer/transfer.js +3 -0
- package/full/function/demethodize.js +4 -0
- package/full/function/index.js +2 -0
- package/full/function/virtual/demethodize.js +4 -0
- package/full/function/virtual/index.js +2 -0
- package/full/index.js +17 -0
- package/full/instance/demethodize.js +9 -0
- package/full/iterator/index.js +1 -0
- package/full/iterator/range.js +6 -0
- package/full/json/is-raw-json.js +3 -0
- package/full/json/parse.js +3 -0
- package/full/json/raw-json.js +3 -0
- package/full/symbol/index.js +2 -0
- package/full/symbol/is-registered.js +5 -0
- package/full/symbol/is-well-known.js +5 -0
- package/internals/{disposable-stack-helpers.js → add-disposable-resource.js} +5 -6
- package/internals/array-buffer-byte-length.js +12 -0
- package/internals/array-buffer-is-detached.js +14 -0
- package/internals/array-buffer-transfer.js +35 -0
- package/internals/array-buffer-view-core.js +7 -4
- package/internals/array-buffer.js +29 -16
- package/internals/async-iterator-create-proxy.js +30 -52
- package/internals/collection-strong.js +3 -2
- package/internals/engine-is-ios.js +1 -0
- package/internals/error-stack-clear.js +1 -0
- package/internals/function-bind.js +1 -0
- package/internals/function-demethodize.js +7 -0
- package/internals/function-uncurry-this-accessor.js +9 -0
- package/internals/get-json-replacer-function.js +29 -0
- package/internals/get-substitution.js +1 -0
- package/internals/is-raw-json.js +8 -0
- package/internals/native-raw-json.js +8 -0
- package/internals/numeric-range-iterator.js +2 -1
- package/internals/object-set-prototype-of.js +2 -3
- package/internals/parse-json-string.js +55 -0
- package/internals/set-size.js +2 -4
- package/internals/set-species.js +2 -3
- package/internals/shared.js +2 -2
- package/internals/string-trim.js +3 -4
- package/internals/structured-clone-proper-transfer.js +17 -0
- package/internals/typed-array-constructor.js +8 -4
- package/modules/es.array.includes.js +1 -0
- package/modules/es.array.to-reversed.js +17 -0
- package/modules/es.array.to-sorted.js +24 -0
- package/modules/es.array.to-spliced.js +44 -0
- package/modules/es.array.with.js +14 -0
- package/modules/es.date.get-year.js +1 -0
- package/modules/es.function.bind.js +1 -0
- package/modules/es.function.name.js +2 -2
- package/modules/es.json.stringify.js +7 -7
- package/modules/es.symbol.constructor.js +2 -1
- package/modules/es.symbol.description.js +2 -2
- package/modules/es.typed-array.to-reversed.js +13 -0
- package/modules/es.typed-array.to-sorted.js +19 -0
- package/modules/es.typed-array.with.js +30 -0
- package/modules/esnext.array-buffer.detached.js +15 -0
- package/modules/esnext.array-buffer.transfer-to-fixed-length.js +11 -0
- package/modules/esnext.array-buffer.transfer.js +11 -0
- package/modules/esnext.array.to-reversed.js +2 -17
- package/modules/esnext.array.to-sorted.js +2 -24
- package/modules/esnext.array.to-spliced.js +2 -44
- package/modules/esnext.array.with.js +2 -14
- package/modules/esnext.async-disposable-stack.constructor.js +3 -11
- package/modules/esnext.async-iterator.constructor.js +1 -1
- package/modules/esnext.async-iterator.drop.js +1 -1
- package/modules/esnext.async-iterator.every.js +1 -1
- package/modules/esnext.async-iterator.filter.js +1 -1
- package/modules/esnext.async-iterator.find.js +1 -1
- package/modules/esnext.async-iterator.flat-map.js +1 -1
- package/modules/esnext.async-iterator.for-each.js +1 -1
- package/modules/esnext.async-iterator.from.js +1 -1
- package/modules/esnext.async-iterator.map.js +1 -1
- package/modules/esnext.async-iterator.reduce.js +1 -1
- package/modules/esnext.async-iterator.some.js +1 -1
- package/modules/esnext.async-iterator.take.js +1 -1
- package/modules/esnext.async-iterator.to-array.js +1 -1
- package/modules/esnext.bigint.range.js +1 -0
- package/modules/esnext.disposable-stack.constructor.js +3 -11
- package/modules/esnext.function.demethodize.js +8 -0
- package/modules/esnext.function.un-this.js +5 -7
- package/modules/esnext.iterator.range.js +16 -0
- package/modules/esnext.iterator.to-async.js +1 -1
- package/modules/esnext.json.is-raw-json.js +10 -0
- package/modules/esnext.json.parse.js +261 -0
- package/modules/esnext.json.raw-json.js +84 -0
- package/modules/esnext.number.range.js +1 -0
- package/modules/esnext.string.to-well-formed.js +10 -1
- package/modules/esnext.suppressed-error.constructor.js +1 -3
- package/modules/esnext.symbol.is-registered.js +19 -0
- package/modules/esnext.symbol.is-well-known.js +36 -0
- package/modules/esnext.typed-array.to-reversed.js +2 -13
- package/modules/esnext.typed-array.to-sorted.js +2 -19
- package/modules/esnext.typed-array.with.js +2 -30
- package/modules/web.atob.js +1 -1
- package/modules/web.structured-clone.js +4 -13
- package/modules/web.url.constructor.js +4 -2
- package/package.json +1 -1
- package/postinstall.js +1 -1
- package/proposals/array-buffer-transfer.js +3 -0
- package/proposals/async-iterator-helpers.js +15 -0
- package/proposals/change-array-by-copy-stage-4.js +8 -0
- package/proposals/function-demethodize.js +2 -0
- package/proposals/function-un-this.js +1 -0
- package/proposals/iterator-helpers-stage-3-2.js +14 -0
- package/proposals/iterator-range.js +3 -0
- package/proposals/json-parse-with-source.js +4 -0
- package/proposals/symbol-predicates.js +3 -0
- package/stable/array/to-reversed.js +3 -0
- package/stable/array/to-sorted.js +3 -0
- package/stable/array/to-spliced.js +3 -0
- package/stable/array/virtual/to-reversed.js +3 -0
- package/stable/array/virtual/to-sorted.js +3 -0
- package/stable/array/virtual/to-spliced.js +3 -0
- package/stable/array/virtual/with.js +3 -0
- package/stable/array/with.js +3 -0
- package/stable/index.js +7 -0
- package/stable/instance/to-reversed.js +3 -0
- package/stable/instance/to-sorted.js +3 -0
- package/stable/instance/to-spliced.js +3 -0
- package/stable/instance/with.js +3 -0
- package/stable/typed-array/to-reversed.js +3 -0
- package/stable/typed-array/to-sorted.js +3 -0
- package/stable/typed-array/with.js +3 -0
- package/stage/0.js +2 -1
- package/stage/1.js +2 -1
- package/stage/2.js +2 -0
- package/stage/3.js +5 -2
- package/stage/4.js +1 -0
package/full/index.js
CHANGED
|
@@ -48,9 +48,13 @@ require('../modules/es.array.some');
|
|
|
48
48
|
require('../modules/es.array.sort');
|
|
49
49
|
require('../modules/es.array.species');
|
|
50
50
|
require('../modules/es.array.splice');
|
|
51
|
+
require('../modules/es.array.to-reversed');
|
|
52
|
+
require('../modules/es.array.to-sorted');
|
|
53
|
+
require('../modules/es.array.to-spliced');
|
|
51
54
|
require('../modules/es.array.unscopables.flat');
|
|
52
55
|
require('../modules/es.array.unscopables.flat-map');
|
|
53
56
|
require('../modules/es.array.unshift');
|
|
57
|
+
require('../modules/es.array.with');
|
|
54
58
|
require('../modules/es.array-buffer.constructor');
|
|
55
59
|
require('../modules/es.array-buffer.is-view');
|
|
56
60
|
require('../modules/es.array-buffer.slice');
|
|
@@ -227,7 +231,10 @@ require('../modules/es.typed-array.some');
|
|
|
227
231
|
require('../modules/es.typed-array.sort');
|
|
228
232
|
require('../modules/es.typed-array.subarray');
|
|
229
233
|
require('../modules/es.typed-array.to-locale-string');
|
|
234
|
+
require('../modules/es.typed-array.to-reversed');
|
|
235
|
+
require('../modules/es.typed-array.to-sorted');
|
|
230
236
|
require('../modules/es.typed-array.to-string');
|
|
237
|
+
require('../modules/es.typed-array.with');
|
|
231
238
|
require('../modules/es.unescape');
|
|
232
239
|
require('../modules/es.weak-map');
|
|
233
240
|
require('../modules/es.weak-set');
|
|
@@ -251,6 +258,9 @@ require('../modules/esnext.array.to-sorted');
|
|
|
251
258
|
require('../modules/esnext.array.to-spliced');
|
|
252
259
|
require('../modules/esnext.array.unique-by');
|
|
253
260
|
require('../modules/esnext.array.with');
|
|
261
|
+
require('../modules/esnext.array-buffer.detached');
|
|
262
|
+
require('../modules/esnext.array-buffer.transfer');
|
|
263
|
+
require('../modules/esnext.array-buffer.transfer-to-fixed-length');
|
|
254
264
|
require('../modules/esnext.async-disposable-stack.constructor');
|
|
255
265
|
require('../modules/esnext.async-iterator.constructor');
|
|
256
266
|
require('../modules/esnext.async-iterator.as-indexed-pairs');
|
|
@@ -272,6 +282,7 @@ require('../modules/esnext.bigint.range');
|
|
|
272
282
|
require('../modules/esnext.composite-key');
|
|
273
283
|
require('../modules/esnext.composite-symbol');
|
|
274
284
|
require('../modules/esnext.disposable-stack.constructor');
|
|
285
|
+
require('../modules/esnext.function.demethodize');
|
|
275
286
|
require('../modules/esnext.function.is-callable');
|
|
276
287
|
require('../modules/esnext.function.is-constructor');
|
|
277
288
|
require('../modules/esnext.function.un-this');
|
|
@@ -288,11 +299,15 @@ require('../modules/esnext.iterator.for-each');
|
|
|
288
299
|
require('../modules/esnext.iterator.from');
|
|
289
300
|
require('../modules/esnext.iterator.indexed');
|
|
290
301
|
require('../modules/esnext.iterator.map');
|
|
302
|
+
require('../modules/esnext.iterator.range');
|
|
291
303
|
require('../modules/esnext.iterator.reduce');
|
|
292
304
|
require('../modules/esnext.iterator.some');
|
|
293
305
|
require('../modules/esnext.iterator.take');
|
|
294
306
|
require('../modules/esnext.iterator.to-array');
|
|
295
307
|
require('../modules/esnext.iterator.to-async');
|
|
308
|
+
require('../modules/esnext.json.is-raw-json');
|
|
309
|
+
require('../modules/esnext.json.parse');
|
|
310
|
+
require('../modules/esnext.json.raw-json');
|
|
296
311
|
require('../modules/esnext.map.delete-all');
|
|
297
312
|
require('../modules/esnext.map.emplace');
|
|
298
313
|
require('../modules/esnext.map.every');
|
|
@@ -380,6 +395,8 @@ require('../modules/esnext.string.replace-all');
|
|
|
380
395
|
require('../modules/esnext.string.to-well-formed');
|
|
381
396
|
require('../modules/esnext.symbol.async-dispose');
|
|
382
397
|
require('../modules/esnext.symbol.dispose');
|
|
398
|
+
require('../modules/esnext.symbol.is-registered');
|
|
399
|
+
require('../modules/esnext.symbol.is-well-known');
|
|
383
400
|
require('../modules/esnext.symbol.matcher');
|
|
384
401
|
require('../modules/esnext.symbol.metadata');
|
|
385
402
|
require('../modules/esnext.symbol.metadata-key');
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var isPrototypeOf = require('../../internals/object-is-prototype-of');
|
|
2
|
+
var method = require('../function/virtual/demethodize');
|
|
3
|
+
|
|
4
|
+
var FunctionPrototype = Function.prototype;
|
|
5
|
+
|
|
6
|
+
module.exports = function (it) {
|
|
7
|
+
var own = it.demethodize;
|
|
8
|
+
return it === FunctionPrototype || (isPrototypeOf(FunctionPrototype, it) && own === FunctionPrototype.demethodize) ? method : own;
|
|
9
|
+
};
|
package/full/iterator/index.js
CHANGED
package/full/symbol/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
var parent = require('../../actual/symbol');
|
|
2
2
|
require('../../modules/esnext.symbol.async-dispose');
|
|
3
|
+
require('../../modules/esnext.symbol.is-registered');
|
|
4
|
+
require('../../modules/esnext.symbol.is-well-known');
|
|
3
5
|
require('../../modules/esnext.symbol.matcher');
|
|
4
6
|
require('../../modules/esnext.symbol.metadata-key');
|
|
5
7
|
require('../../modules/esnext.symbol.observable');
|
|
@@ -16,11 +16,15 @@ var getDisposeMethod = function (V, hint) {
|
|
|
16
16
|
} return getMethod(V, DISPOSE);
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
+
// `CreateDisposableResource` abstract operation
|
|
20
|
+
// https://tc39.es/proposal-explicit-resource-management/#sec-createdisposableresource
|
|
19
21
|
var createDisposableResource = function (V, hint, method) {
|
|
20
22
|
return bind(method || getDisposeMethod(V, hint), V);
|
|
21
23
|
};
|
|
22
24
|
|
|
23
|
-
|
|
25
|
+
// `AddDisposableResource` abstract operation
|
|
26
|
+
// https://tc39.es/proposal-explicit-resource-management/#sec-adddisposableresource-disposable-v-hint-disposemethod
|
|
27
|
+
module.exports = function (disposable, V, hint, method) {
|
|
24
28
|
var resource;
|
|
25
29
|
if (!method) {
|
|
26
30
|
if (isNullOrUndefined(V)) return;
|
|
@@ -33,8 +37,3 @@ var addDisposableResource = function (disposable, V, hint, method) {
|
|
|
33
37
|
|
|
34
38
|
push(disposable.stack, resource);
|
|
35
39
|
};
|
|
36
|
-
|
|
37
|
-
module.exports = {
|
|
38
|
-
getDisposeMethod: getDisposeMethod,
|
|
39
|
-
addDisposableResource: addDisposableResource
|
|
40
|
-
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');
|
|
2
|
+
var classof = require('../internals/classof-raw');
|
|
3
|
+
|
|
4
|
+
var $TypeError = TypeError;
|
|
5
|
+
|
|
6
|
+
// Includes
|
|
7
|
+
// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).
|
|
8
|
+
// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.
|
|
9
|
+
module.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {
|
|
10
|
+
if (classof(O) != 'ArrayBuffer') throw $TypeError('ArrayBuffer expected');
|
|
11
|
+
return O.byteLength;
|
|
12
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
|
+
var arrayBufferByteLength = require('../internals/array-buffer-byte-length');
|
|
3
|
+
|
|
4
|
+
var slice = uncurryThis(ArrayBuffer.prototype.slice);
|
|
5
|
+
|
|
6
|
+
module.exports = function (O) {
|
|
7
|
+
if (arrayBufferByteLength(O) !== 0) return false;
|
|
8
|
+
try {
|
|
9
|
+
slice(O, 0, 0);
|
|
10
|
+
return false;
|
|
11
|
+
} catch (error) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
|
+
var uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');
|
|
4
|
+
var toIndex = require('../internals/to-index');
|
|
5
|
+
var isDetached = require('../internals/array-buffer-is-detached');
|
|
6
|
+
var arrayBufferByteLength = require('../internals/array-buffer-byte-length');
|
|
7
|
+
var PROPER_TRANSFER = require('../internals/structured-clone-proper-transfer');
|
|
8
|
+
|
|
9
|
+
var TypeError = global.TypeError;
|
|
10
|
+
var structuredClone = global.structuredClone;
|
|
11
|
+
var ArrayBuffer = global.ArrayBuffer;
|
|
12
|
+
var DataView = global.DataView;
|
|
13
|
+
var min = Math.min;
|
|
14
|
+
var ArrayBufferPrototype = ArrayBuffer.prototype;
|
|
15
|
+
var DataViewPrototype = DataView.prototype;
|
|
16
|
+
var slice = uncurryThis(ArrayBufferPrototype.slice);
|
|
17
|
+
var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');
|
|
18
|
+
var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');
|
|
19
|
+
var getInt8 = uncurryThis(DataViewPrototype.getInt8);
|
|
20
|
+
var setInt8 = uncurryThis(DataViewPrototype.setInt8);
|
|
21
|
+
|
|
22
|
+
module.exports = PROPER_TRANSFER && function (arrayBuffer, newLength, preserveResizability) {
|
|
23
|
+
var byteLength = arrayBufferByteLength(arrayBuffer);
|
|
24
|
+
var newByteLength = newLength === undefined ? byteLength : min(toIndex(newLength), byteLength);
|
|
25
|
+
var fixedLength = !isResizable || !isResizable(arrayBuffer);
|
|
26
|
+
if (isDetached(arrayBuffer)) throw TypeError('ArrayBuffer is detached');
|
|
27
|
+
var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });
|
|
28
|
+
if (byteLength == newByteLength && (preserveResizability || fixedLength)) return newBuffer;
|
|
29
|
+
if (!preserveResizability || fixedLength) return slice(newBuffer, 0, newByteLength);
|
|
30
|
+
var newNewBuffer = new ArrayBuffer(newByteLength, maxByteLength && { maxByteLength: maxByteLength(newBuffer) });
|
|
31
|
+
var a = new DataView(newBuffer);
|
|
32
|
+
var b = new DataView(newNewBuffer);
|
|
33
|
+
for (var i = 0; i < newByteLength; i++) setInt8(b, i, getInt8(a, i));
|
|
34
|
+
return newNewBuffer;
|
|
35
|
+
};
|
|
@@ -9,7 +9,7 @@ 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
11
|
var defineBuiltIn = require('../internals/define-built-in');
|
|
12
|
-
var
|
|
12
|
+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
13
13
|
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
14
14
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
15
15
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
@@ -167,9 +167,12 @@ if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !==
|
|
|
167
167
|
|
|
168
168
|
if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {
|
|
169
169
|
TYPED_ARRAY_TAG_REQUIRED = true;
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
170
|
+
defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {
|
|
171
|
+
configurable: true,
|
|
172
|
+
get: function () {
|
|
173
|
+
return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
173
176
|
for (NAME in TypedArrayConstructorsList) if (global[NAME]) {
|
|
174
177
|
createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);
|
|
175
178
|
}
|
|
@@ -5,6 +5,7 @@ var DESCRIPTORS = require('../internals/descriptors');
|
|
|
5
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
|
+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
8
9
|
var defineBuiltIns = require('../internals/define-built-ins');
|
|
9
10
|
var fails = require('../internals/fails');
|
|
10
11
|
var anInstance = require('../internals/an-instance');
|
|
@@ -15,7 +16,6 @@ var IEEE754 = require('../internals/ieee754');
|
|
|
15
16
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
16
17
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
17
18
|
var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
|
|
18
|
-
var defineProperty = require('../internals/object-define-property').f;
|
|
19
19
|
var arrayFill = require('../internals/array-fill');
|
|
20
20
|
var arraySlice = require('../internals/array-slice-simple');
|
|
21
21
|
var setToStringTag = require('../internals/set-to-string-tag');
|
|
@@ -23,13 +23,14 @@ var InternalStateModule = require('../internals/internal-state');
|
|
|
23
23
|
|
|
24
24
|
var PROPER_FUNCTION_NAME = FunctionName.PROPER;
|
|
25
25
|
var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
|
|
26
|
-
var getInternalState = InternalStateModule.get;
|
|
27
|
-
var setInternalState = InternalStateModule.set;
|
|
28
26
|
var ARRAY_BUFFER = 'ArrayBuffer';
|
|
29
27
|
var DATA_VIEW = 'DataView';
|
|
30
28
|
var PROTOTYPE = 'prototype';
|
|
31
29
|
var WRONG_LENGTH = 'Wrong length';
|
|
32
30
|
var WRONG_INDEX = 'Wrong index';
|
|
31
|
+
var getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER);
|
|
32
|
+
var getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW);
|
|
33
|
+
var setInternalState = InternalStateModule.set;
|
|
33
34
|
var NativeArrayBuffer = global[ARRAY_BUFFER];
|
|
34
35
|
var $ArrayBuffer = NativeArrayBuffer;
|
|
35
36
|
var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];
|
|
@@ -68,15 +69,20 @@ var packFloat64 = function (number) {
|
|
|
68
69
|
return packIEEE754(number, 52, 8);
|
|
69
70
|
};
|
|
70
71
|
|
|
71
|
-
var addGetter = function (Constructor, key) {
|
|
72
|
-
|
|
72
|
+
var addGetter = function (Constructor, key, getInternalState) {
|
|
73
|
+
defineBuiltInAccessor(Constructor[PROTOTYPE], key, {
|
|
74
|
+
configurable: true,
|
|
75
|
+
get: function () {
|
|
76
|
+
return getInternalState(this)[key];
|
|
77
|
+
}
|
|
78
|
+
});
|
|
73
79
|
};
|
|
74
80
|
|
|
75
81
|
var get = function (view, count, index, isLittleEndian) {
|
|
76
82
|
var intIndex = toIndex(index);
|
|
77
|
-
var store =
|
|
83
|
+
var store = getInternalDataViewState(view);
|
|
78
84
|
if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
|
|
79
|
-
var bytes =
|
|
85
|
+
var bytes = store.bytes;
|
|
80
86
|
var start = intIndex + store.byteOffset;
|
|
81
87
|
var pack = arraySlice(bytes, start, start + count);
|
|
82
88
|
return isLittleEndian ? pack : reverse(pack);
|
|
@@ -84,9 +90,9 @@ var get = function (view, count, index, isLittleEndian) {
|
|
|
84
90
|
|
|
85
91
|
var set = function (view, count, index, conversion, value, isLittleEndian) {
|
|
86
92
|
var intIndex = toIndex(index);
|
|
87
|
-
var store =
|
|
93
|
+
var store = getInternalDataViewState(view);
|
|
88
94
|
if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
|
|
89
|
-
var bytes =
|
|
95
|
+
var bytes = store.bytes;
|
|
90
96
|
var start = intIndex + store.byteOffset;
|
|
91
97
|
var pack = conversion(+value);
|
|
92
98
|
for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];
|
|
@@ -97,10 +103,14 @@ if (!NATIVE_ARRAY_BUFFER) {
|
|
|
97
103
|
anInstance(this, ArrayBufferPrototype);
|
|
98
104
|
var byteLength = toIndex(length);
|
|
99
105
|
setInternalState(this, {
|
|
106
|
+
type: ARRAY_BUFFER,
|
|
100
107
|
bytes: fill(Array(byteLength), 0),
|
|
101
108
|
byteLength: byteLength
|
|
102
109
|
});
|
|
103
|
-
if (!DESCRIPTORS)
|
|
110
|
+
if (!DESCRIPTORS) {
|
|
111
|
+
this.byteLength = byteLength;
|
|
112
|
+
this.detached = false;
|
|
113
|
+
}
|
|
104
114
|
};
|
|
105
115
|
|
|
106
116
|
ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];
|
|
@@ -108,15 +118,18 @@ if (!NATIVE_ARRAY_BUFFER) {
|
|
|
108
118
|
$DataView = function DataView(buffer, byteOffset, byteLength) {
|
|
109
119
|
anInstance(this, DataViewPrototype);
|
|
110
120
|
anInstance(buffer, ArrayBufferPrototype);
|
|
111
|
-
var
|
|
121
|
+
var bufferState = getInternalArrayBufferState(buffer);
|
|
122
|
+
var bufferLength = bufferState.byteLength;
|
|
112
123
|
var offset = toIntegerOrInfinity(byteOffset);
|
|
113
124
|
if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');
|
|
114
125
|
byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
|
|
115
126
|
if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
|
|
116
127
|
setInternalState(this, {
|
|
128
|
+
type: DATA_VIEW,
|
|
117
129
|
buffer: buffer,
|
|
118
130
|
byteLength: byteLength,
|
|
119
|
-
byteOffset: offset
|
|
131
|
+
byteOffset: offset,
|
|
132
|
+
bytes: bufferState.bytes
|
|
120
133
|
});
|
|
121
134
|
if (!DESCRIPTORS) {
|
|
122
135
|
this.buffer = buffer;
|
|
@@ -128,10 +141,10 @@ if (!NATIVE_ARRAY_BUFFER) {
|
|
|
128
141
|
DataViewPrototype = $DataView[PROTOTYPE];
|
|
129
142
|
|
|
130
143
|
if (DESCRIPTORS) {
|
|
131
|
-
addGetter($ArrayBuffer, 'byteLength');
|
|
132
|
-
addGetter($DataView, 'buffer');
|
|
133
|
-
addGetter($DataView, 'byteLength');
|
|
134
|
-
addGetter($DataView, 'byteOffset');
|
|
144
|
+
addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState);
|
|
145
|
+
addGetter($DataView, 'buffer', getInternalDataViewState);
|
|
146
|
+
addGetter($DataView, 'byteLength', getInternalDataViewState);
|
|
147
|
+
addGetter($DataView, 'byteOffset', getInternalDataViewState);
|
|
135
148
|
}
|
|
136
149
|
|
|
137
150
|
defineBuiltIns(DataViewPrototype, {
|
|
@@ -37,66 +37,45 @@ var createAsyncIteratorProxyPrototype = function (IS_ITERATOR) {
|
|
|
37
37
|
} return { exit: false, value: state };
|
|
38
38
|
};
|
|
39
39
|
|
|
40
|
-
var enqueue = function (state, handler) {
|
|
41
|
-
var task = function () {
|
|
42
|
-
var promise = handler();
|
|
43
|
-
if (IS_GENERATOR) {
|
|
44
|
-
state.awaiting = promise;
|
|
45
|
-
var clean = function () {
|
|
46
|
-
if (state.awaiting === promise) state.awaiting = null;
|
|
47
|
-
};
|
|
48
|
-
promise.then(clean, clean);
|
|
49
|
-
} return promise;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
return state.awaiting ? state.awaiting = state.awaiting.then(task, task) : task();
|
|
53
|
-
};
|
|
54
|
-
|
|
55
40
|
return defineBuiltIns(create(AsyncIteratorPrototype), {
|
|
56
41
|
next: function next() {
|
|
57
42
|
var stateCompletion = getStateOrEarlyExit(this);
|
|
58
|
-
var exit = stateCompletion.exit;
|
|
59
43
|
var state = stateCompletion.value;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return anObject(state.nextHandler(Promise));
|
|
64
|
-
});
|
|
65
|
-
var handlerError = handlerCompletion.error;
|
|
66
|
-
var value = handlerCompletion.value;
|
|
67
|
-
if (handlerError) state.done = true;
|
|
68
|
-
return handlerError ? Promise.reject(value) : Promise.resolve(value);
|
|
44
|
+
if (stateCompletion.exit) return state;
|
|
45
|
+
var handlerCompletion = perform(function () {
|
|
46
|
+
return anObject(state.nextHandler(Promise));
|
|
69
47
|
});
|
|
48
|
+
var handlerError = handlerCompletion.error;
|
|
49
|
+
var value = handlerCompletion.value;
|
|
50
|
+
if (handlerError) state.done = true;
|
|
51
|
+
return handlerError ? Promise.reject(value) : Promise.resolve(value);
|
|
70
52
|
},
|
|
71
53
|
'return': function () {
|
|
72
54
|
var stateCompletion = getStateOrEarlyExit(this);
|
|
73
|
-
var exit = stateCompletion.exit;
|
|
74
55
|
var state = stateCompletion.value;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return createIterResultObject(undefined, true);
|
|
99
|
-
});
|
|
56
|
+
if (stateCompletion.exit) return state;
|
|
57
|
+
state.done = true;
|
|
58
|
+
var iterator = state.iterator;
|
|
59
|
+
var returnMethod, result;
|
|
60
|
+
var completion = perform(function () {
|
|
61
|
+
if (state.inner) try {
|
|
62
|
+
iteratorClose(state.inner.iterator, 'normal');
|
|
63
|
+
} catch (error) {
|
|
64
|
+
return iteratorClose(iterator, 'throw', error);
|
|
65
|
+
}
|
|
66
|
+
return getMethod(iterator, 'return');
|
|
67
|
+
});
|
|
68
|
+
returnMethod = result = completion.value;
|
|
69
|
+
if (completion.error) return Promise.reject(result);
|
|
70
|
+
if (returnMethod === undefined) return Promise.resolve(createIterResultObject(undefined, true));
|
|
71
|
+
completion = perform(function () {
|
|
72
|
+
return call(returnMethod, iterator);
|
|
73
|
+
});
|
|
74
|
+
result = completion.value;
|
|
75
|
+
if (completion.error) return Promise.reject(result);
|
|
76
|
+
return IS_ITERATOR ? Promise.resolve(result) : Promise.resolve(result).then(function (resolved) {
|
|
77
|
+
anObject(resolved);
|
|
78
|
+
return createIterResultObject(undefined, true);
|
|
100
79
|
});
|
|
101
80
|
}
|
|
102
81
|
});
|
|
@@ -117,7 +96,6 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
117
96
|
state.nextHandler = nextHandler;
|
|
118
97
|
state.counter = 0;
|
|
119
98
|
state.done = false;
|
|
120
|
-
state.awaiting = null;
|
|
121
99
|
setInternalState(this, state);
|
|
122
100
|
};
|
|
123
101
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var defineProperty = require('../internals/object-define-property').f;
|
|
3
2
|
var create = require('../internals/object-create');
|
|
3
|
+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
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');
|
|
@@ -152,7 +152,8 @@ module.exports = {
|
|
|
152
152
|
return define(this, value = value === 0 ? 0 : value, value);
|
|
153
153
|
}
|
|
154
154
|
});
|
|
155
|
-
if (DESCRIPTORS)
|
|
155
|
+
if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {
|
|
156
|
+
configurable: true,
|
|
156
157
|
get: function () {
|
|
157
158
|
return getInternalState(this).size;
|
|
158
159
|
}
|
|
@@ -4,6 +4,7 @@ var $Error = Error;
|
|
|
4
4
|
var replace = uncurryThis(''.replace);
|
|
5
5
|
|
|
6
6
|
var TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');
|
|
7
|
+
// eslint-disable-next-line redos/no-vulnerable -- safe
|
|
7
8
|
var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
|
|
8
9
|
var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
|
|
9
10
|
|
|
@@ -20,6 +20,7 @@ var construct = function (C, argsLength, args) {
|
|
|
20
20
|
|
|
21
21
|
// `Function.prototype.bind` method implementation
|
|
22
22
|
// https://tc39.es/ecma262/#sec-function.prototype.bind
|
|
23
|
+
// eslint-disable-next-line es/no-function-prototype-bind -- detection
|
|
23
24
|
module.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {
|
|
24
25
|
var F = aCallable(this);
|
|
25
26
|
var Prototype = F.prototype;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
|
+
var aCallable = require('../internals/a-callable');
|
|
3
|
+
|
|
4
|
+
module.exports = function (object, key, method) {
|
|
5
|
+
try {
|
|
6
|
+
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
7
|
+
return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
|
|
8
|
+
} catch (error) { /* empty */ }
|
|
9
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
|
+
var isArray = require('../internals/is-array');
|
|
3
|
+
var isCallable = require('../internals/is-callable');
|
|
4
|
+
var classof = require('../internals/classof-raw');
|
|
5
|
+
var toString = require('../internals/to-string');
|
|
6
|
+
|
|
7
|
+
var push = uncurryThis([].push);
|
|
8
|
+
|
|
9
|
+
module.exports = function (replacer) {
|
|
10
|
+
if (isCallable(replacer)) return replacer;
|
|
11
|
+
if (!isArray(replacer)) return;
|
|
12
|
+
var rawLength = replacer.length;
|
|
13
|
+
var keys = [];
|
|
14
|
+
for (var i = 0; i < rawLength; i++) {
|
|
15
|
+
var element = replacer[i];
|
|
16
|
+
if (typeof element == 'string') push(keys, element);
|
|
17
|
+
else if (typeof element == 'number' || classof(element) == 'Number' || classof(element) == 'String') push(keys, toString(element));
|
|
18
|
+
}
|
|
19
|
+
var keysLength = keys.length;
|
|
20
|
+
var root = true;
|
|
21
|
+
return function (key, value) {
|
|
22
|
+
if (root) {
|
|
23
|
+
root = false;
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
if (isArray(this)) return value;
|
|
27
|
+
for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
@@ -5,6 +5,7 @@ var floor = Math.floor;
|
|
|
5
5
|
var charAt = uncurryThis(''.charAt);
|
|
6
6
|
var replace = uncurryThis(''.replace);
|
|
7
7
|
var stringSlice = uncurryThis(''.slice);
|
|
8
|
+
// eslint-disable-next-line redos/no-vulnerable -- safe
|
|
8
9
|
var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
|
|
9
10
|
var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
|
|
10
11
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var isObject = require('../internals/is-object');
|
|
2
|
+
var getInternalState = require('../internals/internal-state').get;
|
|
3
|
+
|
|
4
|
+
module.exports = function isRawJSON(O) {
|
|
5
|
+
if (!isObject(O)) return false;
|
|
6
|
+
var state = getInternalState(O);
|
|
7
|
+
return !!state && state.type === 'RawJSON';
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/* eslint-disable es/no-json -- safe */
|
|
2
|
+
var fails = require('../internals/fails');
|
|
3
|
+
|
|
4
|
+
module.exports = !fails(function () {
|
|
5
|
+
var unsafeInt = '9007199254740993';
|
|
6
|
+
var raw = JSON.rawJSON(unsafeInt);
|
|
7
|
+
return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;
|
|
8
|
+
});
|
|
@@ -7,7 +7,7 @@ var isObject = require('../internals/is-object');
|
|
|
7
7
|
var defineProperties = require('../internals/object-define-properties').f;
|
|
8
8
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
9
9
|
|
|
10
|
-
var INCORRECT_RANGE = 'Incorrect
|
|
10
|
+
var INCORRECT_RANGE = 'Incorrect Iterator.range arguments';
|
|
11
11
|
var NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator';
|
|
12
12
|
|
|
13
13
|
var setInternalState = InternalStateModule.set;
|
|
@@ -17,6 +17,7 @@ var $RangeError = RangeError;
|
|
|
17
17
|
var $TypeError = TypeError;
|
|
18
18
|
|
|
19
19
|
var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
|
|
20
|
+
// TODO: Drop the first `typeof` check after removing lagacy methods in `core-js@4`
|
|
20
21
|
if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {
|
|
21
22
|
throw $TypeError(INCORRECT_RANGE);
|
|
22
23
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-proto -- safe */
|
|
2
|
-
var
|
|
2
|
+
var uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');
|
|
3
3
|
var anObject = require('../internals/an-object');
|
|
4
4
|
var aPossiblePrototype = require('../internals/a-possible-prototype');
|
|
5
5
|
|
|
@@ -12,8 +12,7 @@ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
|
|
|
12
12
|
var test = {};
|
|
13
13
|
var setter;
|
|
14
14
|
try {
|
|
15
|
-
|
|
16
|
-
setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
|
|
15
|
+
setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');
|
|
17
16
|
setter(test, []);
|
|
18
17
|
CORRECT_SETTER = test instanceof Array;
|
|
19
18
|
} catch (error) { /* empty */ }
|