core-js-pure 3.47.0 → 3.48.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/LICENSE +2 -1
- package/actual/map/get-or-insert-computed.js +2 -3
- package/actual/map/get-or-insert.js +2 -3
- package/actual/map/group-by.js +2 -0
- package/actual/weak-map/get-or-insert-computed.js +2 -3
- package/actual/weak-map/get-or-insert.js +2 -3
- package/es/index.js +4 -0
- package/es/map/get-or-insert-computed.js +6 -0
- package/es/map/get-or-insert.js +6 -0
- package/es/map/group-by.js +2 -0
- package/es/map/index.js +2 -0
- package/es/weak-map/get-or-insert-computed.js +6 -0
- package/es/weak-map/get-or-insert.js +6 -0
- package/es/weak-map/index.js +2 -0
- package/full/index.js +4 -0
- package/internals/array-from.js +2 -1
- package/internals/array-iteration.js +11 -13
- package/internals/array-unique-by.js +3 -3
- package/internals/async-iterator-iteration.js +5 -3
- package/internals/flatten-into-array.js +2 -1
- package/internals/native-raw-json.js +2 -2
- package/internals/shared-store.js +3 -3
- package/modules/es.array.concat.js +2 -1
- package/modules/es.array.flat-map.js +1 -1
- package/modules/es.array.flat.js +1 -1
- package/modules/es.array.of.js +2 -1
- package/modules/es.array.slice.js +2 -1
- package/modules/es.array.splice.js +1 -1
- package/modules/es.array.to-reversed.js +8 -2
- package/modules/es.array.to-spliced.js +4 -3
- package/modules/es.array.with.js +13 -2
- package/modules/es.iterator.flat-map.js +15 -1
- package/modules/es.iterator.to-array.js +5 -3
- package/modules/es.map.get-or-insert-computed.js +25 -0
- package/modules/es.map.get-or-insert.js +19 -0
- package/modules/es.weak-map.get-or-insert-computed.js +36 -0
- package/modules/es.weak-map.get-or-insert.js +19 -0
- package/modules/esnext.map.get-or-insert-computed.js +2 -24
- package/modules/esnext.map.get-or-insert.js +2 -18
- package/modules/esnext.weak-map.get-or-insert-computed.js +2 -35
- package/modules/esnext.weak-map.get-or-insert.js +2 -18
- package/package.json +1 -1
- package/stable/index.js +4 -0
- package/stable/map/get-or-insert-computed.js +4 -0
- package/stable/map/get-or-insert.js +4 -0
- package/stable/weak-map/get-or-insert-computed.js +4 -0
- package/stable/weak-map/get-or-insert.js +4 -0
- package/stage/3.js +0 -1
- package/stage/4.js +1 -0
- package/internals/array-to-reversed.js +0 -12
- package/internals/array-with.js +0 -18
package/LICENSE
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
Copyright (c)
|
|
1
|
+
Copyright (c) 2013–2025 Denis Pushkarev (zloirock.ru)
|
|
2
|
+
Copyright (c) 2025–2026 CoreJS Company (core-js.io)
|
|
2
3
|
|
|
3
4
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
5
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
require('../../
|
|
2
|
+
var parent = require('../../stable/map/get-or-insert-computed');
|
|
3
3
|
require('../../modules/esnext.map.get-or-insert-computed');
|
|
4
|
-
var entryUnbind = require('../../internals/entry-unbind');
|
|
5
4
|
|
|
6
|
-
module.exports =
|
|
5
|
+
module.exports = parent;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
require('../../
|
|
2
|
+
var parent = require('../../stable/map/get-or-insert');
|
|
3
3
|
require('../../modules/esnext.map.get-or-insert');
|
|
4
|
-
var entryUnbind = require('../../internals/entry-unbind');
|
|
5
4
|
|
|
6
|
-
module.exports =
|
|
5
|
+
module.exports = parent;
|
package/actual/map/group-by.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
require('../../
|
|
2
|
+
var parent = require('../../stable/weak-map/get-or-insert-computed');
|
|
3
3
|
require('../../modules/esnext.weak-map.get-or-insert-computed');
|
|
4
|
-
var entryUnbind = require('../../internals/entry-unbind');
|
|
5
4
|
|
|
6
|
-
module.exports =
|
|
5
|
+
module.exports = parent;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
require('../../
|
|
2
|
+
var parent = require('../../stable/weak-map/get-or-insert');
|
|
3
3
|
require('../../modules/esnext.weak-map.get-or-insert');
|
|
4
|
-
var entryUnbind = require('../../internals/entry-unbind');
|
|
5
4
|
|
|
6
|
-
module.exports =
|
|
5
|
+
module.exports = parent;
|
package/es/index.js
CHANGED
|
@@ -105,6 +105,8 @@ require('../modules/es.json.stringify');
|
|
|
105
105
|
require('../modules/es.json.to-string-tag');
|
|
106
106
|
require('../modules/es.map');
|
|
107
107
|
require('../modules/es.map.group-by');
|
|
108
|
+
require('../modules/es.map.get-or-insert');
|
|
109
|
+
require('../modules/es.map.get-or-insert-computed');
|
|
108
110
|
require('../modules/es.math.acosh');
|
|
109
111
|
require('../modules/es.math.asinh');
|
|
110
112
|
require('../modules/es.math.atanh');
|
|
@@ -291,6 +293,8 @@ require('../modules/es.uint8-array.to-base64');
|
|
|
291
293
|
require('../modules/es.uint8-array.to-hex');
|
|
292
294
|
require('../modules/es.unescape');
|
|
293
295
|
require('../modules/es.weak-map');
|
|
296
|
+
require('../modules/es.weak-map.get-or-insert');
|
|
297
|
+
require('../modules/es.weak-map.get-or-insert-computed');
|
|
294
298
|
require('../modules/es.weak-set');
|
|
295
299
|
|
|
296
300
|
module.exports = require('../internals/path');
|
package/es/map/group-by.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
require('../../modules/es.object.to-string');
|
|
3
3
|
require('../../modules/es.map');
|
|
4
4
|
require('../../modules/es.map.group-by');
|
|
5
|
+
require('../../modules/es.map.get-or-insert');
|
|
6
|
+
require('../../modules/es.map.get-or-insert-computed');
|
|
5
7
|
var path = require('../../internals/path');
|
|
6
8
|
|
|
7
9
|
module.exports = path.Map.groupBy;
|
package/es/map/index.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
require('../../modules/es.array.iterator');
|
|
3
3
|
require('../../modules/es.map');
|
|
4
4
|
require('../../modules/es.map.group-by');
|
|
5
|
+
require('../../modules/es.map.get-or-insert');
|
|
6
|
+
require('../../modules/es.map.get-or-insert-computed');
|
|
5
7
|
require('../../modules/es.object.to-string');
|
|
6
8
|
require('../../modules/es.string.iterator');
|
|
7
9
|
var path = require('../../internals/path');
|
package/es/weak-map/index.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
require('../../modules/es.array.iterator');
|
|
3
3
|
require('../../modules/es.object.to-string');
|
|
4
4
|
require('../../modules/es.weak-map');
|
|
5
|
+
require('../../modules/es.weak-map.get-or-insert');
|
|
6
|
+
require('../../modules/es.weak-map.get-or-insert-computed');
|
|
5
7
|
var path = require('../../internals/path');
|
|
6
8
|
|
|
7
9
|
module.exports = path.WeakMap;
|
package/full/index.js
CHANGED
|
@@ -105,6 +105,8 @@ require('../modules/es.json.stringify');
|
|
|
105
105
|
require('../modules/es.json.to-string-tag');
|
|
106
106
|
require('../modules/es.map');
|
|
107
107
|
require('../modules/es.map.group-by');
|
|
108
|
+
require('../modules/es.map.get-or-insert');
|
|
109
|
+
require('../modules/es.map.get-or-insert-computed');
|
|
108
110
|
require('../modules/es.math.acosh');
|
|
109
111
|
require('../modules/es.math.asinh');
|
|
110
112
|
require('../modules/es.math.atanh');
|
|
@@ -291,6 +293,8 @@ require('../modules/es.uint8-array.to-base64');
|
|
|
291
293
|
require('../modules/es.uint8-array.to-hex');
|
|
292
294
|
require('../modules/es.unescape');
|
|
293
295
|
require('../modules/es.weak-map');
|
|
296
|
+
require('../modules/es.weak-map.get-or-insert');
|
|
297
|
+
require('../modules/es.weak-map.get-or-insert-computed');
|
|
294
298
|
require('../modules/es.weak-set');
|
|
295
299
|
require('../modules/esnext.aggregate-error');
|
|
296
300
|
require('../modules/esnext.suppressed-error.constructor');
|
package/internals/array-from.js
CHANGED
|
@@ -7,6 +7,7 @@ var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
|
7
7
|
var isConstructor = require('../internals/is-constructor');
|
|
8
8
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
9
9
|
var createProperty = require('../internals/create-property');
|
|
10
|
+
var setArrayLength = require('../internals/array-set-length');
|
|
10
11
|
var getIterator = require('../internals/get-iterator');
|
|
11
12
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
12
13
|
|
|
@@ -41,6 +42,6 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
|
|
|
41
42
|
createProperty(result, index, value);
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
|
-
result
|
|
45
|
+
setArrayLength(result, index);
|
|
45
46
|
return result;
|
|
46
47
|
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var bind = require('../internals/function-bind-context');
|
|
3
|
-
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
3
|
var IndexedObject = require('../internals/indexed-object');
|
|
5
4
|
var toObject = require('../internals/to-object');
|
|
6
5
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
7
6
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
8
|
-
|
|
9
|
-
var push = uncurryThis([].push);
|
|
7
|
+
var createProperty = require('../internals/create-property');
|
|
10
8
|
|
|
11
9
|
// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
|
|
12
10
|
var createMethod = function (TYPE) {
|
|
@@ -17,28 +15,28 @@ var createMethod = function (TYPE) {
|
|
|
17
15
|
var IS_FIND_INDEX = TYPE === 6;
|
|
18
16
|
var IS_FILTER_REJECT = TYPE === 7;
|
|
19
17
|
var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;
|
|
20
|
-
return function ($this, callbackfn, that
|
|
18
|
+
return function ($this, callbackfn, that) {
|
|
21
19
|
var O = toObject($this);
|
|
22
20
|
var self = IndexedObject(O);
|
|
23
21
|
var length = lengthOfArrayLike(self);
|
|
24
22
|
var boundFunction = bind(callbackfn, that);
|
|
25
23
|
var index = 0;
|
|
26
|
-
var
|
|
27
|
-
var target = IS_MAP ?
|
|
24
|
+
var resIndex = 0;
|
|
25
|
+
var target = IS_MAP ? arraySpeciesCreate($this, length) : IS_FILTER || IS_FILTER_REJECT ? arraySpeciesCreate($this, 0) : undefined;
|
|
28
26
|
var value, result;
|
|
29
27
|
for (;length > index; index++) if (NO_HOLES || index in self) {
|
|
30
28
|
value = self[index];
|
|
31
29
|
result = boundFunction(value, index, O);
|
|
32
30
|
if (TYPE) {
|
|
33
|
-
if (IS_MAP) target
|
|
31
|
+
if (IS_MAP) createProperty(target, index, result); // map
|
|
34
32
|
else if (result) switch (TYPE) {
|
|
35
|
-
case 3: return true;
|
|
36
|
-
case 5: return value;
|
|
37
|
-
case 6: return index;
|
|
38
|
-
case 2:
|
|
33
|
+
case 3: return true; // some
|
|
34
|
+
case 5: return value; // find
|
|
35
|
+
case 6: return index; // findIndex
|
|
36
|
+
case 2: createProperty(target, resIndex++, value); // filter
|
|
39
37
|
} else switch (TYPE) {
|
|
40
|
-
case 4: return false;
|
|
41
|
-
case 7:
|
|
38
|
+
case 4: return false; // every
|
|
39
|
+
case 7: createProperty(target, resIndex++, value); // filterReject
|
|
42
40
|
}
|
|
43
41
|
}
|
|
44
42
|
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
2
|
var aCallable = require('../internals/a-callable');
|
|
4
3
|
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
|
5
4
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
6
5
|
var toObject = require('../internals/to-object');
|
|
6
|
+
var createProperty = require('../internals/create-property');
|
|
7
7
|
var MapHelpers = require('../internals/map-helpers');
|
|
8
8
|
var iterate = require('../internals/map-iterate');
|
|
9
9
|
|
|
10
10
|
var Map = MapHelpers.Map;
|
|
11
11
|
var mapHas = MapHelpers.has;
|
|
12
12
|
var mapSet = MapHelpers.set;
|
|
13
|
-
var push = uncurryThis([].push);
|
|
14
13
|
|
|
15
14
|
// `Array.prototype.uniqueBy` method
|
|
16
15
|
// https://github.com/tc39/proposal-array-unique
|
|
@@ -28,8 +27,9 @@ module.exports = function uniqueBy(resolver) {
|
|
|
28
27
|
key = resolverFunction(item);
|
|
29
28
|
if (!mapHas(map, key)) mapSet(map, key, item);
|
|
30
29
|
}
|
|
30
|
+
index = 0;
|
|
31
31
|
iterate(map, function (value) {
|
|
32
|
-
|
|
32
|
+
createProperty(result, index++, value);
|
|
33
33
|
});
|
|
34
34
|
return result;
|
|
35
35
|
};
|
|
@@ -7,6 +7,8 @@ var anObject = require('../internals/an-object');
|
|
|
7
7
|
var isObject = require('../internals/is-object');
|
|
8
8
|
var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
|
|
9
9
|
var getBuiltIn = require('../internals/get-built-in');
|
|
10
|
+
var createProperty = require('../internals/create-property');
|
|
11
|
+
var setArrayLength = require('../internals/array-set-length');
|
|
10
12
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
11
13
|
var closeAsyncIteration = require('../internals/async-iterator-close');
|
|
12
14
|
|
|
@@ -39,7 +41,7 @@ var createMethod = function (TYPE) {
|
|
|
39
41
|
try {
|
|
40
42
|
if (anObject(step).done) {
|
|
41
43
|
if (IS_TO_ARRAY) {
|
|
42
|
-
target
|
|
44
|
+
setArrayLength(target, counter);
|
|
43
45
|
resolve(target);
|
|
44
46
|
} else resolve(IS_SOME ? false : IS_EVERY || undefined);
|
|
45
47
|
} else {
|
|
@@ -55,7 +57,7 @@ var createMethod = function (TYPE) {
|
|
|
55
57
|
$result ? loop() : closeAsyncIteration(iterator, resolve, false, reject);
|
|
56
58
|
} else if (IS_TO_ARRAY) {
|
|
57
59
|
try {
|
|
58
|
-
target
|
|
60
|
+
createProperty(target, counter++, $result);
|
|
59
61
|
loop();
|
|
60
62
|
} catch (error4) { ifAbruptCloseAsyncIterator(error4); }
|
|
61
63
|
} else {
|
|
@@ -66,7 +68,7 @@ var createMethod = function (TYPE) {
|
|
|
66
68
|
if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
|
|
67
69
|
else handler(result);
|
|
68
70
|
} else {
|
|
69
|
-
target
|
|
71
|
+
createProperty(target, counter++, value);
|
|
70
72
|
loop();
|
|
71
73
|
}
|
|
72
74
|
} catch (error3) { ifAbruptCloseAsyncIterator(error3); }
|
|
@@ -3,6 +3,7 @@ var isArray = require('../internals/is-array');
|
|
|
3
3
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
4
|
var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
|
|
5
5
|
var bind = require('../internals/function-bind-context');
|
|
6
|
+
var createProperty = require('../internals/create-property');
|
|
6
7
|
|
|
7
8
|
// `FlattenIntoArray` abstract operation
|
|
8
9
|
// https://tc39.es/ecma262/#sec-flattenintoarray
|
|
@@ -21,7 +22,7 @@ var flattenIntoArray = function (target, original, source, sourceLen, start, dep
|
|
|
21
22
|
targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;
|
|
22
23
|
} else {
|
|
23
24
|
doesNotExceedSafeInteger(targetIndex + 1);
|
|
24
|
-
target
|
|
25
|
+
createProperty(target, targetIndex, element);
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
targetIndex++;
|
|
@@ -4,8 +4,8 @@ var fails = require('../internals/fails');
|
|
|
4
4
|
|
|
5
5
|
module.exports = !fails(function () {
|
|
6
6
|
var unsafeInt = '9007199254740993';
|
|
7
|
-
// eslint-disable-next-line es/no-
|
|
7
|
+
// eslint-disable-next-line es/no-json-rawjson -- feature detection
|
|
8
8
|
var raw = JSON.rawJSON(unsafeInt);
|
|
9
|
-
// eslint-disable-next-line es/no-
|
|
9
|
+
// eslint-disable-next-line es/no-json-israwjson -- feature detection
|
|
10
10
|
return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;
|
|
11
11
|
});
|
|
@@ -7,9 +7,9 @@ var SHARED = '__core-js_shared__';
|
|
|
7
7
|
var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
|
|
8
8
|
|
|
9
9
|
(store.versions || (store.versions = [])).push({
|
|
10
|
-
version: '3.
|
|
10
|
+
version: '3.48.0',
|
|
11
11
|
mode: IS_PURE ? 'pure' : 'global',
|
|
12
|
-
copyright: '©
|
|
13
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.
|
|
12
|
+
copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',
|
|
13
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.48.0/LICENSE',
|
|
14
14
|
source: 'https://github.com/zloirock/core-js'
|
|
15
15
|
});
|
|
@@ -7,6 +7,7 @@ var toObject = require('../internals/to-object');
|
|
|
7
7
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
8
8
|
var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
|
|
9
9
|
var createProperty = require('../internals/create-property');
|
|
10
|
+
var setArrayLength = require('../internals/array-set-length');
|
|
10
11
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
11
12
|
var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
|
|
12
13
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
@@ -52,7 +53,7 @@ $({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
|
|
|
52
53
|
createProperty(A, n++, E);
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
|
-
A
|
|
56
|
+
setArrayLength(A, n);
|
|
56
57
|
return A;
|
|
57
58
|
}
|
|
58
59
|
});
|
|
@@ -15,7 +15,7 @@ $({ target: 'Array', proto: true }, {
|
|
|
15
15
|
var A;
|
|
16
16
|
aCallable(callbackfn);
|
|
17
17
|
A = arraySpeciesCreate(O, 0);
|
|
18
|
-
|
|
18
|
+
flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
19
19
|
return A;
|
|
20
20
|
}
|
|
21
21
|
});
|
package/modules/es.array.flat.js
CHANGED
|
@@ -14,7 +14,7 @@ $({ target: 'Array', proto: true }, {
|
|
|
14
14
|
var O = toObject(this);
|
|
15
15
|
var sourceLen = lengthOfArrayLike(O);
|
|
16
16
|
var A = arraySpeciesCreate(O, 0);
|
|
17
|
-
|
|
17
|
+
flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));
|
|
18
18
|
return A;
|
|
19
19
|
}
|
|
20
20
|
});
|
package/modules/es.array.of.js
CHANGED
|
@@ -3,6 +3,7 @@ var $ = require('../internals/export');
|
|
|
3
3
|
var fails = require('../internals/fails');
|
|
4
4
|
var isConstructor = require('../internals/is-constructor');
|
|
5
5
|
var createProperty = require('../internals/create-property');
|
|
6
|
+
var setArrayLength = require('../internals/array-set-length');
|
|
6
7
|
|
|
7
8
|
var $Array = Array;
|
|
8
9
|
|
|
@@ -21,7 +22,7 @@ $({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
|
|
|
21
22
|
var argumentsLength = arguments.length;
|
|
22
23
|
var result = new (isConstructor(this) ? this : $Array)(argumentsLength);
|
|
23
24
|
while (argumentsLength > index) createProperty(result, index, arguments[index++]);
|
|
24
|
-
result
|
|
25
|
+
setArrayLength(result, argumentsLength);
|
|
25
26
|
return result;
|
|
26
27
|
}
|
|
27
28
|
});
|
|
@@ -7,6 +7,7 @@ var toAbsoluteIndex = require('../internals/to-absolute-index');
|
|
|
7
7
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
8
8
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
9
9
|
var createProperty = require('../internals/create-property');
|
|
10
|
+
var setArrayLength = require('../internals/array-set-length');
|
|
10
11
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
11
12
|
var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
|
|
12
13
|
var nativeSlice = require('../internals/array-slice');
|
|
@@ -43,7 +44,7 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
|
43
44
|
}
|
|
44
45
|
result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));
|
|
45
46
|
for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
|
|
46
|
-
result
|
|
47
|
+
setArrayLength(result, n);
|
|
47
48
|
return result;
|
|
48
49
|
}
|
|
49
50
|
});
|
|
@@ -41,7 +41,7 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
|
41
41
|
from = actualStart + k;
|
|
42
42
|
if (from in O) createProperty(A, k, O[from]);
|
|
43
43
|
}
|
|
44
|
-
A
|
|
44
|
+
setArrayLength(A, actualDeleteCount);
|
|
45
45
|
if (insertCount < actualDeleteCount) {
|
|
46
46
|
for (k = actualStart; k < len - actualDeleteCount; k++) {
|
|
47
47
|
from = k + actualDeleteCount;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
4
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
5
|
+
var createProperty = require('../internals/create-property');
|
|
5
6
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
6
7
|
|
|
7
8
|
var $Array = Array;
|
|
@@ -10,7 +11,12 @@ var $Array = Array;
|
|
|
10
11
|
// https://tc39.es/ecma262/#sec-array.prototype.toreversed
|
|
11
12
|
$({ target: 'Array', proto: true }, {
|
|
12
13
|
toReversed: function toReversed() {
|
|
13
|
-
|
|
14
|
+
var O = toIndexedObject(this);
|
|
15
|
+
var len = lengthOfArrayLike(O);
|
|
16
|
+
var A = new $Array(len);
|
|
17
|
+
var k = 0;
|
|
18
|
+
for (; k < len; k++) createProperty(A, k, O[len - k - 1]);
|
|
19
|
+
return A;
|
|
14
20
|
}
|
|
15
21
|
});
|
|
16
22
|
|
|
@@ -6,6 +6,7 @@ var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
|
6
6
|
var toAbsoluteIndex = require('../internals/to-absolute-index');
|
|
7
7
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
8
8
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
9
|
+
var createProperty = require('../internals/create-property');
|
|
9
10
|
|
|
10
11
|
var $Array = Array;
|
|
11
12
|
var max = Math.max;
|
|
@@ -33,9 +34,9 @@ $({ target: 'Array', proto: true }, {
|
|
|
33
34
|
newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);
|
|
34
35
|
A = $Array(newLen);
|
|
35
36
|
|
|
36
|
-
for (; k < actualStart; k++) A
|
|
37
|
-
for (; k < actualStart + insertCount; k++) A
|
|
38
|
-
for (; k < newLen; k++) A
|
|
37
|
+
for (; k < actualStart; k++) createProperty(A, k, O[k]);
|
|
38
|
+
for (; k < actualStart + insertCount; k++) createProperty(A, k, arguments[k - actualStart + 2]);
|
|
39
|
+
for (; k < newLen; k++) createProperty(A, k, O[k + actualDeleteCount - insertCount]);
|
|
39
40
|
|
|
40
41
|
return A;
|
|
41
42
|
}
|
package/modules/es.array.with.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
|
+
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
4
5
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
6
|
+
var createProperty = require('../internals/create-property');
|
|
5
7
|
|
|
6
8
|
var $Array = Array;
|
|
9
|
+
var $RangeError = RangeError;
|
|
7
10
|
|
|
8
11
|
// Firefox bug
|
|
9
12
|
var INCORRECT_EXCEPTION_ON_COERCION_FAIL = (function () {
|
|
@@ -19,6 +22,14 @@ var INCORRECT_EXCEPTION_ON_COERCION_FAIL = (function () {
|
|
|
19
22
|
// https://tc39.es/ecma262/#sec-array.prototype.with
|
|
20
23
|
$({ target: 'Array', proto: true, forced: INCORRECT_EXCEPTION_ON_COERCION_FAIL }, {
|
|
21
24
|
'with': function (index, value) {
|
|
22
|
-
|
|
25
|
+
var O = toIndexedObject(this);
|
|
26
|
+
var len = lengthOfArrayLike(O);
|
|
27
|
+
var relativeIndex = toIntegerOrInfinity(index);
|
|
28
|
+
var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;
|
|
29
|
+
if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');
|
|
30
|
+
var A = new $Array(len);
|
|
31
|
+
var k = 0;
|
|
32
|
+
for (; k < len; k++) createProperty(A, k, k === actualIndex ? value : O[k]);
|
|
33
|
+
return A;
|
|
23
34
|
}
|
|
24
35
|
});
|
|
@@ -11,12 +11,26 @@ var IS_PURE = require('../internals/is-pure');
|
|
|
11
11
|
var iteratorHelperThrowsOnInvalidIterator = require('../internals/iterator-helper-throws-on-invalid-iterator');
|
|
12
12
|
var iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');
|
|
13
13
|
|
|
14
|
+
// Should not throw an error for an iterator without `return` method. Fixed in Safari 26.2
|
|
15
|
+
// https://bugs.webkit.org/show_bug.cgi?id=297532
|
|
16
|
+
function throwsOnIteratorWithoutReturn() {
|
|
17
|
+
try {
|
|
18
|
+
// eslint-disable-next-line es/no-map, es/no-iterator, es/no-iterator-prototype-flatmap -- required for testing
|
|
19
|
+
var it = Iterator.prototype.flatMap.call(new Map([[4, 5]]).entries(), function (v) { return v; });
|
|
20
|
+
it.next();
|
|
21
|
+
it['return']();
|
|
22
|
+
} catch (error) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
14
27
|
var FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE
|
|
15
28
|
&& !iteratorHelperThrowsOnInvalidIterator('flatMap', function () { /* empty */ });
|
|
16
29
|
var flatMapWithoutClosingOnEarlyError = !IS_PURE && !FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR
|
|
17
30
|
&& iteratorHelperWithoutClosingOnEarlyError('flatMap', TypeError);
|
|
18
31
|
|
|
19
|
-
var FORCED = IS_PURE || FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || flatMapWithoutClosingOnEarlyError
|
|
32
|
+
var FORCED = IS_PURE || FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || flatMapWithoutClosingOnEarlyError
|
|
33
|
+
|| throwsOnIteratorWithoutReturn();
|
|
20
34
|
|
|
21
35
|
var IteratorProxy = createIteratorProxy(function () {
|
|
22
36
|
var iterator = this.iterator;
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var anObject = require('../internals/an-object');
|
|
4
|
+
var createProperty = require('../internals/create-property');
|
|
4
5
|
var iterate = require('../internals/iterate');
|
|
5
6
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
6
7
|
|
|
7
|
-
var push = [].push;
|
|
8
|
-
|
|
9
8
|
// `Iterator.prototype.toArray` method
|
|
10
9
|
// https://tc39.es/ecma262/#sec-iterator.prototype.toarray
|
|
11
10
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
12
11
|
toArray: function toArray() {
|
|
13
12
|
var result = [];
|
|
14
|
-
|
|
13
|
+
var index = 0;
|
|
14
|
+
iterate(getIteratorDirect(anObject(this)), function (element) {
|
|
15
|
+
createProperty(result, index++, element);
|
|
16
|
+
}, { IS_RECORD: true });
|
|
15
17
|
return result;
|
|
16
18
|
}
|
|
17
19
|
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var aCallable = require('../internals/a-callable');
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var MapHelpers = require('../internals/map-helpers');
|
|
6
|
+
var IS_PURE = require('../internals/is-pure');
|
|
7
|
+
|
|
8
|
+
var get = MapHelpers.get;
|
|
9
|
+
var has = MapHelpers.has;
|
|
10
|
+
var set = MapHelpers.set;
|
|
11
|
+
|
|
12
|
+
// `Map.prototype.getOrInsertComputed` method
|
|
13
|
+
// https://github.com/tc39/proposal-upsert
|
|
14
|
+
$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
15
|
+
getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
|
|
16
|
+
aMap(this);
|
|
17
|
+
aCallable(callbackfn);
|
|
18
|
+
if (has(this, key)) return get(this, key);
|
|
19
|
+
// CanonicalizeKeyedCollectionKey
|
|
20
|
+
if (key === 0 && 1 / key === -Infinity) key = 0;
|
|
21
|
+
var value = callbackfn(key);
|
|
22
|
+
set(this, key, value);
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var aMap = require('../internals/a-map');
|
|
4
|
+
var MapHelpers = require('../internals/map-helpers');
|
|
5
|
+
var IS_PURE = require('../internals/is-pure');
|
|
6
|
+
|
|
7
|
+
var get = MapHelpers.get;
|
|
8
|
+
var has = MapHelpers.has;
|
|
9
|
+
var set = MapHelpers.set;
|
|
10
|
+
|
|
11
|
+
// `Map.prototype.getOrInsert` method
|
|
12
|
+
// https://github.com/tc39/proposal-upsert
|
|
13
|
+
$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
14
|
+
getOrInsert: function getOrInsert(key, value) {
|
|
15
|
+
if (has(aMap(this), key)) return get(this, key);
|
|
16
|
+
set(this, key, value);
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var aCallable = require('../internals/a-callable');
|
|
4
|
+
var aWeakMap = require('../internals/a-weak-map');
|
|
5
|
+
var aWeakKey = require('../internals/a-weak-key');
|
|
6
|
+
var WeakMapHelpers = require('../internals/weak-map-helpers');
|
|
7
|
+
var IS_PURE = require('../internals/is-pure');
|
|
8
|
+
|
|
9
|
+
var get = WeakMapHelpers.get;
|
|
10
|
+
var has = WeakMapHelpers.has;
|
|
11
|
+
var set = WeakMapHelpers.set;
|
|
12
|
+
|
|
13
|
+
var FORCED = IS_PURE || !function () {
|
|
14
|
+
try {
|
|
15
|
+
// eslint-disable-next-line es/no-weak-map, no-throw-literal -- testing
|
|
16
|
+
if (WeakMap.prototype.getOrInsertComputed) new WeakMap().getOrInsertComputed(1, function () { throw 1; });
|
|
17
|
+
} catch (error) {
|
|
18
|
+
// FF144 Nightly - Beta 3 bug
|
|
19
|
+
// https://bugzilla.mozilla.org/show_bug.cgi?id=1988369
|
|
20
|
+
return error instanceof TypeError;
|
|
21
|
+
}
|
|
22
|
+
}();
|
|
23
|
+
|
|
24
|
+
// `WeakMap.prototype.getOrInsertComputed` method
|
|
25
|
+
// https://github.com/tc39/proposal-upsert
|
|
26
|
+
$({ target: 'WeakMap', proto: true, real: true, forced: FORCED }, {
|
|
27
|
+
getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
|
|
28
|
+
aWeakMap(this);
|
|
29
|
+
aWeakKey(key);
|
|
30
|
+
aCallable(callbackfn);
|
|
31
|
+
if (has(this, key)) return get(this, key);
|
|
32
|
+
var value = callbackfn(key);
|
|
33
|
+
set(this, key, value);
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var aWeakMap = require('../internals/a-weak-map');
|
|
4
|
+
var WeakMapHelpers = require('../internals/weak-map-helpers');
|
|
5
|
+
var IS_PURE = require('../internals/is-pure');
|
|
6
|
+
|
|
7
|
+
var get = WeakMapHelpers.get;
|
|
8
|
+
var has = WeakMapHelpers.has;
|
|
9
|
+
var set = WeakMapHelpers.set;
|
|
10
|
+
|
|
11
|
+
// `WeakMap.prototype.getOrInsert` method
|
|
12
|
+
// https://github.com/tc39/proposal-upsert
|
|
13
|
+
$({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, {
|
|
14
|
+
getOrInsert: function getOrInsert(key, value) {
|
|
15
|
+
if (has(aWeakMap(this), key)) return get(this, key);
|
|
16
|
+
set(this, key, value);
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
@@ -1,25 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var aMap = require('../internals/a-map');
|
|
5
|
-
var MapHelpers = require('../internals/map-helpers');
|
|
6
|
-
var IS_PURE = require('../internals/is-pure');
|
|
7
|
-
|
|
8
|
-
var get = MapHelpers.get;
|
|
9
|
-
var has = MapHelpers.has;
|
|
10
|
-
var set = MapHelpers.set;
|
|
11
|
-
|
|
12
|
-
// `Map.prototype.getOrInsertComputed` method
|
|
13
|
-
// https://github.com/tc39/proposal-upsert
|
|
14
|
-
$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
15
|
-
getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
|
|
16
|
-
aMap(this);
|
|
17
|
-
aCallable(callbackfn);
|
|
18
|
-
if (has(this, key)) return get(this, key);
|
|
19
|
-
// CanonicalizeKeyedCollectionKey
|
|
20
|
-
if (key === 0 && 1 / key === -Infinity) key = 0;
|
|
21
|
-
var value = callbackfn(key);
|
|
22
|
-
set(this, key, value);
|
|
23
|
-
return value;
|
|
24
|
-
}
|
|
25
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.map.get-or-insert-computed');
|
|
@@ -1,19 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var MapHelpers = require('../internals/map-helpers');
|
|
5
|
-
var IS_PURE = require('../internals/is-pure');
|
|
6
|
-
|
|
7
|
-
var get = MapHelpers.get;
|
|
8
|
-
var has = MapHelpers.has;
|
|
9
|
-
var set = MapHelpers.set;
|
|
10
|
-
|
|
11
|
-
// `Map.prototype.getOrInsert` method
|
|
12
|
-
// https://github.com/tc39/proposal-upsert
|
|
13
|
-
$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
14
|
-
getOrInsert: function getOrInsert(key, value) {
|
|
15
|
-
if (has(aMap(this), key)) return get(this, key);
|
|
16
|
-
set(this, key, value);
|
|
17
|
-
return value;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.map.get-or-insert');
|
|
@@ -1,36 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var aWeakMap = require('../internals/a-weak-map');
|
|
5
|
-
var aWeakKey = require('../internals/a-weak-key');
|
|
6
|
-
var WeakMapHelpers = require('../internals/weak-map-helpers');
|
|
7
|
-
var IS_PURE = require('../internals/is-pure');
|
|
8
|
-
|
|
9
|
-
var get = WeakMapHelpers.get;
|
|
10
|
-
var has = WeakMapHelpers.has;
|
|
11
|
-
var set = WeakMapHelpers.set;
|
|
12
|
-
|
|
13
|
-
var FORCED = IS_PURE || !function () {
|
|
14
|
-
try {
|
|
15
|
-
// eslint-disable-next-line es/no-weak-map, no-throw-literal -- testing
|
|
16
|
-
if (WeakMap.prototype.getOrInsertComputed) new WeakMap().getOrInsertComputed(1, function () { throw 1; });
|
|
17
|
-
} catch (error) {
|
|
18
|
-
// FF144 Nightly - Beta 3 bug
|
|
19
|
-
// https://bugzilla.mozilla.org/show_bug.cgi?id=1988369
|
|
20
|
-
return error instanceof TypeError;
|
|
21
|
-
}
|
|
22
|
-
}();
|
|
23
|
-
|
|
24
|
-
// `WeakMap.prototype.getOrInsertComputed` method
|
|
25
|
-
// https://github.com/tc39/proposal-upsert
|
|
26
|
-
$({ target: 'WeakMap', proto: true, real: true, forced: FORCED }, {
|
|
27
|
-
getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
|
|
28
|
-
aWeakMap(this);
|
|
29
|
-
aWeakKey(key);
|
|
30
|
-
aCallable(callbackfn);
|
|
31
|
-
if (has(this, key)) return get(this, key);
|
|
32
|
-
var value = callbackfn(key);
|
|
33
|
-
set(this, key, value);
|
|
34
|
-
return value;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.weak-map.get-or-insert-computed');
|
|
@@ -1,19 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var WeakMapHelpers = require('../internals/weak-map-helpers');
|
|
5
|
-
var IS_PURE = require('../internals/is-pure');
|
|
6
|
-
|
|
7
|
-
var get = WeakMapHelpers.get;
|
|
8
|
-
var has = WeakMapHelpers.has;
|
|
9
|
-
var set = WeakMapHelpers.set;
|
|
10
|
-
|
|
11
|
-
// `WeakMap.prototype.getOrInsert` method
|
|
12
|
-
// https://github.com/tc39/proposal-upsert
|
|
13
|
-
$({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, {
|
|
14
|
-
getOrInsert: function getOrInsert(key, value) {
|
|
15
|
-
if (has(aWeakMap(this), key)) return get(this, key);
|
|
16
|
-
set(this, key, value);
|
|
17
|
-
return value;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.weak-map.get-or-insert');
|
package/package.json
CHANGED
package/stable/index.js
CHANGED
|
@@ -105,6 +105,8 @@ require('../modules/es.json.stringify');
|
|
|
105
105
|
require('../modules/es.json.to-string-tag');
|
|
106
106
|
require('../modules/es.map');
|
|
107
107
|
require('../modules/es.map.group-by');
|
|
108
|
+
require('../modules/es.map.get-or-insert');
|
|
109
|
+
require('../modules/es.map.get-or-insert-computed');
|
|
108
110
|
require('../modules/es.math.acosh');
|
|
109
111
|
require('../modules/es.math.asinh');
|
|
110
112
|
require('../modules/es.math.atanh');
|
|
@@ -291,6 +293,8 @@ require('../modules/es.uint8-array.to-base64');
|
|
|
291
293
|
require('../modules/es.uint8-array.to-hex');
|
|
292
294
|
require('../modules/es.unescape');
|
|
293
295
|
require('../modules/es.weak-map');
|
|
296
|
+
require('../modules/es.weak-map.get-or-insert');
|
|
297
|
+
require('../modules/es.weak-map.get-or-insert-computed');
|
|
294
298
|
require('../modules/es.weak-set');
|
|
295
299
|
require('../modules/web.atob');
|
|
296
300
|
require('../modules/web.btoa');
|
package/stage/3.js
CHANGED
|
@@ -3,7 +3,6 @@ var parent = require('./4');
|
|
|
3
3
|
|
|
4
4
|
require('../proposals/decorator-metadata-v2');
|
|
5
5
|
require('../proposals/joint-iteration');
|
|
6
|
-
require('../proposals/map-upsert-v4');
|
|
7
6
|
// TODO: Obsolete versions, remove from `core-js@4`
|
|
8
7
|
require('../proposals/array-grouping-stage-3');
|
|
9
8
|
require('../proposals/array-grouping-stage-3-2');
|
package/stage/4.js
CHANGED
|
@@ -15,6 +15,7 @@ require('../proposals/is-error');
|
|
|
15
15
|
require('../proposals/iterator-helpers-stage-3-2');
|
|
16
16
|
require('../proposals/iterator-sequencing');
|
|
17
17
|
require('../proposals/json-parse-with-source');
|
|
18
|
+
require('../proposals/map-upsert-v4');
|
|
18
19
|
require('../proposals/math-sum');
|
|
19
20
|
require('../proposals/promise-all-settled');
|
|
20
21
|
require('../proposals/promise-any');
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
3
|
-
|
|
4
|
-
// https://tc39.es/ecma262/#sec-array.prototype.toreversed
|
|
5
|
-
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed
|
|
6
|
-
module.exports = function (O, C) {
|
|
7
|
-
var len = lengthOfArrayLike(O);
|
|
8
|
-
var A = new C(len);
|
|
9
|
-
var k = 0;
|
|
10
|
-
for (; k < len; k++) A[k] = O[len - k - 1];
|
|
11
|
-
return A;
|
|
12
|
-
};
|
package/internals/array-with.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
3
|
-
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
4
|
-
|
|
5
|
-
var $RangeError = RangeError;
|
|
6
|
-
|
|
7
|
-
// https://tc39.es/ecma262/#sec-array.prototype.with
|
|
8
|
-
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with
|
|
9
|
-
module.exports = function (O, C, index, value) {
|
|
10
|
-
var len = lengthOfArrayLike(O);
|
|
11
|
-
var relativeIndex = toIntegerOrInfinity(index);
|
|
12
|
-
var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;
|
|
13
|
-
if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');
|
|
14
|
-
var A = new C(len);
|
|
15
|
-
var k = 0;
|
|
16
|
-
for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];
|
|
17
|
-
return A;
|
|
18
|
-
};
|