core-js 3.48.0 → 3.50.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 +2 -2
- package/actual/iterator/chunks.js +8 -0
- package/actual/iterator/concat.js +4 -0
- package/actual/iterator/from.js +4 -0
- package/actual/iterator/includes.js +8 -0
- package/actual/iterator/index.js +4 -1
- package/actual/iterator/join.js +8 -0
- package/actual/iterator/windows.js +8 -0
- package/actual/iterator/zip-keyed.js +6 -21
- package/actual/iterator/zip.js +6 -19
- package/actual/promise/all-keyed.js +16 -0
- package/actual/promise/all-settled-keyed.js +16 -0
- package/actual/promise/index.js +4 -0
- package/configurator.js +1 -1
- package/es/index.js +2 -0
- package/es/iterator/index.js +4 -0
- package/es/iterator/zip-keyed.js +24 -0
- package/es/iterator/zip.js +22 -0
- package/es/object/define-properties.js +2 -2
- package/es/object/define-property.js +2 -2
- package/es/object/get-own-property-descriptor.js +2 -2
- package/es/promise/try.js +2 -2
- package/features/iterator/includes.js +2 -0
- package/features/iterator/join.js +2 -0
- package/features/promise/all-keyed.js +2 -0
- package/features/promise/all-settled-keyed.js +2 -0
- package/full/index.js +6 -0
- package/full/iterator/chunks.js +2 -6
- package/full/iterator/concat.js +0 -2
- package/full/iterator/from.js +0 -2
- package/full/iterator/includes.js +4 -0
- package/full/iterator/index.js +0 -2
- package/full/iterator/join.js +4 -0
- package/full/iterator/range.js +3 -1
- package/full/iterator/windows.js +2 -6
- package/full/iterator/zip-keyed.js +0 -2
- package/full/iterator/zip.js +0 -2
- package/full/promise/all-keyed.js +4 -0
- package/full/promise/all-settled-keyed.js +4 -0
- package/internals/add-disposable-resource.js +1 -1
- package/internals/advance-string-index.js +1 -1
- package/internals/array-buffer-transfer.js +4 -1
- package/internals/array-buffer-view-core.js +1 -1
- package/internals/array-buffer.js +1 -2
- package/internals/array-fill.js +2 -1
- package/internals/array-from-async.js +7 -9
- package/internals/array-from.js +15 -4
- package/internals/async-from-sync-iterator.js +28 -4
- package/internals/async-iterator-close.js +11 -3
- package/internals/async-iterator-create-proxy.js +61 -22
- package/internals/async-iterator-iteration.js +7 -4
- package/internals/async-iterator-map.js +20 -18
- package/internals/does-not-exceed-safe-integer.js +1 -1
- package/internals/environment-is-ios.js +1 -2
- package/internals/error-stack-clear.js +1 -1
- package/internals/function-bind-native.js +1 -1
- package/internals/function-name.js +1 -1
- package/internals/get-async-iterator-flattenable.js +1 -1
- package/internals/get-async-iterator.js +1 -1
- package/internals/get-internal-iterator.js +1 -0
- package/internals/get-iterator-flattenable.js +1 -1
- package/internals/get-iterator-internal.js +14 -0
- package/internals/get-iterator-method-internal.js +14 -0
- package/internals/get-iterator-method.js +4 -7
- package/internals/get-iterator-record.js +1 -1
- package/internals/get-iterator.js +4 -5
- package/internals/is-iterable.js +4 -10
- package/internals/iterate.js +10 -5
- package/internals/iterator-chunk-size-validation.js +17 -0
- package/internals/iterator-cleanup-state.js +6 -0
- package/internals/iterator-create-proxy.js +14 -5
- package/internals/iterator-window.js +4 -6
- package/internals/iterator-zip.js +4 -3
- package/internals/iterators.js +1 -1
- package/internals/math-log1p.js +3 -1
- package/internals/numeric-range-iterator.js +9 -4
- package/internals/regexp-exec.js +20 -13
- package/internals/set-difference.js +1 -1
- package/internals/set-is-disjoint-from.js +1 -1
- package/internals/set-is-superset-of.js +1 -1
- package/internals/shared-store.js +2 -2
- package/internals/shared.js +3 -1
- package/internals/string-pad.js +2 -1
- package/internals/string-parse.js +1 -1
- package/internals/string-repeat.js +2 -1
- package/internals/to-uint8-clamped.js +11 -3
- package/internals/typed-array-constructor.js +1 -2
- package/internals/typed-array-from.js +5 -3
- package/internals/uint8-from-base64.js +4 -2
- package/internals/uint8-from-hex.js +10 -10
- package/internals/url-percent-coding.js +171 -0
- package/modules/es.array.flat.js +2 -1
- package/modules/es.array.from-async.js +1 -1
- package/modules/es.array.includes.js +7 -1
- package/modules/es.array.sort.js +3 -1
- package/modules/es.data-view.get-float16.js +1 -1
- package/modules/es.data-view.set-float16.js +2 -1
- package/modules/es.date.set-year.js +4 -1
- package/modules/es.date.to-json.js +1 -1
- package/modules/es.error.is-error.js +1 -1
- package/modules/es.escape.js +10 -8
- package/modules/es.iterator.concat.js +5 -4
- package/modules/es.iterator.drop.js +16 -1
- package/modules/es.iterator.flat-map.js +12 -14
- package/modules/es.iterator.take.js +22 -2
- package/modules/es.iterator.zip-keyed.js +70 -0
- package/modules/es.iterator.zip.js +92 -0
- package/modules/es.json.parse.js +14 -2
- package/modules/es.json.stringify.js +157 -38
- package/modules/es.map.get-or-insert-computed.js +3 -4
- package/modules/es.map.get-or-insert.js +2 -3
- package/modules/es.map.group-by.js +2 -0
- package/modules/es.math.asinh.js +6 -1
- package/modules/es.math.atanh.js +2 -2
- package/modules/es.math.cbrt.js +3 -1
- package/modules/es.math.sum-precise.js +3 -3
- package/modules/es.number.to-exponential.js +15 -6
- package/modules/es.object.group-by.js +2 -0
- package/modules/es.object.proto.js +2 -1
- package/modules/es.promise.try.js +16 -8
- package/modules/es.reflect.construct.js +1 -1
- package/modules/es.reflect.define-property.js +10 -0
- package/modules/es.reflect.delete-property.js +5 -2
- package/modules/es.reflect.get.js +9 -7
- package/modules/es.reflect.set.js +14 -9
- package/modules/es.regexp.constructor.js +16 -5
- package/modules/es.string.ends-with.js +1 -1
- package/modules/es.string.from-code-point.js +2 -2
- package/modules/es.string.match-all.js +1 -1
- package/modules/es.string.match.js +5 -3
- package/modules/es.string.replace.js +9 -8
- package/modules/es.string.search.js +3 -1
- package/modules/es.string.split.js +7 -5
- package/modules/es.string.starts-with.js +1 -1
- package/modules/es.string.substr.js +5 -7
- package/modules/es.symbol.constructor.js +3 -2
- package/modules/es.symbol.description.js +9 -0
- package/modules/es.typed-array.sort.js +3 -3
- package/modules/es.uint8-array.from-base64.js +1 -1
- package/modules/es.uint8-array.from-hex.js +1 -1
- package/modules/es.uint8-array.set-from-base64.js +1 -1
- package/modules/es.uint8-array.set-from-hex.js +1 -1
- package/modules/es.uint8-array.to-base64.js +23 -6
- package/modules/es.uint8-array.to-hex.js +6 -4
- package/modules/es.weak-map.get-or-insert-computed.js +2 -2
- package/modules/es.weak-map.get-or-insert.js +2 -3
- package/modules/esnext.array.is-template-object.js +1 -1
- package/modules/esnext.async-iterator.reduce.js +2 -2
- package/modules/esnext.async-iterator.take.js +4 -2
- package/modules/esnext.bigint.range.js +1 -1
- package/modules/esnext.iterator.chunks.js +6 -8
- package/modules/esnext.iterator.includes.js +44 -0
- package/modules/esnext.iterator.join.js +31 -0
- package/modules/esnext.iterator.range.js +1 -1
- package/modules/esnext.iterator.windows.js +2 -1
- package/modules/esnext.iterator.zip-keyed.js +2 -70
- package/modules/esnext.iterator.zip.js +2 -90
- package/modules/esnext.number.from-string.js +30 -3
- package/modules/esnext.number.range.js +1 -1
- package/modules/esnext.observable.from.js +6 -3
- package/modules/esnext.promise.all-keyed.js +57 -0
- package/modules/esnext.promise.all-settled-keyed.js +60 -0
- package/modules/esnext.string.dedent.js +1 -1
- package/modules/web.atob.js +15 -6
- package/modules/web.btoa.js +10 -3
- package/modules/web.structured-clone.js +2 -2
- package/modules/web.url-search-params.constructor.js +13 -130
- package/modules/web.url-search-params.delete.js +6 -9
- package/modules/web.url.constructor.js +154 -39
- package/modules/web.url.parse.js +1 -1
- package/modules/web.url.to-json.js +4 -1
- package/package.json +8 -1
- package/proposals/await-dictionary.js +4 -0
- package/proposals/iterator-includes.js +3 -0
- package/proposals/iterator-join.js +3 -0
- package/stable/index.js +2 -0
- package/stable/iterator/zip-keyed.js +5 -0
- package/stable/iterator/zip.js +5 -0
- package/stage/3.js +4 -0
|
@@ -10,6 +10,7 @@ var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype
|
|
|
10
10
|
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
11
11
|
var iteratorClose = require('../internals/iterator-close');
|
|
12
12
|
var iteratorCloseAll = require('../internals/iterator-close-all');
|
|
13
|
+
var cleanupState = require('../internals/iterator-cleanup-state');
|
|
13
14
|
|
|
14
15
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
15
16
|
var ITERATOR_HELPER = 'IteratorHelper';
|
|
@@ -31,29 +32,37 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
|
|
|
31
32
|
if (state.done) return createIterResultObject(undefined, true);
|
|
32
33
|
try {
|
|
33
34
|
var result = state.nextHandler();
|
|
35
|
+
if (state.done) cleanupState(state);
|
|
34
36
|
return state.returnHandlerResult ? result : createIterResultObject(result, state.done);
|
|
35
37
|
} catch (error) {
|
|
36
38
|
state.done = true;
|
|
39
|
+
cleanupState(state);
|
|
37
40
|
throw error;
|
|
38
41
|
}
|
|
39
42
|
},
|
|
40
43
|
'return': function () {
|
|
41
44
|
var state = getInternalState(this);
|
|
42
45
|
var iterator = state.iterator;
|
|
46
|
+
var inner = state.inner;
|
|
47
|
+
var openIters = state.openIters;
|
|
48
|
+
var done = state.done;
|
|
43
49
|
state.done = true;
|
|
44
50
|
if (IS_ITERATOR) {
|
|
45
51
|
var returnMethod = getMethod(iterator, 'return');
|
|
46
52
|
return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);
|
|
47
53
|
}
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
cleanupState(state);
|
|
55
|
+
if (done) return createIterResultObject(undefined, true);
|
|
56
|
+
if (inner) try {
|
|
57
|
+
iteratorClose(inner.iterator, NORMAL);
|
|
50
58
|
} catch (error) {
|
|
51
59
|
return iteratorClose(iterator, THROW, error);
|
|
52
60
|
}
|
|
53
|
-
if (
|
|
54
|
-
iteratorCloseAll(
|
|
61
|
+
if (openIters) try {
|
|
62
|
+
iteratorCloseAll(openIters, NORMAL);
|
|
55
63
|
} catch (error) {
|
|
56
|
-
return iteratorClose(iterator, THROW, error);
|
|
64
|
+
if (iterator) return iteratorClose(iterator, THROW, error);
|
|
65
|
+
throw error;
|
|
57
66
|
}
|
|
58
67
|
if (iterator) iteratorClose(iterator, NORMAL);
|
|
59
68
|
return createIterResultObject(undefined, true);
|
|
@@ -5,9 +5,9 @@ var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
|
5
5
|
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
6
6
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
7
7
|
var iteratorClose = require('../internals/iterator-close');
|
|
8
|
+
var chunkSizeValidation = require('../internals/iterator-chunk-size-validation');
|
|
8
9
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
9
10
|
|
|
10
|
-
var $RangeError = RangeError;
|
|
11
11
|
var $TypeError = TypeError;
|
|
12
12
|
var push = uncurryThis([].push);
|
|
13
13
|
var slice = uncurryThis([].slice);
|
|
@@ -23,12 +23,12 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
23
23
|
while (true) {
|
|
24
24
|
result = anObject(call(next, iterator));
|
|
25
25
|
done = this.done = !!result.done;
|
|
26
|
-
if (allowPartial && done && buffer.length && buffer.length < windowSize) return createIterResultObject(buffer, false);
|
|
26
|
+
if (allowPartial && done && buffer.length && buffer.length < windowSize) return createIterResultObject(slice(buffer, 0), false);
|
|
27
27
|
if (done) return createIterResultObject(undefined, true);
|
|
28
28
|
|
|
29
29
|
if (buffer.length === windowSize) this.buffer = buffer = slice(buffer, 1);
|
|
30
30
|
push(buffer, result.value);
|
|
31
|
-
if (buffer.length === windowSize) return createIterResultObject(buffer, false);
|
|
31
|
+
if (buffer.length === windowSize) return createIterResultObject(slice(buffer, 0), false);
|
|
32
32
|
}
|
|
33
33
|
}, false, true);
|
|
34
34
|
|
|
@@ -36,9 +36,7 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
36
36
|
// https://github.com/tc39/proposal-iterator-chunking
|
|
37
37
|
module.exports = function (O, windowSize, undersized) {
|
|
38
38
|
anObject(O);
|
|
39
|
-
|
|
40
|
-
return iteratorClose(O, 'throw', new $RangeError('`windowSize` must be integer in [1, 2^32-1]'));
|
|
41
|
-
}
|
|
39
|
+
chunkSizeValidation(windowSize, O);
|
|
42
40
|
if (undersized !== undefined && undersized !== 'only-full' && undersized !== ALLOW_PARTIAL) {
|
|
43
41
|
return iteratorClose(O, 'throw', new $TypeError('Incorrect `undersized` argument'));
|
|
44
42
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var call = require('../internals/function-call');
|
|
3
3
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var anObject = require('../internals/an-object');
|
|
4
5
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
5
6
|
var iteratorCloseAll = require('../internals/iterator-close-all');
|
|
6
7
|
|
|
@@ -31,7 +32,7 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
31
32
|
result = padding[i];
|
|
32
33
|
} else {
|
|
33
34
|
try {
|
|
34
|
-
result = call(iter.next, iter.iterator);
|
|
35
|
+
result = anObject(call(iter.next, iter.iterator));
|
|
35
36
|
done = result.done;
|
|
36
37
|
result = result.value;
|
|
37
38
|
} catch (error) {
|
|
@@ -54,12 +55,12 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
54
55
|
for (var k = 1; k < iterCount; k++) {
|
|
55
56
|
// eslint-disable-next-line max-depth -- specification case
|
|
56
57
|
try {
|
|
57
|
-
open = call(iters[k].next, iters[k].iterator);
|
|
58
|
+
open = anObject(call(iters[k].next, iters[k].iterator));
|
|
58
59
|
openDone = open.done;
|
|
59
60
|
open = open.value;
|
|
60
61
|
} catch (error) {
|
|
61
62
|
openIters[k] = undefined;
|
|
62
|
-
return iteratorCloseAll(openIters, THROW,
|
|
63
|
+
return iteratorCloseAll(openIters, THROW, error);
|
|
63
64
|
}
|
|
64
65
|
// eslint-disable-next-line max-depth -- specification case
|
|
65
66
|
if (openDone) {
|
package/internals/iterators.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
module.exports = {};
|
|
2
|
+
module.exports = Object.create ? Object.create(null) : {};
|
package/internals/math-log1p.js
CHANGED
|
@@ -6,5 +6,7 @@ var log = Math.log;
|
|
|
6
6
|
// eslint-disable-next-line es/no-math-log1p -- safe
|
|
7
7
|
module.exports = Math.log1p || function log1p(x) {
|
|
8
8
|
var n = +x;
|
|
9
|
-
|
|
9
|
+
if (n > -1e-8 && n < 1e-8) return n - n * n / 2;
|
|
10
|
+
var u = 1 + n;
|
|
11
|
+
return u === 1 ? n : n === u - 1 ? log(u) : n * log(u) / (u - 1);
|
|
10
12
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
// https://github.com/tc39/proposal-iterator.range
|
|
2
3
|
var InternalStateModule = require('../internals/internal-state');
|
|
3
4
|
var createIteratorConstructor = require('../internals/iterator-create-constructor');
|
|
4
5
|
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
@@ -17,6 +18,10 @@ var $RangeError = RangeError;
|
|
|
17
18
|
var $TypeError = TypeError;
|
|
18
19
|
|
|
19
20
|
var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
|
|
21
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
22
|
+
if (start !== start || end !== end) {
|
|
23
|
+
throw new $RangeError(INCORRECT_RANGE);
|
|
24
|
+
}
|
|
20
25
|
// TODO: Drop the first `typeof` check after removing legacy methods in `core-js@4`
|
|
21
26
|
if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {
|
|
22
27
|
throw new $TypeError(INCORRECT_RANGE);
|
|
@@ -27,7 +32,7 @@ var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(sta
|
|
|
27
32
|
var ifIncrease = end > start;
|
|
28
33
|
var inclusiveEnd = false;
|
|
29
34
|
var step;
|
|
30
|
-
if (option
|
|
35
|
+
if (isNullOrUndefined(option)) {
|
|
31
36
|
step = undefined;
|
|
32
37
|
} else if (isObject(option)) {
|
|
33
38
|
step = option.step;
|
|
@@ -43,11 +48,11 @@ var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(sta
|
|
|
43
48
|
if (typeof step != type) {
|
|
44
49
|
throw new $TypeError(INCORRECT_RANGE);
|
|
45
50
|
}
|
|
46
|
-
|
|
51
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
52
|
+
if (step !== step || step === Infinity || step === -Infinity || (step === zero && start !== end)) {
|
|
47
53
|
throw new $RangeError(INCORRECT_RANGE);
|
|
48
54
|
}
|
|
49
|
-
|
|
50
|
-
var hitsEnd = start !== start || end !== end || step !== step || (end > start) !== (step > zero);
|
|
55
|
+
var hitsEnd = end > start !== step > zero;
|
|
51
56
|
setInternalState(this, {
|
|
52
57
|
type: NUMERIC_RANGE_ITERATOR,
|
|
53
58
|
start: start,
|
package/internals/regexp-exec.js
CHANGED
|
@@ -35,18 +35,29 @@ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
|
|
35
35
|
|
|
36
36
|
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
|
|
37
37
|
|
|
38
|
+
var setGroups = function (re, groups) {
|
|
39
|
+
var object = re.groups = create(null);
|
|
40
|
+
for (var i = 0; i < groups.length; i++) {
|
|
41
|
+
var group = groups[i];
|
|
42
|
+
object[group[0]] = re[group[1]];
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
38
46
|
if (PATCH) {
|
|
39
47
|
patchedExec = function exec(string) {
|
|
40
48
|
var re = this;
|
|
41
49
|
var state = getInternalState(re);
|
|
42
50
|
var str = toString(string);
|
|
43
51
|
var raw = state.raw;
|
|
44
|
-
var result, reCopy, lastIndex
|
|
52
|
+
var result, reCopy, lastIndex;
|
|
45
53
|
|
|
46
54
|
if (raw) {
|
|
47
55
|
raw.lastIndex = re.lastIndex;
|
|
48
56
|
result = call(patchedExec, raw, str);
|
|
49
57
|
re.lastIndex = raw.lastIndex;
|
|
58
|
+
|
|
59
|
+
if (result && state.groups) setGroups(result, state.groups);
|
|
60
|
+
|
|
50
61
|
return result;
|
|
51
62
|
}
|
|
52
63
|
|
|
@@ -65,8 +76,10 @@ if (PATCH) {
|
|
|
65
76
|
|
|
66
77
|
strCopy = stringSlice(str, re.lastIndex);
|
|
67
78
|
// Support anchored sticky behavior.
|
|
68
|
-
|
|
69
|
-
|
|
79
|
+
var prevChar = re.lastIndex > 0 && charAt(str, re.lastIndex - 1);
|
|
80
|
+
if (re.lastIndex > 0 &&
|
|
81
|
+
(!re.multiline || re.multiline && prevChar !== '\n' && prevChar !== '\r' && prevChar !== '\u2028' && prevChar !== '\u2029')) {
|
|
82
|
+
source = '(?: (?:' + source + '))';
|
|
70
83
|
strCopy = ' ' + strCopy;
|
|
71
84
|
charsAdded++;
|
|
72
85
|
}
|
|
@@ -80,11 +93,11 @@ if (PATCH) {
|
|
|
80
93
|
}
|
|
81
94
|
if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
|
|
82
95
|
|
|
83
|
-
match = call(nativeExec, sticky ? reCopy : re, strCopy);
|
|
96
|
+
var match = call(nativeExec, sticky ? reCopy : re, strCopy);
|
|
84
97
|
|
|
85
98
|
if (sticky) {
|
|
86
99
|
if (match) {
|
|
87
|
-
match.input =
|
|
100
|
+
match.input = str;
|
|
88
101
|
match[0] = stringSlice(match[0], charsAdded);
|
|
89
102
|
match.index = re.lastIndex;
|
|
90
103
|
re.lastIndex += match[0].length;
|
|
@@ -96,19 +109,13 @@ if (PATCH) {
|
|
|
96
109
|
// Fix browsers whose `exec` methods don't consistently return `undefined`
|
|
97
110
|
// for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/
|
|
98
111
|
call(nativeReplace, match[0], reCopy, function () {
|
|
99
|
-
for (i = 1; i < arguments.length - 2; i++) {
|
|
112
|
+
for (var i = 1; i < arguments.length - 2; i++) {
|
|
100
113
|
if (arguments[i] === undefined) match[i] = undefined;
|
|
101
114
|
}
|
|
102
115
|
});
|
|
103
116
|
}
|
|
104
117
|
|
|
105
|
-
if (match && groups)
|
|
106
|
-
match.groups = object = create(null);
|
|
107
|
-
for (i = 0; i < groups.length; i++) {
|
|
108
|
-
group = groups[i];
|
|
109
|
-
object[group[0]] = match[group[1]];
|
|
110
|
-
}
|
|
111
|
-
}
|
|
118
|
+
if (match && groups) setGroups(match, groups);
|
|
112
119
|
|
|
113
120
|
return match;
|
|
114
121
|
};
|
|
@@ -16,7 +16,7 @@ module.exports = function difference(other) {
|
|
|
16
16
|
var O = aSet(this);
|
|
17
17
|
var otherRec = getSetRecord(other);
|
|
18
18
|
var result = clone(O);
|
|
19
|
-
if (size(
|
|
19
|
+
if (size(result) <= otherRec.size) iterateSet(result, function (e) {
|
|
20
20
|
if (otherRec.includes(e)) remove(result, e);
|
|
21
21
|
});
|
|
22
22
|
else iterateSimple(otherRec.getIterator(), function (e) {
|
|
@@ -17,6 +17,6 @@ module.exports = function isDisjointFrom(other) {
|
|
|
17
17
|
}, true) !== false;
|
|
18
18
|
var iterator = otherRec.getIterator();
|
|
19
19
|
return iterateSimple(iterator, function (e) {
|
|
20
|
-
if (has(O, e)) return iteratorClose(iterator, 'normal', false);
|
|
20
|
+
if (has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);
|
|
21
21
|
}) !== false;
|
|
22
22
|
};
|
|
@@ -14,6 +14,6 @@ module.exports = function isSupersetOf(other) {
|
|
|
14
14
|
if (size(O) < otherRec.size) return false;
|
|
15
15
|
var iterator = otherRec.getIterator();
|
|
16
16
|
return iterateSimple(iterator, function (e) {
|
|
17
|
-
if (!has(O, e)) return iteratorClose(iterator, 'normal', false);
|
|
17
|
+
if (!has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);
|
|
18
18
|
}) !== false;
|
|
19
19
|
};
|
|
@@ -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.50.0',
|
|
11
11
|
mode: IS_PURE ? 'pure' : 'global',
|
|
12
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.
|
|
13
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.50.0/LICENSE',
|
|
14
14
|
source: 'https://github.com/zloirock/core-js'
|
|
15
15
|
});
|
package/internals/shared.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var store = require('../internals/shared-store');
|
|
3
|
+
// eslint-disable-next-line es/no-object-create -- safe
|
|
4
|
+
var create = Object.create || Object;
|
|
3
5
|
|
|
4
6
|
module.exports = function (key, value) {
|
|
5
|
-
return store[key] || (store[key] = value ||
|
|
7
|
+
return store[key] || (store[key] = value || create(null));
|
|
6
8
|
};
|
package/internals/string-pad.js
CHANGED
|
@@ -15,9 +15,10 @@ var createMethod = function (IS_END) {
|
|
|
15
15
|
var S = toString(requireObjectCoercible($this));
|
|
16
16
|
var intMaxLength = toLength(maxLength);
|
|
17
17
|
var stringLength = S.length;
|
|
18
|
+
if (intMaxLength <= stringLength) return S;
|
|
18
19
|
var fillStr = fillString === undefined ? ' ' : toString(fillString);
|
|
19
20
|
var fillLen, stringFiller;
|
|
20
|
-
if (
|
|
21
|
+
if (fillStr === '') return S;
|
|
21
22
|
fillLen = intMaxLength - stringLength;
|
|
22
23
|
stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));
|
|
23
24
|
if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);
|
|
@@ -23,7 +23,7 @@ var isDigit = function (str, index) {
|
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
var parseHex = function (str, index, end) {
|
|
26
|
-
if (end
|
|
26
|
+
if (end > str.length || index >= end) return -1;
|
|
27
27
|
var n = 0;
|
|
28
28
|
for (; index < end; index++) {
|
|
29
29
|
var c = hexToInt(charCodeAt(str, index));
|
|
@@ -4,6 +4,7 @@ var toString = require('../internals/to-string');
|
|
|
4
4
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
5
|
|
|
6
6
|
var $RangeError = RangeError;
|
|
7
|
+
var floor = Math.floor;
|
|
7
8
|
|
|
8
9
|
// `String.prototype.repeat` method implementation
|
|
9
10
|
// https://tc39.es/ecma262/#sec-string.prototype.repeat
|
|
@@ -12,6 +13,6 @@ module.exports = function repeat(count) {
|
|
|
12
13
|
var result = '';
|
|
13
14
|
var n = toIntegerOrInfinity(count);
|
|
14
15
|
if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions');
|
|
15
|
-
for (;n > 0; (n
|
|
16
|
+
for (;n > 0; (n = floor(n / 2)) && (str += str)) if (n % 2) result += str;
|
|
16
17
|
return result;
|
|
17
18
|
};
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var floor = Math.floor;
|
|
3
3
|
|
|
4
|
+
// https://tc39.es/ecma262/#sec-touint8clamp
|
|
4
5
|
module.exports = function (it) {
|
|
5
|
-
var
|
|
6
|
-
|
|
6
|
+
var number = +it;
|
|
7
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
8
|
+
if (number !== number || number <= 0) return 0;
|
|
9
|
+
if (number >= 0xFF) return 0xFF;
|
|
10
|
+
var f = floor(number);
|
|
11
|
+
if (f + 0.5 < number) return f + 1;
|
|
12
|
+
if (number < f + 0.5) return f;
|
|
13
|
+
// round-half-to-even (banker's rounding)
|
|
14
|
+
return f % 2 === 0 ? f : f + 1;
|
|
7
15
|
};
|
|
@@ -10,7 +10,6 @@ var anInstance = require('../internals/an-instance');
|
|
|
10
10
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
11
11
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
12
12
|
var isIntegralNumber = require('../internals/is-integral-number');
|
|
13
|
-
var toLength = require('../internals/to-length');
|
|
14
13
|
var toIndex = require('../internals/to-index');
|
|
15
14
|
var toOffset = require('../internals/to-offset');
|
|
16
15
|
var toUint8Clamped = require('../internals/to-uint8-clamped');
|
|
@@ -162,7 +161,7 @@ if (DESCRIPTORS) {
|
|
|
162
161
|
byteLength = $len - byteOffset;
|
|
163
162
|
if (byteLength < 0) throw new RangeError(WRONG_LENGTH);
|
|
164
163
|
} else {
|
|
165
|
-
byteLength =
|
|
164
|
+
byteLength = toIndex($length) * BYTES;
|
|
166
165
|
if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH);
|
|
167
166
|
}
|
|
168
167
|
length = byteLength / BYTES;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var bind = require('../internals/function-bind-context');
|
|
3
3
|
var call = require('../internals/function-call');
|
|
4
|
+
var aCallable = require('../internals/a-callable');
|
|
4
5
|
var aConstructor = require('../internals/a-constructor');
|
|
5
6
|
var toObject = require('../internals/to-object');
|
|
6
7
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
7
|
-
var getIterator = require('../internals/get-iterator');
|
|
8
|
-
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
8
|
+
var getIterator = require('../internals/get-iterator-internal');
|
|
9
|
+
var getIteratorMethod = require('../internals/get-iterator-method-internal');
|
|
9
10
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
10
11
|
var isBigIntArray = require('../internals/is-big-int-array');
|
|
11
12
|
var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;
|
|
@@ -13,10 +14,11 @@ var toBigInt = require('../internals/to-big-int');
|
|
|
13
14
|
|
|
14
15
|
module.exports = function from(source /* , mapfn, thisArg */) {
|
|
15
16
|
var C = aConstructor(this);
|
|
16
|
-
var O = toObject(source);
|
|
17
17
|
var argumentsLength = arguments.length;
|
|
18
18
|
var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
|
|
19
19
|
var mapping = mapfn !== undefined;
|
|
20
|
+
if (mapping) aCallable(mapfn);
|
|
21
|
+
var O = toObject(source);
|
|
20
22
|
var iteratorMethod = getIteratorMethod(O);
|
|
21
23
|
var i, length, result, thisIsBigIntArray, value, step, iterator, next;
|
|
22
24
|
if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {
|
|
@@ -13,7 +13,9 @@ var base64UrlAlphabet = base64Map.c2iUrl;
|
|
|
13
13
|
|
|
14
14
|
var SyntaxError = globalThis.SyntaxError;
|
|
15
15
|
var TypeError = globalThis.TypeError;
|
|
16
|
+
var $Array = globalThis.Array;
|
|
16
17
|
var at = uncurryThis(''.charAt);
|
|
18
|
+
var floor = Math.floor;
|
|
17
19
|
|
|
18
20
|
var skipAsciiWhitespace = function (string, index) {
|
|
19
21
|
var length = string.length;
|
|
@@ -82,7 +84,7 @@ module.exports = function (string, options, into, maxLength) {
|
|
|
82
84
|
if (into) notDetached(into.buffer);
|
|
83
85
|
|
|
84
86
|
var stringLength = string.length;
|
|
85
|
-
var bytes = into ||
|
|
87
|
+
var bytes = into || $Array(floor(stringLength * 3 / 4));
|
|
86
88
|
var written = 0;
|
|
87
89
|
var read = 0;
|
|
88
90
|
var chunk = '';
|
|
@@ -152,6 +154,6 @@ module.exports = function (string, options, into, maxLength) {
|
|
|
152
154
|
}
|
|
153
155
|
}
|
|
154
156
|
}
|
|
155
|
-
|
|
157
|
+
if (!into) bytes.length = written;
|
|
156
158
|
return { bytes: bytes, read: read, written: written };
|
|
157
159
|
};
|
|
@@ -4,23 +4,23 @@ var uncurryThis = require('../internals/function-uncurry-this');
|
|
|
4
4
|
|
|
5
5
|
var Uint8Array = globalThis.Uint8Array;
|
|
6
6
|
var SyntaxError = globalThis.SyntaxError;
|
|
7
|
-
var parseInt = globalThis.parseInt;
|
|
8
7
|
var min = Math.min;
|
|
9
|
-
var
|
|
10
|
-
var exec = uncurryThis(NOT_HEX.exec);
|
|
11
|
-
var stringSlice = uncurryThis(''.slice);
|
|
8
|
+
var stringMatch = uncurryThis(''.match);
|
|
12
9
|
|
|
13
10
|
module.exports = function (string, into) {
|
|
14
11
|
var stringLength = string.length;
|
|
15
12
|
if (stringLength % 2 !== 0) throw new SyntaxError('String should be an even number of characters');
|
|
16
13
|
var maxLength = into ? min(into.length, stringLength / 2) : stringLength / 2;
|
|
17
14
|
var bytes = into || new Uint8Array(maxLength);
|
|
18
|
-
var
|
|
15
|
+
var segments = stringMatch(string, /[\S\s]{2}/g);
|
|
19
16
|
var written = 0;
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
for (; written < maxLength; written++) {
|
|
18
|
+
var result = +('0x' + segments[written] + '0');
|
|
19
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
20
|
+
if (result !== result) {
|
|
21
|
+
throw new SyntaxError('String should only contain hex characters');
|
|
22
|
+
}
|
|
23
|
+
bytes[written] = result >> 4;
|
|
24
24
|
}
|
|
25
|
-
return { bytes: bytes, read:
|
|
25
|
+
return { bytes: bytes, read: written << 1 };
|
|
26
26
|
};
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
|
|
3
|
+
require('../modules/es.string.from-code-point');
|
|
4
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
6
|
+
|
|
7
|
+
var fromCharCode = String.fromCharCode;
|
|
8
|
+
var fromCodePoint = getBuiltIn('String', 'fromCodePoint');
|
|
9
|
+
var $encodeURIComponent = encodeURIComponent;
|
|
10
|
+
var $parseInt = parseInt;
|
|
11
|
+
var charAt = uncurryThis(''.charAt);
|
|
12
|
+
var push = uncurryThis([].push);
|
|
13
|
+
var replace = uncurryThis(''.replace);
|
|
14
|
+
var stringSlice = uncurryThis(''.slice);
|
|
15
|
+
var exec = uncurryThis(/./.exec);
|
|
16
|
+
|
|
17
|
+
var FALLBACK_REPLACER = '\uFFFD';
|
|
18
|
+
var VALID_HEX = /^[0-9a-f]+$/i;
|
|
19
|
+
// a surrogate pair is matched first, so a one-unit match is always a lone surrogate
|
|
20
|
+
var SURROGATE = /[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDFFF]/g;
|
|
21
|
+
|
|
22
|
+
var parseHexOctet = function (string, start) {
|
|
23
|
+
var substr = stringSlice(string, start, start + 2);
|
|
24
|
+
if (!exec(VALID_HEX, substr)) return NaN;
|
|
25
|
+
|
|
26
|
+
return $parseInt(substr, 16);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
var getLeadingOnes = function (octet) {
|
|
30
|
+
var count = 0;
|
|
31
|
+
for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) {
|
|
32
|
+
count++;
|
|
33
|
+
}
|
|
34
|
+
return count;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
var utf8Decode = function (octets) {
|
|
38
|
+
var codePoint = null;
|
|
39
|
+
var length = octets.length;
|
|
40
|
+
|
|
41
|
+
switch (length) {
|
|
42
|
+
case 1:
|
|
43
|
+
codePoint = octets[0];
|
|
44
|
+
break;
|
|
45
|
+
case 2:
|
|
46
|
+
codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F);
|
|
47
|
+
break;
|
|
48
|
+
case 3:
|
|
49
|
+
codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F);
|
|
50
|
+
break;
|
|
51
|
+
case 4:
|
|
52
|
+
codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F);
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// reject surrogates, overlong encodings, and out-of-range codepoints
|
|
57
|
+
if (codePoint === null
|
|
58
|
+
|| codePoint > 0x10FFFF
|
|
59
|
+
|| (codePoint >= 0xD800 && codePoint <= 0xDFFF)
|
|
60
|
+
|| codePoint < (length > 3 ? 0x10000 : length > 2 ? 0x800 : length > 1 ? 0x80 : 0)
|
|
61
|
+
) return null;
|
|
62
|
+
|
|
63
|
+
return codePoint;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var replaceLoneSurrogate = function (chunk) {
|
|
67
|
+
return chunk.length === 2 ? chunk : FALLBACK_REPLACER;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// https://url.spec.whatwg.org/#percent-decode
|
|
71
|
+
/* eslint-disable max-depth -- ok */
|
|
72
|
+
var decode = function (input) {
|
|
73
|
+
var length = input.length;
|
|
74
|
+
var result = '';
|
|
75
|
+
var i = 0;
|
|
76
|
+
|
|
77
|
+
while (i < length) {
|
|
78
|
+
var decodedChar = charAt(input, i);
|
|
79
|
+
|
|
80
|
+
if (decodedChar === '%') {
|
|
81
|
+
if (charAt(input, i + 1) === '%' || i + 3 > length) {
|
|
82
|
+
result += '%';
|
|
83
|
+
i++;
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
var octet = parseHexOctet(input, i + 1);
|
|
88
|
+
|
|
89
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
90
|
+
if (octet !== octet) {
|
|
91
|
+
result += decodedChar;
|
|
92
|
+
i++;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
i += 2;
|
|
97
|
+
var byteSequenceLength = getLeadingOnes(octet);
|
|
98
|
+
|
|
99
|
+
if (byteSequenceLength === 0) {
|
|
100
|
+
decodedChar = fromCharCode(octet);
|
|
101
|
+
} else {
|
|
102
|
+
if (byteSequenceLength === 1 || byteSequenceLength > 4) {
|
|
103
|
+
result += FALLBACK_REPLACER;
|
|
104
|
+
i++;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
var octets = [octet];
|
|
109
|
+
var sequenceIndex = 1;
|
|
110
|
+
|
|
111
|
+
while (sequenceIndex < byteSequenceLength) {
|
|
112
|
+
i++;
|
|
113
|
+
if (i + 3 > length || charAt(input, i) !== '%') break;
|
|
114
|
+
|
|
115
|
+
var nextByte = parseHexOctet(input, i + 1);
|
|
116
|
+
|
|
117
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
118
|
+
if (nextByte !== nextByte || nextByte > 191 || nextByte < 128) break;
|
|
119
|
+
|
|
120
|
+
// https://encoding.spec.whatwg.org/#utf-8-decoder - position-specific byte ranges
|
|
121
|
+
if (sequenceIndex === 1) {
|
|
122
|
+
if (octet === 0xE0 && nextByte < 0xA0) break;
|
|
123
|
+
if (octet === 0xED && nextByte > 0x9F) break;
|
|
124
|
+
if (octet === 0xF0 && nextByte < 0x90) break;
|
|
125
|
+
if (octet === 0xF4 && nextByte > 0x8F) break;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
push(octets, nextByte);
|
|
129
|
+
i += 2;
|
|
130
|
+
sequenceIndex++;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (octets.length !== byteSequenceLength) {
|
|
134
|
+
result += FALLBACK_REPLACER;
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
var codePoint = utf8Decode(octets);
|
|
139
|
+
if (codePoint === null) {
|
|
140
|
+
for (var replacement = 0; replacement < byteSequenceLength; replacement++) result += FALLBACK_REPLACER;
|
|
141
|
+
i++;
|
|
142
|
+
continue;
|
|
143
|
+
} else {
|
|
144
|
+
decodedChar = fromCodePoint(codePoint);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
result += decodedChar;
|
|
150
|
+
i++;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return result;
|
|
154
|
+
};
|
|
155
|
+
/* eslint-enable max-depth -- ok */
|
|
156
|
+
|
|
157
|
+
// https://url.spec.whatwg.org/#string-percent-encode-after-encoding
|
|
158
|
+
// a lone surrogate is the only input `encodeURIComponent` throws on, and the UTF-8
|
|
159
|
+
// encoder replaces it - so the throw selects the slow path instead of a per-call scan
|
|
160
|
+
var encode = function (input) {
|
|
161
|
+
try {
|
|
162
|
+
return $encodeURIComponent(input);
|
|
163
|
+
} catch (error) {
|
|
164
|
+
return $encodeURIComponent(replace(input, SURROGATE, replaceLoneSurrogate));
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
module.exports = {
|
|
169
|
+
decode: decode,
|
|
170
|
+
encode: encode
|
|
171
|
+
};
|
package/modules/es.array.flat.js
CHANGED
|
@@ -13,8 +13,9 @@ $({ target: 'Array', proto: true }, {
|
|
|
13
13
|
var depthArg = arguments.length ? arguments[0] : undefined;
|
|
14
14
|
var O = toObject(this);
|
|
15
15
|
var sourceLen = lengthOfArrayLike(O);
|
|
16
|
+
var depthNum = depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg);
|
|
16
17
|
var A = arraySpeciesCreate(O, 0);
|
|
17
|
-
flattenIntoArray(A, O, O, sourceLen, 0,
|
|
18
|
+
flattenIntoArray(A, O, O, sourceLen, 0, depthNum);
|
|
18
19
|
return A;
|
|
19
20
|
}
|
|
20
21
|
});
|