core-js 3.37.1 → 3.38.1
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/actual/promise/index.js +1 -0
- package/actual/promise/try.js +13 -0
- package/actual/regexp/escape.js +5 -0
- package/actual/regexp/index.js +1 -0
- package/actual/typed-array/index.js +2 -0
- package/actual/typed-array/methods.js +2 -0
- package/actual/typed-array/set-from-base64.js +2 -0
- package/actual/typed-array/set-from-hex.js +2 -0
- package/es/global-this.js +1 -1
- package/es/typed-array/float32-array.js +1 -1
- package/es/typed-array/float64-array.js +1 -1
- package/es/typed-array/index.js +1 -1
- package/es/typed-array/int16-array.js +1 -1
- package/es/typed-array/int32-array.js +1 -1
- package/es/typed-array/int8-array.js +1 -1
- package/es/typed-array/uint16-array.js +1 -1
- package/es/typed-array/uint32-array.js +1 -1
- package/es/typed-array/uint8-array.js +1 -1
- package/es/typed-array/uint8-clamped-array.js +1 -1
- package/features/typed-array/set-from-base64.js +2 -0
- package/features/typed-array/set-from-hex.js +2 -0
- package/full/index.js +2 -0
- package/full/promise/index.js +0 -1
- package/full/promise/try.js +2 -11
- package/full/regexp/escape.js +2 -3
- package/full/regexp/index.js +0 -1
- package/full/typed-array/set-from-base64.js +4 -0
- package/full/typed-array/set-from-hex.js +4 -0
- package/internals/array-buffer-byte-length.js +5 -3
- package/internals/array-buffer-is-detached.js +6 -2
- package/internals/array-buffer-not-detached.js +9 -0
- package/internals/array-buffer-transfer.js +6 -7
- package/internals/array-buffer-view-core.js +14 -14
- package/internals/array-buffer.js +7 -7
- package/internals/array-method-has-species-support.js +1 -1
- package/internals/async-iterator-prototype.js +3 -3
- package/internals/collection-strong.js +7 -7
- package/internals/collection-weak.js +2 -2
- package/internals/collection.js +2 -2
- package/internals/define-global-property.js +3 -3
- package/internals/detach-transferable.js +6 -6
- package/internals/document-create-element.js +2 -2
- package/internals/entry-unbind.js +2 -2
- package/internals/entry-virtual.js +2 -2
- package/internals/{engine-ff-version.js → environment-ff-version.js} +1 -1
- package/internals/{engine-is-ie-or-edge.js → environment-is-ie-or-edge.js} +1 -1
- package/internals/{engine-is-ios-pebble.js → environment-is-ios-pebble.js} +1 -1
- package/internals/{engine-is-ios.js → environment-is-ios.js} +1 -1
- package/internals/environment-is-node.js +4 -0
- package/internals/{engine-is-webos-webkit.js → environment-is-webos-webkit.js} +1 -1
- package/internals/environment-user-agent.js +7 -0
- package/internals/{engine-v8-version.js → environment-v8-version.js} +4 -4
- package/internals/{engine-webkit-version.js → environment-webkit-version.js} +1 -1
- package/internals/environment.js +21 -0
- package/internals/export.js +4 -4
- package/internals/get-built-in-node-module.js +15 -0
- package/internals/get-built-in-prototype-method.js +2 -2
- package/internals/get-built-in.js +2 -2
- package/internals/ieee754.js +1 -1
- package/internals/internal-state.js +3 -3
- package/internals/microtask.js +10 -10
- package/internals/number-is-finite.js +2 -2
- package/internals/number-parse-float.js +3 -3
- package/internals/number-parse-int.js +3 -3
- package/internals/object-create.js +2 -1
- package/internals/object-prototype-accessors-forced.js +5 -4
- package/internals/path.js +2 -2
- package/internals/promise-constructor-detection.js +5 -6
- package/internals/promise-native-constructor.js +2 -2
- package/internals/regexp-sticky-helpers.js +2 -2
- package/internals/regexp-unsupported-dot-all.js +2 -2
- package/internals/regexp-unsupported-ncg.js +2 -2
- package/internals/safe-get-built-in.js +3 -3
- package/internals/schedulers-fix.js +6 -6
- package/internals/shared-store.js +3 -3
- package/internals/string-pad-webkit-bug.js +1 -1
- package/internals/structured-clone-proper-transfer.js +5 -7
- package/internals/symbol-constructor-detection.js +3 -3
- package/internals/task.js +16 -16
- package/internals/typed-array-constructor.js +3 -3
- package/internals/typed-array-constructors-require-wrappers.js +4 -4
- package/internals/uint8-from-base64.js +156 -0
- package/internals/uint8-from-hex.js +26 -0
- package/internals/url-constructor-detection.js +5 -5
- package/internals/weak-map-basic-detection.js +2 -2
- package/internals/well-known-symbol.js +2 -2
- package/modules/es.array-buffer.constructor.js +2 -2
- package/modules/es.array.concat.js +1 -1
- package/modules/es.array.iterator.js +1 -1
- package/modules/es.array.reduce-right.js +2 -2
- package/modules/es.array.reduce.js +2 -2
- package/modules/es.array.sort.js +4 -4
- package/modules/es.error.cause.js +2 -2
- package/modules/es.global-this.js +3 -3
- package/modules/es.json.to-string-tag.js +2 -2
- package/modules/es.number.constructor.js +3 -3
- package/modules/es.number.to-exponential.js +2 -6
- package/modules/es.object.group-by.js +1 -1
- package/modules/es.promise.constructor.js +11 -11
- package/modules/es.reflect.to-string-tag.js +2 -2
- package/modules/es.regexp.constructor.js +10 -5
- package/modules/es.regexp.flags.js +2 -2
- package/modules/es.string.at-alternative.js +1 -1
- package/modules/es.string.replace-all.js +3 -7
- package/modules/es.string.to-well-formed.js +1 -1
- package/modules/es.symbol.constructor.js +6 -6
- package/modules/es.symbol.description.js +3 -2
- package/modules/es.typed-array.iterator.js +2 -2
- package/modules/es.typed-array.set.js +3 -3
- package/modules/es.typed-array.sort.js +6 -6
- package/modules/es.typed-array.to-locale-string.js +2 -2
- package/modules/es.typed-array.to-string.js +2 -2
- package/modules/es.weak-map.constructor.js +2 -2
- package/modules/esnext.async-disposable-stack.constructor.js +2 -2
- package/modules/esnext.disposable-stack.constructor.js +2 -2
- package/modules/esnext.iterator.constructor.js +2 -2
- package/modules/esnext.json.parse.js +7 -7
- package/modules/esnext.json.raw-json.js +5 -3
- package/modules/esnext.observable.constructor.js +5 -5
- package/modules/esnext.promise.try.js +14 -2
- package/modules/esnext.regexp.escape.js +56 -11
- package/modules/esnext.string.dedent.js +1 -0
- package/modules/esnext.suppressed-error.constructor.js +1 -1
- package/modules/esnext.symbol.async-dispose.js +2 -2
- package/modules/esnext.symbol.dispose.js +2 -2
- package/modules/esnext.uint8-array.from-base64.js +6 -65
- package/modules/esnext.uint8-array.from-hex.js +4 -19
- package/modules/esnext.uint8-array.set-from-base64.js +19 -0
- package/modules/esnext.uint8-array.set-from-hex.js +19 -0
- package/modules/esnext.uint8-array.to-base64.js +7 -5
- package/modules/esnext.uint8-array.to-hex.js +4 -3
- package/modules/web.atob.js +2 -2
- package/modules/web.btoa.js +2 -2
- package/modules/web.clear-immediate.js +2 -2
- package/modules/web.dom-collections.for-each.js +2 -2
- package/modules/web.dom-collections.iterator.js +2 -2
- package/modules/web.dom-exception.constructor.js +2 -2
- package/modules/web.dom-exception.stack.js +2 -2
- package/modules/web.queue-microtask.js +1 -1
- package/modules/web.self.js +8 -8
- package/modules/web.set-immediate.js +3 -3
- package/modules/web.set-interval.js +3 -3
- package/modules/web.set-timeout.js +3 -3
- package/modules/web.structured-clone.js +18 -18
- package/modules/web.url-search-params.constructor.js +120 -25
- package/modules/web.url.constructor.js +14 -12
- package/package.json +4 -2
- package/proposals/array-buffer-base64.js +2 -0
- package/proposals/global-this.js +2 -2
- package/stage/2.7.js +0 -1
- package/stage/2.js +0 -1
- package/stage/3.js +2 -0
- package/internals/engine-is-browser.js +0 -7
- package/internals/engine-is-bun.js +0 -3
- package/internals/engine-is-deno.js +0 -3
- package/internals/engine-is-node.js +0 -5
- package/internals/engine-user-agent.js +0 -2
- package/internals/try-node-require.js +0 -9
- /package/internals/{global.js → global-this.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
var call = require('../internals/function-call');
|
|
5
5
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
6
6
|
var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');
|
|
@@ -38,7 +38,7 @@ var setInternalState = InternalStateModule.set;
|
|
|
38
38
|
var enforceInternalState = InternalStateModule.enforce;
|
|
39
39
|
var nativeDefineProperty = definePropertyModule.f;
|
|
40
40
|
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
|
41
|
-
var RangeError =
|
|
41
|
+
var RangeError = globalThis.RangeError;
|
|
42
42
|
var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
|
|
43
43
|
var ArrayBufferPrototype = ArrayBuffer.prototype;
|
|
44
44
|
var DataView = ArrayBufferModule.DataView;
|
|
@@ -116,7 +116,7 @@ if (DESCRIPTORS) {
|
|
|
116
116
|
var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';
|
|
117
117
|
var GETTER = 'get' + TYPE;
|
|
118
118
|
var SETTER = 'set' + TYPE;
|
|
119
|
-
var NativeTypedArrayConstructor =
|
|
119
|
+
var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME];
|
|
120
120
|
var TypedArrayConstructor = NativeTypedArrayConstructor;
|
|
121
121
|
var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;
|
|
122
122
|
var exported = {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
/* eslint-disable no-new -- required for testing */
|
|
3
|
-
var
|
|
2
|
+
/* eslint-disable no-new, sonar/inconsistent-function-call -- required for testing */
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
var fails = require('../internals/fails');
|
|
5
5
|
var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');
|
|
6
6
|
var NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;
|
|
7
7
|
|
|
8
|
-
var ArrayBuffer =
|
|
9
|
-
var Int8Array =
|
|
8
|
+
var ArrayBuffer = globalThis.ArrayBuffer;
|
|
9
|
+
var Int8Array = globalThis.Int8Array;
|
|
10
10
|
|
|
11
11
|
module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {
|
|
12
12
|
Int8Array(1);
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var globalThis = require('../internals/global-this');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var anObjectOrUndefined = require('../internals/an-object-or-undefined');
|
|
5
|
+
var aString = require('../internals/a-string');
|
|
6
|
+
var hasOwn = require('../internals/has-own-property');
|
|
7
|
+
var base64Map = require('../internals/base64-map');
|
|
8
|
+
var getAlphabetOption = require('../internals/get-alphabet-option');
|
|
9
|
+
var notDetached = require('../internals/array-buffer-not-detached');
|
|
10
|
+
|
|
11
|
+
var base64Alphabet = base64Map.c2i;
|
|
12
|
+
var base64UrlAlphabet = base64Map.c2iUrl;
|
|
13
|
+
|
|
14
|
+
var SyntaxError = globalThis.SyntaxError;
|
|
15
|
+
var TypeError = globalThis.TypeError;
|
|
16
|
+
var at = uncurryThis(''.charAt);
|
|
17
|
+
|
|
18
|
+
var skipAsciiWhitespace = function (string, index) {
|
|
19
|
+
var length = string.length;
|
|
20
|
+
for (;index < length; index++) {
|
|
21
|
+
var chr = at(string, index);
|
|
22
|
+
if (chr !== ' ' && chr !== '\t' && chr !== '\n' && chr !== '\f' && chr !== '\r') break;
|
|
23
|
+
} return index;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
var decodeBase64Chunk = function (chunk, alphabet, throwOnExtraBits) {
|
|
27
|
+
var chunkLength = chunk.length;
|
|
28
|
+
|
|
29
|
+
if (chunkLength < 4) {
|
|
30
|
+
chunk += chunkLength === 2 ? 'AA' : 'A';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
var triplet = (alphabet[at(chunk, 0)] << 18)
|
|
34
|
+
+ (alphabet[at(chunk, 1)] << 12)
|
|
35
|
+
+ (alphabet[at(chunk, 2)] << 6)
|
|
36
|
+
+ alphabet[at(chunk, 3)];
|
|
37
|
+
|
|
38
|
+
var chunkBytes = [
|
|
39
|
+
(triplet >> 16) & 255,
|
|
40
|
+
(triplet >> 8) & 255,
|
|
41
|
+
triplet & 255
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
if (chunkLength === 2) {
|
|
45
|
+
if (throwOnExtraBits && chunkBytes[1] !== 0) {
|
|
46
|
+
throw new SyntaxError('Extra bits');
|
|
47
|
+
}
|
|
48
|
+
return [chunkBytes[0]];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (chunkLength === 3) {
|
|
52
|
+
if (throwOnExtraBits && chunkBytes[2] !== 0) {
|
|
53
|
+
throw new SyntaxError('Extra bits');
|
|
54
|
+
}
|
|
55
|
+
return [chunkBytes[0], chunkBytes[1]];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return chunkBytes;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
var writeBytes = function (bytes, elements, written) {
|
|
62
|
+
var elementsLength = elements.length;
|
|
63
|
+
for (var index = 0; index < elementsLength; index++) {
|
|
64
|
+
bytes[written + index] = elements[index];
|
|
65
|
+
}
|
|
66
|
+
return written + elementsLength;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/* eslint-disable max-statements, max-depth -- TODO */
|
|
70
|
+
module.exports = function (string, options, into, maxLength) {
|
|
71
|
+
aString(string);
|
|
72
|
+
anObjectOrUndefined(options);
|
|
73
|
+
var alphabet = getAlphabetOption(options) === 'base64' ? base64Alphabet : base64UrlAlphabet;
|
|
74
|
+
var lastChunkHandling = options ? options.lastChunkHandling : undefined;
|
|
75
|
+
|
|
76
|
+
if (lastChunkHandling === undefined) lastChunkHandling = 'loose';
|
|
77
|
+
|
|
78
|
+
if (lastChunkHandling !== 'loose' && lastChunkHandling !== 'strict' && lastChunkHandling !== 'stop-before-partial') {
|
|
79
|
+
throw new TypeError('Incorrect `lastChunkHandling` option');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (into) notDetached(into.buffer);
|
|
83
|
+
|
|
84
|
+
var bytes = into || [];
|
|
85
|
+
var written = 0;
|
|
86
|
+
var read = 0;
|
|
87
|
+
var chunk = '';
|
|
88
|
+
var index = 0;
|
|
89
|
+
|
|
90
|
+
if (maxLength) while (true) {
|
|
91
|
+
index = skipAsciiWhitespace(string, index);
|
|
92
|
+
if (index === string.length) {
|
|
93
|
+
if (chunk.length > 0) {
|
|
94
|
+
if (lastChunkHandling === 'stop-before-partial') {
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
if (lastChunkHandling === 'loose') {
|
|
98
|
+
if (chunk.length === 1) {
|
|
99
|
+
throw new SyntaxError('Malformed padding: exactly one additional character');
|
|
100
|
+
}
|
|
101
|
+
written = writeBytes(bytes, decodeBase64Chunk(chunk, alphabet, false), written);
|
|
102
|
+
} else {
|
|
103
|
+
throw new SyntaxError('Missing padding');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
read = string.length;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
var chr = at(string, index);
|
|
110
|
+
++index;
|
|
111
|
+
if (chr === '=') {
|
|
112
|
+
if (chunk.length < 2) {
|
|
113
|
+
throw new SyntaxError('Padding is too early');
|
|
114
|
+
}
|
|
115
|
+
index = skipAsciiWhitespace(string, index);
|
|
116
|
+
if (chunk.length === 2) {
|
|
117
|
+
if (index === string.length) {
|
|
118
|
+
if (lastChunkHandling === 'stop-before-partial') {
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
throw new SyntaxError('Malformed padding: only one =');
|
|
122
|
+
}
|
|
123
|
+
if (at(string, index) === '=') {
|
|
124
|
+
++index;
|
|
125
|
+
index = skipAsciiWhitespace(string, index);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (index < string.length) {
|
|
129
|
+
throw new SyntaxError('Unexpected character after padding');
|
|
130
|
+
}
|
|
131
|
+
written = writeBytes(bytes, decodeBase64Chunk(chunk, alphabet, lastChunkHandling === 'strict'), written);
|
|
132
|
+
read = string.length;
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
if (!hasOwn(alphabet, chr)) {
|
|
136
|
+
throw new SyntaxError('Unexpected character');
|
|
137
|
+
}
|
|
138
|
+
var remainingBytes = maxLength - written;
|
|
139
|
+
if (remainingBytes === 1 && chunk.length === 2 || remainingBytes === 2 && chunk.length === 3) {
|
|
140
|
+
// special case: we can fit exactly the number of bytes currently represented by chunk, so we were just checking for `=`
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
chunk += chr;
|
|
145
|
+
if (chunk.length === 4) {
|
|
146
|
+
written = writeBytes(bytes, decodeBase64Chunk(chunk, alphabet, false), written);
|
|
147
|
+
chunk = '';
|
|
148
|
+
read = index;
|
|
149
|
+
if (written === maxLength) {
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return { bytes: bytes, read: read, written: written };
|
|
156
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var globalThis = require('../internals/global-this');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
|
|
5
|
+
var Uint8Array = globalThis.Uint8Array;
|
|
6
|
+
var SyntaxError = globalThis.SyntaxError;
|
|
7
|
+
var parseInt = globalThis.parseInt;
|
|
8
|
+
var min = Math.min;
|
|
9
|
+
var NOT_HEX = /[^\da-f]/i;
|
|
10
|
+
var exec = uncurryThis(NOT_HEX.exec);
|
|
11
|
+
var stringSlice = uncurryThis(''.slice);
|
|
12
|
+
|
|
13
|
+
module.exports = function (string, into) {
|
|
14
|
+
var stringLength = string.length;
|
|
15
|
+
if (stringLength % 2 !== 0) throw new SyntaxError('String should be an even number of characters');
|
|
16
|
+
var maxLength = into ? min(into.length, stringLength / 2) : stringLength / 2;
|
|
17
|
+
var bytes = into || new Uint8Array(maxLength);
|
|
18
|
+
var read = 0;
|
|
19
|
+
var written = 0;
|
|
20
|
+
while (written < maxLength) {
|
|
21
|
+
var hexits = stringSlice(string, read, read += 2);
|
|
22
|
+
if (exec(NOT_HEX, hexits)) throw new SyntaxError('String should only contain hex characters');
|
|
23
|
+
bytes[written++] = parseInt(hexits, 16);
|
|
24
|
+
}
|
|
25
|
+
return { bytes: bytes, read: read };
|
|
26
|
+
};
|
|
@@ -8,7 +8,7 @@ var ITERATOR = wellKnownSymbol('iterator');
|
|
|
8
8
|
|
|
9
9
|
module.exports = !fails(function () {
|
|
10
10
|
// eslint-disable-next-line unicorn/relative-url-style -- required for testing
|
|
11
|
-
var url = new URL('b?a=1&b=2&c=3', '
|
|
11
|
+
var url = new URL('b?a=1&b=2&c=3', 'https://a');
|
|
12
12
|
var params = url.searchParams;
|
|
13
13
|
var params2 = new URLSearchParams('a=1&a=2&b=3');
|
|
14
14
|
var result = '';
|
|
@@ -24,7 +24,7 @@ module.exports = !fails(function () {
|
|
|
24
24
|
return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b')))
|
|
25
25
|
|| (!params.size && (IS_PURE || !DESCRIPTORS))
|
|
26
26
|
|| !params.sort
|
|
27
|
-
|| url.href !== '
|
|
27
|
+
|| url.href !== 'https://a/c%20d?a=1&c=3'
|
|
28
28
|
|| params.get('c') !== '3'
|
|
29
29
|
|| String(new URLSearchParams('?a=1')) !== 'a=1'
|
|
30
30
|
|| !params[ITERATOR]
|
|
@@ -32,11 +32,11 @@ module.exports = !fails(function () {
|
|
|
32
32
|
|| new URL('https://a@b').username !== 'a'
|
|
33
33
|
|| new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
|
|
34
34
|
// not punycoded in Edge
|
|
35
|
-
|| new URL('
|
|
35
|
+
|| new URL('https://тест').host !== 'xn--e1aybc'
|
|
36
36
|
// not escaped in Chrome 62-
|
|
37
|
-
|| new URL('
|
|
37
|
+
|| new URL('https://a#б').hash !== '#%D0%B1'
|
|
38
38
|
// fails in Chrome 66-
|
|
39
39
|
|| result !== 'a1c3'
|
|
40
40
|
// throws in Safari
|
|
41
|
-
|| new URL('
|
|
41
|
+
|| new URL('https://x', undefined).host !== 'x';
|
|
42
42
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var globalThis = require('../internals/global-this');
|
|
3
3
|
var isCallable = require('../internals/is-callable');
|
|
4
4
|
|
|
5
|
-
var WeakMap =
|
|
5
|
+
var WeakMap = globalThis.WeakMap;
|
|
6
6
|
|
|
7
7
|
module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var globalThis = require('../internals/global-this');
|
|
3
3
|
var shared = require('../internals/shared');
|
|
4
4
|
var hasOwn = require('../internals/has-own-property');
|
|
5
5
|
var uid = require('../internals/uid');
|
|
6
6
|
var NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');
|
|
7
7
|
var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');
|
|
8
8
|
|
|
9
|
-
var Symbol =
|
|
9
|
+
var Symbol = globalThis.Symbol;
|
|
10
10
|
var WellKnownSymbolsStore = shared('wks');
|
|
11
11
|
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;
|
|
12
12
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
var arrayBufferModule = require('../internals/array-buffer');
|
|
5
5
|
var setSpecies = require('../internals/set-species');
|
|
6
6
|
|
|
7
7
|
var ARRAY_BUFFER = 'ArrayBuffer';
|
|
8
8
|
var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];
|
|
9
|
-
var NativeArrayBuffer =
|
|
9
|
+
var NativeArrayBuffer = globalThis[ARRAY_BUFFER];
|
|
10
10
|
|
|
11
11
|
// `ArrayBuffer` constructor
|
|
12
12
|
// https://tc39.es/ecma262/#sec-arraybuffer-constructor
|
|
@@ -10,7 +10,7 @@ var createProperty = require('../internals/create-property');
|
|
|
10
10
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
11
11
|
var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
|
|
12
12
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
13
|
-
var V8_VERSION = require('../internals/
|
|
13
|
+
var V8_VERSION = require('../internals/environment-v8-version');
|
|
14
14
|
|
|
15
15
|
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
|
|
16
16
|
|
|
@@ -37,7 +37,7 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
|
|
|
37
37
|
var target = state.target;
|
|
38
38
|
var index = state.index++;
|
|
39
39
|
if (!target || index >= target.length) {
|
|
40
|
-
state.target =
|
|
40
|
+
state.target = null;
|
|
41
41
|
return createIterResultObject(undefined, true);
|
|
42
42
|
}
|
|
43
43
|
switch (state.kind) {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $reduceRight = require('../internals/array-reduce').right;
|
|
4
4
|
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
5
|
-
var CHROME_VERSION = require('../internals/
|
|
6
|
-
var IS_NODE = require('../internals/
|
|
5
|
+
var CHROME_VERSION = require('../internals/environment-v8-version');
|
|
6
|
+
var IS_NODE = require('../internals/environment-is-node');
|
|
7
7
|
|
|
8
8
|
// Chrome 80-82 has a critical bug
|
|
9
9
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $reduce = require('../internals/array-reduce').left;
|
|
4
4
|
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
5
|
-
var CHROME_VERSION = require('../internals/
|
|
6
|
-
var IS_NODE = require('../internals/
|
|
5
|
+
var CHROME_VERSION = require('../internals/environment-v8-version');
|
|
6
|
+
var IS_NODE = require('../internals/environment-is-node');
|
|
7
7
|
|
|
8
8
|
// Chrome 80-82 has a critical bug
|
|
9
9
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
|
package/modules/es.array.sort.js
CHANGED
|
@@ -9,10 +9,10 @@ var toString = require('../internals/to-string');
|
|
|
9
9
|
var fails = require('../internals/fails');
|
|
10
10
|
var internalSort = require('../internals/array-sort');
|
|
11
11
|
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
12
|
-
var FF = require('../internals/
|
|
13
|
-
var IE_OR_EDGE = require('../internals/
|
|
14
|
-
var V8 = require('../internals/
|
|
15
|
-
var WEBKIT = require('../internals/
|
|
12
|
+
var FF = require('../internals/environment-ff-version');
|
|
13
|
+
var IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');
|
|
14
|
+
var V8 = require('../internals/environment-v8-version');
|
|
15
|
+
var WEBKIT = require('../internals/environment-webkit-version');
|
|
16
16
|
|
|
17
17
|
var test = [];
|
|
18
18
|
var nativeSort = uncurryThis(test.sort);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/* eslint-disable no-unused-vars -- required for functions `.length` */
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
-
var
|
|
4
|
+
var globalThis = require('../internals/global-this');
|
|
5
5
|
var apply = require('../internals/function-apply');
|
|
6
6
|
var wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');
|
|
7
7
|
|
|
8
8
|
var WEB_ASSEMBLY = 'WebAssembly';
|
|
9
|
-
var WebAssembly =
|
|
9
|
+
var WebAssembly = globalThis[WEB_ASSEMBLY];
|
|
10
10
|
|
|
11
11
|
// eslint-disable-next-line es/no-error-cause -- feature detection
|
|
12
12
|
var FORCED = new Error('e', { cause: 7 }).cause !== 7;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
|
|
5
5
|
// `globalThis` object
|
|
6
6
|
// https://tc39.es/ecma262/#sec-globalthis
|
|
7
|
-
$({ global: true, forced:
|
|
8
|
-
globalThis:
|
|
7
|
+
$({ global: true, forced: globalThis.globalThis !== globalThis }, {
|
|
8
|
+
globalThis: globalThis
|
|
9
9
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var globalThis = require('../internals/global-this');
|
|
3
3
|
var setToStringTag = require('../internals/set-to-string-tag');
|
|
4
4
|
|
|
5
5
|
// JSON[@@toStringTag] property
|
|
6
6
|
// https://tc39.es/ecma262/#sec-json-@@tostringtag
|
|
7
|
-
setToStringTag(
|
|
7
|
+
setToStringTag(globalThis.JSON, 'JSON', true);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
4
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
5
|
-
var
|
|
5
|
+
var globalThis = require('../internals/global-this');
|
|
6
6
|
var path = require('../internals/path');
|
|
7
7
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
8
8
|
var isForced = require('../internals/is-forced');
|
|
@@ -19,10 +19,10 @@ var thisNumberValue = require('../internals/this-number-value');
|
|
|
19
19
|
var trim = require('../internals/string-trim').trim;
|
|
20
20
|
|
|
21
21
|
var NUMBER = 'Number';
|
|
22
|
-
var NativeNumber =
|
|
22
|
+
var NativeNumber = globalThis[NUMBER];
|
|
23
23
|
var PureNumberNamespace = path[NUMBER];
|
|
24
24
|
var NumberPrototype = NativeNumber.prototype;
|
|
25
|
-
var TypeError =
|
|
25
|
+
var TypeError = globalThis.TypeError;
|
|
26
26
|
var stringSlice = uncurryThis(''.slice);
|
|
27
27
|
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
28
28
|
|
|
@@ -58,10 +58,7 @@ $({ target: 'Number', proto: true, forced: FORCED }, {
|
|
|
58
58
|
if (f < 0 || f > 20) throw new $RangeError('Incorrect fraction digits');
|
|
59
59
|
if (ROUNDS_PROPERLY) return nativeToExponential(x, f);
|
|
60
60
|
var s = '';
|
|
61
|
-
var m
|
|
62
|
-
var e = 0;
|
|
63
|
-
var c = '';
|
|
64
|
-
var d = '';
|
|
61
|
+
var m, e, c, d;
|
|
65
62
|
if (x < 0) {
|
|
66
63
|
s = '-';
|
|
67
64
|
x = -x;
|
|
@@ -74,9 +71,8 @@ $({ target: 'Number', proto: true, forced: FORCED }, {
|
|
|
74
71
|
// TODO: improve accuracy with big fraction digits
|
|
75
72
|
var l = log10(x);
|
|
76
73
|
e = floor(l);
|
|
77
|
-
var n = 0;
|
|
78
74
|
var w = pow(10, e - f);
|
|
79
|
-
n = round(x / w);
|
|
75
|
+
var n = round(x / w);
|
|
80
76
|
if (2 * x >= (2 * n + 1) * w) {
|
|
81
77
|
n += 1;
|
|
82
78
|
}
|
|
@@ -8,7 +8,7 @@ var toPropertyKey = require('../internals/to-property-key');
|
|
|
8
8
|
var iterate = require('../internals/iterate');
|
|
9
9
|
var fails = require('../internals/fails');
|
|
10
10
|
|
|
11
|
-
// eslint-disable-next-line es/no-object-
|
|
11
|
+
// eslint-disable-next-line es/no-object-groupby -- testing
|
|
12
12
|
var nativeGroupBy = Object.groupBy;
|
|
13
13
|
var create = getBuiltIn('Object', 'create');
|
|
14
14
|
var push = uncurryThis([].push);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
|
-
var IS_NODE = require('../internals/
|
|
5
|
-
var
|
|
4
|
+
var IS_NODE = require('../internals/environment-is-node');
|
|
5
|
+
var globalThis = require('../internals/global-this');
|
|
6
6
|
var call = require('../internals/function-call');
|
|
7
7
|
var defineBuiltIn = require('../internals/define-built-in');
|
|
8
8
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
@@ -32,13 +32,13 @@ var setInternalState = InternalStateModule.set;
|
|
|
32
32
|
var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
|
|
33
33
|
var PromiseConstructor = NativePromiseConstructor;
|
|
34
34
|
var PromisePrototype = NativePromisePrototype;
|
|
35
|
-
var TypeError =
|
|
36
|
-
var document =
|
|
37
|
-
var process =
|
|
35
|
+
var TypeError = globalThis.TypeError;
|
|
36
|
+
var document = globalThis.document;
|
|
37
|
+
var process = globalThis.process;
|
|
38
38
|
var newPromiseCapability = newPromiseCapabilityModule.f;
|
|
39
39
|
var newGenericPromiseCapability = newPromiseCapability;
|
|
40
40
|
|
|
41
|
-
var DISPATCH_EVENT = !!(document && document.createEvent &&
|
|
41
|
+
var DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);
|
|
42
42
|
var UNHANDLED_REJECTION = 'unhandledrejection';
|
|
43
43
|
var REJECTION_HANDLED = 'rejectionhandled';
|
|
44
44
|
var PENDING = 0;
|
|
@@ -111,14 +111,14 @@ var dispatchEvent = function (name, promise, reason) {
|
|
|
111
111
|
event.promise = promise;
|
|
112
112
|
event.reason = reason;
|
|
113
113
|
event.initEvent(name, false, true);
|
|
114
|
-
|
|
114
|
+
globalThis.dispatchEvent(event);
|
|
115
115
|
} else event = { promise: promise, reason: reason };
|
|
116
|
-
if (!NATIVE_PROMISE_REJECTION_EVENT && (handler =
|
|
116
|
+
if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);
|
|
117
117
|
else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
|
|
118
118
|
};
|
|
119
119
|
|
|
120
120
|
var onUnhandled = function (state) {
|
|
121
|
-
call(task,
|
|
121
|
+
call(task, globalThis, function () {
|
|
122
122
|
var promise = state.facade;
|
|
123
123
|
var value = state.value;
|
|
124
124
|
var IS_UNHANDLED = isUnhandled(state);
|
|
@@ -141,7 +141,7 @@ var isUnhandled = function (state) {
|
|
|
141
141
|
};
|
|
142
142
|
|
|
143
143
|
var onHandleUnhandled = function (state) {
|
|
144
|
-
call(task,
|
|
144
|
+
call(task, globalThis, function () {
|
|
145
145
|
var promise = state.facade;
|
|
146
146
|
if (IS_NODE) {
|
|
147
147
|
process.emit('rejectionHandled', promise);
|
|
@@ -220,7 +220,7 @@ if (FORCED_PROMISE_CONSTRUCTOR) {
|
|
|
220
220
|
reactions: new Queue(),
|
|
221
221
|
rejection: false,
|
|
222
222
|
state: PENDING,
|
|
223
|
-
value:
|
|
223
|
+
value: null
|
|
224
224
|
});
|
|
225
225
|
};
|
|
226
226
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
var setToStringTag = require('../internals/set-to-string-tag');
|
|
5
5
|
|
|
6
6
|
$({ global: true }, { Reflect: {} });
|
|
7
7
|
|
|
8
8
|
// Reflect[@@toStringTag] property
|
|
9
9
|
// https://tc39.es/ecma262/#sec-reflect-@@tostringtag
|
|
10
|
-
setToStringTag(
|
|
10
|
+
setToStringTag(globalThis.Reflect, 'Reflect', true);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
3
|
-
var
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
5
|
var isForced = require('../internals/is-forced');
|
|
6
6
|
var inheritIfRequired = require('../internals/inherit-if-required');
|
|
@@ -23,9 +23,9 @@ var UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');
|
|
|
23
23
|
var UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');
|
|
24
24
|
|
|
25
25
|
var MATCH = wellKnownSymbol('match');
|
|
26
|
-
var NativeRegExp =
|
|
26
|
+
var NativeRegExp = globalThis.RegExp;
|
|
27
27
|
var RegExpPrototype = NativeRegExp.prototype;
|
|
28
|
-
var SyntaxError =
|
|
28
|
+
var SyntaxError = globalThis.SyntaxError;
|
|
29
29
|
var exec = uncurryThis(RegExpPrototype.exec);
|
|
30
30
|
var charAt = uncurryThis(''.charAt);
|
|
31
31
|
var replace = uncurryThis(''.replace);
|
|
@@ -46,6 +46,7 @@ var BASE_FORCED = DESCRIPTORS &&
|
|
|
46
46
|
(!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {
|
|
47
47
|
re2[MATCH] = false;
|
|
48
48
|
// RegExp constructor can alter flags and IsRegExp works correct with @@match
|
|
49
|
+
// eslint-disable-next-line sonar/inconsistent-function-call -- required for testing
|
|
49
50
|
return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i';
|
|
50
51
|
}));
|
|
51
52
|
|
|
@@ -95,11 +96,15 @@ var handleNCG = function (string) {
|
|
|
95
96
|
brackets = true;
|
|
96
97
|
break;
|
|
97
98
|
case chr === '(':
|
|
99
|
+
result += chr;
|
|
100
|
+
// ignore non-capturing groups
|
|
101
|
+
if (stringSlice(string, index + 1, index + 3) === '?:') {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
98
104
|
if (exec(IS_NCG, stringSlice(string, index + 1))) {
|
|
99
105
|
index += 2;
|
|
100
106
|
ncg = true;
|
|
101
107
|
}
|
|
102
|
-
result += chr;
|
|
103
108
|
groupid++;
|
|
104
109
|
continue;
|
|
105
110
|
case chr === '>' && ncg:
|
|
@@ -185,7 +190,7 @@ if (isForced('RegExp', BASE_FORCED)) {
|
|
|
185
190
|
|
|
186
191
|
RegExpPrototype.constructor = RegExpWrapper;
|
|
187
192
|
RegExpWrapper.prototype = RegExpPrototype;
|
|
188
|
-
defineBuiltIn(
|
|
193
|
+
defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true });
|
|
189
194
|
}
|
|
190
195
|
|
|
191
196
|
// https://tc39.es/ecma262/#sec-get-regexp-@@species
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var globalThis = require('../internals/global-this');
|
|
3
3
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
4
4
|
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
5
5
|
var regExpFlags = require('../internals/regexp-flags');
|
|
6
6
|
var fails = require('../internals/fails');
|
|
7
7
|
|
|
8
8
|
// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError
|
|
9
|
-
var RegExp =
|
|
9
|
+
var RegExp = globalThis.RegExp;
|
|
10
10
|
var RegExpPrototype = RegExp.prototype;
|
|
11
11
|
|
|
12
12
|
var FORCED = DESCRIPTORS && fails(function () {
|
|
@@ -9,7 +9,7 @@ var fails = require('../internals/fails');
|
|
|
9
9
|
var charAt = uncurryThis(''.charAt);
|
|
10
10
|
|
|
11
11
|
var FORCED = fails(function () {
|
|
12
|
-
// eslint-disable-next-line es/no-
|
|
12
|
+
// eslint-disable-next-line es/no-string-prototype-at -- safe
|
|
13
13
|
return '𠮷'.at(-2) !== '\uD842';
|
|
14
14
|
});
|
|
15
15
|
|
|
@@ -25,8 +25,7 @@ var max = Math.max;
|
|
|
25
25
|
$({ target: 'String', proto: true }, {
|
|
26
26
|
replaceAll: function replaceAll(searchValue, replaceValue) {
|
|
27
27
|
var O = requireObjectCoercible(this);
|
|
28
|
-
var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;
|
|
29
|
-
var position = 0;
|
|
28
|
+
var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, position, replacement;
|
|
30
29
|
var endOfLastMatch = 0;
|
|
31
30
|
var result = '';
|
|
32
31
|
if (!isNullOrUndefined(searchValue)) {
|
|
@@ -36,11 +35,8 @@ $({ target: 'String', proto: true }, {
|
|
|
36
35
|
if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes');
|
|
37
36
|
}
|
|
38
37
|
replacer = getMethod(searchValue, REPLACE);
|
|
39
|
-
if (replacer)
|
|
40
|
-
|
|
41
|
-
} else if (IS_PURE && IS_REG_EXP) {
|
|
42
|
-
return replace(toString(O), searchValue, replaceValue);
|
|
43
|
-
}
|
|
38
|
+
if (replacer) return call(replacer, searchValue, O, replaceValue);
|
|
39
|
+
if (IS_PURE && IS_REG_EXP) return replace(toString(O), searchValue, replaceValue);
|
|
44
40
|
}
|
|
45
41
|
string = toString(O);
|
|
46
42
|
searchString = toString(searchValue);
|