core-js 3.44.0 → 3.45.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/actual/iterator/concat.js +21 -0
- package/actual/iterator/index.js +1 -0
- package/actual/map/get-or-insert-computed.js +6 -0
- package/actual/map/get-or-insert.js +6 -0
- package/actual/map/index.js +2 -0
- package/actual/math/index.js +0 -1
- package/actual/math/sum-precise.js +2 -3
- package/actual/typed-array/from-base64.js +3 -0
- package/actual/typed-array/from-hex.js +3 -0
- package/actual/typed-array/index.js +1 -1
- package/actual/typed-array/set-from-base64.js +3 -0
- package/actual/typed-array/set-from-hex.js +3 -0
- package/actual/typed-array/to-base64.js +3 -0
- package/actual/typed-array/to-hex.js +3 -0
- package/actual/weak-map/get-or-insert-computed.js +6 -0
- package/actual/weak-map/get-or-insert.js +6 -0
- package/actual/weak-map/index.js +2 -0
- package/es/index.js +7 -0
- package/es/math/index.js +2 -0
- package/es/math/sum-precise.js +6 -0
- package/es/typed-array/from-base64.js +2 -0
- package/es/typed-array/from-hex.js +2 -0
- package/es/typed-array/methods.js +6 -0
- package/es/typed-array/set-from-base64.js +2 -0
- package/es/typed-array/set-from-hex.js +2 -0
- package/es/typed-array/to-base64.js +2 -0
- package/es/typed-array/to-hex.js +2 -0
- package/full/index.js +7 -0
- package/full/iterator/concat.js +3 -19
- package/full/iterator/from.js +1 -0
- package/full/iterator/index.js +0 -1
- package/full/iterator/range.js +1 -0
- package/full/iterator/zip-keyed.js +1 -0
- package/full/iterator/zip.js +1 -0
- package/full/map/get-or-insert-computed.js +2 -4
- package/full/map/get-or-insert.js +2 -4
- package/full/weak-map/get-or-insert-computed.js +2 -4
- package/full/weak-map/get-or-insert.js +2 -4
- package/internals/shared-store.js +2 -2
- package/internals/uint8-from-base64.js +6 -5
- package/modules/es.math.sum-precise.js +151 -0
- package/modules/es.uint8-array.from-base64.js +29 -0
- package/modules/es.uint8-array.from-hex.js +13 -0
- package/modules/es.uint8-array.set-from-base64.js +37 -0
- package/modules/es.uint8-array.set-from-hex.js +19 -0
- package/modules/es.uint8-array.to-base64.js +60 -0
- package/modules/es.uint8-array.to-hex.js +34 -0
- package/modules/esnext.iterator.concat.js +1 -1
- package/modules/esnext.map.get-or-insert-computed.js +1 -1
- package/modules/esnext.map.get-or-insert.js +1 -1
- package/modules/esnext.math.sum-precise.js +2 -150
- package/modules/esnext.uint8-array.from-base64.js +2 -23
- package/modules/esnext.uint8-array.from-hex.js +2 -12
- package/modules/esnext.uint8-array.set-from-base64.js +2 -31
- package/modules/esnext.uint8-array.set-from-hex.js +2 -18
- package/modules/esnext.uint8-array.to-base64.js +2 -59
- package/modules/esnext.uint8-array.to-hex.js +2 -33
- package/modules/esnext.weak-map.get-or-insert-computed.js +1 -1
- package/modules/esnext.weak-map.get-or-insert.js +1 -1
- package/package.json +1 -1
- package/stable/index.js +7 -0
- package/stable/math/sum-precise.js +4 -0
- package/stable/typed-array/from-base64.js +4 -0
- package/stable/typed-array/from-hex.js +4 -0
- package/stable/typed-array/set-from-base64.js +4 -0
- package/stable/typed-array/set-from-hex.js +4 -0
- package/stable/typed-array/to-base64.js +4 -0
- package/stable/typed-array/to-hex.js +4 -0
- package/stage/2.7.js +1 -2
- package/stage/2.js +0 -1
- package/stage/3.js +2 -2
- package/stage/4.js +2 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
|
+
var $fromBase64 = require('../internals/uint8-from-base64');
|
|
5
|
+
var anUint8Array = require('../internals/an-uint8-array');
|
|
6
|
+
|
|
7
|
+
var Uint8Array = globalThis.Uint8Array;
|
|
8
|
+
|
|
9
|
+
var INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.setFromBase64 || !function () {
|
|
10
|
+
var target = new Uint8Array([255, 255, 255, 255, 255]);
|
|
11
|
+
try {
|
|
12
|
+
target.setFromBase64('', null);
|
|
13
|
+
return;
|
|
14
|
+
} catch (error) { /* empty */ }
|
|
15
|
+
// Webkit not throw an error on odd length string
|
|
16
|
+
try {
|
|
17
|
+
target.setFromBase64('a');
|
|
18
|
+
return;
|
|
19
|
+
} catch (error) { /* empty */ }
|
|
20
|
+
try {
|
|
21
|
+
target.setFromBase64('MjYyZg===');
|
|
22
|
+
} catch (error) {
|
|
23
|
+
return target[0] === 50 && target[1] === 54 && target[2] === 50 && target[3] === 255 && target[4] === 255;
|
|
24
|
+
}
|
|
25
|
+
}();
|
|
26
|
+
|
|
27
|
+
// `Uint8Array.prototype.setFromBase64` method
|
|
28
|
+
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
29
|
+
if (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {
|
|
30
|
+
setFromBase64: function setFromBase64(string /* , options */) {
|
|
31
|
+
anUint8Array(this);
|
|
32
|
+
|
|
33
|
+
var result = $fromBase64(string, arguments.length > 1 ? arguments[1] : undefined, this, this.length);
|
|
34
|
+
|
|
35
|
+
return { read: result.read, written: result.written };
|
|
36
|
+
}
|
|
37
|
+
});
|
|
@@ -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
|
+
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var anObjectOrUndefined = require('../internals/an-object-or-undefined');
|
|
6
|
+
var anUint8Array = require('../internals/an-uint8-array');
|
|
7
|
+
var notDetached = require('../internals/array-buffer-not-detached');
|
|
8
|
+
var base64Map = require('../internals/base64-map');
|
|
9
|
+
var getAlphabetOption = require('../internals/get-alphabet-option');
|
|
10
|
+
|
|
11
|
+
var base64Alphabet = base64Map.i2c;
|
|
12
|
+
var base64UrlAlphabet = base64Map.i2cUrl;
|
|
13
|
+
|
|
14
|
+
var charAt = uncurryThis(''.charAt);
|
|
15
|
+
|
|
16
|
+
var Uint8Array = globalThis.Uint8Array;
|
|
17
|
+
|
|
18
|
+
var INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.toBase64 || !function () {
|
|
19
|
+
try {
|
|
20
|
+
var target = new Uint8Array();
|
|
21
|
+
target.toBase64(null);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
}();
|
|
26
|
+
|
|
27
|
+
// `Uint8Array.prototype.toBase64` method
|
|
28
|
+
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
29
|
+
if (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {
|
|
30
|
+
toBase64: function toBase64(/* options */) {
|
|
31
|
+
var array = anUint8Array(this);
|
|
32
|
+
var options = arguments.length ? anObjectOrUndefined(arguments[0]) : undefined;
|
|
33
|
+
var alphabet = getAlphabetOption(options) === 'base64' ? base64Alphabet : base64UrlAlphabet;
|
|
34
|
+
var omitPadding = !!options && !!options.omitPadding;
|
|
35
|
+
notDetached(this.buffer);
|
|
36
|
+
|
|
37
|
+
var result = '';
|
|
38
|
+
var i = 0;
|
|
39
|
+
var length = array.length;
|
|
40
|
+
var triplet;
|
|
41
|
+
|
|
42
|
+
var at = function (shift) {
|
|
43
|
+
return charAt(alphabet, (triplet >> (6 * shift)) & 63);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
for (; i + 2 < length; i += 3) {
|
|
47
|
+
triplet = (array[i] << 16) + (array[i + 1] << 8) + array[i + 2];
|
|
48
|
+
result += at(3) + at(2) + at(1) + at(0);
|
|
49
|
+
}
|
|
50
|
+
if (i + 2 === length) {
|
|
51
|
+
triplet = (array[i] << 16) + (array[i + 1] << 8);
|
|
52
|
+
result += at(3) + at(2) + at(1) + (omitPadding ? '' : '=');
|
|
53
|
+
} else if (i + 1 === length) {
|
|
54
|
+
triplet = array[i] << 16;
|
|
55
|
+
result += at(3) + at(2) + (omitPadding ? '' : '==');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var globalThis = require('../internals/global-this');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var anUint8Array = require('../internals/an-uint8-array');
|
|
6
|
+
var notDetached = require('../internals/array-buffer-not-detached');
|
|
7
|
+
|
|
8
|
+
var numberToString = uncurryThis(1.1.toString);
|
|
9
|
+
|
|
10
|
+
var Uint8Array = globalThis.Uint8Array;
|
|
11
|
+
|
|
12
|
+
var INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.toHex || !(function () {
|
|
13
|
+
try {
|
|
14
|
+
var target = new Uint8Array([255, 255, 255, 255, 255, 255, 255, 255]);
|
|
15
|
+
return target.toHex() === 'ffffffffffffffff';
|
|
16
|
+
} catch (error) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
})();
|
|
20
|
+
|
|
21
|
+
// `Uint8Array.prototype.toHex` method
|
|
22
|
+
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
23
|
+
if (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {
|
|
24
|
+
toHex: function toHex() {
|
|
25
|
+
anUint8Array(this);
|
|
26
|
+
notDetached(this.buffer);
|
|
27
|
+
var result = '';
|
|
28
|
+
for (var i = 0, length = this.length; i < length; i++) {
|
|
29
|
+
var hex = numberToString(this[i], 16);
|
|
30
|
+
result += hex.length === 1 ? '0' + hex : hex;
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
@@ -35,7 +35,7 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
35
35
|
|
|
36
36
|
// `Iterator.concat` method
|
|
37
37
|
// https://github.com/tc39/proposal-iterator-sequencing
|
|
38
|
-
$({ target: 'Iterator', stat: true
|
|
38
|
+
$({ target: 'Iterator', stat: true }, {
|
|
39
39
|
concat: function concat() {
|
|
40
40
|
var length = arguments.length;
|
|
41
41
|
var iterables = $Array(length);
|
|
@@ -10,7 +10,7 @@ var set = MapHelpers.set;
|
|
|
10
10
|
|
|
11
11
|
// `Map.prototype.getOrInsertComputed` method
|
|
12
12
|
// https://github.com/tc39/proposal-upsert
|
|
13
|
-
$({ target: 'Map', proto: true, real: true
|
|
13
|
+
$({ target: 'Map', proto: true, real: true }, {
|
|
14
14
|
getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
|
|
15
15
|
aMap(this);
|
|
16
16
|
aCallable(callbackfn);
|
|
@@ -9,7 +9,7 @@ var set = MapHelpers.set;
|
|
|
9
9
|
|
|
10
10
|
// `Map.prototype.getOrInsert` method
|
|
11
11
|
// https://github.com/tc39/proposal-upsert
|
|
12
|
-
$({ target: 'Map', proto: true, real: true
|
|
12
|
+
$({ target: 'Map', proto: true, real: true }, {
|
|
13
13
|
getOrInsert: function getOrInsert(key, value) {
|
|
14
14
|
if (has(aMap(this), key)) return get(this, key);
|
|
15
15
|
set(this, key, value);
|
|
@@ -1,151 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
//
|
|
3
|
-
|
|
4
|
-
var $ = require('../internals/export');
|
|
5
|
-
var uncurryThis = require('../internals/function-uncurry-this');
|
|
6
|
-
var iterate = require('../internals/iterate');
|
|
7
|
-
|
|
8
|
-
var $RangeError = RangeError;
|
|
9
|
-
var $TypeError = TypeError;
|
|
10
|
-
var $Infinity = Infinity;
|
|
11
|
-
var $NaN = NaN;
|
|
12
|
-
var abs = Math.abs;
|
|
13
|
-
var pow = Math.pow;
|
|
14
|
-
var push = uncurryThis([].push);
|
|
15
|
-
|
|
16
|
-
var POW_2_1023 = pow(2, 1023);
|
|
17
|
-
var MAX_SAFE_INTEGER = pow(2, 53) - 1; // 2 ** 53 - 1 === 9007199254740992
|
|
18
|
-
var MAX_DOUBLE = Number.MAX_VALUE; // 2 ** 1024 - 2 ** (1023 - 52) === 1.79769313486231570815e+308
|
|
19
|
-
var MAX_ULP = pow(2, 971); // 2 ** (1023 - 52) === 1.99584030953471981166e+292
|
|
20
|
-
|
|
21
|
-
var NOT_A_NUMBER = {};
|
|
22
|
-
var MINUS_INFINITY = {};
|
|
23
|
-
var PLUS_INFINITY = {};
|
|
24
|
-
var MINUS_ZERO = {};
|
|
25
|
-
var FINITE = {};
|
|
26
|
-
|
|
27
|
-
// prerequisite: abs(x) >= abs(y)
|
|
28
|
-
var twosum = function (x, y) {
|
|
29
|
-
var hi = x + y;
|
|
30
|
-
var lo = y - (hi - x);
|
|
31
|
-
return { hi: hi, lo: lo };
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// `Math.sumPrecise` method
|
|
35
|
-
// https://github.com/tc39/proposal-math-sum
|
|
36
|
-
$({ target: 'Math', stat: true }, {
|
|
37
|
-
// eslint-disable-next-line max-statements -- ok
|
|
38
|
-
sumPrecise: function sumPrecise(items) {
|
|
39
|
-
var numbers = [];
|
|
40
|
-
var count = 0;
|
|
41
|
-
var state = MINUS_ZERO;
|
|
42
|
-
|
|
43
|
-
iterate(items, function (n) {
|
|
44
|
-
if (++count >= MAX_SAFE_INTEGER) throw new $RangeError('Maximum allowed index exceeded');
|
|
45
|
-
if (typeof n != 'number') throw new $TypeError('Value is not a number');
|
|
46
|
-
if (state !== NOT_A_NUMBER) {
|
|
47
|
-
// eslint-disable-next-line no-self-compare -- NaN check
|
|
48
|
-
if (n !== n) state = NOT_A_NUMBER;
|
|
49
|
-
else if (n === $Infinity) state = state === MINUS_INFINITY ? NOT_A_NUMBER : PLUS_INFINITY;
|
|
50
|
-
else if (n === -$Infinity) state = state === PLUS_INFINITY ? NOT_A_NUMBER : MINUS_INFINITY;
|
|
51
|
-
else if ((n !== 0 || (1 / n) === $Infinity) && (state === MINUS_ZERO || state === FINITE)) {
|
|
52
|
-
state = FINITE;
|
|
53
|
-
push(numbers, n);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
switch (state) {
|
|
59
|
-
case NOT_A_NUMBER: return $NaN;
|
|
60
|
-
case MINUS_INFINITY: return -$Infinity;
|
|
61
|
-
case PLUS_INFINITY: return $Infinity;
|
|
62
|
-
case MINUS_ZERO: return -0;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
var partials = [];
|
|
66
|
-
var overflow = 0; // conceptually 2 ** 1024 times this value; the final partial is biased by this amount
|
|
67
|
-
var x, y, sum, hi, lo, tmp;
|
|
68
|
-
|
|
69
|
-
for (var i = 0; i < numbers.length; i++) {
|
|
70
|
-
x = numbers[i];
|
|
71
|
-
var actuallyUsedPartials = 0;
|
|
72
|
-
for (var j = 0; j < partials.length; j++) {
|
|
73
|
-
y = partials[j];
|
|
74
|
-
if (abs(x) < abs(y)) {
|
|
75
|
-
tmp = x;
|
|
76
|
-
x = y;
|
|
77
|
-
y = tmp;
|
|
78
|
-
}
|
|
79
|
-
sum = twosum(x, y);
|
|
80
|
-
hi = sum.hi;
|
|
81
|
-
lo = sum.lo;
|
|
82
|
-
if (abs(hi) === $Infinity) {
|
|
83
|
-
var sign = hi === $Infinity ? 1 : -1;
|
|
84
|
-
overflow += sign;
|
|
85
|
-
|
|
86
|
-
x = (x - (sign * POW_2_1023)) - (sign * POW_2_1023);
|
|
87
|
-
if (abs(x) < abs(y)) {
|
|
88
|
-
tmp = x;
|
|
89
|
-
x = y;
|
|
90
|
-
y = tmp;
|
|
91
|
-
}
|
|
92
|
-
sum = twosum(x, y);
|
|
93
|
-
hi = sum.hi;
|
|
94
|
-
lo = sum.lo;
|
|
95
|
-
}
|
|
96
|
-
if (lo !== 0) partials[actuallyUsedPartials++] = lo;
|
|
97
|
-
x = hi;
|
|
98
|
-
}
|
|
99
|
-
partials.length = actuallyUsedPartials;
|
|
100
|
-
if (x !== 0) push(partials, x);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// compute the exact sum of partials, stopping once we lose precision
|
|
104
|
-
var n = partials.length - 1;
|
|
105
|
-
hi = 0;
|
|
106
|
-
lo = 0;
|
|
107
|
-
|
|
108
|
-
if (overflow !== 0) {
|
|
109
|
-
var next = n >= 0 ? partials[n] : 0;
|
|
110
|
-
n--;
|
|
111
|
-
if (abs(overflow) > 1 || (overflow > 0 && next > 0) || (overflow < 0 && next < 0)) {
|
|
112
|
-
return overflow > 0 ? $Infinity : -$Infinity;
|
|
113
|
-
}
|
|
114
|
-
// here we actually have to do the arithmetic
|
|
115
|
-
// drop a factor of 2 so we can do it without overflow
|
|
116
|
-
// assert(abs(overflow) === 1)
|
|
117
|
-
sum = twosum(overflow * POW_2_1023, next / 2);
|
|
118
|
-
hi = sum.hi;
|
|
119
|
-
lo = sum.lo;
|
|
120
|
-
lo *= 2;
|
|
121
|
-
if (abs(2 * hi) === $Infinity) {
|
|
122
|
-
// rounding to the maximum value
|
|
123
|
-
if (hi > 0) {
|
|
124
|
-
return (hi === POW_2_1023 && lo === -(MAX_ULP / 2) && n >= 0 && partials[n] < 0) ? MAX_DOUBLE : $Infinity;
|
|
125
|
-
} return (hi === -POW_2_1023 && lo === (MAX_ULP / 2) && n >= 0 && partials[n] > 0) ? -MAX_DOUBLE : -$Infinity;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
if (lo !== 0) {
|
|
129
|
-
partials[++n] = lo;
|
|
130
|
-
lo = 0;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
hi *= 2;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
while (n >= 0) {
|
|
137
|
-
sum = twosum(hi, partials[n--]);
|
|
138
|
-
hi = sum.hi;
|
|
139
|
-
lo = sum.lo;
|
|
140
|
-
if (lo !== 0) break;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
if (n >= 0 && ((lo < 0 && partials[n] < 0) || (lo > 0 && partials[n] > 0))) {
|
|
144
|
-
y = lo * 2;
|
|
145
|
-
x = hi + y;
|
|
146
|
-
if (y === x - hi) hi = x;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
return hi;
|
|
150
|
-
}
|
|
151
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.math.sum-precise');
|
|
@@ -1,24 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');
|
|
5
|
-
var $fromBase64 = require('../internals/uint8-from-base64');
|
|
6
|
-
|
|
7
|
-
var Uint8Array = globalThis.Uint8Array;
|
|
8
|
-
|
|
9
|
-
var INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.fromBase64 || !function () {
|
|
10
|
-
try {
|
|
11
|
-
Uint8Array.fromBase64('', null);
|
|
12
|
-
} catch (error) {
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
}();
|
|
16
|
-
|
|
17
|
-
// `Uint8Array.fromBase64` method
|
|
18
|
-
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
19
|
-
if (Uint8Array) $({ target: 'Uint8Array', stat: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {
|
|
20
|
-
fromBase64: function fromBase64(string /* , options */) {
|
|
21
|
-
var result = $fromBase64(string, arguments.length > 1 ? arguments[1] : undefined, null, 0x1FFFFFFFFFFFFF);
|
|
22
|
-
return arrayFromConstructorAndList(Uint8Array, result.bytes);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.uint8-array.from-base64');
|
|
@@ -1,13 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var aString = require('../internals/a-string');
|
|
5
|
-
var $fromHex = require('../internals/uint8-from-hex');
|
|
6
|
-
|
|
7
|
-
// `Uint8Array.fromHex` method
|
|
8
|
-
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
9
|
-
if (globalThis.Uint8Array) $({ target: 'Uint8Array', stat: true }, {
|
|
10
|
-
fromHex: function fromHex(string) {
|
|
11
|
-
return $fromHex(aString(string)).bytes;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.uint8-array.from-hex');
|
|
@@ -1,32 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var $fromBase64 = require('../internals/uint8-from-base64');
|
|
5
|
-
var anUint8Array = require('../internals/an-uint8-array');
|
|
6
|
-
|
|
7
|
-
var Uint8Array = globalThis.Uint8Array;
|
|
8
|
-
|
|
9
|
-
var INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.setFromBase64 || !function () {
|
|
10
|
-
var target = new Uint8Array([255, 255, 255, 255, 255]);
|
|
11
|
-
try {
|
|
12
|
-
target.setFromBase64('', null);
|
|
13
|
-
return;
|
|
14
|
-
} catch (error) { /* empty */ }
|
|
15
|
-
try {
|
|
16
|
-
target.setFromBase64('MjYyZg===');
|
|
17
|
-
} catch (error) {
|
|
18
|
-
return target[0] === 50 && target[1] === 54 && target[2] === 50 && target[3] === 255 && target[4] === 255;
|
|
19
|
-
}
|
|
20
|
-
}();
|
|
21
|
-
|
|
22
|
-
// `Uint8Array.prototype.setFromBase64` method
|
|
23
|
-
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
24
|
-
if (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {
|
|
25
|
-
setFromBase64: function setFromBase64(string /* , options */) {
|
|
26
|
-
anUint8Array(this);
|
|
27
|
-
|
|
28
|
-
var result = $fromBase64(string, arguments.length > 1 ? arguments[1] : undefined, this, this.length);
|
|
29
|
-
|
|
30
|
-
return { read: result.read, written: result.written };
|
|
31
|
-
}
|
|
32
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.uint8-array.set-from-base64');
|
|
@@ -1,19 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.uint8-array.set-from-hex');
|
|
@@ -1,60 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
-
var anObjectOrUndefined = require('../internals/an-object-or-undefined');
|
|
6
|
-
var anUint8Array = require('../internals/an-uint8-array');
|
|
7
|
-
var notDetached = require('../internals/array-buffer-not-detached');
|
|
8
|
-
var base64Map = require('../internals/base64-map');
|
|
9
|
-
var getAlphabetOption = require('../internals/get-alphabet-option');
|
|
10
|
-
|
|
11
|
-
var base64Alphabet = base64Map.i2c;
|
|
12
|
-
var base64UrlAlphabet = base64Map.i2cUrl;
|
|
13
|
-
|
|
14
|
-
var charAt = uncurryThis(''.charAt);
|
|
15
|
-
|
|
16
|
-
var Uint8Array = globalThis.Uint8Array;
|
|
17
|
-
|
|
18
|
-
var INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.toBase64 || !function () {
|
|
19
|
-
try {
|
|
20
|
-
var target = new Uint8Array();
|
|
21
|
-
target.toBase64(null);
|
|
22
|
-
} catch (error) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}();
|
|
26
|
-
|
|
27
|
-
// `Uint8Array.prototype.toBase64` method
|
|
28
|
-
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
29
|
-
if (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {
|
|
30
|
-
toBase64: function toBase64(/* options */) {
|
|
31
|
-
var array = anUint8Array(this);
|
|
32
|
-
var options = arguments.length ? anObjectOrUndefined(arguments[0]) : undefined;
|
|
33
|
-
var alphabet = getAlphabetOption(options) === 'base64' ? base64Alphabet : base64UrlAlphabet;
|
|
34
|
-
var omitPadding = !!options && !!options.omitPadding;
|
|
35
|
-
notDetached(this.buffer);
|
|
36
|
-
|
|
37
|
-
var result = '';
|
|
38
|
-
var i = 0;
|
|
39
|
-
var length = array.length;
|
|
40
|
-
var triplet;
|
|
41
|
-
|
|
42
|
-
var at = function (shift) {
|
|
43
|
-
return charAt(alphabet, (triplet >> (6 * shift)) & 63);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
for (; i + 2 < length; i += 3) {
|
|
47
|
-
triplet = (array[i] << 16) + (array[i + 1] << 8) + array[i + 2];
|
|
48
|
-
result += at(3) + at(2) + at(1) + at(0);
|
|
49
|
-
}
|
|
50
|
-
if (i + 2 === length) {
|
|
51
|
-
triplet = (array[i] << 16) + (array[i + 1] << 8);
|
|
52
|
-
result += at(3) + at(2) + at(1) + (omitPadding ? '' : '=');
|
|
53
|
-
} else if (i + 1 === length) {
|
|
54
|
-
triplet = array[i] << 16;
|
|
55
|
-
result += at(3) + at(2) + (omitPadding ? '' : '==');
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return result;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.uint8-array.to-base64');
|
|
@@ -1,34 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
-
var anUint8Array = require('../internals/an-uint8-array');
|
|
6
|
-
var notDetached = require('../internals/array-buffer-not-detached');
|
|
7
|
-
|
|
8
|
-
var numberToString = uncurryThis(1.1.toString);
|
|
9
|
-
|
|
10
|
-
var Uint8Array = globalThis.Uint8Array;
|
|
11
|
-
|
|
12
|
-
var INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS = !Uint8Array || !Uint8Array.prototype.toHex || !(function () {
|
|
13
|
-
try {
|
|
14
|
-
var target = new Uint8Array([255, 255, 255, 255, 255, 255, 255, 255]);
|
|
15
|
-
return target.toHex() === 'ffffffffffffffff';
|
|
16
|
-
} catch (error) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
})();
|
|
20
|
-
|
|
21
|
-
// `Uint8Array.prototype.toHex` method
|
|
22
|
-
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
23
|
-
if (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: INCORRECT_BEHAVIOR_OR_DOESNT_EXISTS }, {
|
|
24
|
-
toHex: function toHex() {
|
|
25
|
-
anUint8Array(this);
|
|
26
|
-
notDetached(this.buffer);
|
|
27
|
-
var result = '';
|
|
28
|
-
for (var i = 0, length = this.length; i < length; i++) {
|
|
29
|
-
var hex = numberToString(this[i], 16);
|
|
30
|
-
result += hex.length === 1 ? '0' + hex : hex;
|
|
31
|
-
}
|
|
32
|
-
return result;
|
|
33
|
-
}
|
|
34
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.uint8-array.to-hex');
|
|
@@ -11,7 +11,7 @@ var set = WeakMapHelpers.set;
|
|
|
11
11
|
|
|
12
12
|
// `WeakMap.prototype.getOrInsertComputed` method
|
|
13
13
|
// https://github.com/tc39/proposal-upsert
|
|
14
|
-
$({ target: 'WeakMap', proto: true, real: true
|
|
14
|
+
$({ target: 'WeakMap', proto: true, real: true }, {
|
|
15
15
|
getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
|
|
16
16
|
aWeakMap(this);
|
|
17
17
|
aWeakKey(key);
|
|
@@ -9,7 +9,7 @@ var set = WeakMapHelpers.set;
|
|
|
9
9
|
|
|
10
10
|
// `WeakMap.prototype.getOrInsert` method
|
|
11
11
|
// https://github.com/tc39/proposal-upsert
|
|
12
|
-
$({ target: 'WeakMap', proto: true, real: true
|
|
12
|
+
$({ target: 'WeakMap', proto: true, real: true }, {
|
|
13
13
|
getOrInsert: function getOrInsert(key, value) {
|
|
14
14
|
if (has(aWeakMap(this), key)) return get(this, key);
|
|
15
15
|
set(this, key, value);
|
package/package.json
CHANGED
package/stable/index.js
CHANGED
|
@@ -117,6 +117,7 @@ require('../modules/es.math.log1p');
|
|
|
117
117
|
require('../modules/es.math.log2');
|
|
118
118
|
require('../modules/es.math.sign');
|
|
119
119
|
require('../modules/es.math.sinh');
|
|
120
|
+
require('../modules/es.math.sum-precise');
|
|
120
121
|
require('../modules/es.math.tanh');
|
|
121
122
|
require('../modules/es.math.to-string-tag');
|
|
122
123
|
require('../modules/es.math.trunc');
|
|
@@ -278,6 +279,12 @@ require('../modules/es.typed-array.to-reversed');
|
|
|
278
279
|
require('../modules/es.typed-array.to-sorted');
|
|
279
280
|
require('../modules/es.typed-array.to-string');
|
|
280
281
|
require('../modules/es.typed-array.with');
|
|
282
|
+
require('../modules/es.uint8-array.from-base64');
|
|
283
|
+
require('../modules/es.uint8-array.from-hex');
|
|
284
|
+
require('../modules/es.uint8-array.set-from-base64');
|
|
285
|
+
require('../modules/es.uint8-array.set-from-hex');
|
|
286
|
+
require('../modules/es.uint8-array.to-base64');
|
|
287
|
+
require('../modules/es.uint8-array.to-hex');
|
|
281
288
|
require('../modules/es.unescape');
|
|
282
289
|
require('../modules/es.weak-map');
|
|
283
290
|
require('../modules/es.weak-set');
|
package/stage/2.7.js
CHANGED
package/stage/2.js
CHANGED
|
@@ -14,7 +14,6 @@ require('../proposals/async-explicit-resource-management');
|
|
|
14
14
|
require('../proposals/decorators');
|
|
15
15
|
require('../proposals/decorator-metadata');
|
|
16
16
|
require('../proposals/iterator-helpers');
|
|
17
|
-
require('../proposals/joint-iteration');
|
|
18
17
|
require('../proposals/map-upsert-stage-2');
|
|
19
18
|
require('../proposals/math-clamp-v2');
|
|
20
19
|
require('../proposals/set-methods');
|