core-js-pure 3.18.2 → 3.19.2
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/es/date/to-primitive.js +2 -3
- package/es/date/to-string.js +2 -4
- package/es/instance/at.js +6 -5
- package/es/instance/bind.js +3 -2
- package/es/instance/code-point-at.js +4 -3
- package/es/instance/concat.js +3 -2
- package/es/instance/copy-within.js +3 -2
- package/es/instance/ends-with.js +4 -3
- package/es/instance/entries.js +3 -2
- package/es/instance/every.js +3 -2
- package/es/instance/fill.js +3 -2
- package/es/instance/filter.js +3 -2
- package/es/instance/find-index.js +3 -2
- package/es/instance/find.js +3 -2
- package/es/instance/flags.js +2 -1
- package/es/instance/flat-map.js +3 -2
- package/es/instance/flat.js +3 -2
- package/es/instance/for-each.js +3 -2
- package/es/instance/includes.js +6 -5
- package/es/instance/index-of.js +3 -2
- package/es/instance/keys.js +3 -2
- package/es/instance/last-index-of.js +3 -2
- package/es/instance/map.js +3 -2
- package/es/instance/match-all.js +4 -3
- package/es/instance/pad-end.js +4 -3
- package/es/instance/pad-start.js +4 -3
- package/es/instance/reduce-right.js +3 -2
- package/es/instance/reduce.js +3 -2
- package/es/instance/repeat.js +4 -3
- package/es/instance/replace-all.js +4 -3
- package/es/instance/reverse.js +3 -2
- package/es/instance/slice.js +3 -2
- package/es/instance/some.js +3 -2
- package/es/instance/sort.js +3 -2
- package/es/instance/splice.js +3 -2
- package/es/instance/starts-with.js +4 -3
- package/es/instance/trim-end.js +4 -3
- package/es/instance/trim-left.js +4 -3
- package/es/instance/trim-right.js +4 -3
- package/es/instance/trim-start.js +4 -3
- package/es/instance/trim.js +4 -3
- package/es/instance/values.js +3 -2
- package/es/json/stringify.js +4 -3
- package/es/promise/all-settled.js +2 -1
- package/es/promise/any.js +2 -1
- package/es/regexp/flags.js +3 -4
- package/es/regexp/match.js +2 -1
- package/es/regexp/replace.js +2 -1
- package/es/regexp/search.js +2 -1
- package/es/regexp/split.js +2 -1
- package/es/regexp/test.js +2 -3
- package/es/regexp/to-string.js +2 -3
- package/es/string/iterator.js +2 -5
- package/features/instance/at.js +6 -5
- package/features/instance/code-points.js +4 -3
- package/features/instance/filter-out.js +3 -2
- package/features/instance/filter-reject.js +3 -2
- package/features/instance/find-last-index.js +3 -2
- package/features/instance/find-last.js +3 -2
- package/features/instance/group-by.js +3 -2
- package/features/instance/unique-by.js +3 -2
- package/features/map/from.js +3 -2
- package/features/map/group-by.js +2 -1
- package/features/map/key-by.js +2 -1
- package/features/map/of.js +3 -2
- package/features/promise/try.js +2 -1
- package/features/set/from.js +3 -2
- package/features/set/of.js +3 -2
- package/features/weak-map/from.js +3 -2
- package/features/weak-map/of.js +3 -2
- package/features/weak-set/from.js +3 -2
- package/features/weak-set/of.js +3 -2
- package/internals/a-callable.js +3 -0
- package/internals/a-constructor.js +3 -0
- package/internals/a-possible-prototype.js +5 -1
- package/internals/an-instance.js +8 -3
- package/internals/an-object.js +4 -0
- package/internals/array-buffer-native.js +1 -1
- package/internals/array-buffer-non-extensible.js +10 -0
- package/internals/array-from-async.js +1 -1
- package/internals/array-from.js +6 -2
- package/internals/array-group-by.js +6 -3
- package/internals/array-iteration-from-last.js +1 -1
- package/internals/array-iteration.js +5 -4
- package/internals/array-last-index-of.js +2 -1
- package/internals/array-reduce.js +3 -0
- package/internals/array-slice-simple.js +17 -0
- package/internals/array-slice.js +3 -0
- package/internals/array-sort.js +10 -11
- package/internals/array-species-constructor.js +2 -0
- package/internals/array-unique-by.js +13 -9
- package/internals/async-from-sync-iterator.js +4 -3
- package/internals/async-iterator-create-proxy.js +4 -3
- package/internals/async-iterator-iteration.js +5 -2
- package/internals/classof-raw.js +5 -2
- package/internals/classof.js +3 -0
- package/internals/clear-error-stack.js +20 -0
- package/internals/collection-add-all.js +3 -2
- package/internals/collection-delete-all.js +3 -2
- package/internals/collection-from.js +7 -4
- package/internals/collection-of.js +3 -4
- package/internals/collection-strong.js +11 -9
- package/internals/collection-weak.js +10 -6
- package/internals/collection.js +5 -3
- package/internals/composite-key.js +9 -2
- package/internals/create-html.js +3 -1
- package/internals/date-to-iso-string.js +23 -13
- package/internals/date-to-primitive.js +3 -0
- package/internals/define-iterator.js +2 -1
- package/internals/engine-v8-version.js +10 -4
- package/internals/error-stack-installable.js +10 -0
- package/internals/export.js +6 -4
- package/internals/flatten-into-array.js +4 -1
- package/internals/function-apply.js +9 -0
- package/internals/function-bind-context.js +5 -17
- package/internals/function-bind.js +15 -9
- package/internals/function-call.js +5 -0
- package/internals/function-uncurry-this.js +12 -0
- package/internals/get-async-iterator.js +2 -1
- package/internals/get-iterator.js +7 -2
- package/internals/get-substitution.js +10 -7
- package/internals/has-own-property.js +3 -2
- package/internals/host-report-errors.js +1 -1
- package/internals/ieee754.js +24 -6
- package/internals/indexed-object.js +5 -2
- package/internals/inspect-source.js +3 -2
- package/internals/install-error-cause.js +1 -1
- package/internals/internal-metadata.js +4 -7
- package/internals/internal-state.js +9 -7
- package/internals/is-callable.js +1 -1
- package/internals/is-constructor.js +6 -4
- package/internals/is-iterable.js +4 -2
- package/internals/is-object.js +1 -1
- package/internals/is-symbol.js +6 -2
- package/internals/iterate.js +14 -6
- package/internals/iterator-close.js +2 -1
- package/internals/iterator-create-proxy.js +4 -3
- package/internals/map-emplace.js +8 -3
- package/internals/map-upsert.js +12 -4
- package/internals/math-scale.js +9 -12
- package/internals/microtask.js +6 -4
- package/internals/normalize-string-argument.js +5 -0
- package/internals/not-a-regexp.js +3 -0
- package/internals/number-parse-float.js +8 -6
- package/internals/number-parse-int.js +4 -2
- package/internals/numeric-range-iterator.js +4 -0
- package/internals/object-assign.js +5 -2
- package/internals/object-define-properties.js +3 -1
- package/internals/object-define-property.js +2 -0
- package/internals/object-get-own-property-descriptor.js +2 -1
- package/internals/object-get-own-property-names-external.js +4 -4
- package/internals/object-get-prototype-of.js +2 -1
- package/internals/object-is-extensible.js +16 -0
- package/internals/object-is-prototype-of.js +3 -0
- package/internals/object-keys-internal.js +5 -2
- package/internals/object-set-prototype-of.js +4 -3
- package/internals/object-to-array.js +7 -3
- package/internals/ordinary-to-primitive.js +7 -3
- package/internals/own-keys.js +4 -1
- package/internals/reflect-metadata.js +9 -3
- package/internals/regexp-exec-abstract.js +6 -2
- package/internals/require-object-coercible.js +4 -0
- package/internals/set-global.js +4 -2
- package/internals/shared.js +1 -1
- package/internals/string-multibyte.js +13 -4
- package/internals/string-pad.js +6 -3
- package/internals/string-punycode-to-ascii.js +34 -20
- package/internals/string-repeat.js +3 -0
- package/internals/string-trim.js +4 -2
- package/internals/task.js +11 -11
- package/internals/this-number-value.js +2 -4
- package/internals/to-index.js +3 -0
- package/internals/to-object.js +3 -0
- package/internals/to-positive-integer.js +3 -0
- package/internals/to-primitive.js +4 -1
- package/internals/to-property-key.js +1 -1
- package/internals/to-string.js +3 -0
- package/internals/try-to-string.js +4 -0
- package/internals/uid.js +4 -1
- package/internals/well-known-symbol.js +5 -1
- package/modules/es.aggregate-error.js +27 -11
- package/modules/es.array.concat.js +2 -0
- package/modules/es.array.index-of.js +7 -5
- package/modules/es.array.join.js +3 -2
- package/modules/es.array.of.js +3 -1
- package/modules/es.array.reduce.js +2 -1
- package/modules/es.array.reverse.js +3 -2
- package/modules/es.array.slice.js +4 -2
- package/modules/es.array.sort.js +7 -4
- package/modules/es.array.splice.js +2 -0
- package/modules/es.date.get-year.js +3 -2
- package/modules/es.date.now.js +6 -1
- package/modules/es.date.set-year.js +6 -4
- package/modules/es.date.to-json.js +3 -2
- package/modules/es.escape.js +12 -5
- package/modules/es.function.has-instance.js +3 -2
- package/modules/es.json.stringify.js +18 -7
- package/modules/es.map.js +1 -1
- package/modules/es.number.to-fixed.js +19 -13
- package/modules/es.number.to-precision.js +6 -5
- package/modules/es.object.is-extensible.js +4 -10
- package/modules/es.object.is-frozen.js +6 -2
- package/modules/es.object.is-sealed.js +6 -2
- package/modules/es.promise.all-settled.js +2 -2
- package/modules/es.promise.any.js +5 -4
- package/modules/es.promise.js +22 -18
- package/modules/es.reflect.apply.js +4 -10
- package/modules/es.reflect.construct.js +10 -5
- package/modules/es.reflect.get.js +2 -1
- package/modules/es.reflect.is-extensible.js +2 -4
- package/modules/es.reflect.set.js +2 -1
- package/modules/es.set.js +1 -1
- package/modules/es.string.at-alternative.js +4 -1
- package/modules/es.string.ends-with.js +6 -4
- package/modules/es.string.from-code-point.js +7 -4
- package/modules/es.string.includes.js +8 -2
- package/modules/es.string.match-all.js +25 -19
- package/modules/es.string.raw.js +6 -6
- package/modules/es.string.replace-all.js +19 -13
- package/modules/es.string.starts-with.js +6 -4
- package/modules/es.string.substr.js +3 -2
- package/modules/es.symbol.js +34 -21
- package/modules/es.unescape.js +14 -9
- package/modules/es.weak-map.js +15 -15
- package/modules/esnext.array.is-template-object.js +1 -1
- package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.async-iterator.constructor.js +1 -1
- package/modules/esnext.async-iterator.drop.js +2 -1
- package/modules/esnext.async-iterator.filter.js +2 -1
- package/modules/esnext.async-iterator.flat-map.js +3 -2
- package/modules/esnext.async-iterator.from.js +4 -4
- package/modules/esnext.async-iterator.map.js +2 -1
- package/modules/esnext.async-iterator.reduce.js +4 -1
- package/modules/esnext.async-iterator.take.js +4 -2
- package/modules/esnext.composite-key.js +5 -1
- package/modules/esnext.composite-symbol.js +3 -2
- package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.iterator.constructor.js +1 -1
- package/modules/esnext.iterator.drop.js +4 -2
- package/modules/esnext.iterator.filter.js +2 -1
- package/modules/esnext.iterator.flat-map.js +7 -3
- package/modules/esnext.iterator.from.js +4 -4
- package/modules/esnext.iterator.map.js +2 -1
- package/modules/esnext.iterator.reduce.js +3 -0
- package/modules/esnext.iterator.take.js +2 -1
- package/modules/esnext.map.delete-all.js +2 -4
- package/modules/esnext.map.emplace.js +2 -2
- package/modules/esnext.map.every.js +1 -1
- package/modules/esnext.map.filter.js +5 -4
- package/modules/esnext.map.find-key.js +1 -1
- package/modules/esnext.map.find.js +1 -1
- package/modules/esnext.map.group-by.js +6 -2
- package/modules/esnext.map.includes.js +1 -1
- package/modules/esnext.map.key-by.js +2 -1
- package/modules/esnext.map.map-keys.js +5 -4
- package/modules/esnext.map.map-values.js +5 -4
- package/modules/esnext.map.reduce.js +3 -0
- package/modules/esnext.map.some.js +1 -1
- package/modules/esnext.map.update-or-insert.js +2 -2
- package/modules/esnext.map.update.js +11 -4
- package/modules/esnext.map.upsert.js +2 -2
- package/modules/esnext.math.seeded-prng.js +3 -1
- package/modules/esnext.number.from-string.js +12 -3
- package/modules/esnext.observable.js +14 -9
- package/modules/esnext.reflect.get-metadata-keys.js +5 -10
- package/modules/esnext.set.add-all.js +2 -4
- package/modules/esnext.set.delete-all.js +2 -4
- package/modules/esnext.set.difference.js +3 -2
- package/modules/esnext.set.every.js +1 -1
- package/modules/esnext.set.filter.js +4 -3
- package/modules/esnext.set.find.js +1 -1
- package/modules/esnext.set.intersection.js +3 -2
- package/modules/esnext.set.is-disjoint-from.js +3 -2
- package/modules/esnext.set.is-subset-of.js +3 -2
- package/modules/esnext.set.is-superset-of.js +3 -2
- package/modules/esnext.set.join.js +9 -4
- package/modules/esnext.set.map.js +5 -4
- package/modules/esnext.set.reduce.js +3 -0
- package/modules/esnext.set.some.js +1 -1
- package/modules/esnext.set.symmetric-difference.js +3 -2
- package/modules/esnext.weak-map.delete-all.js +2 -4
- package/modules/esnext.weak-map.emplace.js +2 -2
- package/modules/esnext.weak-map.upsert.js +2 -2
- package/modules/esnext.weak-set.add-all.js +2 -4
- package/modules/esnext.weak-set.delete-all.js +2 -4
- package/modules/web.timers.js +5 -4
- package/modules/web.url-search-params.js +122 -104
- package/modules/web.url.js +664 -628
- package/package.json +2 -2
- package/stable/instance/entries.js +6 -4
- package/stable/instance/for-each.js +6 -4
- package/stable/instance/keys.js +6 -4
- package/stable/instance/values.js +6 -4
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var aCallable = require('../internals/a-callable');
|
|
2
3
|
var toObject = require('../internals/to-object');
|
|
3
4
|
var IndexedObject = require('../internals/indexed-object');
|
|
4
5
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
5
6
|
|
|
7
|
+
var TypeError = global.TypeError;
|
|
8
|
+
|
|
6
9
|
// `Array.prototype.{ reduce, reduceRight }` methods implementation
|
|
7
10
|
var createMethod = function (IS_RIGHT) {
|
|
8
11
|
return function (that, callbackfn, argumentsLength, memo) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
2
|
+
var toAbsoluteIndex = require('../internals/to-absolute-index');
|
|
3
|
+
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
|
+
var createProperty = require('../internals/create-property');
|
|
5
|
+
|
|
6
|
+
var Array = global.Array;
|
|
7
|
+
var max = Math.max;
|
|
8
|
+
|
|
9
|
+
module.exports = function (O, start, end) {
|
|
10
|
+
var length = lengthOfArrayLike(O);
|
|
11
|
+
var k = toAbsoluteIndex(start, length);
|
|
12
|
+
var fin = toAbsoluteIndex(end === undefined ? length : end, length);
|
|
13
|
+
var result = Array(max(fin - k, 0));
|
|
14
|
+
for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
|
|
15
|
+
result.length = n;
|
|
16
|
+
return result;
|
|
17
|
+
};
|
package/internals/array-sort.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
var arraySlice = require('../internals/array-slice-simple');
|
|
2
|
+
|
|
2
3
|
var floor = Math.floor;
|
|
3
4
|
|
|
4
5
|
var mergeSort = function (array, comparefn) {
|
|
5
6
|
var length = array.length;
|
|
6
7
|
var middle = floor(length / 2);
|
|
7
8
|
return length < 8 ? insertionSort(array, comparefn) : merge(
|
|
8
|
-
|
|
9
|
-
mergeSort(array
|
|
9
|
+
array,
|
|
10
|
+
mergeSort(arraySlice(array, 0, middle), comparefn),
|
|
11
|
+
mergeSort(arraySlice(array, middle), comparefn),
|
|
10
12
|
comparefn
|
|
11
13
|
);
|
|
12
14
|
};
|
|
@@ -26,20 +28,17 @@ var insertionSort = function (array, comparefn) {
|
|
|
26
28
|
} return array;
|
|
27
29
|
};
|
|
28
30
|
|
|
29
|
-
var merge = function (left, right, comparefn) {
|
|
31
|
+
var merge = function (array, left, right, comparefn) {
|
|
30
32
|
var llength = left.length;
|
|
31
33
|
var rlength = right.length;
|
|
32
34
|
var lindex = 0;
|
|
33
35
|
var rindex = 0;
|
|
34
|
-
var result = [];
|
|
35
36
|
|
|
36
37
|
while (lindex < llength || rindex < rlength) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
} return result;
|
|
38
|
+
array[lindex + rindex] = (lindex < llength && rindex < rlength)
|
|
39
|
+
? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
|
|
40
|
+
: lindex < llength ? left[lindex++] : right[rindex++];
|
|
41
|
+
} return array;
|
|
43
42
|
};
|
|
44
43
|
|
|
45
44
|
module.exports = mergeSort;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var isArray = require('../internals/is-array');
|
|
2
3
|
var isConstructor = require('../internals/is-constructor');
|
|
3
4
|
var isObject = require('../internals/is-object');
|
|
4
5
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
5
6
|
|
|
6
7
|
var SPECIES = wellKnownSymbol('species');
|
|
8
|
+
var Array = global.Array;
|
|
7
9
|
|
|
8
10
|
// a part of `ArraySpeciesCreate` abstract operation
|
|
9
11
|
// https://tc39.es/ecma262/#sec-arrayspeciescreate
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
4
|
var aCallable = require('../internals/a-callable');
|
|
3
5
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
6
|
var toObject = require('../internals/to-object');
|
|
5
|
-
var getBuiltIn = require('../internals/get-built-in');
|
|
6
7
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
7
8
|
|
|
8
|
-
var
|
|
9
|
+
var Map = getBuiltIn('Map');
|
|
10
|
+
var MapPrototype = Map.prototype;
|
|
11
|
+
var mapForEach = uncurryThis(MapPrototype.forEach);
|
|
12
|
+
var mapHas = uncurryThis(MapPrototype.has);
|
|
13
|
+
var mapSet = uncurryThis(MapPrototype.set);
|
|
14
|
+
var push = uncurryThis([].push);
|
|
9
15
|
|
|
10
16
|
// `Array.prototype.uniqueBy` method
|
|
11
17
|
// https://github.com/tc39/proposal-array-unique
|
|
@@ -13,20 +19,18 @@ module.exports = function uniqueBy(resolver) {
|
|
|
13
19
|
var that = toObject(this);
|
|
14
20
|
var length = lengthOfArrayLike(that);
|
|
15
21
|
var result = arraySpeciesCreate(that, 0);
|
|
16
|
-
var Map = getBuiltIn('Map');
|
|
17
22
|
var map = new Map();
|
|
18
|
-
var resolverFunction
|
|
19
|
-
if (resolver != null) resolverFunction = aCallable(resolver);
|
|
20
|
-
else resolverFunction = function (value) {
|
|
23
|
+
var resolverFunction = resolver != null ? aCallable(resolver) : function (value) {
|
|
21
24
|
return value;
|
|
22
25
|
};
|
|
26
|
+
var index, item, key;
|
|
23
27
|
for (index = 0; index < length; index++) {
|
|
24
28
|
item = that[index];
|
|
25
29
|
key = resolverFunction(item);
|
|
26
|
-
if (!map
|
|
30
|
+
if (!mapHas(map, key)) mapSet(map, key, item);
|
|
27
31
|
}
|
|
28
|
-
map
|
|
29
|
-
push
|
|
32
|
+
mapForEach(map, function (value) {
|
|
33
|
+
push(result, value);
|
|
30
34
|
});
|
|
31
35
|
return result;
|
|
32
36
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var apply = require('../internals/function-apply');
|
|
2
3
|
var anObject = require('../internals/an-object');
|
|
3
4
|
var create = require('../internals/object-create');
|
|
4
5
|
var getMethod = require('../internals/get-method');
|
|
@@ -31,7 +32,7 @@ AsyncFromSyncIterator.prototype = redefineAll(create(AsyncIteratorPrototype), {
|
|
|
31
32
|
var state = getInternalState(this);
|
|
32
33
|
var hasArg = !!arguments.length;
|
|
33
34
|
return new Promise(function (resolve, reject) {
|
|
34
|
-
var result = anObject(state.next
|
|
35
|
+
var result = anObject(apply(state.next, state.iterator, hasArg ? [arg] : []));
|
|
35
36
|
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
36
37
|
});
|
|
37
38
|
},
|
|
@@ -41,7 +42,7 @@ AsyncFromSyncIterator.prototype = redefineAll(create(AsyncIteratorPrototype), {
|
|
|
41
42
|
return new Promise(function (resolve, reject) {
|
|
42
43
|
var $return = getMethod(iterator, 'return');
|
|
43
44
|
if ($return === undefined) return resolve({ done: true, value: arg });
|
|
44
|
-
var result = anObject($return
|
|
45
|
+
var result = anObject(apply($return, iterator, hasArg ? [arg] : []));
|
|
45
46
|
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
46
47
|
});
|
|
47
48
|
},
|
|
@@ -51,7 +52,7 @@ AsyncFromSyncIterator.prototype = redefineAll(create(AsyncIteratorPrototype), {
|
|
|
51
52
|
return new Promise(function (resolve, reject) {
|
|
52
53
|
var $throw = getMethod(iterator, 'throw');
|
|
53
54
|
if ($throw === undefined) return reject(arg);
|
|
54
|
-
var result = anObject($throw
|
|
55
|
+
var result = anObject(apply($throw, iterator, hasArg ? [arg] : []));
|
|
55
56
|
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
56
57
|
});
|
|
57
58
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var call = require('../internals/function-call');
|
|
2
3
|
var aCallable = require('../internals/a-callable');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
var create = require('../internals/object-create');
|
|
@@ -33,7 +34,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
33
34
|
var state = getInternalState(that);
|
|
34
35
|
var args = hasArgument ? [state.ignoreArgument ? undefined : arg] : IS_ITERATOR ? [] : [undefined];
|
|
35
36
|
state.ignoreArgument = false;
|
|
36
|
-
resolve(state.done ? { done: true, value: undefined } : anObject(
|
|
37
|
+
resolve(state.done ? { done: true, value: undefined } : anObject(call(nextHandler, state, Promise, args)));
|
|
37
38
|
});
|
|
38
39
|
},
|
|
39
40
|
'return': function (value) {
|
|
@@ -44,7 +45,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
44
45
|
state.done = true;
|
|
45
46
|
var $$return = getMethod(iterator, 'return');
|
|
46
47
|
if ($$return === undefined) return resolve({ done: true, value: value });
|
|
47
|
-
Promise.resolve($$return
|
|
48
|
+
Promise.resolve(call($$return, iterator, value)).then(function (result) {
|
|
48
49
|
anObject(result);
|
|
49
50
|
resolve({ done: true, value: value });
|
|
50
51
|
}, reject);
|
|
@@ -58,7 +59,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
58
59
|
state.done = true;
|
|
59
60
|
var $$throw = getMethod(iterator, 'throw');
|
|
60
61
|
if ($$throw === undefined) return reject(value);
|
|
61
|
-
resolve($$throw
|
|
62
|
+
resolve(call($$throw, iterator, value));
|
|
62
63
|
});
|
|
63
64
|
}
|
|
64
65
|
});
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
// https://github.com/tc39/proposal-array-from-async
|
|
4
|
+
var global = require('../internals/global');
|
|
5
|
+
var call = require('../internals/function-call');
|
|
4
6
|
var aCallable = require('../internals/a-callable');
|
|
5
7
|
var anObject = require('../internals/an-object');
|
|
6
8
|
var getBuiltIn = require('../internals/get-built-in');
|
|
7
9
|
var getMethod = require('../internals/get-method');
|
|
8
10
|
|
|
9
11
|
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
|
12
|
+
var TypeError = global.TypeError;
|
|
10
13
|
|
|
11
14
|
var createMethod = function (TYPE) {
|
|
12
15
|
var IS_TO_ARRAY = TYPE == 0;
|
|
@@ -26,7 +29,7 @@ var createMethod = function (TYPE) {
|
|
|
26
29
|
try {
|
|
27
30
|
var returnMethod = getMethod(iterator, 'return');
|
|
28
31
|
if (returnMethod) {
|
|
29
|
-
return Promise.resolve(
|
|
32
|
+
return Promise.resolve(call(returnMethod, iterator)).then(function () {
|
|
30
33
|
method(argument);
|
|
31
34
|
}, function (error) {
|
|
32
35
|
reject(error);
|
|
@@ -46,7 +49,7 @@ var createMethod = function (TYPE) {
|
|
|
46
49
|
if (IS_TO_ARRAY && (index > MAX_SAFE_INTEGER) && MAPPING) {
|
|
47
50
|
throw TypeError('The allowed number of iterations has been exceeded');
|
|
48
51
|
}
|
|
49
|
-
Promise.resolve(anObject(
|
|
52
|
+
Promise.resolve(anObject(call(next, iterator))).then(function (step) {
|
|
50
53
|
try {
|
|
51
54
|
if (anObject(step).done) {
|
|
52
55
|
if (IS_TO_ARRAY) {
|
package/internals/classof-raw.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
var
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
|
+
|
|
3
|
+
var toString = uncurryThis({}.toString);
|
|
4
|
+
var stringSlice = uncurryThis(''.slice);
|
|
2
5
|
|
|
3
6
|
module.exports = function (it) {
|
|
4
|
-
return toString
|
|
7
|
+
return stringSlice(toString(it), 8, -1);
|
|
5
8
|
};
|
package/internals/classof.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');
|
|
2
3
|
var isCallable = require('../internals/is-callable');
|
|
3
4
|
var classofRaw = require('../internals/classof-raw');
|
|
4
5
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
5
6
|
|
|
6
7
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
8
|
+
var Object = global.Object;
|
|
9
|
+
|
|
7
10
|
// ES3 wrong here
|
|
8
11
|
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
|
|
9
12
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
|
+
var arraySlice = require('../internals/array-slice-simple');
|
|
3
|
+
|
|
4
|
+
var replace = uncurryThis(''.replace);
|
|
5
|
+
var split = uncurryThis(''.split);
|
|
6
|
+
var join = uncurryThis([].join);
|
|
7
|
+
|
|
8
|
+
var TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');
|
|
9
|
+
var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
|
|
10
|
+
var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
|
|
11
|
+
var IS_FIREFOX_OR_SAFARI_STACK = /@[^\n]*\n/.test(TEST) && !/zxcasd/.test(TEST);
|
|
12
|
+
|
|
13
|
+
module.exports = function (stack, dropEntries) {
|
|
14
|
+
if (typeof stack != 'string') return stack;
|
|
15
|
+
if (IS_V8_OR_CHAKRA_STACK) {
|
|
16
|
+
while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
|
|
17
|
+
} else if (IS_FIREFOX_OR_SAFARI_STACK) {
|
|
18
|
+
return join(arraySlice(split(stack, '\n'), dropEntries), '\n');
|
|
19
|
+
} return stack;
|
|
20
|
+
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var call = require('../internals/function-call');
|
|
2
3
|
var aCallable = require('../internals/a-callable');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
|
|
5
6
|
// https://github.com/tc39/collection-methods
|
|
6
|
-
module.exports = function (/* ...elements */) {
|
|
7
|
+
module.exports = function addAll(/* ...elements */) {
|
|
7
8
|
var set = anObject(this);
|
|
8
9
|
var adder = aCallable(set.add);
|
|
9
10
|
for (var k = 0, len = arguments.length; k < len; k++) {
|
|
10
|
-
|
|
11
|
+
call(adder, set, arguments[k]);
|
|
11
12
|
}
|
|
12
13
|
return set;
|
|
13
14
|
};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var call = require('../internals/function-call');
|
|
2
3
|
var aCallable = require('../internals/a-callable');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
|
|
5
6
|
// https://github.com/tc39/collection-methods
|
|
6
|
-
module.exports = function (/* ...elements */) {
|
|
7
|
+
module.exports = function deleteAll(/* ...elements */) {
|
|
7
8
|
var collection = anObject(this);
|
|
8
9
|
var remover = aCallable(collection['delete']);
|
|
9
10
|
var allDeleted = true;
|
|
10
11
|
var wasDeleted;
|
|
11
12
|
for (var k = 0, len = arguments.length; k < len; k++) {
|
|
12
|
-
wasDeleted =
|
|
13
|
+
wasDeleted = call(remover, collection, arguments[k]);
|
|
13
14
|
allDeleted = allDeleted && wasDeleted;
|
|
14
15
|
}
|
|
15
16
|
return !!allDeleted;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://tc39.github.io/proposal-setmap-offrom/
|
|
3
|
+
var bind = require('../internals/function-bind-context');
|
|
4
|
+
var call = require('../internals/function-call');
|
|
3
5
|
var aCallable = require('../internals/a-callable');
|
|
4
6
|
var aConstructor = require('../internals/a-constructor');
|
|
5
|
-
var bind = require('../internals/function-bind-context');
|
|
6
7
|
var iterate = require('../internals/iterate');
|
|
7
8
|
|
|
9
|
+
var push = [].push;
|
|
10
|
+
|
|
8
11
|
module.exports = function from(source /* , mapFn, thisArg */) {
|
|
9
12
|
var length = arguments.length;
|
|
10
13
|
var mapFn = length > 1 ? arguments[1] : undefined;
|
|
@@ -16,12 +19,12 @@ module.exports = function from(source /* , mapFn, thisArg */) {
|
|
|
16
19
|
array = [];
|
|
17
20
|
if (mapping) {
|
|
18
21
|
n = 0;
|
|
19
|
-
boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined
|
|
22
|
+
boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined);
|
|
20
23
|
iterate(source, function (nextItem) {
|
|
21
|
-
array
|
|
24
|
+
call(push, array, boundFunction(nextItem, n++));
|
|
22
25
|
});
|
|
23
26
|
} else {
|
|
24
|
-
iterate(source,
|
|
27
|
+
iterate(source, push, { that: array });
|
|
25
28
|
}
|
|
26
29
|
return new this(array);
|
|
27
30
|
};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var arraySlice = require('../internals/array-slice');
|
|
3
|
+
|
|
2
4
|
// https://tc39.github.io/proposal-setmap-offrom/
|
|
3
5
|
module.exports = function of() {
|
|
4
|
-
|
|
5
|
-
var A = new Array(length);
|
|
6
|
-
while (length--) A[length] = arguments[length];
|
|
7
|
-
return new this(A);
|
|
6
|
+
return new this(arraySlice(arguments));
|
|
8
7
|
};
|
|
@@ -16,8 +16,8 @@ var internalStateGetterFor = InternalStateModule.getterFor;
|
|
|
16
16
|
|
|
17
17
|
module.exports = {
|
|
18
18
|
getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
|
|
19
|
-
var
|
|
20
|
-
anInstance(that,
|
|
19
|
+
var Constructor = wrapper(function (that, iterable) {
|
|
20
|
+
anInstance(that, Prototype);
|
|
21
21
|
setInternalState(that, {
|
|
22
22
|
type: CONSTRUCTOR_NAME,
|
|
23
23
|
index: create(null),
|
|
@@ -29,6 +29,8 @@ module.exports = {
|
|
|
29
29
|
if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
|
|
30
30
|
});
|
|
31
31
|
|
|
32
|
+
var Prototype = Constructor.prototype;
|
|
33
|
+
|
|
32
34
|
var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
|
|
33
35
|
|
|
34
36
|
var define = function (that, key, value) {
|
|
@@ -69,7 +71,7 @@ module.exports = {
|
|
|
69
71
|
}
|
|
70
72
|
};
|
|
71
73
|
|
|
72
|
-
redefineAll(
|
|
74
|
+
redefineAll(Prototype, {
|
|
73
75
|
// `{ Map, Set }.prototype.clear()` methods
|
|
74
76
|
// https://tc39.es/ecma262/#sec-map.prototype.clear
|
|
75
77
|
// https://tc39.es/ecma262/#sec-set.prototype.clear
|
|
@@ -113,7 +115,7 @@ module.exports = {
|
|
|
113
115
|
// https://tc39.es/ecma262/#sec-set.prototype.foreach
|
|
114
116
|
forEach: function forEach(callbackfn /* , that = undefined */) {
|
|
115
117
|
var state = getInternalState(this);
|
|
116
|
-
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined
|
|
118
|
+
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
117
119
|
var entry;
|
|
118
120
|
while (entry = entry ? entry.next : state.first) {
|
|
119
121
|
boundFunction(entry.value, entry.key, this);
|
|
@@ -129,7 +131,7 @@ module.exports = {
|
|
|
129
131
|
}
|
|
130
132
|
});
|
|
131
133
|
|
|
132
|
-
redefineAll(
|
|
134
|
+
redefineAll(Prototype, IS_MAP ? {
|
|
133
135
|
// `Map.prototype.get(key)` method
|
|
134
136
|
// https://tc39.es/ecma262/#sec-map.prototype.get
|
|
135
137
|
get: function get(key) {
|
|
@@ -148,14 +150,14 @@ module.exports = {
|
|
|
148
150
|
return define(this, value = value === 0 ? 0 : value, value);
|
|
149
151
|
}
|
|
150
152
|
});
|
|
151
|
-
if (DESCRIPTORS) defineProperty(
|
|
153
|
+
if (DESCRIPTORS) defineProperty(Prototype, 'size', {
|
|
152
154
|
get: function () {
|
|
153
155
|
return getInternalState(this).size;
|
|
154
156
|
}
|
|
155
157
|
});
|
|
156
|
-
return
|
|
158
|
+
return Constructor;
|
|
157
159
|
},
|
|
158
|
-
setStrong: function (
|
|
160
|
+
setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {
|
|
159
161
|
var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
|
|
160
162
|
var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
|
|
161
163
|
var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
|
|
@@ -168,7 +170,7 @@ module.exports = {
|
|
|
168
170
|
// https://tc39.es/ecma262/#sec-set.prototype.keys
|
|
169
171
|
// https://tc39.es/ecma262/#sec-set.prototype.values
|
|
170
172
|
// https://tc39.es/ecma262/#sec-set.prototype-@@iterator
|
|
171
|
-
defineIterator(
|
|
173
|
+
defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {
|
|
172
174
|
setInternalState(this, {
|
|
173
175
|
type: ITERATOR_NAME,
|
|
174
176
|
target: iterated,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
3
|
var redefineAll = require('../internals/redefine-all');
|
|
3
4
|
var getWeakData = require('../internals/internal-metadata').getWeakData;
|
|
4
5
|
var anObject = require('../internals/an-object');
|
|
@@ -13,6 +14,7 @@ var setInternalState = InternalStateModule.set;
|
|
|
13
14
|
var internalStateGetterFor = InternalStateModule.getterFor;
|
|
14
15
|
var find = ArrayIterationModule.find;
|
|
15
16
|
var findIndex = ArrayIterationModule.findIndex;
|
|
17
|
+
var splice = uncurryThis([].splice);
|
|
16
18
|
var id = 0;
|
|
17
19
|
|
|
18
20
|
// fallback for uncaught frozen keys
|
|
@@ -47,15 +49,15 @@ UncaughtFrozenStore.prototype = {
|
|
|
47
49
|
var index = findIndex(this.entries, function (it) {
|
|
48
50
|
return it[0] === key;
|
|
49
51
|
});
|
|
50
|
-
if (~index) this.entries
|
|
52
|
+
if (~index) splice(this.entries, index, 1);
|
|
51
53
|
return !!~index;
|
|
52
54
|
}
|
|
53
55
|
};
|
|
54
56
|
|
|
55
57
|
module.exports = {
|
|
56
58
|
getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
|
|
57
|
-
var
|
|
58
|
-
anInstance(that,
|
|
59
|
+
var Constructor = wrapper(function (that, iterable) {
|
|
60
|
+
anInstance(that, Prototype);
|
|
59
61
|
setInternalState(that, {
|
|
60
62
|
type: CONSTRUCTOR_NAME,
|
|
61
63
|
id: id++,
|
|
@@ -64,6 +66,8 @@ module.exports = {
|
|
|
64
66
|
if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
|
|
65
67
|
});
|
|
66
68
|
|
|
69
|
+
var Prototype = Constructor.prototype;
|
|
70
|
+
|
|
67
71
|
var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
|
|
68
72
|
|
|
69
73
|
var define = function (that, key, value) {
|
|
@@ -74,7 +78,7 @@ module.exports = {
|
|
|
74
78
|
return that;
|
|
75
79
|
};
|
|
76
80
|
|
|
77
|
-
redefineAll(
|
|
81
|
+
redefineAll(Prototype, {
|
|
78
82
|
// `{ WeakMap, WeakSet }.prototype.delete(key)` methods
|
|
79
83
|
// https://tc39.es/ecma262/#sec-weakmap.prototype.delete
|
|
80
84
|
// https://tc39.es/ecma262/#sec-weakset.prototype.delete
|
|
@@ -97,7 +101,7 @@ module.exports = {
|
|
|
97
101
|
}
|
|
98
102
|
});
|
|
99
103
|
|
|
100
|
-
redefineAll(
|
|
104
|
+
redefineAll(Prototype, IS_MAP ? {
|
|
101
105
|
// `WeakMap.prototype.get(key)` method
|
|
102
106
|
// https://tc39.es/ecma262/#sec-weakmap.prototype.get
|
|
103
107
|
get: function get(key) {
|
|
@@ -121,6 +125,6 @@ module.exports = {
|
|
|
121
125
|
}
|
|
122
126
|
});
|
|
123
127
|
|
|
124
|
-
return
|
|
128
|
+
return Constructor;
|
|
125
129
|
}
|
|
126
130
|
};
|
package/internals/collection.js
CHANGED
|
@@ -34,19 +34,21 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
|
|
|
34
34
|
InternalMetadataModule.enable();
|
|
35
35
|
} else {
|
|
36
36
|
Constructor = wrapper(function (target, iterable) {
|
|
37
|
-
setInternalState(anInstance(target,
|
|
37
|
+
setInternalState(anInstance(target, Prototype), {
|
|
38
38
|
type: CONSTRUCTOR_NAME,
|
|
39
39
|
collection: new NativeConstructor()
|
|
40
40
|
});
|
|
41
41
|
if (iterable != undefined) iterate(iterable, target[ADDER], { that: target, AS_ENTRIES: IS_MAP });
|
|
42
42
|
});
|
|
43
43
|
|
|
44
|
+
var Prototype = Constructor.prototype;
|
|
45
|
+
|
|
44
46
|
var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
|
|
45
47
|
|
|
46
48
|
forEach(['add', 'clear', 'delete', 'forEach', 'get', 'has', 'set', 'keys', 'values', 'entries'], function (KEY) {
|
|
47
49
|
var IS_ADDER = KEY == 'add' || KEY == 'set';
|
|
48
50
|
if (KEY in NativePrototype && !(IS_WEAK && KEY == 'clear')) {
|
|
49
|
-
createNonEnumerableProperty(
|
|
51
|
+
createNonEnumerableProperty(Prototype, KEY, function (a, b) {
|
|
50
52
|
var collection = getInternalState(this).collection;
|
|
51
53
|
if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
|
|
52
54
|
var result = collection[KEY](a === 0 ? 0 : a, b);
|
|
@@ -55,7 +57,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
|
|
|
55
57
|
}
|
|
56
58
|
});
|
|
57
59
|
|
|
58
|
-
IS_WEAK || defineProperty(
|
|
60
|
+
IS_WEAK || defineProperty(Prototype, 'size', {
|
|
59
61
|
configurable: true,
|
|
60
62
|
get: function () {
|
|
61
63
|
return getInternalState(this).collection.size;
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
require('../modules/es.map');
|
|
3
|
+
require('../modules/es.weak-map');
|
|
4
|
+
var global = require('../internals/global');
|
|
5
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
4
6
|
var create = require('../internals/object-create');
|
|
5
7
|
var isObject = require('../internals/is-object');
|
|
6
8
|
|
|
9
|
+
var Object = global.Object;
|
|
10
|
+
var TypeError = global.TypeError;
|
|
11
|
+
var Map = getBuiltIn('Map');
|
|
12
|
+
var WeakMap = getBuiltIn('WeakMap');
|
|
13
|
+
|
|
7
14
|
var Node = function () {
|
|
8
15
|
// keys
|
|
9
16
|
this.object = null;
|
package/internals/create-html.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
1
2
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
2
3
|
var toString = require('../internals/to-string');
|
|
3
4
|
|
|
4
5
|
var quot = /"/g;
|
|
6
|
+
var replace = uncurryThis(''.replace);
|
|
5
7
|
|
|
6
8
|
// `CreateHTML` abstract operation
|
|
7
9
|
// https://tc39.es/ecma262/#sec-createhtml
|
|
8
10
|
module.exports = function (string, tag, attribute, value) {
|
|
9
11
|
var S = toString(requireObjectCoercible(string));
|
|
10
12
|
var p1 = '<' + tag;
|
|
11
|
-
if (attribute !== '') p1 += ' ' + attribute + '="' + toString(value)
|
|
13
|
+
if (attribute !== '') p1 += ' ' + attribute + '="' + replace(toString(value), quot, '"') + '"';
|
|
12
14
|
return p1 + '>' + S + '</' + tag + '>';
|
|
13
15
|
};
|
|
@@ -1,31 +1,41 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var global = require('../internals/global');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
4
|
var fails = require('../internals/fails');
|
|
3
5
|
var padStart = require('../internals/string-pad').start;
|
|
4
6
|
|
|
7
|
+
var RangeError = global.RangeError;
|
|
5
8
|
var abs = Math.abs;
|
|
6
9
|
var DatePrototype = Date.prototype;
|
|
7
|
-
var
|
|
8
|
-
var
|
|
10
|
+
var n$DateToISOString = DatePrototype.toISOString;
|
|
11
|
+
var getTime = uncurryThis(DatePrototype.getTime);
|
|
12
|
+
var getUTCDate = uncurryThis(DatePrototype.getUTCDate);
|
|
13
|
+
var getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);
|
|
14
|
+
var getUTCHours = uncurryThis(DatePrototype.getUTCHours);
|
|
15
|
+
var getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds);
|
|
16
|
+
var getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes);
|
|
17
|
+
var getUTCMonth = uncurryThis(DatePrototype.getUTCMonth);
|
|
18
|
+
var getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);
|
|
9
19
|
|
|
10
20
|
// `Date.prototype.toISOString` method implementation
|
|
11
21
|
// https://tc39.es/ecma262/#sec-date.prototype.toisostring
|
|
12
22
|
// PhantomJS / old WebKit fails here:
|
|
13
23
|
module.exports = (fails(function () {
|
|
14
|
-
return
|
|
24
|
+
return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
|
|
15
25
|
}) || !fails(function () {
|
|
16
|
-
|
|
26
|
+
n$DateToISOString.call(new Date(NaN));
|
|
17
27
|
})) ? function toISOString() {
|
|
18
|
-
if (!isFinite(getTime
|
|
28
|
+
if (!isFinite(getTime(this))) throw RangeError('Invalid time value');
|
|
19
29
|
var date = this;
|
|
20
|
-
var year =
|
|
21
|
-
var milliseconds =
|
|
30
|
+
var year = getUTCFullYear(date);
|
|
31
|
+
var milliseconds = getUTCMilliseconds(date);
|
|
22
32
|
var sign = year < 0 ? '-' : year > 9999 ? '+' : '';
|
|
23
33
|
return sign + padStart(abs(year), sign ? 6 : 4, 0) +
|
|
24
|
-
'-' + padStart(
|
|
25
|
-
'-' + padStart(
|
|
26
|
-
'T' + padStart(
|
|
27
|
-
':' + padStart(
|
|
28
|
-
':' + padStart(
|
|
34
|
+
'-' + padStart(getUTCMonth(date) + 1, 2, 0) +
|
|
35
|
+
'-' + padStart(getUTCDate(date), 2, 0) +
|
|
36
|
+
'T' + padStart(getUTCHours(date), 2, 0) +
|
|
37
|
+
':' + padStart(getUTCMinutes(date), 2, 0) +
|
|
38
|
+
':' + padStart(getUTCSeconds(date), 2, 0) +
|
|
29
39
|
'.' + padStart(milliseconds, 3, 0) +
|
|
30
40
|
'Z';
|
|
31
|
-
} :
|
|
41
|
+
} : n$DateToISOString;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var global = require('../internals/global');
|
|
2
3
|
var anObject = require('../internals/an-object');
|
|
3
4
|
var ordinaryToPrimitive = require('../internals/ordinary-to-primitive');
|
|
4
5
|
|
|
6
|
+
var TypeError = global.TypeError;
|
|
7
|
+
|
|
5
8
|
// `Date.prototype[@@toPrimitive](hint)` method implementation
|
|
6
9
|
// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
|
|
7
10
|
module.exports = function (hint) {
|