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
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
|
+
var aString = require('../internals/a-string');
|
|
5
|
+
var anUint8Array = require('../internals/an-uint8-array');
|
|
6
|
+
var notDetached = require('../internals/array-buffer-not-detached');
|
|
7
|
+
var $fromHex = require('../internals/uint8-from-hex');
|
|
8
|
+
|
|
9
|
+
// `Uint8Array.prototype.setFromHex` method
|
|
10
|
+
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
11
|
+
if (globalThis.Uint8Array) $({ target: 'Uint8Array', proto: true }, {
|
|
12
|
+
setFromHex: function setFromHex(string) {
|
|
13
|
+
anUint8Array(this);
|
|
14
|
+
aString(string);
|
|
15
|
+
notDetached(this.buffer);
|
|
16
|
+
var read = $fromHex(string, this).read;
|
|
17
|
+
return { read: read, written: read / 2 };
|
|
18
|
+
}
|
|
19
|
+
});
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
5
|
var anObjectOrUndefined = require('../internals/an-object-or-undefined');
|
|
6
6
|
var anUint8Array = require('../internals/an-uint8-array');
|
|
7
|
+
var notDetached = require('../internals/array-buffer-not-detached');
|
|
7
8
|
var base64Map = require('../internals/base64-map');
|
|
8
9
|
var getAlphabetOption = require('../internals/get-alphabet-option');
|
|
9
10
|
|
|
10
11
|
var base64Alphabet = base64Map.i2c;
|
|
11
12
|
var base64UrlAlphabet = base64Map.i2cUrl;
|
|
12
13
|
|
|
13
|
-
var Uint8Array = global.Uint8Array;
|
|
14
14
|
var charAt = uncurryThis(''.charAt);
|
|
15
15
|
|
|
16
16
|
// `Uint8Array.prototype.toBase64` method
|
|
17
17
|
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
18
|
-
if (Uint8Array) $({ target: 'Uint8Array', proto: true
|
|
18
|
+
if (globalThis.Uint8Array) $({ target: 'Uint8Array', proto: true }, {
|
|
19
19
|
toBase64: function toBase64(/* options */) {
|
|
20
20
|
var array = anUint8Array(this);
|
|
21
21
|
var options = arguments.length ? anObjectOrUndefined(arguments[0]) : undefined;
|
|
22
22
|
var alphabet = getAlphabetOption(options) === 'base64' ? base64Alphabet : base64UrlAlphabet;
|
|
23
|
+
var omitPadding = !!options && !!options.omitPadding;
|
|
24
|
+
notDetached(this.buffer);
|
|
23
25
|
|
|
24
26
|
var result = '';
|
|
25
27
|
var i = 0;
|
|
@@ -36,10 +38,10 @@ if (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: true }, {
|
|
|
36
38
|
}
|
|
37
39
|
if (i + 2 === length) {
|
|
38
40
|
triplet = (array[i] << 16) + (array[i + 1] << 8);
|
|
39
|
-
result += at(3) + at(2) + at(1) + '=';
|
|
41
|
+
result += at(3) + at(2) + at(1) + (omitPadding ? '' : '=');
|
|
40
42
|
} else if (i + 1 === length) {
|
|
41
43
|
triplet = array[i] << 16;
|
|
42
|
-
result += at(3) + at(2) + '==';
|
|
44
|
+
result += at(3) + at(2) + (omitPadding ? '' : '==');
|
|
43
45
|
}
|
|
44
46
|
|
|
45
47
|
return result;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
5
|
var anUint8Array = require('../internals/an-uint8-array');
|
|
6
|
+
var notDetached = require('../internals/array-buffer-not-detached');
|
|
6
7
|
|
|
7
|
-
var Uint8Array = global.Uint8Array;
|
|
8
8
|
var numberToString = uncurryThis(1.0.toString);
|
|
9
9
|
|
|
10
10
|
// `Uint8Array.prototype.toHex` method
|
|
11
11
|
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
12
|
-
if (Uint8Array) $({ target: 'Uint8Array', proto: true
|
|
12
|
+
if (globalThis.Uint8Array) $({ target: 'Uint8Array', proto: true }, {
|
|
13
13
|
toHex: function toHex() {
|
|
14
14
|
anUint8Array(this);
|
|
15
|
+
notDetached(this.buffer);
|
|
15
16
|
var result = '';
|
|
16
17
|
for (var i = 0, length = this.length; i < length; i++) {
|
|
17
18
|
var hex = numberToString(this[i], 16);
|
package/modules/web.atob.js
CHANGED
|
@@ -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 getBuiltIn = require('../internals/get-built-in');
|
|
5
5
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
6
6
|
var call = require('../internals/function-call');
|
|
@@ -45,7 +45,7 @@ $({ global: true, bind: true, enumerable: true, forced: FORCED }, {
|
|
|
45
45
|
atob: function atob(data) {
|
|
46
46
|
validateArgumentsLength(arguments.length, 1);
|
|
47
47
|
// `webpack` dev server bug on IE global methods - use call(fn, global, ...)
|
|
48
|
-
if (BASIC && !NO_SPACES_IGNORE && !NO_ENCODING_CHECK) return call($atob,
|
|
48
|
+
if (BASIC && !NO_SPACES_IGNORE && !NO_ENCODING_CHECK) return call($atob, globalThis, data);
|
|
49
49
|
var string = replace(toString(data), whitespaces, '');
|
|
50
50
|
var output = '';
|
|
51
51
|
var position = 0;
|
package/modules/web.btoa.js
CHANGED
|
@@ -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 getBuiltIn = require('../internals/get-built-in');
|
|
5
5
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
6
6
|
var call = require('../internals/function-call');
|
|
@@ -33,7 +33,7 @@ $({ global: true, bind: true, enumerable: true, forced: !BASIC || NO_ARG_RECEIVI
|
|
|
33
33
|
btoa: function btoa(data) {
|
|
34
34
|
validateArgumentsLength(arguments.length, 1);
|
|
35
35
|
// `webpack` dev server bug on IE global methods - use call(fn, global, ...)
|
|
36
|
-
if (BASIC) return call($btoa,
|
|
36
|
+
if (BASIC) return call($btoa, globalThis, toString(data));
|
|
37
37
|
var string = toString(data);
|
|
38
38
|
var output = '';
|
|
39
39
|
var position = 0;
|
|
@@ -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 clearImmediate = require('../internals/task').clear;
|
|
5
5
|
|
|
6
6
|
// `clearImmediate` method
|
|
7
7
|
// http://w3c.github.io/setImmediate/#si-clearImmediate
|
|
8
|
-
$({ global: true, bind: true, enumerable: true, forced:
|
|
8
|
+
$({ global: true, bind: true, enumerable: true, forced: globalThis.clearImmediate !== clearImmediate }, {
|
|
9
9
|
clearImmediate: clearImmediate
|
|
10
10
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var globalThis = require('../internals/global-this');
|
|
3
3
|
var DOMIterables = require('../internals/dom-iterables');
|
|
4
4
|
var DOMTokenListPrototype = require('../internals/dom-token-list-prototype');
|
|
5
5
|
var forEach = require('../internals/array-for-each');
|
|
@@ -16,7 +16,7 @@ var handlePrototype = function (CollectionPrototype) {
|
|
|
16
16
|
|
|
17
17
|
for (var COLLECTION_NAME in DOMIterables) {
|
|
18
18
|
if (DOMIterables[COLLECTION_NAME]) {
|
|
19
|
-
handlePrototype(
|
|
19
|
+
handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var globalThis = require('../internals/global-this');
|
|
3
3
|
var DOMIterables = require('../internals/dom-iterables');
|
|
4
4
|
var DOMTokenListPrototype = require('../internals/dom-token-list-prototype');
|
|
5
5
|
var ArrayIteratorMethods = require('../modules/es.array.iterator');
|
|
@@ -31,7 +31,7 @@ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
for (var COLLECTION_NAME in DOMIterables) {
|
|
34
|
-
handlePrototype(
|
|
34
|
+
handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var tryNodeRequire = require('../internals/try-node-require');
|
|
4
3
|
var getBuiltIn = require('../internals/get-built-in');
|
|
4
|
+
var getBuiltInNodeModule = require('../internals/get-built-in-node-module');
|
|
5
5
|
var fails = require('../internals/fails');
|
|
6
6
|
var create = require('../internals/object-create');
|
|
7
7
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
@@ -26,7 +26,7 @@ var Error = getBuiltIn('Error');
|
|
|
26
26
|
var NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () {
|
|
27
27
|
try {
|
|
28
28
|
// NodeJS < 15.0 does not expose `MessageChannel` to global
|
|
29
|
-
var MessageChannel = getBuiltIn('MessageChannel') ||
|
|
29
|
+
var MessageChannel = getBuiltIn('MessageChannel') || getBuiltInNodeModule('worker_threads').MessageChannel;
|
|
30
30
|
// eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe
|
|
31
31
|
new MessageChannel().port1.postMessage(new WeakMap());
|
|
32
32
|
} catch (error) {
|
|
@@ -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 getBuiltIn = require('../internals/get-built-in');
|
|
5
5
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
6
6
|
var defineProperty = require('../internals/object-define-property').f;
|
|
@@ -36,7 +36,7 @@ var ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION);
|
|
|
36
36
|
var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);
|
|
37
37
|
|
|
38
38
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
39
|
-
var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(
|
|
39
|
+
var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION);
|
|
40
40
|
|
|
41
41
|
// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it
|
|
42
42
|
// https://github.com/Jarred-Sumner/bun/issues/399
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var globalThis = require('../internals/global');
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
var microtask = require('../internals/microtask');
|
|
5
5
|
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
package/modules/web.self.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
5
5
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
6
6
|
|
|
7
7
|
var $TypeError = TypeError;
|
|
8
8
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
9
9
|
var defineProperty = Object.defineProperty;
|
|
10
|
-
var INCORRECT_VALUE =
|
|
10
|
+
var INCORRECT_VALUE = globalThis.self !== globalThis;
|
|
11
11
|
|
|
12
12
|
// `self` getter
|
|
13
13
|
// https://html.spec.whatwg.org/multipage/window-object.html#dom-self
|
|
14
14
|
try {
|
|
15
15
|
if (DESCRIPTORS) {
|
|
16
16
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
17
|
-
var descriptor = Object.getOwnPropertyDescriptor(
|
|
17
|
+
var descriptor = Object.getOwnPropertyDescriptor(globalThis, 'self');
|
|
18
18
|
// some engines have `self`, but with incorrect descriptor
|
|
19
19
|
// https://github.com/denoland/deno/issues/15765
|
|
20
20
|
if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) {
|
|
21
|
-
defineBuiltInAccessor(
|
|
21
|
+
defineBuiltInAccessor(globalThis, 'self', {
|
|
22
22
|
get: function self() {
|
|
23
|
-
return
|
|
23
|
+
return globalThis;
|
|
24
24
|
},
|
|
25
25
|
set: function self(value) {
|
|
26
|
-
if (this !==
|
|
27
|
-
defineProperty(
|
|
26
|
+
if (this !== globalThis) throw new $TypeError('Illegal invocation');
|
|
27
|
+
defineProperty(globalThis, 'self', {
|
|
28
28
|
value: value,
|
|
29
29
|
writable: true,
|
|
30
30
|
configurable: true,
|
|
@@ -36,6 +36,6 @@ try {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
} else $({ global: true, simple: true, forced: INCORRECT_VALUE }, {
|
|
39
|
-
self:
|
|
39
|
+
self: globalThis
|
|
40
40
|
});
|
|
41
41
|
} catch (error) { /* empty */ }
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
4
|
var setTask = require('../internals/task').set;
|
|
5
5
|
var schedulersFix = require('../internals/schedulers-fix');
|
|
6
6
|
|
|
7
7
|
// https://github.com/oven-sh/bun/issues/1633
|
|
8
|
-
var setImmediate =
|
|
8
|
+
var setImmediate = globalThis.setImmediate ? schedulersFix(setTask, false) : setTask;
|
|
9
9
|
|
|
10
10
|
// `setImmediate` method
|
|
11
11
|
// http://w3c.github.io/setImmediate/#si-setImmediate
|
|
12
|
-
$({ global: true, bind: true, enumerable: true, forced:
|
|
12
|
+
$({ global: true, bind: true, enumerable: true, forced: globalThis.setImmediate !== setImmediate }, {
|
|
13
13
|
setImmediate: setImmediate
|
|
14
14
|
});
|
|
@@ -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 schedulersFix = require('../internals/schedulers-fix');
|
|
5
5
|
|
|
6
|
-
var setInterval = schedulersFix(
|
|
6
|
+
var setInterval = schedulersFix(globalThis.setInterval, true);
|
|
7
7
|
|
|
8
8
|
// Bun / IE9- setInterval additional parameters fix
|
|
9
9
|
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
|
|
10
|
-
$({ global: true, bind: true, forced:
|
|
10
|
+
$({ global: true, bind: true, forced: globalThis.setInterval !== setInterval }, {
|
|
11
11
|
setInterval: setInterval
|
|
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 schedulersFix = require('../internals/schedulers-fix');
|
|
5
5
|
|
|
6
|
-
var setTimeout = schedulersFix(
|
|
6
|
+
var setTimeout = schedulersFix(globalThis.setTimeout, true);
|
|
7
7
|
|
|
8
8
|
// Bun / IE9- setTimeout additional parameters fix
|
|
9
9
|
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
|
|
10
|
-
$({ global: true, bind: true, forced:
|
|
10
|
+
$({ global: true, bind: true, forced: globalThis.setTimeout !== setTimeout }, {
|
|
11
11
|
setTimeout: setTimeout
|
|
12
12
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var IS_PURE = require('../internals/is-pure');
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
-
var
|
|
4
|
+
var globalThis = require('../internals/global-this');
|
|
5
5
|
var getBuiltIn = require('../internals/get-built-in');
|
|
6
6
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
7
7
|
var fails = require('../internals/fails');
|
|
@@ -27,12 +27,12 @@ var detachTransferable = require('../internals/detach-transferable');
|
|
|
27
27
|
var ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');
|
|
28
28
|
var PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');
|
|
29
29
|
|
|
30
|
-
var Object =
|
|
31
|
-
var Array =
|
|
32
|
-
var Date =
|
|
33
|
-
var Error =
|
|
34
|
-
var TypeError =
|
|
35
|
-
var PerformanceMark =
|
|
30
|
+
var Object = globalThis.Object;
|
|
31
|
+
var Array = globalThis.Array;
|
|
32
|
+
var Date = globalThis.Date;
|
|
33
|
+
var Error = globalThis.Error;
|
|
34
|
+
var TypeError = globalThis.TypeError;
|
|
35
|
+
var PerformanceMark = globalThis.PerformanceMark;
|
|
36
36
|
var DOMException = getBuiltIn('DOMException');
|
|
37
37
|
var Map = MapHelpers.Map;
|
|
38
38
|
var mapHas = MapHelpers.has;
|
|
@@ -53,7 +53,7 @@ var TRANSFERRING = 'Transferring';
|
|
|
53
53
|
|
|
54
54
|
var checkBasicSemantic = function (structuredCloneImplementation) {
|
|
55
55
|
return !fails(function () {
|
|
56
|
-
var set1 = new
|
|
56
|
+
var set1 = new globalThis.Set([7]);
|
|
57
57
|
var set2 = structuredCloneImplementation(set1);
|
|
58
58
|
var number = structuredCloneImplementation(Object(7));
|
|
59
59
|
return set2 === set1 || !set2.has(7) || !isObject(number) || +number !== 7;
|
|
@@ -71,7 +71,7 @@ var checkErrorsCloning = function (structuredCloneImplementation, $Error) {
|
|
|
71
71
|
// https://github.com/whatwg/html/pull/5749
|
|
72
72
|
var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) {
|
|
73
73
|
return !fails(function () {
|
|
74
|
-
var test = structuredCloneImplementation(new
|
|
74
|
+
var test = structuredCloneImplementation(new globalThis.AggregateError([1], PERFORMANCE_MARK, { cause: 3 }));
|
|
75
75
|
return test.name !== 'AggregateError' || test.errors[0] !== 1 || test.message !== PERFORMANCE_MARK || test.cause !== 3;
|
|
76
76
|
});
|
|
77
77
|
};
|
|
@@ -88,7 +88,7 @@ var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) {
|
|
|
88
88
|
// NodeJS implementation can't clone DOMExceptions
|
|
89
89
|
// https://github.com/nodejs/node/issues/41038
|
|
90
90
|
// only FF103+ supports new (html/5749) error cloning semantic
|
|
91
|
-
var nativeStructuredClone =
|
|
91
|
+
var nativeStructuredClone = globalThis.structuredClone;
|
|
92
92
|
|
|
93
93
|
var FORCED_REPLACEMENT = IS_PURE
|
|
94
94
|
|| !checkErrorsCloning(nativeStructuredClone, Error)
|
|
@@ -128,10 +128,10 @@ var tryNativeRestrictedStructuredClone = function (value, type) {
|
|
|
128
128
|
var createDataTransfer = function () {
|
|
129
129
|
var dataTransfer;
|
|
130
130
|
try {
|
|
131
|
-
dataTransfer = new
|
|
131
|
+
dataTransfer = new globalThis.DataTransfer();
|
|
132
132
|
} catch (error) {
|
|
133
133
|
try {
|
|
134
|
-
dataTransfer = new
|
|
134
|
+
dataTransfer = new globalThis.ClipboardEvent('').clipboardData;
|
|
135
135
|
} catch (error2) { /* empty */ }
|
|
136
136
|
}
|
|
137
137
|
return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null;
|
|
@@ -148,7 +148,7 @@ var cloneBuffer = function (value, map, $type) {
|
|
|
148
148
|
// SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original
|
|
149
149
|
else clone = value;
|
|
150
150
|
} else {
|
|
151
|
-
var DataView =
|
|
151
|
+
var DataView = globalThis.DataView;
|
|
152
152
|
|
|
153
153
|
// `ArrayBuffer#slice` is not available in IE10
|
|
154
154
|
// `ArrayBuffer#slice` and `DataView` are not available in old FF
|
|
@@ -179,7 +179,7 @@ var cloneBuffer = function (value, map, $type) {
|
|
|
179
179
|
};
|
|
180
180
|
|
|
181
181
|
var cloneView = function (value, type, offset, length, map) {
|
|
182
|
-
var C =
|
|
182
|
+
var C = globalThis[type];
|
|
183
183
|
// in some old engines like Safari 9, typeof C is 'object'
|
|
184
184
|
// on Uint8ClampedArray or some other constructors
|
|
185
185
|
if (!isObject(C)) throwUnpolyfillable(type);
|
|
@@ -334,7 +334,7 @@ var structuredCloneInternal = function (value, map) {
|
|
|
334
334
|
} break;
|
|
335
335
|
case 'DOMPoint':
|
|
336
336
|
case 'DOMPointReadOnly':
|
|
337
|
-
C =
|
|
337
|
+
C = globalThis[type];
|
|
338
338
|
try {
|
|
339
339
|
cloned = C.fromPoint
|
|
340
340
|
? C.fromPoint(value)
|
|
@@ -344,7 +344,7 @@ var structuredCloneInternal = function (value, map) {
|
|
|
344
344
|
} break;
|
|
345
345
|
case 'DOMRect':
|
|
346
346
|
case 'DOMRectReadOnly':
|
|
347
|
-
C =
|
|
347
|
+
C = globalThis[type];
|
|
348
348
|
try {
|
|
349
349
|
cloned = C.fromRect
|
|
350
350
|
? C.fromRect(value)
|
|
@@ -354,7 +354,7 @@ var structuredCloneInternal = function (value, map) {
|
|
|
354
354
|
} break;
|
|
355
355
|
case 'DOMMatrix':
|
|
356
356
|
case 'DOMMatrixReadOnly':
|
|
357
|
-
C =
|
|
357
|
+
C = globalThis[type];
|
|
358
358
|
try {
|
|
359
359
|
cloned = C.fromMatrix
|
|
360
360
|
? C.fromMatrix(value)
|
|
@@ -459,7 +459,7 @@ var tryToTransfer = function (rawTransfer, map) {
|
|
|
459
459
|
transferred = nativeStructuredClone(value, { transfer: [value] });
|
|
460
460
|
} else switch (type) {
|
|
461
461
|
case 'ImageBitmap':
|
|
462
|
-
C =
|
|
462
|
+
C = globalThis.OffscreenCanvas;
|
|
463
463
|
if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING);
|
|
464
464
|
try {
|
|
465
465
|
canvas = new C(value.width, value.height);
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
|
|
3
3
|
require('../modules/es.array.iterator');
|
|
4
|
+
require('../modules/es.string.from-code-point');
|
|
4
5
|
var $ = require('../internals/export');
|
|
5
|
-
var
|
|
6
|
+
var globalThis = require('../internals/global-this');
|
|
6
7
|
var safeGetBuiltIn = require('../internals/safe-get-built-in');
|
|
8
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
7
9
|
var call = require('../internals/function-call');
|
|
8
10
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
9
11
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
@@ -43,10 +45,11 @@ var NativeRequest = safeGetBuiltIn('Request');
|
|
|
43
45
|
var Headers = safeGetBuiltIn('Headers');
|
|
44
46
|
var RequestPrototype = NativeRequest && NativeRequest.prototype;
|
|
45
47
|
var HeadersPrototype = Headers && Headers.prototype;
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
var
|
|
49
|
-
var
|
|
48
|
+
var TypeError = globalThis.TypeError;
|
|
49
|
+
var encodeURIComponent = globalThis.encodeURIComponent;
|
|
50
|
+
var fromCharCode = String.fromCharCode;
|
|
51
|
+
var fromCodePoint = getBuiltIn('String', 'fromCodePoint');
|
|
52
|
+
var $parseInt = parseInt;
|
|
50
53
|
var charAt = uncurryThis(''.charAt);
|
|
51
54
|
var join = uncurryThis([].join);
|
|
52
55
|
var push = uncurryThis([].push);
|
|
@@ -55,33 +58,125 @@ var shift = uncurryThis([].shift);
|
|
|
55
58
|
var splice = uncurryThis([].splice);
|
|
56
59
|
var split = uncurryThis(''.split);
|
|
57
60
|
var stringSlice = uncurryThis(''.slice);
|
|
61
|
+
var exec = uncurryThis(/./.exec);
|
|
58
62
|
|
|
59
63
|
var plus = /\+/g;
|
|
60
|
-
var
|
|
64
|
+
var FALLBACK_REPLACER = '\uFFFD';
|
|
65
|
+
var VALID_HEX = /^[0-9a-f]+$/i;
|
|
61
66
|
|
|
62
|
-
var
|
|
63
|
-
|
|
67
|
+
var parseHexOctet = function (string, start) {
|
|
68
|
+
var substr = stringSlice(string, start, start + 2);
|
|
69
|
+
if (!exec(VALID_HEX, substr)) return NaN;
|
|
70
|
+
|
|
71
|
+
return $parseInt(substr, 16);
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var getLeadingOnes = function (octet) {
|
|
75
|
+
var count = 0;
|
|
76
|
+
for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) {
|
|
77
|
+
count++;
|
|
78
|
+
}
|
|
79
|
+
return count;
|
|
64
80
|
};
|
|
65
81
|
|
|
66
|
-
var
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
82
|
+
var utf8Decode = function (octets) {
|
|
83
|
+
var codePoint = null;
|
|
84
|
+
|
|
85
|
+
switch (octets.length) {
|
|
86
|
+
case 1:
|
|
87
|
+
codePoint = octets[0];
|
|
88
|
+
break;
|
|
89
|
+
case 2:
|
|
90
|
+
codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F);
|
|
91
|
+
break;
|
|
92
|
+
case 3:
|
|
93
|
+
codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F);
|
|
94
|
+
break;
|
|
95
|
+
case 4:
|
|
96
|
+
codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F);
|
|
97
|
+
break;
|
|
71
98
|
}
|
|
99
|
+
|
|
100
|
+
return codePoint > 0x10FFFF ? null : codePoint;
|
|
72
101
|
};
|
|
73
102
|
|
|
74
|
-
var
|
|
75
|
-
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
103
|
+
var decode = function (input) {
|
|
104
|
+
input = replace(input, plus, ' ');
|
|
105
|
+
var length = input.length;
|
|
106
|
+
var result = '';
|
|
107
|
+
var i = 0;
|
|
108
|
+
|
|
109
|
+
while (i < length) {
|
|
110
|
+
var decodedChar = charAt(input, i);
|
|
111
|
+
|
|
112
|
+
if (decodedChar === '%') {
|
|
113
|
+
if (charAt(input, i + 1) === '%' || i + 3 > length) {
|
|
114
|
+
result += '%';
|
|
115
|
+
i++;
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
var octet = parseHexOctet(input, i + 1);
|
|
120
|
+
|
|
121
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
122
|
+
if (octet !== octet) {
|
|
123
|
+
result += decodedChar;
|
|
124
|
+
i++;
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
i += 2;
|
|
129
|
+
var byteSequenceLength = getLeadingOnes(octet);
|
|
130
|
+
|
|
131
|
+
if (byteSequenceLength === 0) {
|
|
132
|
+
decodedChar = fromCharCode(octet);
|
|
133
|
+
} else {
|
|
134
|
+
if (byteSequenceLength === 1 || byteSequenceLength > 4) {
|
|
135
|
+
result += FALLBACK_REPLACER;
|
|
136
|
+
i++;
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
var octets = [octet];
|
|
141
|
+
var sequenceIndex = 1;
|
|
142
|
+
|
|
143
|
+
while (sequenceIndex < byteSequenceLength) {
|
|
144
|
+
i++;
|
|
145
|
+
if (i + 3 > length || charAt(input, i) !== '%') break;
|
|
146
|
+
|
|
147
|
+
var nextByte = parseHexOctet(input, i + 1);
|
|
148
|
+
|
|
149
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
150
|
+
if (nextByte !== nextByte) {
|
|
151
|
+
i += 3;
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
if (nextByte > 191 || nextByte < 128) break;
|
|
155
|
+
|
|
156
|
+
push(octets, nextByte);
|
|
157
|
+
i += 2;
|
|
158
|
+
sequenceIndex++;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (octets.length !== byteSequenceLength) {
|
|
162
|
+
result += FALLBACK_REPLACER;
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
var codePoint = utf8Decode(octets);
|
|
167
|
+
if (codePoint === null) {
|
|
168
|
+
result += FALLBACK_REPLACER;
|
|
169
|
+
} else {
|
|
170
|
+
decodedChar = fromCodePoint(codePoint);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
82
173
|
}
|
|
83
|
-
|
|
174
|
+
|
|
175
|
+
result += decodedChar;
|
|
176
|
+
i++;
|
|
84
177
|
}
|
|
178
|
+
|
|
179
|
+
return result;
|
|
85
180
|
};
|
|
86
181
|
|
|
87
182
|
var find = /[!'()~]|%20/g;
|
|
@@ -115,7 +210,7 @@ var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params
|
|
|
115
210
|
var target = state.target;
|
|
116
211
|
var index = state.index++;
|
|
117
212
|
if (!target || index >= target.length) {
|
|
118
|
-
state.target =
|
|
213
|
+
state.target = null;
|
|
119
214
|
return createIterResultObject(undefined, true);
|
|
120
215
|
}
|
|
121
216
|
var entry = target[index];
|
|
@@ -174,8 +269,8 @@ URLSearchParamsState.prototype = {
|
|
|
174
269
|
if (attribute.length) {
|
|
175
270
|
entry = split(attribute, '=');
|
|
176
271
|
push(entries, {
|
|
177
|
-
key:
|
|
178
|
-
value:
|
|
272
|
+
key: decode(shift(entry)),
|
|
273
|
+
value: decode(join(entry, '='))
|
|
179
274
|
});
|
|
180
275
|
}
|
|
181
276
|
}
|