core-js 3.33.3 → 3.35.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-data-view.js +9 -0
- package/internals/a-possible-prototype.js +2 -2
- 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-buffer.js +6 -9
- 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/array-sort.js +30 -33
- package/internals/base64-map.js +14 -5
- package/internals/collection-from.js +17 -24
- package/internals/collection-of.js +11 -3
- package/internals/collection-strong.js +1 -2
- package/internals/get-alphabet-option.js +8 -0
- package/internals/get-set-record.js +5 -10
- package/internals/is-callable.js +4 -4
- package/internals/is-object.js +1 -6
- package/internals/is-possible-prototype.js +6 -0
- package/internals/microtask.js +2 -4
- package/internals/object-get-own-property-names-external.js +1 -1
- package/internals/safe-get-built-in.js +13 -0
- package/internals/shared.js +2 -2
- package/internals/typed-array-constructor.js +3 -12
- package/modules/es.array.push.js +1 -1
- package/modules/es.function.has-instance.js +2 -5
- package/modules/es.map.group-by.js +31 -0
- package/modules/es.object.group-by.js +30 -0
- package/modules/es.object.proto.js +4 -2
- package/modules/es.promise.reject.js +2 -2
- package/modules/es.promise.with-resolvers.js +16 -0
- package/modules/es.regexp.constructor.js +2 -1
- package/modules/es.regexp.dot-all.js +1 -1
- package/modules/es.regexp.to-string.js +1 -1
- package/modules/es.string.ends-with.js +1 -5
- package/modules/es.string.split.js +1 -1
- package/modules/es.string.starts-with.js +1 -5
- package/modules/es.symbol.constructor.js +1 -1
- package/modules/es.weak-map.constructor.js +3 -6
- package/modules/esnext.data-view.set-float16.js +2 -3
- package/modules/esnext.data-view.set-uint8-clamped.js +2 -3
- package/modules/esnext.iterator.constructor.js +27 -7
- package/modules/esnext.map.from.js +3 -2
- package/modules/esnext.map.group-by.js +2 -30
- package/modules/esnext.map.of.js +3 -2
- 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.set.from.js +3 -2
- package/modules/esnext.set.of.js +3 -2
- package/modules/esnext.string.dedent.js +1 -1
- 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/esnext.weak-map.from.js +3 -2
- package/modules/esnext.weak-map.of.js +3 -2
- package/modules/esnext.weak-set.from.js +3 -2
- package/modules/esnext.weak-set.of.js +3 -2
- package/modules/web.atob.js +20 -15
- package/modules/web.btoa.js +11 -7
- package/modules/web.dom-collections.iterator.js +2 -4
- package/modules/web.queue-microtask.js +1 -7
- package/modules/web.url-search-params.constructor.js +1 -9
- package/modules/web.url.constructor.js +1 -1
- 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/internals/array-slice-simple.js +0 -18
- package/internals/document-all.js +0 -11
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;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var isPossiblePrototype = require('../internals/is-possible-prototype');
|
|
3
3
|
|
|
4
4
|
var $String = String;
|
|
5
5
|
var $TypeError = TypeError;
|
|
6
6
|
|
|
7
7
|
module.exports = function (argument) {
|
|
8
|
-
if (
|
|
8
|
+
if (isPossiblePrototype(argument)) return argument;
|
|
9
9
|
throw new $TypeError("Can't set " + $String(argument) + ' as a prototype');
|
|
10
10
|
};
|
|
@@ -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
|
+
};
|
|
@@ -16,9 +16,10 @@ var fround = require('../internals/math-fround');
|
|
|
16
16
|
var IEEE754 = require('../internals/ieee754');
|
|
17
17
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
18
18
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
19
|
-
var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
|
|
20
19
|
var arrayFill = require('../internals/array-fill');
|
|
21
|
-
var arraySlice = require('../internals/array-slice
|
|
20
|
+
var arraySlice = require('../internals/array-slice');
|
|
21
|
+
var inheritIfRequired = require('../internals/inherit-if-required');
|
|
22
|
+
var copyConstructorProperties = require('../internals/copy-constructor-properties');
|
|
22
23
|
var setToStringTag = require('../internals/set-to-string-tag');
|
|
23
24
|
var InternalStateModule = require('../internals/internal-state');
|
|
24
25
|
|
|
@@ -218,18 +219,14 @@ if (!NATIVE_ARRAY_BUFFER) {
|
|
|
218
219
|
/* eslint-enable no-new -- required for testing */
|
|
219
220
|
$ArrayBuffer = function ArrayBuffer(length) {
|
|
220
221
|
anInstance(this, ArrayBufferPrototype);
|
|
221
|
-
return new NativeArrayBuffer(toIndex(length));
|
|
222
|
+
return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer);
|
|
222
223
|
};
|
|
223
224
|
|
|
224
225
|
$ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;
|
|
225
226
|
|
|
226
|
-
for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {
|
|
227
|
-
if (!((key = keys[j++]) in $ArrayBuffer)) {
|
|
228
|
-
createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
227
|
ArrayBufferPrototype.constructor = $ArrayBuffer;
|
|
228
|
+
|
|
229
|
+
copyConstructorProperties($ArrayBuffer, NativeArrayBuffer);
|
|
233
230
|
} else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {
|
|
234
231
|
createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);
|
|
235
232
|
}
|
|
@@ -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/array-sort.js
CHANGED
|
@@ -1,45 +1,42 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var arraySlice = require('../internals/array-slice
|
|
2
|
+
var arraySlice = require('../internals/array-slice');
|
|
3
3
|
|
|
4
4
|
var floor = Math.floor;
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var sort = function (array, comparefn) {
|
|
7
7
|
var length = array.length;
|
|
8
|
-
var middle = floor(length / 2);
|
|
9
|
-
return length < 8 ? insertionSort(array, comparefn) : merge(
|
|
10
|
-
array,
|
|
11
|
-
mergeSort(arraySlice(array, 0, middle), comparefn),
|
|
12
|
-
mergeSort(arraySlice(array, middle), comparefn),
|
|
13
|
-
comparefn
|
|
14
|
-
);
|
|
15
|
-
};
|
|
16
8
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
if (length < 8) {
|
|
10
|
+
// insertion sort
|
|
11
|
+
var i = 1;
|
|
12
|
+
var element, j;
|
|
21
13
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
while (i < length) {
|
|
15
|
+
j = i;
|
|
16
|
+
element = array[i];
|
|
17
|
+
while (j && comparefn(array[j - 1], element) > 0) {
|
|
18
|
+
array[j] = array[--j];
|
|
19
|
+
}
|
|
20
|
+
if (j !== i++) array[j] = element;
|
|
27
21
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
} else {
|
|
23
|
+
// merge sort
|
|
24
|
+
var middle = floor(length / 2);
|
|
25
|
+
var left = sort(arraySlice(array, 0, middle), comparefn);
|
|
26
|
+
var right = sort(arraySlice(array, middle), comparefn);
|
|
27
|
+
var llength = left.length;
|
|
28
|
+
var rlength = right.length;
|
|
29
|
+
var lindex = 0;
|
|
30
|
+
var rindex = 0;
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
while (lindex < llength || rindex < rlength) {
|
|
33
|
+
array[lindex + rindex] = (lindex < llength && rindex < rlength)
|
|
34
|
+
? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
|
|
35
|
+
: lindex < llength ? left[lindex++] : right[rindex++];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
array[lindex + rindex] = (lindex < llength && rindex < rlength)
|
|
40
|
-
? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
|
|
41
|
-
: lindex < llength ? left[lindex++] : right[rindex++];
|
|
42
|
-
} return array;
|
|
39
|
+
return array;
|
|
43
40
|
};
|
|
44
41
|
|
|
45
|
-
module.exports =
|
|
42
|
+
module.exports = sort;
|
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
|
};
|
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://tc39.github.io/proposal-setmap-offrom/
|
|
3
3
|
var bind = require('../internals/function-bind-context');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var aConstructor = require('../internals/a-constructor');
|
|
7
|
-
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
|
4
|
+
var anObject = require('../internals/an-object');
|
|
5
|
+
var toObject = require('../internals/to-object');
|
|
8
6
|
var iterate = require('../internals/iterate');
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined);
|
|
24
|
-
iterate(source, function (nextItem) {
|
|
25
|
-
call(push, array, boundFunction(nextItem, n++));
|
|
8
|
+
module.exports = function (C, adder, ENTRY) {
|
|
9
|
+
return function from(source /* , mapFn, thisArg */) {
|
|
10
|
+
var O = toObject(source);
|
|
11
|
+
var length = arguments.length;
|
|
12
|
+
var mapFn = length > 1 ? arguments[1] : undefined;
|
|
13
|
+
var mapping = mapFn !== undefined;
|
|
14
|
+
var boundFunction = mapping ? bind(mapFn, length > 2 ? arguments[2] : undefined) : undefined;
|
|
15
|
+
var result = new C();
|
|
16
|
+
var n = 0;
|
|
17
|
+
iterate(O, function (nextItem) {
|
|
18
|
+
var entry = mapping ? boundFunction(nextItem, n++) : nextItem;
|
|
19
|
+
if (ENTRY) adder(result, anObject(entry)[0], entry[1]);
|
|
20
|
+
else adder(result, entry);
|
|
26
21
|
});
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
return new this(array);
|
|
22
|
+
return result;
|
|
23
|
+
};
|
|
31
24
|
};
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var anObject = require('../internals/an-object');
|
|
3
3
|
|
|
4
4
|
// https://tc39.github.io/proposal-setmap-offrom/
|
|
5
|
-
module.exports = function
|
|
6
|
-
return
|
|
5
|
+
module.exports = function (C, adder, ENTRY) {
|
|
6
|
+
return function of() {
|
|
7
|
+
var result = new C();
|
|
8
|
+
var length = arguments.length;
|
|
9
|
+
for (var index = 0; index < length; index++) {
|
|
10
|
+
var entry = arguments[index];
|
|
11
|
+
if (ENTRY) adder(result, anObject(entry)[0], entry[1]);
|
|
12
|
+
else adder(result, entry);
|
|
13
|
+
} return result;
|
|
14
|
+
};
|
|
7
15
|
};
|
|
@@ -80,15 +80,14 @@ module.exports = {
|
|
|
80
80
|
clear: function clear() {
|
|
81
81
|
var that = this;
|
|
82
82
|
var state = getInternalState(that);
|
|
83
|
-
var data = state.index;
|
|
84
83
|
var entry = state.first;
|
|
85
84
|
while (entry) {
|
|
86
85
|
entry.removed = true;
|
|
87
86
|
if (entry.previous) entry.previous = entry.previous.next = undefined;
|
|
88
|
-
delete data[entry.index];
|
|
89
87
|
entry = entry.next;
|
|
90
88
|
}
|
|
91
89
|
state.first = state.last = undefined;
|
|
90
|
+
state.index = create(null);
|
|
92
91
|
if (DESCRIPTORS) state.size = 0;
|
|
93
92
|
else that.size = 0;
|
|
94
93
|
},
|
|
@@ -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
|
+
};
|
|
@@ -10,11 +10,11 @@ var $RangeError = RangeError;
|
|
|
10
10
|
var $TypeError = TypeError;
|
|
11
11
|
var max = Math.max;
|
|
12
12
|
|
|
13
|
-
var SetRecord = function (set,
|
|
13
|
+
var SetRecord = function (set, intSize) {
|
|
14
14
|
this.set = set;
|
|
15
|
-
this.size =
|
|
16
|
-
this.has = has;
|
|
17
|
-
this.keys = keys;
|
|
15
|
+
this.size = max(intSize, 0);
|
|
16
|
+
this.has = aCallable(set.has);
|
|
17
|
+
this.keys = aCallable(set.keys);
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
SetRecord.prototype = {
|
|
@@ -36,10 +36,5 @@ module.exports = function (obj) {
|
|
|
36
36
|
if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);
|
|
37
37
|
var intSize = toIntegerOrInfinity(numSize);
|
|
38
38
|
if (intSize < 0) throw new $RangeError(INVALID_SIZE);
|
|
39
|
-
return new SetRecord(
|
|
40
|
-
obj,
|
|
41
|
-
max(intSize, 0),
|
|
42
|
-
aCallable(obj.has),
|
|
43
|
-
aCallable(obj.keys)
|
|
44
|
-
);
|
|
39
|
+
return new SetRecord(obj, intSize);
|
|
45
40
|
};
|
package/internals/is-callable.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var documentAll = $documentAll.all;
|
|
2
|
+
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
|
|
3
|
+
var documentAll = typeof document == 'object' && document.all;
|
|
5
4
|
|
|
6
5
|
// `IsCallable` abstract operation
|
|
7
6
|
// https://tc39.es/ecma262/#sec-iscallable
|
|
8
|
-
|
|
7
|
+
// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
|
|
8
|
+
module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
|
|
9
9
|
return typeof argument == 'function' || argument === documentAll;
|
|
10
10
|
} : function (argument) {
|
|
11
11
|
return typeof argument == 'function';
|
package/internals/is-object.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var isCallable = require('../internals/is-callable');
|
|
3
|
-
var $documentAll = require('../internals/document-all');
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
module.exports = $documentAll.IS_HTMLDDA ? function (it) {
|
|
8
|
-
return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;
|
|
9
|
-
} : function (it) {
|
|
4
|
+
module.exports = function (it) {
|
|
10
5
|
return typeof it == 'object' ? it !== null : isCallable(it);
|
|
11
6
|
};
|