core-js 3.33.3 → 3.34.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/map/group-by.js +2 -10
- package/actual/object/group-by.js +2 -4
- package/actual/promise/with-resolvers.js +3 -10
- package/es/index.js +3 -0
- package/es/map/group-by.js +13 -0
- package/es/map/index.js +1 -0
- package/es/object/group-by.js +7 -0
- package/es/object/index.js +1 -0
- package/es/promise/index.js +1 -0
- package/es/promise/with-resolvers.js +13 -0
- package/features/typed-array/from-base64.js +2 -0
- package/features/typed-array/from-hex.js +2 -0
- package/features/typed-array/to-base64.js +2 -0
- package/features/typed-array/to-hex.js +2 -0
- package/full/index.js +7 -0
- package/full/typed-array/from-base64.js +2 -0
- package/full/typed-array/from-hex.js +2 -0
- package/full/typed-array/index.js +4 -0
- package/full/typed-array/methods.js +4 -0
- package/full/typed-array/to-base64.js +2 -0
- package/full/typed-array/to-hex.js +2 -0
- package/internals/a-string.js +7 -0
- package/internals/an-object-or-undefined.js +10 -0
- package/internals/an-uint8-array.js +11 -0
- package/internals/array-from-constructor-and-list.js +2 -2
- package/internals/array-iteration-from-last.js +1 -1
- package/internals/array-iteration.js +1 -1
- package/internals/array-reduce.js +1 -1
- package/internals/base64-map.js +14 -5
- package/internals/get-alphabet-option.js +8 -0
- package/internals/shared.js +2 -2
- package/modules/es.map.group-by.js +31 -0
- package/modules/es.object.group-by.js +30 -0
- package/modules/es.promise.with-resolvers.js +16 -0
- package/modules/es.regexp.constructor.js +2 -1
- package/modules/esnext.iterator.constructor.js +27 -7
- package/modules/esnext.map.group-by.js +2 -30
- package/modules/esnext.number.from-string.js +1 -1
- package/modules/esnext.object.group-by.js +2 -29
- package/modules/esnext.promise.with-resolvers.js +2 -15
- package/modules/esnext.uint8-array.from-base64.js +75 -0
- package/modules/esnext.uint8-array.from-hex.js +28 -0
- package/modules/esnext.uint8-array.to-base64.js +47 -0
- package/modules/esnext.uint8-array.to-hex.js +22 -0
- package/modules/web.atob.js +20 -15
- package/modules/web.btoa.js +11 -7
- package/modules/web.dom-collections.iterator.js +2 -4
- package/package.json +1 -1
- package/proposals/array-buffer-base64.js +6 -0
- package/stable/index.js +3 -0
- package/stable/map/group-by.js +4 -0
- package/stable/object/group-by.js +4 -0
- package/stable/promise/with-resolvers.js +4 -0
- package/stage/2.js +1 -0
- package/stage/3.js +0 -2
- package/stage/4.js +2 -0
package/actual/map/group-by.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
require('../../
|
|
2
|
+
var parent = require('../../stable/map/group-by');
|
|
3
3
|
require('../../modules/esnext.map.group-by');
|
|
4
|
-
var call = require('../../internals/function-call');
|
|
5
|
-
var isCallable = require('../../internals/is-callable');
|
|
6
|
-
var path = require('../../internals/path');
|
|
7
4
|
|
|
8
|
-
|
|
9
|
-
var mapGroupBy = Map.groupBy;
|
|
10
|
-
|
|
11
|
-
module.exports = function groupBy(source, iterable, keyDerivative) {
|
|
12
|
-
return call(mapGroupBy, isCallable(this) ? this : Map, source, iterable, keyDerivative);
|
|
13
|
-
};
|
|
5
|
+
module.exports = parent;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
require('../../
|
|
2
|
+
var parent = require('../../stable/object/group-by');
|
|
3
3
|
require('../../modules/esnext.object.group-by');
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
module.exports = path.Object.groupBy;
|
|
5
|
+
module.exports = parent;
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
require('../../
|
|
2
|
+
var parent = require('../../stable/promise/with-resolvers');
|
|
3
|
+
// TODO: Remove from `core-js@4`
|
|
3
4
|
require('../../modules/esnext.promise.with-resolvers');
|
|
4
|
-
var call = require('../../internals/function-call');
|
|
5
|
-
var isCallable = require('../../internals/is-callable');
|
|
6
|
-
var path = require('../../internals/path');
|
|
7
5
|
|
|
8
|
-
|
|
9
|
-
var promiseWithResolvers = Promise.withResolvers;
|
|
10
|
-
|
|
11
|
-
module.exports = function withResolvers() {
|
|
12
|
-
return call(promiseWithResolvers, isCallable(this) ? this : Promise);
|
|
13
|
-
};
|
|
6
|
+
module.exports = parent;
|
package/es/index.js
CHANGED
|
@@ -76,6 +76,7 @@ require('../modules/es.global-this');
|
|
|
76
76
|
require('../modules/es.json.stringify');
|
|
77
77
|
require('../modules/es.json.to-string-tag');
|
|
78
78
|
require('../modules/es.map');
|
|
79
|
+
require('../modules/es.map.group-by');
|
|
79
80
|
require('../modules/es.math.acosh');
|
|
80
81
|
require('../modules/es.math.asinh');
|
|
81
82
|
require('../modules/es.math.atanh');
|
|
@@ -120,6 +121,7 @@ require('../modules/es.object.get-own-property-descriptor');
|
|
|
120
121
|
require('../modules/es.object.get-own-property-descriptors');
|
|
121
122
|
require('../modules/es.object.get-own-property-names');
|
|
122
123
|
require('../modules/es.object.get-prototype-of');
|
|
124
|
+
require('../modules/es.object.group-by');
|
|
123
125
|
require('../modules/es.object.has-own');
|
|
124
126
|
require('../modules/es.object.is');
|
|
125
127
|
require('../modules/es.object.is-extensible');
|
|
@@ -140,6 +142,7 @@ require('../modules/es.promise');
|
|
|
140
142
|
require('../modules/es.promise.all-settled');
|
|
141
143
|
require('../modules/es.promise.any');
|
|
142
144
|
require('../modules/es.promise.finally');
|
|
145
|
+
require('../modules/es.promise.with-resolvers');
|
|
143
146
|
require('../modules/es.reflect.apply');
|
|
144
147
|
require('../modules/es.reflect.construct');
|
|
145
148
|
require('../modules/es.reflect.define-property');
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
require('../../modules/es.map');
|
|
3
|
+
require('../../modules/es.map.group-by');
|
|
4
|
+
var call = require('../../internals/function-call');
|
|
5
|
+
var isCallable = require('../../internals/is-callable');
|
|
6
|
+
var path = require('../../internals/path');
|
|
7
|
+
|
|
8
|
+
var Map = path.Map;
|
|
9
|
+
var mapGroupBy = Map.groupBy;
|
|
10
|
+
|
|
11
|
+
module.exports = function groupBy(source, iterable, keyDerivative) {
|
|
12
|
+
return call(mapGroupBy, isCallable(this) ? this : Map, source, iterable, keyDerivative);
|
|
13
|
+
};
|
package/es/map/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
require('../../modules/es.array.iterator');
|
|
3
3
|
require('../../modules/es.map');
|
|
4
|
+
require('../../modules/es.map.group-by');
|
|
4
5
|
require('../../modules/es.object.to-string');
|
|
5
6
|
require('../../modules/es.string.iterator');
|
|
6
7
|
var path = require('../../internals/path');
|
package/es/object/index.js
CHANGED
|
@@ -11,6 +11,7 @@ require('../../modules/es.object.get-own-property-descriptor');
|
|
|
11
11
|
require('../../modules/es.object.get-own-property-descriptors');
|
|
12
12
|
require('../../modules/es.object.get-own-property-names');
|
|
13
13
|
require('../../modules/es.object.get-prototype-of');
|
|
14
|
+
require('../../modules/es.object.group-by');
|
|
14
15
|
require('../../modules/es.object.has-own');
|
|
15
16
|
require('../../modules/es.object.is');
|
|
16
17
|
require('../../modules/es.object.is-extensible');
|
package/es/promise/index.js
CHANGED
|
@@ -5,6 +5,7 @@ require('../../modules/es.object.to-string');
|
|
|
5
5
|
require('../../modules/es.promise');
|
|
6
6
|
require('../../modules/es.promise.all-settled');
|
|
7
7
|
require('../../modules/es.promise.any');
|
|
8
|
+
require('../../modules/es.promise.with-resolvers');
|
|
8
9
|
require('../../modules/es.promise.finally');
|
|
9
10
|
require('../../modules/es.string.iterator');
|
|
10
11
|
var path = require('../../internals/path');
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
require('../../modules/es.promise');
|
|
3
|
+
require('../../modules/es.promise.with-resolvers');
|
|
4
|
+
var call = require('../../internals/function-call');
|
|
5
|
+
var isCallable = require('../../internals/is-callable');
|
|
6
|
+
var path = require('../../internals/path');
|
|
7
|
+
|
|
8
|
+
var Promise = path.Promise;
|
|
9
|
+
var promiseWithResolvers = Promise.withResolvers;
|
|
10
|
+
|
|
11
|
+
module.exports = function withResolvers() {
|
|
12
|
+
return call(promiseWithResolvers, isCallable(this) ? this : Promise);
|
|
13
|
+
};
|
package/full/index.js
CHANGED
|
@@ -76,6 +76,7 @@ require('../modules/es.global-this');
|
|
|
76
76
|
require('../modules/es.json.stringify');
|
|
77
77
|
require('../modules/es.json.to-string-tag');
|
|
78
78
|
require('../modules/es.map');
|
|
79
|
+
require('../modules/es.map.group-by');
|
|
79
80
|
require('../modules/es.math.acosh');
|
|
80
81
|
require('../modules/es.math.asinh');
|
|
81
82
|
require('../modules/es.math.atanh');
|
|
@@ -120,6 +121,7 @@ require('../modules/es.object.get-own-property-descriptor');
|
|
|
120
121
|
require('../modules/es.object.get-own-property-descriptors');
|
|
121
122
|
require('../modules/es.object.get-own-property-names');
|
|
122
123
|
require('../modules/es.object.get-prototype-of');
|
|
124
|
+
require('../modules/es.object.group-by');
|
|
123
125
|
require('../modules/es.object.has-own');
|
|
124
126
|
require('../modules/es.object.is');
|
|
125
127
|
require('../modules/es.object.is-extensible');
|
|
@@ -140,6 +142,7 @@ require('../modules/es.promise');
|
|
|
140
142
|
require('../modules/es.promise.all-settled');
|
|
141
143
|
require('../modules/es.promise.any');
|
|
142
144
|
require('../modules/es.promise.finally');
|
|
145
|
+
require('../modules/es.promise.with-resolvers');
|
|
143
146
|
require('../modules/es.reflect.apply');
|
|
144
147
|
require('../modules/es.reflect.construct');
|
|
145
148
|
require('../modules/es.reflect.define-property');
|
|
@@ -429,6 +432,10 @@ require('../modules/esnext.typed-array.to-sorted');
|
|
|
429
432
|
require('../modules/esnext.typed-array.to-spliced');
|
|
430
433
|
require('../modules/esnext.typed-array.unique-by');
|
|
431
434
|
require('../modules/esnext.typed-array.with');
|
|
435
|
+
require('../modules/esnext.uint8-array.from-base64');
|
|
436
|
+
require('../modules/esnext.uint8-array.from-hex');
|
|
437
|
+
require('../modules/esnext.uint8-array.to-base64');
|
|
438
|
+
require('../modules/esnext.uint8-array.to-hex');
|
|
432
439
|
require('../modules/esnext.weak-map.delete-all');
|
|
433
440
|
require('../modules/esnext.weak-map.from');
|
|
434
441
|
require('../modules/esnext.weak-map.of');
|
|
@@ -10,5 +10,9 @@ require('../../modules/esnext.typed-array.filter-out');
|
|
|
10
10
|
require('../../modules/esnext.typed-array.filter-reject');
|
|
11
11
|
require('../../modules/esnext.typed-array.group-by');
|
|
12
12
|
require('../../modules/esnext.typed-array.unique-by');
|
|
13
|
+
require('../../modules/esnext.uint8-array.from-base64');
|
|
14
|
+
require('../../modules/esnext.uint8-array.from-hex');
|
|
15
|
+
require('../../modules/esnext.uint8-array.to-base64');
|
|
16
|
+
require('../../modules/esnext.uint8-array.to-hex');
|
|
13
17
|
|
|
14
18
|
module.exports = parent;
|
|
@@ -10,5 +10,9 @@ require('../../modules/esnext.typed-array.filter-out');
|
|
|
10
10
|
require('../../modules/esnext.typed-array.filter-reject');
|
|
11
11
|
require('../../modules/esnext.typed-array.group-by');
|
|
12
12
|
require('../../modules/esnext.typed-array.unique-by');
|
|
13
|
+
require('../../modules/esnext.uint8-array.from-base64');
|
|
14
|
+
require('../../modules/esnext.uint8-array.from-hex');
|
|
15
|
+
require('../../modules/esnext.uint8-array.to-base64');
|
|
16
|
+
require('../../modules/esnext.uint8-array.to-hex');
|
|
13
17
|
|
|
14
18
|
module.exports = parent;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var isObject = require('../internals/is-object');
|
|
3
|
+
|
|
4
|
+
var $String = String;
|
|
5
|
+
var $TypeError = TypeError;
|
|
6
|
+
|
|
7
|
+
module.exports = function (argument) {
|
|
8
|
+
if (argument === undefined || isObject(argument)) return argument;
|
|
9
|
+
throw new $TypeError($String(argument) + ' is not an object or undefined');
|
|
10
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var classof = require('../internals/classof');
|
|
3
|
+
|
|
4
|
+
var $TypeError = TypeError;
|
|
5
|
+
|
|
6
|
+
// Perform ? RequireInternalSlot(argument, [[TypedArrayName]])
|
|
7
|
+
// If argument.[[TypedArrayName]] is not "Uint8Array", throw a TypeError exception
|
|
8
|
+
module.exports = function (argument) {
|
|
9
|
+
if (classof(argument) === 'Uint8Array') return argument;
|
|
10
|
+
throw new $TypeError('Argument is not an Uint8Array');
|
|
11
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
3
3
|
|
|
4
|
-
module.exports = function (Constructor, list) {
|
|
4
|
+
module.exports = function (Constructor, list, $length) {
|
|
5
5
|
var index = 0;
|
|
6
|
-
var length = lengthOfArrayLike(list);
|
|
6
|
+
var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);
|
|
7
7
|
var result = new Constructor(length);
|
|
8
8
|
while (length > index) result[index] = list[index++];
|
|
9
9
|
return result;
|
|
@@ -10,8 +10,8 @@ var createMethod = function (TYPE) {
|
|
|
10
10
|
return function ($this, callbackfn, that) {
|
|
11
11
|
var O = toObject($this);
|
|
12
12
|
var self = IndexedObject(O);
|
|
13
|
-
var boundFunction = bind(callbackfn, that);
|
|
14
13
|
var index = lengthOfArrayLike(self);
|
|
14
|
+
var boundFunction = bind(callbackfn, that);
|
|
15
15
|
var value, result;
|
|
16
16
|
while (index-- > 0) {
|
|
17
17
|
value = self[index];
|
|
@@ -20,8 +20,8 @@ var createMethod = function (TYPE) {
|
|
|
20
20
|
return function ($this, callbackfn, that, specificCreate) {
|
|
21
21
|
var O = toObject($this);
|
|
22
22
|
var self = IndexedObject(O);
|
|
23
|
-
var boundFunction = bind(callbackfn, that);
|
|
24
23
|
var length = lengthOfArrayLike(self);
|
|
24
|
+
var boundFunction = bind(callbackfn, that);
|
|
25
25
|
var index = 0;
|
|
26
26
|
var create = specificCreate || arraySpeciesCreate;
|
|
27
27
|
var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
|
|
@@ -9,10 +9,10 @@ var $TypeError = TypeError;
|
|
|
9
9
|
// `Array.prototype.{ reduce, reduceRight }` methods implementation
|
|
10
10
|
var createMethod = function (IS_RIGHT) {
|
|
11
11
|
return function (that, callbackfn, argumentsLength, memo) {
|
|
12
|
-
aCallable(callbackfn);
|
|
13
12
|
var O = toObject(that);
|
|
14
13
|
var self = IndexedObject(O);
|
|
15
14
|
var length = lengthOfArrayLike(O);
|
|
15
|
+
aCallable(callbackfn);
|
|
16
16
|
var index = IS_RIGHT ? length - 1 : 0;
|
|
17
17
|
var i = IS_RIGHT ? -1 : 1;
|
|
18
18
|
if (argumentsLength < 2) while (true) {
|
package/internals/base64-map.js
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
3
|
-
var
|
|
2
|
+
var commonAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
3
|
+
var base64Alphabet = commonAlphabet + '+/';
|
|
4
|
+
var base64UrlAlphabet = commonAlphabet + '-_';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
var inverse = function (characters) {
|
|
7
|
+
// TODO: use `Object.create(null)` in `core-js@4`
|
|
8
|
+
var result = {};
|
|
9
|
+
var index = 0;
|
|
10
|
+
for (; index < 64; index++) result[characters.charAt(index)] = index;
|
|
11
|
+
return result;
|
|
12
|
+
};
|
|
6
13
|
|
|
7
14
|
module.exports = {
|
|
8
|
-
|
|
9
|
-
|
|
15
|
+
i2c: base64Alphabet,
|
|
16
|
+
c2i: inverse(base64Alphabet),
|
|
17
|
+
i2cUrl: base64UrlAlphabet,
|
|
18
|
+
c2iUrl: inverse(base64UrlAlphabet)
|
|
10
19
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $TypeError = TypeError;
|
|
3
|
+
|
|
4
|
+
module.exports = function (options) {
|
|
5
|
+
var alphabet = options && options.alphabet;
|
|
6
|
+
if (alphabet === undefined || alphabet === 'base64' || alphabet === 'base64url') return alphabet || 'base64';
|
|
7
|
+
throw new $TypeError('Incorrect `alphabet` option');
|
|
8
|
+
};
|
package/internals/shared.js
CHANGED
|
@@ -5,9 +5,9 @@ var store = require('../internals/shared-store');
|
|
|
5
5
|
(module.exports = function (key, value) {
|
|
6
6
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
7
7
|
})('versions', []).push({
|
|
8
|
-
version: '3.
|
|
8
|
+
version: '3.34.0',
|
|
9
9
|
mode: IS_PURE ? 'pure' : 'global',
|
|
10
10
|
copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
|
|
11
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.
|
|
11
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',
|
|
12
12
|
source: 'https://github.com/zloirock/core-js'
|
|
13
13
|
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var aCallable = require('../internals/a-callable');
|
|
5
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
6
|
+
var iterate = require('../internals/iterate');
|
|
7
|
+
var MapHelpers = require('../internals/map-helpers');
|
|
8
|
+
var IS_PURE = require('../internals/is-pure');
|
|
9
|
+
|
|
10
|
+
var Map = MapHelpers.Map;
|
|
11
|
+
var has = MapHelpers.has;
|
|
12
|
+
var get = MapHelpers.get;
|
|
13
|
+
var set = MapHelpers.set;
|
|
14
|
+
var push = uncurryThis([].push);
|
|
15
|
+
|
|
16
|
+
// `Map.groupBy` method
|
|
17
|
+
// https://github.com/tc39/proposal-array-grouping
|
|
18
|
+
$({ target: 'Map', stat: true, forced: IS_PURE }, {
|
|
19
|
+
groupBy: function groupBy(items, callbackfn) {
|
|
20
|
+
requireObjectCoercible(items);
|
|
21
|
+
aCallable(callbackfn);
|
|
22
|
+
var map = new Map();
|
|
23
|
+
var k = 0;
|
|
24
|
+
iterate(items, function (value) {
|
|
25
|
+
var key = callbackfn(value, k++);
|
|
26
|
+
if (!has(map, key)) set(map, key, [value]);
|
|
27
|
+
else push(get(map, key), value);
|
|
28
|
+
});
|
|
29
|
+
return map;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
6
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
7
|
+
var toPropertyKey = require('../internals/to-property-key');
|
|
8
|
+
var iterate = require('../internals/iterate');
|
|
9
|
+
|
|
10
|
+
var create = getBuiltIn('Object', 'create');
|
|
11
|
+
var push = uncurryThis([].push);
|
|
12
|
+
|
|
13
|
+
// `Object.groupBy` method
|
|
14
|
+
// https://github.com/tc39/proposal-array-grouping
|
|
15
|
+
$({ target: 'Object', stat: true }, {
|
|
16
|
+
groupBy: function groupBy(items, callbackfn) {
|
|
17
|
+
requireObjectCoercible(items);
|
|
18
|
+
aCallable(callbackfn);
|
|
19
|
+
var obj = create(null);
|
|
20
|
+
var k = 0;
|
|
21
|
+
iterate(items, function (value) {
|
|
22
|
+
var key = toPropertyKey(callbackfn(value, k++));
|
|
23
|
+
// in some IE versions, `hasOwnProperty` returns incorrect result on integer keys
|
|
24
|
+
// but since it's a `null` prototype object, we can safely use `in`
|
|
25
|
+
if (key in obj) push(obj[key], value);
|
|
26
|
+
else obj[key] = [value];
|
|
27
|
+
});
|
|
28
|
+
return obj;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var newPromiseCapabilityModule = require('../internals/new-promise-capability');
|
|
4
|
+
|
|
5
|
+
// `Promise.withResolvers` method
|
|
6
|
+
// https://github.com/tc39/proposal-promise-with-resolvers
|
|
7
|
+
$({ target: 'Promise', stat: true }, {
|
|
8
|
+
withResolvers: function withResolvers() {
|
|
9
|
+
var promiseCapability = newPromiseCapabilityModule.f(this);
|
|
10
|
+
return {
|
|
11
|
+
promise: promiseCapability.promise,
|
|
12
|
+
resolve: promiseCapability.resolve,
|
|
13
|
+
reject: promiseCapability.reject
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
});
|
|
@@ -5,6 +5,7 @@ var uncurryThis = require('../internals/function-uncurry-this');
|
|
|
5
5
|
var isForced = require('../internals/is-forced');
|
|
6
6
|
var inheritIfRequired = require('../internals/inherit-if-required');
|
|
7
7
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
8
|
+
var create = require('../internals/object-create');
|
|
8
9
|
var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
|
|
9
10
|
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
10
11
|
var isRegExp = require('../internals/is-regexp');
|
|
@@ -77,7 +78,7 @@ var handleNCG = function (string) {
|
|
|
77
78
|
var index = 0;
|
|
78
79
|
var result = '';
|
|
79
80
|
var named = [];
|
|
80
|
-
var names =
|
|
81
|
+
var names = create(null);
|
|
81
82
|
var brackets = false;
|
|
82
83
|
var ncg = false;
|
|
83
84
|
var groupid = 0;
|
|
@@ -2,19 +2,24 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var global = require('../internals/global');
|
|
4
4
|
var anInstance = require('../internals/an-instance');
|
|
5
|
+
var anObject = require('../internals/an-object');
|
|
5
6
|
var isCallable = require('../internals/is-callable');
|
|
6
7
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
7
|
-
var
|
|
8
|
+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
9
|
+
var createProperty = require('../internals/create-property');
|
|
8
10
|
var fails = require('../internals/fails');
|
|
9
11
|
var hasOwn = require('../internals/has-own-property');
|
|
10
12
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
11
13
|
var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
|
|
14
|
+
var DESCRIPTORS = require('../internals/descriptors');
|
|
12
15
|
var IS_PURE = require('../internals/is-pure');
|
|
13
16
|
|
|
17
|
+
var CONSTRUCTOR = 'constructor';
|
|
18
|
+
var ITERATOR = 'Iterator';
|
|
14
19
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
15
20
|
|
|
16
21
|
var $TypeError = TypeError;
|
|
17
|
-
var NativeIterator = global
|
|
22
|
+
var NativeIterator = global[ITERATOR];
|
|
18
23
|
|
|
19
24
|
// FF56- have non-standard global helper `Iterator`
|
|
20
25
|
var FORCED = IS_PURE
|
|
@@ -28,12 +33,27 @@ var IteratorConstructor = function Iterator() {
|
|
|
28
33
|
if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable');
|
|
29
34
|
};
|
|
30
35
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
var defineIteratorPrototypeAccessor = function (key, value) {
|
|
37
|
+
if (DESCRIPTORS) {
|
|
38
|
+
defineBuiltInAccessor(IteratorPrototype, key, {
|
|
39
|
+
configurable: true,
|
|
40
|
+
get: function () {
|
|
41
|
+
return value;
|
|
42
|
+
},
|
|
43
|
+
set: function (replacement) {
|
|
44
|
+
anObject(this);
|
|
45
|
+
if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property");
|
|
46
|
+
if (hasOwn(this, key)) this[key] = replacement;
|
|
47
|
+
else createProperty(this, key, replacement);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
} else IteratorPrototype[key] = value;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR);
|
|
34
54
|
|
|
35
|
-
if (FORCED || !hasOwn(IteratorPrototype,
|
|
36
|
-
|
|
55
|
+
if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) {
|
|
56
|
+
defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor);
|
|
37
57
|
}
|
|
38
58
|
|
|
39
59
|
IteratorConstructor.prototype = IteratorPrototype;
|
|
@@ -1,31 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var aCallable = require('../internals/a-callable');
|
|
5
|
-
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
6
|
-
var iterate = require('../internals/iterate');
|
|
7
|
-
var MapHelpers = require('../internals/map-helpers');
|
|
8
|
-
var IS_PURE = require('../internals/is-pure');
|
|
9
|
-
|
|
10
|
-
var Map = MapHelpers.Map;
|
|
11
|
-
var has = MapHelpers.has;
|
|
12
|
-
var get = MapHelpers.get;
|
|
13
|
-
var set = MapHelpers.set;
|
|
14
|
-
var push = uncurryThis([].push);
|
|
15
|
-
|
|
16
|
-
// `Map.groupBy` method
|
|
17
|
-
// https://github.com/tc39/proposal-array-grouping
|
|
18
|
-
$({ target: 'Map', stat: true, forced: IS_PURE }, {
|
|
19
|
-
groupBy: function groupBy(items, callbackfn) {
|
|
20
|
-
requireObjectCoercible(items);
|
|
21
|
-
aCallable(callbackfn);
|
|
22
|
-
var map = new Map();
|
|
23
|
-
var k = 0;
|
|
24
|
-
iterate(items, function (value) {
|
|
25
|
-
var key = callbackfn(value, k++);
|
|
26
|
-
if (!has(map, key)) set(map, key, [value]);
|
|
27
|
-
else push(get(map, key), value);
|
|
28
|
-
});
|
|
29
|
-
return map;
|
|
30
|
-
}
|
|
31
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.map.group-by');
|
|
@@ -35,7 +35,7 @@ $({ target: 'Number', stat: true, forced: true }, {
|
|
|
35
35
|
var parts = split(string, '.');
|
|
36
36
|
var mathNum = $parseInt(parts[0], R);
|
|
37
37
|
if (parts.length > 1) mathNum += $parseInt(parts[1], R) / pow(R, parts[1].length);
|
|
38
|
-
if (numberToString(mathNum, R) !== string) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
|
|
38
|
+
if (R === 10 && numberToString(mathNum, R) !== string) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
|
|
39
39
|
return sign * mathNum;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
@@ -1,30 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
-
var aCallable = require('../internals/a-callable');
|
|
6
|
-
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
7
|
-
var toPropertyKey = require('../internals/to-property-key');
|
|
8
|
-
var iterate = require('../internals/iterate');
|
|
9
|
-
|
|
10
|
-
var create = getBuiltIn('Object', 'create');
|
|
11
|
-
var push = uncurryThis([].push);
|
|
12
|
-
|
|
13
|
-
// `Object.groupBy` method
|
|
14
|
-
// https://github.com/tc39/proposal-array-grouping
|
|
15
|
-
$({ target: 'Object', stat: true }, {
|
|
16
|
-
groupBy: function groupBy(items, callbackfn) {
|
|
17
|
-
requireObjectCoercible(items);
|
|
18
|
-
aCallable(callbackfn);
|
|
19
|
-
var obj = create(null);
|
|
20
|
-
var k = 0;
|
|
21
|
-
iterate(items, function (value) {
|
|
22
|
-
var key = toPropertyKey(callbackfn(value, k++));
|
|
23
|
-
// in some IE versions, `hasOwnProperty` returns incorrect result on integer keys
|
|
24
|
-
// but since it's a `null` prototype object, we can safely use `in`
|
|
25
|
-
if (key in obj) push(obj[key], value);
|
|
26
|
-
else obj[key] = [value];
|
|
27
|
-
});
|
|
28
|
-
return obj;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.object.group-by');
|
|
@@ -1,16 +1,3 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
// `Promise.withResolvers` method
|
|
6
|
-
// https://github.com/tc39/proposal-promise-with-resolvers
|
|
7
|
-
$({ target: 'Promise', stat: true }, {
|
|
8
|
-
withResolvers: function withResolvers() {
|
|
9
|
-
var promiseCapability = newPromiseCapabilityModule.f(this);
|
|
10
|
-
return {
|
|
11
|
-
promise: promiseCapability.promise,
|
|
12
|
-
resolve: promiseCapability.resolve,
|
|
13
|
-
reject: promiseCapability.reject
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
});
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
3
|
+
require('../modules/es.promise.with-resolvers');
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var anObjectOrUndefined = require('../internals/an-object-or-undefined');
|
|
6
|
+
var aString = require('../internals/a-string');
|
|
7
|
+
var hasOwn = require('../internals/has-own-property');
|
|
8
|
+
var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');
|
|
9
|
+
var base64Map = require('../internals/base64-map');
|
|
10
|
+
var getAlphabetOption = require('../internals/get-alphabet-option');
|
|
11
|
+
|
|
12
|
+
var base64Alphabet = base64Map.c2i;
|
|
13
|
+
var base64UrlAlphabet = base64Map.c2iUrl;
|
|
14
|
+
|
|
15
|
+
var Uint8Array = global.Uint8Array;
|
|
16
|
+
var SyntaxError = global.SyntaxError;
|
|
17
|
+
var charAt = uncurryThis(''.charAt);
|
|
18
|
+
var replace = uncurryThis(''.replace);
|
|
19
|
+
var stringSlice = uncurryThis(''.slice);
|
|
20
|
+
var push = uncurryThis([].push);
|
|
21
|
+
var SPACES = /[\t\n\f\r ]/g;
|
|
22
|
+
var EXTRA_BITS = 'Extra bits';
|
|
23
|
+
|
|
24
|
+
// `Uint8Array.fromBase64` method
|
|
25
|
+
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
26
|
+
if (Uint8Array) $({ target: 'Uint8Array', stat: true, forced: true }, {
|
|
27
|
+
fromBase64: function fromBase64(string /* , options */) {
|
|
28
|
+
aString(string);
|
|
29
|
+
var options = arguments.length > 1 ? anObjectOrUndefined(arguments[1]) : undefined;
|
|
30
|
+
var alphabet = getAlphabetOption(options) === 'base64' ? base64Alphabet : base64UrlAlphabet;
|
|
31
|
+
var strict = options ? !!options.strict : false;
|
|
32
|
+
|
|
33
|
+
var input = strict ? string : replace(string, SPACES, '');
|
|
34
|
+
|
|
35
|
+
if (input.length % 4 === 0) {
|
|
36
|
+
if (stringSlice(input, -2) === '==') input = stringSlice(input, 0, -2);
|
|
37
|
+
else if (stringSlice(input, -1) === '=') input = stringSlice(input, 0, -1);
|
|
38
|
+
} else if (strict) throw new SyntaxError('Input is not correctly padded');
|
|
39
|
+
|
|
40
|
+
var lastChunkSize = input.length % 4;
|
|
41
|
+
|
|
42
|
+
switch (lastChunkSize) {
|
|
43
|
+
case 1: throw new SyntaxError('Bad input length');
|
|
44
|
+
case 2: input += 'AA'; break;
|
|
45
|
+
case 3: input += 'A';
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
var bytes = [];
|
|
49
|
+
var i = 0;
|
|
50
|
+
var inputLength = input.length;
|
|
51
|
+
|
|
52
|
+
var at = function (shift) {
|
|
53
|
+
var chr = charAt(input, i + shift);
|
|
54
|
+
if (!hasOwn(alphabet, chr)) throw new SyntaxError('Bad char in input: "' + chr + '"');
|
|
55
|
+
return alphabet[chr] << (18 - 6 * shift);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
for (; i < inputLength; i += 4) {
|
|
59
|
+
var triplet = at(0) + at(1) + at(2) + at(3);
|
|
60
|
+
push(bytes, (triplet >> 16) & 255, (triplet >> 8) & 255, triplet & 255);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
var byteLength = bytes.length;
|
|
64
|
+
|
|
65
|
+
if (lastChunkSize === 2) {
|
|
66
|
+
if (strict && bytes[byteLength - 2] !== 0) throw new SyntaxError(EXTRA_BITS);
|
|
67
|
+
byteLength -= 2;
|
|
68
|
+
} else if (lastChunkSize === 3) {
|
|
69
|
+
if (strict && bytes[byteLength - 1] !== 0) throw new SyntaxError(EXTRA_BITS);
|
|
70
|
+
byteLength--;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return arrayFromConstructorAndList(Uint8Array, bytes, byteLength);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var aString = require('../internals/a-string');
|
|
6
|
+
|
|
7
|
+
var Uint8Array = global.Uint8Array;
|
|
8
|
+
var SyntaxError = global.SyntaxError;
|
|
9
|
+
var parseInt = global.parseInt;
|
|
10
|
+
var NOT_HEX = /[^\da-f]/i;
|
|
11
|
+
var exec = uncurryThis(NOT_HEX.exec);
|
|
12
|
+
var stringSlice = uncurryThis(''.slice);
|
|
13
|
+
|
|
14
|
+
// `Uint8Array.fromHex` method
|
|
15
|
+
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
16
|
+
if (Uint8Array) $({ target: 'Uint8Array', stat: true, forced: true }, {
|
|
17
|
+
fromHex: function fromHex(string) {
|
|
18
|
+
aString(string);
|
|
19
|
+
var stringLength = string.length;
|
|
20
|
+
if (stringLength % 2) throw new SyntaxError('String should have an even number of characters');
|
|
21
|
+
if (exec(NOT_HEX, string)) throw new SyntaxError('String should only contain hex characters');
|
|
22
|
+
var result = new Uint8Array(stringLength / 2);
|
|
23
|
+
for (var i = 0; i < stringLength; i += 2) {
|
|
24
|
+
result[i / 2] = parseInt(stringSlice(string, i, i + 2), 16);
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
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 base64Map = require('../internals/base64-map');
|
|
8
|
+
var getAlphabetOption = require('../internals/get-alphabet-option');
|
|
9
|
+
|
|
10
|
+
var base64Alphabet = base64Map.i2c;
|
|
11
|
+
var base64UrlAlphabet = base64Map.i2cUrl;
|
|
12
|
+
|
|
13
|
+
var Uint8Array = global.Uint8Array;
|
|
14
|
+
var charAt = uncurryThis(''.charAt);
|
|
15
|
+
|
|
16
|
+
// `Uint8Array.prototype.toBase64` method
|
|
17
|
+
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
18
|
+
if (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: true }, {
|
|
19
|
+
toBase64: function toBase64(/* options */) {
|
|
20
|
+
var array = anUint8Array(this);
|
|
21
|
+
var options = arguments.length ? anObjectOrUndefined(arguments[0]) : undefined;
|
|
22
|
+
var alphabet = getAlphabetOption(options) === 'base64' ? base64Alphabet : base64UrlAlphabet;
|
|
23
|
+
|
|
24
|
+
var result = '';
|
|
25
|
+
var i = 0;
|
|
26
|
+
var length = array.length;
|
|
27
|
+
var triplet;
|
|
28
|
+
|
|
29
|
+
var at = function (shift) {
|
|
30
|
+
return charAt(alphabet, (triplet >> (6 * shift)) & 63);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
for (; i + 2 < length; i += 3) {
|
|
34
|
+
triplet = (array[i] << 16) + (array[i + 1] << 8) + array[i + 2];
|
|
35
|
+
result += at(3) + at(2) + at(1) + at(0);
|
|
36
|
+
}
|
|
37
|
+
if (i + 2 === length) {
|
|
38
|
+
triplet = (array[i] << 16) + (array[i + 1] << 8);
|
|
39
|
+
result += at(3) + at(2) + at(1) + '=';
|
|
40
|
+
} else if (i + 1 === length) {
|
|
41
|
+
triplet = array[i] << 16;
|
|
42
|
+
result += at(3) + at(2) + '==';
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var anUint8Array = require('../internals/an-uint8-array');
|
|
6
|
+
|
|
7
|
+
var Uint8Array = global.Uint8Array;
|
|
8
|
+
var numberToString = uncurryThis(1.0.toString);
|
|
9
|
+
|
|
10
|
+
// `Uint8Array.prototype.toHex` method
|
|
11
|
+
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
12
|
+
if (Uint8Array) $({ target: 'Uint8Array', proto: true, forced: true }, {
|
|
13
|
+
toHex: function toHex() {
|
|
14
|
+
anUint8Array(this);
|
|
15
|
+
var result = '';
|
|
16
|
+
for (var i = 0, length = this.length; i < length; i++) {
|
|
17
|
+
var hex = numberToString(this[i], 16);
|
|
18
|
+
result += hex.length === 1 ? '0' + hex : hex;
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
});
|
package/modules/web.atob.js
CHANGED
|
@@ -6,9 +6,8 @@ var uncurryThis = require('../internals/function-uncurry-this');
|
|
|
6
6
|
var call = require('../internals/function-call');
|
|
7
7
|
var fails = require('../internals/fails');
|
|
8
8
|
var toString = require('../internals/to-string');
|
|
9
|
-
var hasOwn = require('../internals/has-own-property');
|
|
10
9
|
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
11
|
-
var
|
|
10
|
+
var c2i = require('../internals/base64-map').c2i;
|
|
12
11
|
|
|
13
12
|
var disallowed = /[^\d+/a-z]/i;
|
|
14
13
|
var whitespaces = /[\t\n\f\r ]+/g;
|
|
@@ -20,43 +19,49 @@ var charAt = uncurryThis(''.charAt);
|
|
|
20
19
|
var replace = uncurryThis(''.replace);
|
|
21
20
|
var exec = uncurryThis(disallowed.exec);
|
|
22
21
|
|
|
23
|
-
var
|
|
22
|
+
var BASIC = !!$atob && !fails(function () {
|
|
23
|
+
return $atob('aGk=') !== 'hi';
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
var NO_SPACES_IGNORE = BASIC && fails(function () {
|
|
24
27
|
return $atob(' ') !== '';
|
|
25
28
|
});
|
|
26
29
|
|
|
27
|
-
var NO_ENCODING_CHECK = !fails(function () {
|
|
30
|
+
var NO_ENCODING_CHECK = BASIC && !fails(function () {
|
|
28
31
|
$atob('a');
|
|
29
32
|
});
|
|
30
33
|
|
|
31
|
-
var NO_ARG_RECEIVING_CHECK =
|
|
34
|
+
var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () {
|
|
32
35
|
$atob();
|
|
33
36
|
});
|
|
34
37
|
|
|
35
|
-
var WRONG_ARITY =
|
|
38
|
+
var WRONG_ARITY = BASIC && $atob.length !== 1;
|
|
39
|
+
|
|
40
|
+
var FORCED = !BASIC || NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY;
|
|
36
41
|
|
|
37
42
|
// `atob` method
|
|
38
43
|
// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob
|
|
39
|
-
$({ global: true, bind: true, enumerable: true, forced:
|
|
44
|
+
$({ global: true, bind: true, enumerable: true, forced: FORCED }, {
|
|
40
45
|
atob: function atob(data) {
|
|
41
46
|
validateArgumentsLength(arguments.length, 1);
|
|
42
47
|
// `webpack` dev server bug on IE global methods - use call(fn, global, ...)
|
|
43
|
-
if (
|
|
48
|
+
if (BASIC && !NO_SPACES_IGNORE && !NO_ENCODING_CHECK) return call($atob, global, data);
|
|
44
49
|
var string = replace(toString(data), whitespaces, '');
|
|
45
50
|
var output = '';
|
|
46
51
|
var position = 0;
|
|
47
52
|
var bc = 0;
|
|
48
|
-
var chr, bs;
|
|
53
|
+
var length, chr, bs;
|
|
49
54
|
if (string.length % 4 === 0) {
|
|
50
55
|
string = replace(string, finalEq, '');
|
|
51
56
|
}
|
|
52
|
-
|
|
57
|
+
length = string.length;
|
|
58
|
+
if (length % 4 === 1 || exec(disallowed, string)) {
|
|
53
59
|
throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError');
|
|
54
60
|
}
|
|
55
|
-
while (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
61
|
+
while (position < length) {
|
|
62
|
+
chr = charAt(string, position++);
|
|
63
|
+
bs = bc % 4 ? bs * 64 + c2i[chr] : c2i[chr];
|
|
64
|
+
if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6));
|
|
60
65
|
} return output;
|
|
61
66
|
}
|
|
62
67
|
});
|
package/modules/web.btoa.js
CHANGED
|
@@ -7,33 +7,37 @@ var call = require('../internals/function-call');
|
|
|
7
7
|
var fails = require('../internals/fails');
|
|
8
8
|
var toString = require('../internals/to-string');
|
|
9
9
|
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
10
|
-
var
|
|
10
|
+
var i2c = require('../internals/base64-map').i2c;
|
|
11
11
|
|
|
12
12
|
var $btoa = getBuiltIn('btoa');
|
|
13
13
|
var charAt = uncurryThis(''.charAt);
|
|
14
14
|
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var BASIC = !!$btoa && !fails(function () {
|
|
17
|
+
return $btoa('hi') !== 'aGk=';
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () {
|
|
17
21
|
$btoa();
|
|
18
22
|
});
|
|
19
23
|
|
|
20
|
-
var WRONG_ARG_CONVERSION =
|
|
24
|
+
var WRONG_ARG_CONVERSION = BASIC && fails(function () {
|
|
21
25
|
return $btoa(null) !== 'bnVsbA==';
|
|
22
26
|
});
|
|
23
27
|
|
|
24
|
-
var WRONG_ARITY =
|
|
28
|
+
var WRONG_ARITY = BASIC && $btoa.length !== 1;
|
|
25
29
|
|
|
26
30
|
// `btoa` method
|
|
27
31
|
// https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa
|
|
28
|
-
$({ global: true, bind: true, enumerable: true, forced: NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY }, {
|
|
32
|
+
$({ global: true, bind: true, enumerable: true, forced: !BASIC || NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY }, {
|
|
29
33
|
btoa: function btoa(data) {
|
|
30
34
|
validateArgumentsLength(arguments.length, 1);
|
|
31
35
|
// `webpack` dev server bug on IE global methods - use call(fn, global, ...)
|
|
32
|
-
if (
|
|
36
|
+
if (BASIC) return call($btoa, global, toString(data));
|
|
33
37
|
var string = toString(data);
|
|
34
38
|
var output = '';
|
|
35
39
|
var position = 0;
|
|
36
|
-
var map =
|
|
40
|
+
var map = i2c;
|
|
37
41
|
var block, charCode;
|
|
38
42
|
while (charAt(string, position) || (map = '=', position % 1)) {
|
|
39
43
|
charCode = charCodeAt(string, position += 3 / 4);
|
|
@@ -4,10 +4,10 @@ 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');
|
|
6
6
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
7
|
+
var setToStringTag = require('../internals/set-to-string-tag');
|
|
7
8
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
8
9
|
|
|
9
10
|
var ITERATOR = wellKnownSymbol('iterator');
|
|
10
|
-
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
11
11
|
var ArrayValues = ArrayIteratorMethods.values;
|
|
12
12
|
|
|
13
13
|
var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
|
|
@@ -18,9 +18,7 @@ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
|
|
|
18
18
|
} catch (error) {
|
|
19
19
|
CollectionPrototype[ITERATOR] = ArrayValues;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
|
|
23
|
-
}
|
|
21
|
+
setToStringTag(CollectionPrototype, COLLECTION_NAME, true);
|
|
24
22
|
if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
|
|
25
23
|
// some Chrome versions have non-configurable methods on DOMTokenList
|
|
26
24
|
if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
|
package/package.json
CHANGED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
// https://github.com/tc39/proposal-arraybuffer-base64
|
|
3
|
+
require('../modules/esnext.uint8-array.from-base64');
|
|
4
|
+
require('../modules/esnext.uint8-array.from-hex');
|
|
5
|
+
require('../modules/esnext.uint8-array.to-base64');
|
|
6
|
+
require('../modules/esnext.uint8-array.to-hex');
|
package/stable/index.js
CHANGED
|
@@ -76,6 +76,7 @@ require('../modules/es.global-this');
|
|
|
76
76
|
require('../modules/es.json.stringify');
|
|
77
77
|
require('../modules/es.json.to-string-tag');
|
|
78
78
|
require('../modules/es.map');
|
|
79
|
+
require('../modules/es.map.group-by');
|
|
79
80
|
require('../modules/es.math.acosh');
|
|
80
81
|
require('../modules/es.math.asinh');
|
|
81
82
|
require('../modules/es.math.atanh');
|
|
@@ -120,6 +121,7 @@ require('../modules/es.object.get-own-property-descriptor');
|
|
|
120
121
|
require('../modules/es.object.get-own-property-descriptors');
|
|
121
122
|
require('../modules/es.object.get-own-property-names');
|
|
122
123
|
require('../modules/es.object.get-prototype-of');
|
|
124
|
+
require('../modules/es.object.group-by');
|
|
123
125
|
require('../modules/es.object.has-own');
|
|
124
126
|
require('../modules/es.object.is');
|
|
125
127
|
require('../modules/es.object.is-extensible');
|
|
@@ -140,6 +142,7 @@ require('../modules/es.promise');
|
|
|
140
142
|
require('../modules/es.promise.all-settled');
|
|
141
143
|
require('../modules/es.promise.any');
|
|
142
144
|
require('../modules/es.promise.finally');
|
|
145
|
+
require('../modules/es.promise.with-resolvers');
|
|
143
146
|
require('../modules/es.reflect.apply');
|
|
144
147
|
require('../modules/es.reflect.construct');
|
|
145
148
|
require('../modules/es.reflect.define-property');
|
package/stage/2.js
CHANGED
package/stage/3.js
CHANGED
|
@@ -3,13 +3,11 @@ var parent = require('./4');
|
|
|
3
3
|
|
|
4
4
|
require('../proposals/array-buffer-transfer');
|
|
5
5
|
require('../proposals/array-from-async-stage-2');
|
|
6
|
-
require('../proposals/array-grouping-v2');
|
|
7
6
|
require('../proposals/decorator-metadata-v2');
|
|
8
7
|
require('../proposals/explicit-resource-management');
|
|
9
8
|
require('../proposals/float16');
|
|
10
9
|
require('../proposals/iterator-helpers-stage-3-2');
|
|
11
10
|
require('../proposals/json-parse-with-source');
|
|
12
|
-
require('../proposals/promise-with-resolvers');
|
|
13
11
|
require('../proposals/set-methods-v2');
|
|
14
12
|
// TODO: Obsolete versions, remove from `core-js@4`
|
|
15
13
|
require('../proposals/array-grouping-stage-3');
|
package/stage/4.js
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
// TODO: Remove this entry from `core-js@4`
|
|
3
3
|
require('../proposals/accessible-object-hasownproperty');
|
|
4
4
|
require('../proposals/array-find-from-last');
|
|
5
|
+
require('../proposals/array-grouping-v2');
|
|
5
6
|
require('../proposals/change-array-by-copy-stage-4');
|
|
6
7
|
// require('../proposals/error-cause');
|
|
7
8
|
require('../proposals/global-this');
|
|
8
9
|
require('../proposals/promise-all-settled');
|
|
9
10
|
require('../proposals/promise-any');
|
|
11
|
+
require('../proposals/promise-with-resolvers');
|
|
10
12
|
require('../proposals/relative-indexing-method');
|
|
11
13
|
require('../proposals/string-match-all');
|
|
12
14
|
require('../proposals/string-replace-all-stage-4');
|