core-js 3.18.3 → 3.19.1
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-buffer-view-core.js +3 -2
- package/internals/array-buffer.js +29 -16
- 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.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 +8 -7
- 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/entry-unbind.js +3 -5
- package/internals/error-stack-installable.js +10 -0
- package/internals/export.js +1 -1
- package/internals/fix-regexp-well-known-symbol-logic.js +5 -3
- 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-map-iterator.js +3 -1
- package/internals/get-set-iterator.js +3 -1
- 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 +4 -1
- package/internals/indexed-object.js +5 -2
- package/internals/inspect-source.js +3 -2
- 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 +3 -1
- 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/regexp-exec.js +19 -14
- 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 +26 -14
- 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-offset.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/typed-array-constructor.js +10 -6
- package/internals/typed-array-from.js +4 -3
- package/internals/uid.js +4 -1
- package/internals/well-known-symbol.js +5 -1
- package/modules/es.aggregate-error.js +20 -8
- package/modules/es.array-buffer.slice.js +8 -4
- 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-primitive.js +2 -1
- package/modules/es.date.to-string.js +5 -4
- package/modules/es.escape.js +12 -5
- package/modules/es.function.has-instance.js +3 -2
- package/modules/es.function.name.js +4 -2
- package/modules/es.json.stringify.js +18 -7
- package/modules/es.map.js +1 -1
- package/modules/es.number.constructor.js +12 -7
- 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.regexp.constructor.js +23 -14
- package/modules/es.regexp.dot-all.js +5 -1
- package/modules/es.regexp.flags.js +4 -2
- package/modules/es.regexp.sticky.js +5 -1
- package/modules/es.regexp.test.js +7 -3
- package/modules/es.regexp.to-string.js +8 -5
- 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.match.js +2 -1
- package/modules/es.string.raw.js +6 -6
- package/modules/es.string.replace-all.js +19 -13
- package/modules/es.string.replace.js +19 -12
- package/modules/es.string.search.js +2 -1
- package/modules/es.string.split.js +23 -16
- package/modules/es.string.starts-with.js +6 -4
- package/modules/es.string.substr.js +3 -2
- package/modules/es.symbol.description.js +20 -12
- package/modules/es.symbol.js +34 -21
- package/modules/es.typed-array.copy-within.js +4 -2
- package/modules/es.typed-array.fill.js +9 -2
- package/modules/es.typed-array.iterator.js +7 -6
- package/modules/es.typed-array.join.js +3 -3
- package/modules/es.typed-array.last-index-of.js +3 -2
- package/modules/es.typed-array.reduce-right.js +2 -1
- package/modules/es.typed-array.reduce.js +2 -1
- package/modules/es.typed-array.set.js +2 -0
- package/modules/es.typed-array.slice.js +2 -2
- package/modules/es.typed-array.sort.js +13 -28
- package/modules/es.typed-array.to-locale-string.js +7 -2
- package/modules/es.typed-array.to-string.js +3 -2
- 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.typed-array.from-async.js +0 -1
- package/modules/esnext.typed-array.unique-by.js +4 -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 +62 -53
- package/modules/web.url.js +103 -89
- package/modules/web.url.to-json.js +2 -1
- 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
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
3
|
var typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');
|
|
4
4
|
var fails = require('../internals/fails');
|
|
5
|
+
var arraySlice = require('../internals/array-slice');
|
|
5
6
|
|
|
6
7
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
7
8
|
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
8
|
-
var $slice = [].slice;
|
|
9
9
|
|
|
10
10
|
var FORCED = fails(function () {
|
|
11
11
|
// eslint-disable-next-line es/no-typed-arrays -- required for testing
|
|
@@ -15,7 +15,7 @@ var FORCED = fails(function () {
|
|
|
15
15
|
// `%TypedArray%.prototype.slice` method
|
|
16
16
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice
|
|
17
17
|
exportTypedArrayMethod('slice', function slice(start, end) {
|
|
18
|
-
var list =
|
|
18
|
+
var list = arraySlice(aTypedArray(this), start, end);
|
|
19
19
|
var C = typedArraySpeciesConstructor(this);
|
|
20
20
|
var index = 0;
|
|
21
21
|
var length = list.length;
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
2
|
var global = require('../internals/global');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
4
|
var fails = require('../internals/fails');
|
|
5
5
|
var aCallable = require('../internals/a-callable');
|
|
6
|
-
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
7
6
|
var internalSort = require('../internals/array-sort');
|
|
7
|
+
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
8
8
|
var FF = require('../internals/engine-ff-version');
|
|
9
9
|
var IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');
|
|
10
10
|
var V8 = require('../internals/engine-v8-version');
|
|
11
11
|
var WEBKIT = require('../internals/engine-webkit-version');
|
|
12
12
|
|
|
13
|
+
var Array = global.Array;
|
|
13
14
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
14
15
|
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
15
16
|
var Uint16Array = global.Uint16Array;
|
|
16
|
-
var
|
|
17
|
+
var un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);
|
|
17
18
|
|
|
18
19
|
// WebKit
|
|
19
|
-
var ACCEPT_INCORRECT_ARGUMENTS = !!
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
});
|
|
20
|
+
var ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {
|
|
21
|
+
un$Sort(new Uint16Array(2), null);
|
|
22
|
+
}) && fails(function () {
|
|
23
|
+
un$Sort(new Uint16Array(2), {});
|
|
24
|
+
}));
|
|
24
25
|
|
|
25
|
-
var STABLE_SORT = !!
|
|
26
|
+
var STABLE_SORT = !!un$Sort && !fails(function () {
|
|
26
27
|
// feature detection can be too slow, so check engines versions
|
|
27
28
|
if (V8) return V8 < 74;
|
|
28
29
|
if (FF) return FF < 67;
|
|
@@ -39,7 +40,7 @@ var STABLE_SORT = !!nativeSort && !fails(function () {
|
|
|
39
40
|
expected[index] = index - 2 * mod + 3;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
array
|
|
43
|
+
un$Sort(array, function (a, b) {
|
|
43
44
|
return (a / 4 | 0) - (b / 4 | 0);
|
|
44
45
|
});
|
|
45
46
|
|
|
@@ -63,24 +64,8 @@ var getSortCompare = function (comparefn) {
|
|
|
63
64
|
// `%TypedArray%.prototype.sort` method
|
|
64
65
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort
|
|
65
66
|
exportTypedArrayMethod('sort', function sort(comparefn) {
|
|
66
|
-
var array = this;
|
|
67
67
|
if (comparefn !== undefined) aCallable(comparefn);
|
|
68
|
-
if (STABLE_SORT) return
|
|
69
|
-
|
|
70
|
-
aTypedArray(array);
|
|
71
|
-
var arrayLength = lengthOfArrayLike(array);
|
|
72
|
-
var items = Array(arrayLength);
|
|
73
|
-
var index;
|
|
74
|
-
|
|
75
|
-
for (index = 0; index < arrayLength; index++) {
|
|
76
|
-
items[index] = array[index];
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
items = internalSort(array, getSortCompare(comparefn));
|
|
80
|
-
|
|
81
|
-
for (index = 0; index < arrayLength; index++) {
|
|
82
|
-
array[index] = items[index];
|
|
83
|
-
}
|
|
68
|
+
if (STABLE_SORT) return un$Sort(this, comparefn);
|
|
84
69
|
|
|
85
|
-
return
|
|
70
|
+
return internalSort(aTypedArray(this), getSortCompare(comparefn));
|
|
86
71
|
}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var global = require('../internals/global');
|
|
3
|
+
var apply = require('../internals/function-apply');
|
|
3
4
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
4
5
|
var fails = require('../internals/fails');
|
|
6
|
+
var arraySlice = require('../internals/array-slice');
|
|
5
7
|
|
|
6
8
|
var Int8Array = global.Int8Array;
|
|
7
9
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
8
10
|
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
9
11
|
var $toLocaleString = [].toLocaleString;
|
|
10
|
-
var $slice = [].slice;
|
|
11
12
|
|
|
12
13
|
// iOS Safari 6.x fails here
|
|
13
14
|
var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {
|
|
@@ -23,5 +24,9 @@ var FORCED = fails(function () {
|
|
|
23
24
|
// `%TypedArray%.prototype.toLocaleString` method
|
|
24
25
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring
|
|
25
26
|
exportTypedArrayMethod('toLocaleString', function toLocaleString() {
|
|
26
|
-
return
|
|
27
|
+
return apply(
|
|
28
|
+
$toLocaleString,
|
|
29
|
+
TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),
|
|
30
|
+
arraySlice(arguments)
|
|
31
|
+
);
|
|
27
32
|
}, FORCED);
|
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
var exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;
|
|
3
3
|
var fails = require('../internals/fails');
|
|
4
4
|
var global = require('../internals/global');
|
|
5
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
6
|
|
|
6
7
|
var Uint8Array = global.Uint8Array;
|
|
7
8
|
var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};
|
|
8
9
|
var arrayToString = [].toString;
|
|
9
|
-
var
|
|
10
|
+
var join = uncurryThis([].join);
|
|
10
11
|
|
|
11
12
|
if (fails(function () { arrayToString.call({}); })) {
|
|
12
13
|
arrayToString = function toString() {
|
|
13
|
-
return
|
|
14
|
+
return join(this);
|
|
14
15
|
};
|
|
15
16
|
}
|
|
16
17
|
|
package/modules/es.unescape.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var toString = require('../internals/to-string');
|
|
4
5
|
|
|
5
6
|
var fromCharCode = String.fromCharCode;
|
|
7
|
+
var charAt = uncurryThis(''.charAt);
|
|
8
|
+
var exec = uncurryThis(/./.exec);
|
|
9
|
+
var stringSlice = uncurryThis(''.slice);
|
|
10
|
+
|
|
6
11
|
var hex2 = /^[\da-f]{2}$/i;
|
|
7
12
|
var hex4 = /^[\da-f]{4}$/i;
|
|
8
13
|
|
|
@@ -14,21 +19,21 @@ $({ global: true }, {
|
|
|
14
19
|
var result = '';
|
|
15
20
|
var length = str.length;
|
|
16
21
|
var index = 0;
|
|
17
|
-
var chr,
|
|
22
|
+
var chr, part;
|
|
18
23
|
while (index < length) {
|
|
19
|
-
chr =
|
|
24
|
+
chr = charAt(str, index++);
|
|
20
25
|
if (chr === '%') {
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
if (hex4
|
|
24
|
-
result += fromCharCode(parseInt(
|
|
26
|
+
if (charAt(str, index) === 'u') {
|
|
27
|
+
part = stringSlice(str, index + 1, index + 5);
|
|
28
|
+
if (exec(hex4, part)) {
|
|
29
|
+
result += fromCharCode(parseInt(part, 16));
|
|
25
30
|
index += 5;
|
|
26
31
|
continue;
|
|
27
32
|
}
|
|
28
33
|
} else {
|
|
29
|
-
|
|
30
|
-
if (hex2
|
|
31
|
-
result += fromCharCode(parseInt(
|
|
34
|
+
part = stringSlice(str, index, index + 2);
|
|
35
|
+
if (exec(hex2, part)) {
|
|
36
|
+
result += fromCharCode(parseInt(part, 16));
|
|
32
37
|
index += 2;
|
|
33
38
|
continue;
|
|
34
39
|
}
|
package/modules/es.weak-map.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var global = require('../internals/global');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var redefineAll = require('../internals/redefine-all');
|
|
4
5
|
var InternalMetadataModule = require('../internals/internal-metadata');
|
|
5
6
|
var collection = require('../internals/collection');
|
|
6
7
|
var collectionWeak = require('../internals/collection-weak');
|
|
7
8
|
var isObject = require('../internals/is-object');
|
|
9
|
+
var isExtensible = require('../internals/object-is-extensible');
|
|
8
10
|
var enforceIternalState = require('../internals/internal-state').enforce;
|
|
9
11
|
var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
|
|
10
12
|
|
|
11
13
|
var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
|
|
12
|
-
// eslint-disable-next-line es/no-object-isextensible -- safe
|
|
13
|
-
var isExtensible = Object.isExtensible;
|
|
14
14
|
var InternalWeakMap;
|
|
15
15
|
|
|
16
16
|
var wrapper = function (init) {
|
|
@@ -21,7 +21,7 @@ var wrapper = function (init) {
|
|
|
21
21
|
|
|
22
22
|
// `WeakMap` constructor
|
|
23
23
|
// https://tc39.es/ecma262/#sec-weakmap-constructor
|
|
24
|
-
var $WeakMap =
|
|
24
|
+
var $WeakMap = collection('WeakMap', wrapper, collectionWeak);
|
|
25
25
|
|
|
26
26
|
// IE11 WeakMap frozen keys fix
|
|
27
27
|
// We can't use feature detection because it crash some old IE builds
|
|
@@ -30,38 +30,38 @@ if (NATIVE_WEAK_MAP && IS_IE11) {
|
|
|
30
30
|
InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
|
|
31
31
|
InternalMetadataModule.enable();
|
|
32
32
|
var WeakMapPrototype = $WeakMap.prototype;
|
|
33
|
-
var nativeDelete = WeakMapPrototype['delete'];
|
|
34
|
-
var nativeHas = WeakMapPrototype.has;
|
|
35
|
-
var nativeGet = WeakMapPrototype.get;
|
|
36
|
-
var nativeSet = WeakMapPrototype.set;
|
|
33
|
+
var nativeDelete = uncurryThis(WeakMapPrototype['delete']);
|
|
34
|
+
var nativeHas = uncurryThis(WeakMapPrototype.has);
|
|
35
|
+
var nativeGet = uncurryThis(WeakMapPrototype.get);
|
|
36
|
+
var nativeSet = uncurryThis(WeakMapPrototype.set);
|
|
37
37
|
redefineAll(WeakMapPrototype, {
|
|
38
38
|
'delete': function (key) {
|
|
39
39
|
if (isObject(key) && !isExtensible(key)) {
|
|
40
40
|
var state = enforceIternalState(this);
|
|
41
41
|
if (!state.frozen) state.frozen = new InternalWeakMap();
|
|
42
|
-
return nativeDelete
|
|
43
|
-
} return nativeDelete
|
|
42
|
+
return nativeDelete(this, key) || state.frozen['delete'](key);
|
|
43
|
+
} return nativeDelete(this, key);
|
|
44
44
|
},
|
|
45
45
|
has: function has(key) {
|
|
46
46
|
if (isObject(key) && !isExtensible(key)) {
|
|
47
47
|
var state = enforceIternalState(this);
|
|
48
48
|
if (!state.frozen) state.frozen = new InternalWeakMap();
|
|
49
|
-
return nativeHas
|
|
50
|
-
} return nativeHas
|
|
49
|
+
return nativeHas(this, key) || state.frozen.has(key);
|
|
50
|
+
} return nativeHas(this, key);
|
|
51
51
|
},
|
|
52
52
|
get: function get(key) {
|
|
53
53
|
if (isObject(key) && !isExtensible(key)) {
|
|
54
54
|
var state = enforceIternalState(this);
|
|
55
55
|
if (!state.frozen) state.frozen = new InternalWeakMap();
|
|
56
|
-
return nativeHas
|
|
57
|
-
} return nativeGet
|
|
56
|
+
return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);
|
|
57
|
+
} return nativeGet(this, key);
|
|
58
58
|
},
|
|
59
59
|
set: function set(key, value) {
|
|
60
60
|
if (isObject(key) && !isExtensible(key)) {
|
|
61
61
|
var state = enforceIternalState(this);
|
|
62
62
|
if (!state.frozen) state.frozen = new InternalWeakMap();
|
|
63
|
-
nativeHas
|
|
64
|
-
} else nativeSet
|
|
63
|
+
nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);
|
|
64
|
+
} else nativeSet(this, key, value);
|
|
65
65
|
return this;
|
|
66
66
|
}
|
|
67
67
|
});
|
|
@@ -11,7 +11,7 @@ var isFrozenStringArray = function (array, allowUndefined) {
|
|
|
11
11
|
var element;
|
|
12
12
|
while (index < length) {
|
|
13
13
|
element = array[index++];
|
|
14
|
-
if (!(typeof element
|
|
14
|
+
if (!(typeof element == 'string' || (allowUndefined && typeof element == 'undefined'))) {
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
17
17
|
} return length !== 0;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
+
var apply = require('../internals/function-apply');
|
|
4
5
|
var anObject = require('../internals/an-object');
|
|
5
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
6
7
|
|
|
@@ -8,7 +9,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
|
8
9
|
var state = this;
|
|
9
10
|
var iterator = state.iterator;
|
|
10
11
|
|
|
11
|
-
return Promise.resolve(anObject(state.next
|
|
12
|
+
return Promise.resolve(anObject(apply(state.next, iterator, args))).then(function (step) {
|
|
12
13
|
if (anObject(step).done) {
|
|
13
14
|
state.done = true;
|
|
14
15
|
return { done: true, value: undefined };
|
|
@@ -11,7 +11,7 @@ var IS_PURE = require('../internals/is-pure');
|
|
|
11
11
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
12
12
|
|
|
13
13
|
var AsyncIteratorConstructor = function AsyncIterator() {
|
|
14
|
-
anInstance(this,
|
|
14
|
+
anInstance(this, AsyncIteratorPrototype);
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
AsyncIteratorConstructor.prototype = AsyncIteratorPrototype;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
+
var apply = require('../internals/function-apply');
|
|
4
5
|
var anObject = require('../internals/an-object');
|
|
5
6
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
6
7
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
@@ -12,7 +13,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
|
12
13
|
var loop = function () {
|
|
13
14
|
try {
|
|
14
15
|
Promise.resolve(
|
|
15
|
-
anObject(state.next
|
|
16
|
+
anObject(apply(state.next, state.iterator, state.remaining ? [] : args))
|
|
16
17
|
).then(function (step) {
|
|
17
18
|
try {
|
|
18
19
|
if (anObject(step).done) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
+
var apply = require('../internals/function-apply');
|
|
4
5
|
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
7
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
@@ -12,7 +13,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
|
12
13
|
return new Promise(function (resolve, reject) {
|
|
13
14
|
var loop = function () {
|
|
14
15
|
try {
|
|
15
|
-
Promise.resolve(anObject(state.next
|
|
16
|
+
Promise.resolve(anObject(apply(state.next, state.iterator, args))).then(function (step) {
|
|
16
17
|
try {
|
|
17
18
|
if (anObject(step).done) {
|
|
18
19
|
state.done = true;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
+
var call = require('../internals/function-call');
|
|
4
5
|
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
7
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
@@ -14,7 +15,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
14
15
|
return new Promise(function (resolve, reject) {
|
|
15
16
|
var outerLoop = function () {
|
|
16
17
|
try {
|
|
17
|
-
Promise.resolve(anObject(state.next
|
|
18
|
+
Promise.resolve(anObject(call(state.next, state.iterator))).then(function (step) {
|
|
18
19
|
try {
|
|
19
20
|
if (anObject(step).done) {
|
|
20
21
|
state.done = true;
|
|
@@ -36,7 +37,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
36
37
|
var innerLoop = function () {
|
|
37
38
|
if (innerIterator = state.innerIterator) {
|
|
38
39
|
try {
|
|
39
|
-
Promise.resolve(anObject(state.innerNext
|
|
40
|
+
Promise.resolve(anObject(call(state.innerNext, innerIterator))).then(function (result) {
|
|
40
41
|
try {
|
|
41
42
|
if (anObject(result).done) {
|
|
42
43
|
state.innerIterator = state.innerNext = null;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var apply = require('../internals/function-apply');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
var toObject = require('../internals/to-object');
|
|
6
|
+
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
5
7
|
var AsyncIteratorPrototype = require('../internals/async-iterator-prototype');
|
|
6
8
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
9
|
var getAsyncIterator = require('../internals/get-async-iterator');
|
|
@@ -13,10 +15,8 @@ var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
|
|
|
13
15
|
|
|
14
16
|
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
|
15
17
|
|
|
16
|
-
var isPrototypeOf = {}.isPrototypeOf;
|
|
17
|
-
|
|
18
18
|
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
19
|
-
return anObject(this.next
|
|
19
|
+
return anObject(apply(this.next, this.iterator, args));
|
|
20
20
|
}, true);
|
|
21
21
|
|
|
22
22
|
$({ target: 'AsyncIterator', stat: true }, {
|
|
@@ -26,7 +26,7 @@ $({ target: 'AsyncIterator', stat: true }, {
|
|
|
26
26
|
var iterator;
|
|
27
27
|
if (usingIterator) {
|
|
28
28
|
iterator = getAsyncIterator(object, usingIterator);
|
|
29
|
-
if (isPrototypeOf
|
|
29
|
+
if (isPrototypeOf(AsyncIteratorPrototype, iterator)) return iterator;
|
|
30
30
|
}
|
|
31
31
|
if (iterator === undefined) {
|
|
32
32
|
usingIterator = getIteratorMethod(object);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
+
var apply = require('../internals/function-apply');
|
|
4
5
|
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
7
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
@@ -9,7 +10,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
|
9
10
|
var state = this;
|
|
10
11
|
var mapper = state.mapper;
|
|
11
12
|
|
|
12
|
-
return Promise.resolve(anObject(state.next
|
|
13
|
+
return Promise.resolve(anObject(apply(state.next, state.iterator, args))).then(function (step) {
|
|
13
14
|
if (anObject(step).done) {
|
|
14
15
|
state.done = true;
|
|
15
16
|
return { done: true, value: undefined };
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
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
|
|
|
8
10
|
var Promise = getBuiltIn('Promise');
|
|
11
|
+
var TypeError = global.TypeError;
|
|
9
12
|
|
|
10
13
|
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
11
14
|
reduce: function reduce(reducer /* , initialValue */) {
|
|
@@ -18,7 +21,7 @@ $({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
|
18
21
|
return new Promise(function (resolve, reject) {
|
|
19
22
|
var loop = function () {
|
|
20
23
|
try {
|
|
21
|
-
Promise.resolve(anObject(
|
|
24
|
+
Promise.resolve(anObject(call(next, iterator))).then(function (step) {
|
|
22
25
|
try {
|
|
23
26
|
if (anObject(step).done) {
|
|
24
27
|
noInitial ? reject(TypeError('Reduce of empty iterator with no initial value')) : resolve(accumulator);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
+
var apply = require('../internals/function-apply');
|
|
5
|
+
var call = require('../internals/function-call');
|
|
4
6
|
var anObject = require('../internals/an-object');
|
|
5
7
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
6
8
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
@@ -13,12 +15,12 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
|
13
15
|
this.done = true;
|
|
14
16
|
returnMethod = iterator['return'];
|
|
15
17
|
if (returnMethod !== undefined) {
|
|
16
|
-
return Promise.resolve(
|
|
18
|
+
return Promise.resolve(call(returnMethod, iterator)).then(function () {
|
|
17
19
|
return result;
|
|
18
20
|
});
|
|
19
21
|
}
|
|
20
22
|
return result;
|
|
21
|
-
} return this.next
|
|
23
|
+
} return apply(this.next, iterator, args);
|
|
22
24
|
});
|
|
23
25
|
|
|
24
26
|
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
|
+
var global = require('../internals/global');
|
|
3
|
+
var apply = require('../internals/function-apply');
|
|
2
4
|
var getCompositeKeyNode = require('../internals/composite-key');
|
|
3
5
|
var getBuiltIn = require('../internals/get-built-in');
|
|
4
6
|
var create = require('../internals/object-create');
|
|
5
7
|
|
|
8
|
+
var Object = global.Object;
|
|
9
|
+
|
|
6
10
|
var initializer = function () {
|
|
7
11
|
var freeze = getBuiltIn('Object', 'freeze');
|
|
8
12
|
return freeze ? freeze(create(null)) : create(null);
|
|
@@ -11,6 +15,6 @@ var initializer = function () {
|
|
|
11
15
|
// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
|
|
12
16
|
$({ global: true }, {
|
|
13
17
|
compositeKey: function compositeKey() {
|
|
14
|
-
return
|
|
18
|
+
return apply(getCompositeKeyNode, Object, arguments).get('object', initializer);
|
|
15
19
|
}
|
|
16
20
|
});
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
2
|
var getCompositeKeyNode = require('../internals/composite-key');
|
|
3
3
|
var getBuiltIn = require('../internals/get-built-in');
|
|
4
|
+
var apply = require('../internals/function-apply');
|
|
4
5
|
|
|
5
6
|
// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
|
|
6
7
|
$({ global: true }, {
|
|
7
8
|
compositeSymbol: function compositeSymbol() {
|
|
8
|
-
if (arguments.length
|
|
9
|
-
return
|
|
9
|
+
if (arguments.length == 1 && typeof arguments[0] == 'string') return getBuiltIn('Symbol')['for'](arguments[0]);
|
|
10
|
+
return apply(getCompositeKeyNode, null, arguments).get('symbol', getBuiltIn('Symbol'));
|
|
10
11
|
}
|
|
11
12
|
});
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
+
var apply = require('../internals/function-apply');
|
|
4
5
|
var anObject = require('../internals/an-object');
|
|
5
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
6
7
|
|
|
7
8
|
var IteratorProxy = createIteratorProxy(function (args) {
|
|
8
|
-
var result = anObject(this.next
|
|
9
|
+
var result = anObject(apply(this.next, this.iterator, args));
|
|
9
10
|
var done = this.done = !!result.done;
|
|
10
11
|
if (!done) return [this.index++, result.value];
|
|
11
12
|
});
|
|
@@ -23,7 +23,7 @@ var FORCED = IS_PURE
|
|
|
23
23
|
|| !fails(function () { NativeIterator({}); });
|
|
24
24
|
|
|
25
25
|
var IteratorConstructor = function Iterator() {
|
|
26
|
-
anInstance(this,
|
|
26
|
+
anInstance(this, IteratorPrototype);
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
+
var apply = require('../internals/function-apply');
|
|
5
|
+
var call = require('../internals/function-call');
|
|
4
6
|
var anObject = require('../internals/an-object');
|
|
5
7
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
6
8
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
@@ -11,11 +13,11 @@ var IteratorProxy = createIteratorProxy(function (args) {
|
|
|
11
13
|
var result, done;
|
|
12
14
|
while (this.remaining) {
|
|
13
15
|
this.remaining--;
|
|
14
|
-
result = anObject(
|
|
16
|
+
result = anObject(call(next, iterator));
|
|
15
17
|
done = this.done = !!result.done;
|
|
16
18
|
if (done) return;
|
|
17
19
|
}
|
|
18
|
-
result = anObject(
|
|
20
|
+
result = anObject(apply(next, iterator, args));
|
|
19
21
|
done = this.done = !!result.done;
|
|
20
22
|
if (!done) return result.value;
|
|
21
23
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
+
var apply = require('../internals/function-apply');
|
|
4
5
|
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
7
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
@@ -12,7 +13,7 @@ var IteratorProxy = createIteratorProxy(function (args) {
|
|
|
12
13
|
var next = this.next;
|
|
13
14
|
var result, done, value;
|
|
14
15
|
while (true) {
|
|
15
|
-
result = anObject(
|
|
16
|
+
result = anObject(apply(next, iterator, args));
|
|
16
17
|
done = this.done = !!result.done;
|
|
17
18
|
if (done) return;
|
|
18
19
|
value = result.value;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
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 getIteratorMethod = require('../internals/get-iterator-method');
|
|
7
9
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
8
10
|
var iteratorClose = require('../internals/iterator-close');
|
|
9
11
|
|
|
12
|
+
var TypeError = global.TypeError;
|
|
13
|
+
|
|
10
14
|
var IteratorProxy = createIteratorProxy(function () {
|
|
11
15
|
var iterator = this.iterator;
|
|
12
16
|
var mapper = this.mapper;
|
|
@@ -15,12 +19,12 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
15
19
|
while (true) {
|
|
16
20
|
try {
|
|
17
21
|
if (innerIterator = this.innerIterator) {
|
|
18
|
-
result = anObject(this.innerNext
|
|
22
|
+
result = anObject(call(this.innerNext, innerIterator));
|
|
19
23
|
if (!result.done) return result.value;
|
|
20
24
|
this.innerIterator = this.innerNext = null;
|
|
21
25
|
}
|
|
22
26
|
|
|
23
|
-
result = anObject(this.next
|
|
27
|
+
result = anObject(call(this.next, iterator));
|
|
24
28
|
|
|
25
29
|
if (this.done = !!result.done) return;
|
|
26
30
|
|
|
@@ -31,7 +35,7 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
31
35
|
throw TypeError('.flatMap callback should return an iterable object');
|
|
32
36
|
}
|
|
33
37
|
|
|
34
|
-
this.innerIterator = innerIterator = anObject(
|
|
38
|
+
this.innerIterator = innerIterator = anObject(call(iteratorMethod, mapped));
|
|
35
39
|
this.innerNext = aCallable(innerIterator.next);
|
|
36
40
|
} catch (error) {
|
|
37
41
|
iteratorClose(iterator, 'throw', error);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var apply = require('../internals/function-apply');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
var toObject = require('../internals/to-object');
|
|
6
|
+
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
5
7
|
var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
|
|
6
8
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
9
|
var getIterator = require('../internals/get-iterator');
|
|
8
10
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
9
11
|
|
|
10
|
-
var isPrototypeOf = {}.isPrototypeOf;
|
|
11
|
-
|
|
12
12
|
var IteratorProxy = createIteratorProxy(function (args) {
|
|
13
|
-
var result = anObject(this.next
|
|
13
|
+
var result = anObject(apply(this.next, this.iterator, args));
|
|
14
14
|
var done = this.done = !!result.done;
|
|
15
15
|
if (!done) return result.value;
|
|
16
16
|
}, true);
|
|
@@ -22,7 +22,7 @@ $({ target: 'Iterator', stat: true }, {
|
|
|
22
22
|
var iterator;
|
|
23
23
|
if (usingIterator) {
|
|
24
24
|
iterator = getIterator(object, usingIterator);
|
|
25
|
-
if (isPrototypeOf
|
|
25
|
+
if (isPrototypeOf(IteratorPrototype, iterator)) return iterator;
|
|
26
26
|
} else {
|
|
27
27
|
iterator = object;
|
|
28
28
|
} return new IteratorProxy({ iterator: iterator });
|