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.
Files changed (72) hide show
  1. package/actual/iterator/concat.js +21 -0
  2. package/actual/iterator/index.js +1 -0
  3. package/actual/map/get-or-insert-computed.js +6 -0
  4. package/actual/map/get-or-insert.js +6 -0
  5. package/actual/map/index.js +2 -0
  6. package/actual/math/index.js +0 -1
  7. package/actual/math/sum-precise.js +2 -3
  8. package/actual/typed-array/from-base64.js +3 -0
  9. package/actual/typed-array/from-hex.js +3 -0
  10. package/actual/typed-array/index.js +1 -1
  11. package/actual/typed-array/set-from-base64.js +3 -0
  12. package/actual/typed-array/set-from-hex.js +3 -0
  13. package/actual/typed-array/to-base64.js +3 -0
  14. package/actual/typed-array/to-hex.js +3 -0
  15. package/actual/weak-map/get-or-insert-computed.js +6 -0
  16. package/actual/weak-map/get-or-insert.js +6 -0
  17. package/actual/weak-map/index.js +2 -0
  18. package/es/index.js +7 -0
  19. package/es/math/index.js +2 -0
  20. package/es/math/sum-precise.js +6 -0
  21. package/es/typed-array/from-base64.js +2 -0
  22. package/es/typed-array/from-hex.js +2 -0
  23. package/es/typed-array/methods.js +6 -0
  24. package/es/typed-array/set-from-base64.js +2 -0
  25. package/es/typed-array/set-from-hex.js +2 -0
  26. package/es/typed-array/to-base64.js +2 -0
  27. package/es/typed-array/to-hex.js +2 -0
  28. package/full/index.js +7 -0
  29. package/full/iterator/concat.js +3 -19
  30. package/full/iterator/from.js +1 -0
  31. package/full/iterator/index.js +0 -1
  32. package/full/iterator/range.js +1 -0
  33. package/full/iterator/zip-keyed.js +1 -0
  34. package/full/iterator/zip.js +1 -0
  35. package/full/map/get-or-insert-computed.js +2 -4
  36. package/full/map/get-or-insert.js +2 -4
  37. package/full/weak-map/get-or-insert-computed.js +2 -4
  38. package/full/weak-map/get-or-insert.js +2 -4
  39. package/internals/shared-store.js +2 -2
  40. package/internals/uint8-from-base64.js +6 -5
  41. package/modules/es.math.sum-precise.js +151 -0
  42. package/modules/es.uint8-array.from-base64.js +29 -0
  43. package/modules/es.uint8-array.from-hex.js +13 -0
  44. package/modules/es.uint8-array.set-from-base64.js +37 -0
  45. package/modules/es.uint8-array.set-from-hex.js +19 -0
  46. package/modules/es.uint8-array.to-base64.js +60 -0
  47. package/modules/es.uint8-array.to-hex.js +34 -0
  48. package/modules/esnext.iterator.concat.js +1 -1
  49. package/modules/esnext.map.get-or-insert-computed.js +1 -1
  50. package/modules/esnext.map.get-or-insert.js +1 -1
  51. package/modules/esnext.math.sum-precise.js +2 -150
  52. package/modules/esnext.uint8-array.from-base64.js +2 -23
  53. package/modules/esnext.uint8-array.from-hex.js +2 -12
  54. package/modules/esnext.uint8-array.set-from-base64.js +2 -31
  55. package/modules/esnext.uint8-array.set-from-hex.js +2 -18
  56. package/modules/esnext.uint8-array.to-base64.js +2 -59
  57. package/modules/esnext.uint8-array.to-hex.js +2 -33
  58. package/modules/esnext.weak-map.get-or-insert-computed.js +1 -1
  59. package/modules/esnext.weak-map.get-or-insert.js +1 -1
  60. package/package.json +1 -1
  61. package/stable/index.js +7 -0
  62. package/stable/math/sum-precise.js +4 -0
  63. package/stable/typed-array/from-base64.js +4 -0
  64. package/stable/typed-array/from-hex.js +4 -0
  65. package/stable/typed-array/set-from-base64.js +4 -0
  66. package/stable/typed-array/set-from-hex.js +4 -0
  67. package/stable/typed-array/to-base64.js +4 -0
  68. package/stable/typed-array/to-hex.js +4 -0
  69. package/stage/2.7.js +1 -2
  70. package/stage/2.js +0 -1
  71. package/stage/3.js +2 -2
  72. 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, forced: 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, forced: 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, forced: 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
- // based on Shewchuk's algorithm for exactly floating point addition
3
- // adapted from https://github.com/tc39/proposal-math-sum/blob/3513d58323a1ae25560e8700aa5294500c6c9287/polyfill/polyfill.mjs
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
- var $ = require('../internals/export');
3
- var globalThis = require('../internals/global-this');
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
- var $ = require('../internals/export');
3
- var globalThis = require('../internals/global-this');
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
- 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
- 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
- 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
- });
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
- 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
- });
2
+ // TODO: Remove from `core-js@4`
3
+ require('../modules/es.uint8-array.to-base64');
@@ -1,34 +1,3 @@
1
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
- });
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, forced: 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, forced: 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-js",
3
- "version": "3.44.0",
3
+ "version": "3.45.0",
4
4
  "type": "commonjs",
5
5
  "description": "Standard library",
6
6
  "keywords": [
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');
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/math/sum-precise');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/typed-array/from-base64');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/typed-array/from-hex');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/typed-array/set-from-base64');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/typed-array/set-from-hex');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/typed-array/to-base64');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/typed-array/to-hex');
3
+
4
+ module.exports = parent;
package/stage/2.7.js CHANGED
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
  var parent = require('./3');
3
3
 
4
- require('../proposals/iterator-sequencing');
5
- require('../proposals/map-upsert-v4');
4
+ require('../proposals/joint-iteration');
6
5
 
7
6
  module.exports = parent;
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');