core-js 3.20.3 → 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/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/base64-map.js +9 -0
- package/internals/shared.js +2 -2
- package/internals/task.js +5 -2
- 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 +1 -2
- 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.queue-microtask.js +4 -0
- package/modules/web.timers.js +5 -3
- package/modules/web.url.js +2 -1
- package/package.json +2 -2
- 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,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
|
+
});
|
|
@@ -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
|
}
|
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
|
|
package/modules/web.url.js
CHANGED
|
@@ -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/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');
|