core-js 3.20.0 → 3.21.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/LICENSE +1 -1
- package/README.md +2 -2
- package/actual/array/group-by-to-map.js +1 -0
- package/actual/array/index.js +1 -0
- package/actual/array/virtual/group-by-to-map.js +1 -0
- package/actual/array/virtual/index.js +1 -0
- package/actual/atob.js +3 -0
- package/actual/btoa.js +3 -0
- package/features/atob.js +3 -0
- package/features/btoa.js +3 -0
- package/features/index.js +2 -0
- package/internals/array-buffer-view-core.js +9 -4
- package/internals/base64-map.js +9 -0
- package/internals/function-apply.js +3 -2
- package/internals/function-bind-context.js +2 -1
- package/internals/function-bind-native.js +7 -0
- package/internals/function-bind.js +2 -1
- package/internals/function-call.js +3 -1
- package/internals/function-uncurry-this.js +5 -3
- package/internals/ie8-dom-define.js +2 -2
- package/internals/native-url.js +1 -0
- package/internals/numeric-range-iterator.js +1 -1
- package/internals/object-create.js +2 -2
- package/internals/object-define-properties.js +2 -1
- package/internals/object-define-property.js +22 -1
- package/internals/queue.js +23 -0
- package/internals/shared.js +4 -2
- package/internals/task.js +5 -2
- package/internals/v8-prototype-define-bug.js +12 -0
- package/internals/validate-arguments-length.js +8 -0
- package/modules/es.function.bind.js +1 -1
- package/modules/es.object.define-properties.js +3 -2
- package/modules/es.object.define-property.js +4 -3
- package/modules/es.promise.finally.js +1 -0
- package/modules/es.promise.js +47 -43
- package/modules/es.symbol.js +2 -0
- package/modules/es.typed-array.set.js +20 -5
- package/modules/es.weak-map.js +5 -5
- package/modules/esnext.array.filter-out.js +1 -1
- package/modules/esnext.array.filter-reject.js +1 -1
- package/modules/esnext.array.from-async.js +1 -1
- package/modules/esnext.array.is-template-object.js +1 -1
- package/modules/esnext.array.last-index.js +1 -1
- package/modules/esnext.array.last-item.js +1 -1
- package/modules/esnext.array.to-reversed.js +1 -1
- package/modules/esnext.array.to-sorted.js +1 -1
- package/modules/esnext.array.to-spliced.js +1 -1
- package/modules/esnext.array.unique-by.js +1 -1
- package/modules/esnext.array.with.js +1 -1
- package/modules/esnext.async-iterator.as-indexed-pairs.js +1 -1
- package/modules/esnext.async-iterator.drop.js +1 -1
- package/modules/esnext.async-iterator.every.js +1 -1
- package/modules/esnext.async-iterator.filter.js +1 -1
- package/modules/esnext.async-iterator.find.js +1 -1
- package/modules/esnext.async-iterator.flat-map.js +1 -1
- package/modules/esnext.async-iterator.for-each.js +1 -1
- package/modules/esnext.async-iterator.from.js +1 -1
- package/modules/esnext.async-iterator.map.js +1 -1
- package/modules/esnext.async-iterator.reduce.js +1 -1
- package/modules/esnext.async-iterator.some.js +1 -1
- package/modules/esnext.async-iterator.take.js +1 -1
- package/modules/esnext.async-iterator.to-array.js +1 -1
- package/modules/esnext.bigint.range.js +1 -1
- package/modules/esnext.composite-key.js +1 -1
- package/modules/esnext.composite-symbol.js +1 -1
- package/modules/esnext.function.is-callable.js +1 -1
- package/modules/esnext.function.is-constructor.js +1 -1
- package/modules/esnext.function.un-this.js +1 -1
- package/modules/esnext.iterator.as-indexed-pairs.js +1 -1
- package/modules/esnext.iterator.drop.js +1 -1
- package/modules/esnext.iterator.every.js +1 -1
- package/modules/esnext.iterator.filter.js +1 -1
- package/modules/esnext.iterator.find.js +1 -1
- package/modules/esnext.iterator.flat-map.js +1 -1
- package/modules/esnext.iterator.for-each.js +1 -1
- package/modules/esnext.iterator.from.js +1 -1
- package/modules/esnext.iterator.map.js +1 -1
- package/modules/esnext.iterator.reduce.js +1 -1
- package/modules/esnext.iterator.some.js +1 -1
- package/modules/esnext.iterator.take.js +1 -1
- package/modules/esnext.iterator.to-array.js +1 -1
- package/modules/esnext.iterator.to-async.js +1 -1
- package/modules/esnext.map.delete-all.js +1 -2
- package/modules/esnext.map.emplace.js +1 -2
- package/modules/esnext.map.every.js +1 -2
- package/modules/esnext.map.filter.js +1 -2
- package/modules/esnext.map.find-key.js +1 -2
- package/modules/esnext.map.find.js +1 -2
- package/modules/esnext.map.from.js +1 -1
- package/modules/esnext.map.group-by.js +1 -1
- package/modules/esnext.map.includes.js +1 -2
- package/modules/esnext.map.key-by.js +1 -1
- package/modules/esnext.map.key-of.js +1 -2
- package/modules/esnext.map.map-keys.js +1 -2
- package/modules/esnext.map.map-values.js +1 -2
- package/modules/esnext.map.merge.js +2 -3
- package/modules/esnext.map.of.js +1 -1
- package/modules/esnext.map.reduce.js +1 -2
- package/modules/esnext.map.some.js +1 -2
- package/modules/esnext.map.update-or-insert.js +1 -2
- package/modules/esnext.map.update.js +1 -2
- package/modules/esnext.map.upsert.js +1 -2
- package/modules/esnext.math.clamp.js +1 -1
- package/modules/esnext.math.deg-per-rad.js +1 -1
- package/modules/esnext.math.degrees.js +1 -1
- package/modules/esnext.math.fscale.js +1 -1
- package/modules/esnext.math.iaddh.js +1 -1
- package/modules/esnext.math.imulh.js +1 -1
- package/modules/esnext.math.isubh.js +1 -1
- package/modules/esnext.math.rad-per-deg.js +1 -1
- package/modules/esnext.math.radians.js +1 -1
- package/modules/esnext.math.scale.js +1 -1
- package/modules/esnext.math.signbit.js +1 -1
- package/modules/esnext.math.umulh.js +1 -1
- package/modules/esnext.number.from-string.js +1 -1
- package/modules/esnext.number.range.js +1 -1
- package/modules/esnext.object.iterate-entries.js +1 -1
- package/modules/esnext.object.iterate-keys.js +1 -1
- package/modules/esnext.object.iterate-values.js +1 -1
- package/modules/esnext.observable.js +9 -1
- package/modules/esnext.promise.try.js +1 -1
- package/modules/esnext.set.add-all.js +1 -2
- package/modules/esnext.set.delete-all.js +1 -2
- package/modules/esnext.set.difference.js +1 -2
- package/modules/esnext.set.every.js +1 -2
- package/modules/esnext.set.filter.js +1 -2
- package/modules/esnext.set.find.js +1 -2
- package/modules/esnext.set.from.js +1 -1
- package/modules/esnext.set.intersection.js +1 -2
- package/modules/esnext.set.is-disjoint-from.js +1 -2
- package/modules/esnext.set.is-subset-of.js +1 -2
- package/modules/esnext.set.is-superset-of.js +1 -2
- package/modules/esnext.set.join.js +1 -2
- package/modules/esnext.set.map.js +1 -2
- package/modules/esnext.set.of.js +1 -1
- package/modules/esnext.set.reduce.js +1 -2
- package/modules/esnext.set.some.js +1 -2
- package/modules/esnext.set.symmetric-difference.js +1 -2
- package/modules/esnext.set.union.js +1 -2
- package/modules/esnext.string.at.js +1 -6
- package/modules/esnext.string.code-points.js +1 -1
- package/modules/esnext.string.cooked.js +1 -1
- package/modules/esnext.typed-array.filter-out.js +1 -1
- package/modules/esnext.typed-array.filter-reject.js +1 -1
- package/modules/esnext.typed-array.from-async.js +1 -2
- package/modules/esnext.typed-array.group-by.js +1 -1
- package/modules/esnext.typed-array.to-reversed.js +1 -1
- package/modules/esnext.typed-array.to-sorted.js +1 -1
- package/modules/esnext.typed-array.to-spliced.js +1 -1
- package/modules/esnext.typed-array.unique-by.js +1 -1
- package/modules/esnext.typed-array.with.js +1 -1
- package/modules/esnext.weak-map.delete-all.js +1 -2
- package/modules/esnext.weak-map.emplace.js +1 -2
- package/modules/esnext.weak-map.from.js +1 -1
- package/modules/esnext.weak-map.of.js +1 -1
- package/modules/esnext.weak-map.upsert.js +1 -2
- package/modules/esnext.weak-set.add-all.js +1 -2
- package/modules/esnext.weak-set.delete-all.js +1 -2
- package/modules/esnext.weak-set.from.js +1 -1
- package/modules/esnext.weak-set.of.js +1 -1
- package/modules/web.atob.js +52 -0
- package/modules/web.btoa.js +37 -0
- package/modules/web.dom-exception.constructor.js +1 -1
- package/modules/web.queue-microtask.js +4 -0
- package/modules/web.structured-clone.js +5 -4
- package/modules/web.timers.js +5 -3
- package/modules/web.url-search-params.js +1 -4
- package/modules/web.url.js +3 -2
- package/package.json +2 -2
- package/postinstall.js +1 -1
- package/stable/atob.js +9 -0
- package/stable/btoa.js +9 -0
- package/stable/index.js +2 -0
- package/web/index.js +2 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var global = require('../internals/global');
|
|
4
|
-
var IS_PURE = require('../internals/is-pure');
|
|
5
4
|
var aCallable = require('../internals/a-callable');
|
|
6
5
|
var anObject = require('../internals/an-object');
|
|
7
6
|
var getSetIterator = require('../internals/get-set-iterator');
|
|
@@ -11,7 +10,7 @@ var TypeError = global.TypeError;
|
|
|
11
10
|
|
|
12
11
|
// `Set.prototype.reduce` method
|
|
13
12
|
// https://github.com/tc39/proposal-collection-methods
|
|
14
|
-
$({ target: 'Set', proto: true, real: true, forced:
|
|
13
|
+
$({ target: 'Set', proto: true, real: true, forced: true }, {
|
|
15
14
|
reduce: function reduce(callbackfn /* , initialValue */) {
|
|
16
15
|
var set = anObject(this);
|
|
17
16
|
var iterator = getSetIterator(set);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var IS_PURE = require('../internals/is-pure');
|
|
4
3
|
var anObject = require('../internals/an-object');
|
|
5
4
|
var bind = require('../internals/function-bind-context');
|
|
6
5
|
var getSetIterator = require('../internals/get-set-iterator');
|
|
@@ -8,7 +7,7 @@ var iterate = require('../internals/iterate');
|
|
|
8
7
|
|
|
9
8
|
// `Set.prototype.some` method
|
|
10
9
|
// https://github.com/tc39/proposal-collection-methods
|
|
11
|
-
$({ target: 'Set', proto: true, real: true, forced:
|
|
10
|
+
$({ target: 'Set', proto: true, real: true, forced: true }, {
|
|
12
11
|
some: function some(callbackfn /* , thisArg */) {
|
|
13
12
|
var set = anObject(this);
|
|
14
13
|
var iterator = getSetIterator(set);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var IS_PURE = require('../internals/is-pure');
|
|
3
2
|
var $ = require('../internals/export');
|
|
4
3
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
4
|
var call = require('../internals/function-call');
|
|
@@ -10,7 +9,7 @@ var iterate = require('../internals/iterate');
|
|
|
10
9
|
|
|
11
10
|
// `Set.prototype.symmetricDifference` method
|
|
12
11
|
// https://github.com/tc39/proposal-set-methods
|
|
13
|
-
$({ target: 'Set', proto: true, real: true, forced:
|
|
12
|
+
$({ target: 'Set', proto: true, real: true, forced: true }, {
|
|
14
13
|
symmetricDifference: function symmetricDifference(iterable) {
|
|
15
14
|
var set = anObject(this);
|
|
16
15
|
var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var IS_PURE = require('../internals/is-pure');
|
|
4
3
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
4
|
var aCallable = require('../internals/a-callable');
|
|
6
5
|
var anObject = require('../internals/an-object');
|
|
@@ -9,7 +8,7 @@ var iterate = require('../internals/iterate');
|
|
|
9
8
|
|
|
10
9
|
// `Set.prototype.union` method
|
|
11
10
|
// https://github.com/tc39/proposal-set-methods
|
|
12
|
-
$({ target: 'Set', proto: true, real: true, forced:
|
|
11
|
+
$({ target: 'Set', proto: true, real: true, forced: true }, {
|
|
13
12
|
union: function union(iterable) {
|
|
14
13
|
var set = anObject(this);
|
|
15
14
|
var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var charAt = require('../internals/string-multibyte').charAt;
|
|
4
|
-
var fails = require('../internals/fails');
|
|
5
4
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
6
5
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
7
6
|
var toString = require('../internals/to-string');
|
|
8
7
|
|
|
9
|
-
var FORCED = fails(function () {
|
|
10
|
-
return '𠮷'.at(-2) !== '𠮷';
|
|
11
|
-
});
|
|
12
|
-
|
|
13
8
|
// `String.prototype.at` method
|
|
14
9
|
// https://github.com/mathiasbynens/String.prototype.at
|
|
15
|
-
$({ target: 'String', proto: true, forced:
|
|
10
|
+
$({ target: 'String', proto: true, forced: true }, {
|
|
16
11
|
at: function at(index) {
|
|
17
12
|
var S = toString(requireObjectCoercible(this));
|
|
18
13
|
var len = S.length;
|
|
@@ -32,7 +32,7 @@ var $StringIterator = createIteratorConstructor(function StringIterator(string)
|
|
|
32
32
|
|
|
33
33
|
// `String.prototype.codePoints` method
|
|
34
34
|
// https://github.com/tc39/proposal-string-prototype-codepoints
|
|
35
|
-
$({ target: 'String', proto: true }, {
|
|
35
|
+
$({ target: 'String', proto: true, forced: true }, {
|
|
36
36
|
codePoints: function codePoints() {
|
|
37
37
|
return new $StringIterator(toString(requireObjectCoercible(this)));
|
|
38
38
|
}
|
|
@@ -12,7 +12,7 @@ var join = uncurryThis(ArrayPrototype.join);
|
|
|
12
12
|
|
|
13
13
|
// `String.cooked` method
|
|
14
14
|
// https://github.com/tc39/proposal-string-cooked
|
|
15
|
-
$({ target: 'String', stat: true }, {
|
|
15
|
+
$({ target: 'String', stat: true, forced: true }, {
|
|
16
16
|
cooked: function cooked(template /* , ...substitutions */) {
|
|
17
17
|
var cookedTemplate = toIndexedObject(template);
|
|
18
18
|
var literalSegments = lengthOfArrayLike(cookedTemplate);
|
|
@@ -12,4 +12,4 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
|
12
12
|
exportTypedArrayMethod('filterOut', function filterOut(callbackfn /* , thisArg */) {
|
|
13
13
|
var list = $filterReject(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
14
14
|
return fromSpeciesAndList(this, list);
|
|
15
|
-
});
|
|
15
|
+
}, true);
|
|
@@ -11,4 +11,4 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
|
11
11
|
exportTypedArrayMethod('filterReject', function filterReject(callbackfn /* , thisArg */) {
|
|
12
12
|
var list = $filterReject(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
13
13
|
return fromSpeciesAndList(this, list);
|
|
14
|
-
});
|
|
14
|
+
}, true);
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
var getBuiltIn = require('../internals/get-built-in');
|
|
4
4
|
var aConstructor = require('../internals/a-constructor');
|
|
5
5
|
var arrayFromAsync = require('../internals/array-from-async');
|
|
6
|
-
var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');
|
|
7
6
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
8
7
|
var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');
|
|
9
8
|
|
|
@@ -23,4 +22,4 @@ exportTypedArrayStaticMethod('fromAsync', function fromAsync(asyncItems /* , map
|
|
|
23
22
|
}).then(function (list) {
|
|
24
23
|
return arrayFromConstructorAndList(aTypedArrayConstructor(C), list);
|
|
25
24
|
});
|
|
26
|
-
},
|
|
25
|
+
}, true);
|
|
@@ -12,4 +12,4 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
|
12
12
|
exportTypedArrayMethod('groupBy', function groupBy(callbackfn /* , thisArg */) {
|
|
13
13
|
var thisArg = arguments.length > 1 ? arguments[1] : undefined;
|
|
14
14
|
return $groupBy(aTypedArray(this), callbackfn, thisArg, typedArraySpeciesConstructor);
|
|
15
|
-
});
|
|
15
|
+
}, true);
|
|
@@ -10,4 +10,4 @@ var TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;
|
|
|
10
10
|
// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed
|
|
11
11
|
exportTypedArrayMethod('toReversed', function toReversed() {
|
|
12
12
|
return arrayToReversed(aTypedArray(this), this[TYPED_ARRAY_CONSTRUCTOR]);
|
|
13
|
-
});
|
|
13
|
+
}, true);
|
|
@@ -12,4 +12,4 @@ var TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;
|
|
|
12
12
|
// eslint-disable-next-line no-unused-vars -- required for .length
|
|
13
13
|
exportTypedArrayMethod('toSpliced', function toSpliced(start, deleteCount /* , ...items */) {
|
|
14
14
|
return arrayToSpliced(aTypedArray(this), this[TYPED_ARRAY_CONSTRUCTOR], arraySlice(arguments));
|
|
15
|
-
});
|
|
15
|
+
}, true);
|
|
@@ -10,4 +10,4 @@ var TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;
|
|
|
10
10
|
// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with
|
|
11
11
|
exportTypedArrayMethod('with', { 'with': function (index, value) {
|
|
12
12
|
return arrayWith(aTypedArray(this), this[TYPED_ARRAY_CONSTRUCTOR], index, value);
|
|
13
|
-
} }['with']);
|
|
13
|
+
} }['with'], true);
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var IS_PURE = require('../internals/is-pure');
|
|
4
3
|
var deleteAll = require('../internals/collection-delete-all');
|
|
5
4
|
|
|
6
5
|
// `WeakMap.prototype.deleteAll` method
|
|
7
6
|
// https://github.com/tc39/proposal-collection-methods
|
|
8
|
-
$({ target: 'WeakMap', proto: true, real: true, forced:
|
|
7
|
+
$({ target: 'WeakMap', proto: true, real: true, forced: true }, {
|
|
9
8
|
deleteAll: deleteAll
|
|
10
9
|
});
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var IS_PURE = require('../internals/is-pure');
|
|
4
3
|
var emplace = require('../internals/map-emplace');
|
|
5
4
|
|
|
6
5
|
// `WeakMap.prototype.emplace` method
|
|
7
6
|
// https://github.com/tc39/proposal-upsert
|
|
8
|
-
$({ target: 'WeakMap', proto: true, real: true, forced:
|
|
7
|
+
$({ target: 'WeakMap', proto: true, real: true, forced: true }, {
|
|
9
8
|
emplace: emplace
|
|
10
9
|
});
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// TODO: remove from `core-js@4`
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
-
var IS_PURE = require('../internals/is-pure');
|
|
5
4
|
var upsert = require('../internals/map-upsert');
|
|
6
5
|
|
|
7
6
|
// `WeakMap.prototype.upsert` method (replaced by `WeakMap.prototype.emplace`)
|
|
8
7
|
// https://github.com/tc39/proposal-upsert
|
|
9
|
-
$({ target: 'WeakMap', proto: true, real: true, forced:
|
|
8
|
+
$({ target: 'WeakMap', proto: true, real: true, forced: true }, {
|
|
10
9
|
upsert: upsert
|
|
11
10
|
});
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var IS_PURE = require('../internals/is-pure');
|
|
4
3
|
var addAll = require('../internals/collection-add-all');
|
|
5
4
|
|
|
6
5
|
// `WeakSet.prototype.addAll` method
|
|
7
6
|
// https://github.com/tc39/proposal-collection-methods
|
|
8
|
-
$({ target: 'WeakSet', proto: true, real: true, forced:
|
|
7
|
+
$({ target: 'WeakSet', proto: true, real: true, forced: true }, {
|
|
9
8
|
addAll: addAll
|
|
10
9
|
});
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var IS_PURE = require('../internals/is-pure');
|
|
4
3
|
var deleteAll = require('../internals/collection-delete-all');
|
|
5
4
|
|
|
6
5
|
// `WeakSet.prototype.deleteAll` method
|
|
7
6
|
// https://github.com/tc39/proposal-collection-methods
|
|
8
|
-
$({ target: 'WeakSet', proto: true, real: true, forced:
|
|
7
|
+
$({ target: 'WeakSet', proto: true, real: true, forced: true }, {
|
|
9
8
|
deleteAll: deleteAll
|
|
10
9
|
});
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var $ = require('../internals/export');
|
|
2
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var fails = require('../internals/fails');
|
|
5
|
+
var toString = require('../internals/to-string');
|
|
6
|
+
var hasOwn = require('../internals/has-own-property');
|
|
7
|
+
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
8
|
+
var ctoi = require('../internals/base64-map').ctoi;
|
|
9
|
+
|
|
10
|
+
var disallowed = /[^\d+/a-z]/i;
|
|
11
|
+
var whitespaces = /[\t\n\f\r ]+/g;
|
|
12
|
+
var finalEq = /[=]+$/;
|
|
13
|
+
|
|
14
|
+
var $atob = getBuiltIn('atob');
|
|
15
|
+
var fromCharCode = String.fromCharCode;
|
|
16
|
+
var charAt = uncurryThis(''.charAt);
|
|
17
|
+
var replace = uncurryThis(''.replace);
|
|
18
|
+
var exec = uncurryThis(disallowed.exec);
|
|
19
|
+
|
|
20
|
+
var NO_SPACES_IGNORE = fails(function () {
|
|
21
|
+
return atob(' ') !== '';
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
var NO_ARG_RECEIVING_CHECK = !NO_SPACES_IGNORE && !fails(function () {
|
|
25
|
+
$atob();
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
// `atob` method
|
|
29
|
+
// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob
|
|
30
|
+
$({ global: true, enumerable: true, forced: NO_SPACES_IGNORE || NO_ARG_RECEIVING_CHECK }, {
|
|
31
|
+
atob: function atob(data) {
|
|
32
|
+
validateArgumentsLength(arguments.length, 1);
|
|
33
|
+
if (NO_ARG_RECEIVING_CHECK) return $atob(data);
|
|
34
|
+
var string = replace(toString(data), whitespaces, '');
|
|
35
|
+
var output = '';
|
|
36
|
+
var position = 0;
|
|
37
|
+
var bc = 0;
|
|
38
|
+
var chr, bs;
|
|
39
|
+
if (string.length % 4 == 0) {
|
|
40
|
+
string = replace(string, finalEq, '');
|
|
41
|
+
}
|
|
42
|
+
if (string.length % 4 == 1 || exec(disallowed, string)) {
|
|
43
|
+
throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError');
|
|
44
|
+
}
|
|
45
|
+
while (chr = charAt(string, position++)) {
|
|
46
|
+
if (hasOwn(ctoi, chr)) {
|
|
47
|
+
bs = bc % 4 ? bs * 64 + ctoi[chr] : ctoi[chr];
|
|
48
|
+
if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6));
|
|
49
|
+
}
|
|
50
|
+
} return output;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var $ = require('../internals/export');
|
|
2
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var fails = require('../internals/fails');
|
|
5
|
+
var toString = require('../internals/to-string');
|
|
6
|
+
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
7
|
+
var itoc = require('../internals/base64-map').itoc;
|
|
8
|
+
|
|
9
|
+
var $btoa = getBuiltIn('btoa');
|
|
10
|
+
var charAt = uncurryThis(''.charAt);
|
|
11
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
12
|
+
|
|
13
|
+
var NO_ARG_RECEIVING_CHECK = !!$btoa && !fails(function () {
|
|
14
|
+
$btoa();
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
// `btoa` method
|
|
18
|
+
// https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa
|
|
19
|
+
$({ global: true, enumerable: true, forced: NO_ARG_RECEIVING_CHECK }, {
|
|
20
|
+
btoa: function btoa(data) {
|
|
21
|
+
validateArgumentsLength(arguments.length, 1);
|
|
22
|
+
if (NO_ARG_RECEIVING_CHECK) return $btoa(data);
|
|
23
|
+
var string = toString(data);
|
|
24
|
+
var output = '';
|
|
25
|
+
var position = 0;
|
|
26
|
+
var map = itoc;
|
|
27
|
+
var block, charCode;
|
|
28
|
+
while (charAt(string, position) || (map = '=', position % 1)) {
|
|
29
|
+
charCode = charCodeAt(string, position += 3 / 4);
|
|
30
|
+
if (charCode > 0xFF) {
|
|
31
|
+
throw new (getBuiltIn('DOMException'))('The string contains characters outside of the Latin1 range', 'InvalidCharacterError');
|
|
32
|
+
}
|
|
33
|
+
block = block << 8 | charCode;
|
|
34
|
+
output += charAt(map, 63 & block >> 8 - position % 1 * 8);
|
|
35
|
+
} return output;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
@@ -6,7 +6,7 @@ var fails = require('../internals/fails');
|
|
|
6
6
|
var create = require('../internals/object-create');
|
|
7
7
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
8
8
|
var defineProperty = require('../internals/object-define-property').f;
|
|
9
|
-
var defineProperties = require('../internals/object-define-properties');
|
|
9
|
+
var defineProperties = require('../internals/object-define-properties').f;
|
|
10
10
|
var redefine = require('../internals/redefine');
|
|
11
11
|
var hasOwn = require('../internals/has-own-property');
|
|
12
12
|
var anInstance = require('../internals/an-instance');
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
2
|
var global = require('../internals/global');
|
|
3
3
|
var microtask = require('../internals/microtask');
|
|
4
|
+
var aCallable = require('../internals/a-callable');
|
|
5
|
+
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
4
6
|
var IS_NODE = require('../internals/engine-is-node');
|
|
5
7
|
|
|
6
8
|
var process = global.process;
|
|
@@ -9,6 +11,8 @@ var process = global.process;
|
|
|
9
11
|
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
|
|
10
12
|
$({ global: true, enumerable: true, noTargetGet: true }, {
|
|
11
13
|
queueMicrotask: function queueMicrotask(fn) {
|
|
14
|
+
validateArgumentsLength(arguments.length, 1);
|
|
15
|
+
aCallable(fn);
|
|
12
16
|
var domain = IS_NODE && process.domain;
|
|
13
17
|
microtask(domain ? domain.bind(fn) : fn);
|
|
14
18
|
}
|
|
@@ -16,6 +16,7 @@ var hasOwn = require('../internals/has-own-property');
|
|
|
16
16
|
var createProperty = require('../internals/create-property');
|
|
17
17
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
18
18
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
19
|
+
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
19
20
|
var regExpFlags = require('../internals/regexp-flags');
|
|
20
21
|
var ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');
|
|
21
22
|
|
|
@@ -43,7 +44,7 @@ var mapSet = uncurryThis(MapPrototype.set);
|
|
|
43
44
|
var setAdd = uncurryThis(Set.prototype.add);
|
|
44
45
|
var objectKeys = getBuiltin('Object', 'keys');
|
|
45
46
|
var push = uncurryThis([].push);
|
|
46
|
-
var
|
|
47
|
+
var booleanValueOf = uncurryThis(true.valueOf);
|
|
47
48
|
var numberValueOf = uncurryThis(1.0.valueOf);
|
|
48
49
|
var stringValueOf = uncurryThis(''.valueOf);
|
|
49
50
|
var getFlags = uncurryThis(regExpFlags);
|
|
@@ -248,7 +249,7 @@ var structuredCloneInternal = function (value, map) {
|
|
|
248
249
|
cloned = Object(value.valueOf());
|
|
249
250
|
break;
|
|
250
251
|
case 'Boolean':
|
|
251
|
-
cloned = Object(
|
|
252
|
+
cloned = Object(booleanValueOf(value));
|
|
252
253
|
break;
|
|
253
254
|
case 'Number':
|
|
254
255
|
cloned = Object(numberValueOf(value));
|
|
@@ -278,7 +279,7 @@ var structuredCloneInternal = function (value, map) {
|
|
|
278
279
|
}
|
|
279
280
|
}
|
|
280
281
|
} catch (error) {
|
|
281
|
-
throw new DOMException('ArrayBuffer is
|
|
282
|
+
throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR);
|
|
282
283
|
} break;
|
|
283
284
|
case 'SharedArrayBuffer':
|
|
284
285
|
// SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original
|
|
@@ -447,7 +448,7 @@ var tryToTransfer = function (rawTransfer, map) {
|
|
|
447
448
|
|
|
448
449
|
$({ global: true, enumerable: true, sham: !PROPER_TRANSFER, forced: FORCED_REPLACEMENT }, {
|
|
449
450
|
structuredClone: function structuredClone(value /* , { transfer } */) {
|
|
450
|
-
var options = arguments.length > 1 ? anObject(arguments[1]) : undefined;
|
|
451
|
+
var options = validateArgumentsLength(arguments.length, 1) > 1 ? anObject(arguments[1]) : undefined;
|
|
451
452
|
var transfer = options ? options.transfer : undefined;
|
|
452
453
|
var map;
|
|
453
454
|
|
package/modules/web.timers.js
CHANGED
|
@@ -4,17 +4,19 @@ var apply = require('../internals/function-apply');
|
|
|
4
4
|
var isCallable = require('../internals/is-callable');
|
|
5
5
|
var userAgent = require('../internals/engine-user-agent');
|
|
6
6
|
var arraySlice = require('../internals/array-slice');
|
|
7
|
+
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
7
8
|
|
|
8
9
|
var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check
|
|
9
10
|
var Function = global.Function;
|
|
10
11
|
|
|
11
12
|
var wrap = function (scheduler) {
|
|
12
13
|
return function (handler, timeout /* , ...arguments */) {
|
|
13
|
-
var boundArgs = arguments.length > 2;
|
|
14
|
+
var boundArgs = validateArgumentsLength(arguments.length, 1) > 2;
|
|
15
|
+
var fn = isCallable(handler) ? handler : Function(handler);
|
|
14
16
|
var args = boundArgs ? arraySlice(arguments, 2) : undefined;
|
|
15
17
|
return scheduler(boundArgs ? function () {
|
|
16
|
-
apply(
|
|
17
|
-
} :
|
|
18
|
+
apply(fn, this, args);
|
|
19
|
+
} : fn, timeout);
|
|
18
20
|
};
|
|
19
21
|
};
|
|
20
22
|
|
|
@@ -24,6 +24,7 @@ var create = require('../internals/object-create');
|
|
|
24
24
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
25
25
|
var getIterator = require('../internals/get-iterator');
|
|
26
26
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
27
|
+
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
27
28
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
28
29
|
var arraySort = require('../internals/array-sort');
|
|
29
30
|
|
|
@@ -99,10 +100,6 @@ var serialize = function (it) {
|
|
|
99
100
|
return replace(encodeURIComponent(it), find, replacer);
|
|
100
101
|
};
|
|
101
102
|
|
|
102
|
-
var validateArgumentsLength = function (passed, required) {
|
|
103
|
-
if (passed < required) throw TypeError('Not enough arguments');
|
|
104
|
-
};
|
|
105
|
-
|
|
106
103
|
var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
|
|
107
104
|
setInternalState(this, {
|
|
108
105
|
type: URL_SEARCH_PARAMS_ITERATOR,
|
package/modules/web.url.js
CHANGED
|
@@ -7,7 +7,7 @@ var USE_NATIVE_URL = require('../internals/native-url');
|
|
|
7
7
|
var global = require('../internals/global');
|
|
8
8
|
var bind = require('../internals/function-bind-context');
|
|
9
9
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
10
|
-
var defineProperties = require('../internals/object-define-properties');
|
|
10
|
+
var defineProperties = require('../internals/object-define-properties').f;
|
|
11
11
|
var redefine = require('../internals/redefine');
|
|
12
12
|
var anInstance = require('../internals/an-instance');
|
|
13
13
|
var hasOwn = require('../internals/has-own-property');
|
|
@@ -18,6 +18,7 @@ var codeAt = require('../internals/string-multibyte').codeAt;
|
|
|
18
18
|
var toASCII = require('../internals/string-punycode-to-ascii');
|
|
19
19
|
var $toString = require('../internals/to-string');
|
|
20
20
|
var setToStringTag = require('../internals/set-to-string-tag');
|
|
21
|
+
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
21
22
|
var URLSearchParamsModule = require('../modules/web.url-search-params');
|
|
22
23
|
var InternalStateModule = require('../internals/internal-state');
|
|
23
24
|
|
|
@@ -939,7 +940,7 @@ URLState.prototype = {
|
|
|
939
940
|
// https://url.spec.whatwg.org/#url-class
|
|
940
941
|
var URLConstructor = function URL(url /* , base */) {
|
|
941
942
|
var that = anInstance(this, URLPrototype);
|
|
942
|
-
var base = arguments.length > 1 ? arguments[1] : undefined;
|
|
943
|
+
var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;
|
|
943
944
|
var state = setInternalState(that, new URLState(url, false, base));
|
|
944
945
|
if (!DESCRIPTORS) {
|
|
945
946
|
that.href = state.serialize();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "core-js",
|
|
3
3
|
"description": "Standard library",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.21.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/zloirock/core-js.git"
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"scripts": {
|
|
55
55
|
"postinstall": "node -e \"try{require('./postinstall')}catch(e){}\""
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "32492dc5f55ea9bbd21b8fa8145cedd36d68c160"
|
|
58
58
|
}
|
package/postinstall.js
CHANGED
|
@@ -38,7 +38,7 @@ function isBannerRequired() {
|
|
|
38
38
|
try {
|
|
39
39
|
var DELTA = Date.now() - fs.statSync(file).mtime;
|
|
40
40
|
if (DELTA >= 0 && DELTA < MINUTE * 3) {
|
|
41
|
-
banners = JSON.parse(fs.readFileSync(file
|
|
41
|
+
banners = JSON.parse(fs.readFileSync(file));
|
|
42
42
|
if (banners.indexOf(BANNER) !== -1) return false;
|
|
43
43
|
}
|
|
44
44
|
} catch (error) {
|
package/stable/atob.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require('../modules/es.error.to-string');
|
|
2
|
+
require('../modules/es.object.to-string');
|
|
3
|
+
require('../modules/web.atob');
|
|
4
|
+
require('../modules/web.dom-exception.constructor');
|
|
5
|
+
require('../modules/web.dom-exception.stack');
|
|
6
|
+
require('../modules/web.dom-exception.to-string-tag');
|
|
7
|
+
var path = require('../internals/path');
|
|
8
|
+
|
|
9
|
+
module.exports = path.atob;
|
package/stable/btoa.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require('../modules/es.error.to-string');
|
|
2
|
+
require('../modules/es.object.to-string');
|
|
3
|
+
require('../modules/web.btoa');
|
|
4
|
+
require('../modules/web.dom-exception.constructor');
|
|
5
|
+
require('../modules/web.dom-exception.stack');
|
|
6
|
+
require('../modules/web.dom-exception.to-string-tag');
|
|
7
|
+
var path = require('../internals/path');
|
|
8
|
+
|
|
9
|
+
module.exports = path.btoa;
|
package/stable/index.js
CHANGED
|
@@ -224,6 +224,8 @@ require('../modules/es.typed-array.to-string');
|
|
|
224
224
|
require('../modules/es.unescape');
|
|
225
225
|
require('../modules/es.weak-map');
|
|
226
226
|
require('../modules/es.weak-set');
|
|
227
|
+
require('../modules/web.atob');
|
|
228
|
+
require('../modules/web.btoa');
|
|
227
229
|
require('../modules/web.dom-collections.for-each');
|
|
228
230
|
require('../modules/web.dom-collections.iterator');
|
|
229
231
|
require('../modules/web.dom-exception.constructor');
|