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
package/modules/es.symbol.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var global = require('../internals/global');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var apply = require('../internals/function-apply');
|
|
6
|
+
var call = require('../internals/function-call');
|
|
7
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
8
|
var IS_PURE = require('../internals/is-pure');
|
|
6
9
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
7
10
|
var NATIVE_SYMBOL = require('../internals/native-symbol');
|
|
@@ -10,6 +13,7 @@ var hasOwn = require('../internals/has-own-property');
|
|
|
10
13
|
var isArray = require('../internals/is-array');
|
|
11
14
|
var isCallable = require('../internals/is-callable');
|
|
12
15
|
var isObject = require('../internals/is-object');
|
|
16
|
+
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
13
17
|
var isSymbol = require('../internals/is-symbol');
|
|
14
18
|
var anObject = require('../internals/an-object');
|
|
15
19
|
var toObject = require('../internals/to-object');
|
|
@@ -25,6 +29,7 @@ var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-
|
|
|
25
29
|
var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
|
|
26
30
|
var definePropertyModule = require('../internals/object-define-property');
|
|
27
31
|
var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
|
|
32
|
+
var arraySlice = require('../internals/array-slice');
|
|
28
33
|
var redefine = require('../internals/redefine');
|
|
29
34
|
var shared = require('../internals/shared');
|
|
30
35
|
var sharedKey = require('../internals/shared-key');
|
|
@@ -41,21 +46,28 @@ var HIDDEN = sharedKey('hidden');
|
|
|
41
46
|
var SYMBOL = 'Symbol';
|
|
42
47
|
var PROTOTYPE = 'prototype';
|
|
43
48
|
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
|
49
|
+
|
|
44
50
|
var setInternalState = InternalStateModule.set;
|
|
45
51
|
var getInternalState = InternalStateModule.getterFor(SYMBOL);
|
|
52
|
+
|
|
46
53
|
var ObjectPrototype = Object[PROTOTYPE];
|
|
47
54
|
var $Symbol = global.Symbol;
|
|
55
|
+
var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];
|
|
56
|
+
var TypeError = global.TypeError;
|
|
57
|
+
var QObject = global.QObject;
|
|
48
58
|
var $stringify = getBuiltIn('JSON', 'stringify');
|
|
49
59
|
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
|
50
60
|
var nativeDefineProperty = definePropertyModule.f;
|
|
51
61
|
var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
|
|
52
62
|
var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
|
|
63
|
+
var push = uncurryThis([].push);
|
|
64
|
+
|
|
53
65
|
var AllSymbols = shared('symbols');
|
|
54
66
|
var ObjectPrototypeSymbols = shared('op-symbols');
|
|
55
67
|
var StringToSymbolRegistry = shared('string-to-symbol-registry');
|
|
56
68
|
var SymbolToStringRegistry = shared('symbol-to-string-registry');
|
|
57
69
|
var WellKnownSymbolsStore = shared('wks');
|
|
58
|
-
|
|
70
|
+
|
|
59
71
|
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
|
|
60
72
|
var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
|
|
61
73
|
|
|
@@ -74,7 +86,7 @@ var setSymbolDescriptor = DESCRIPTORS && fails(function () {
|
|
|
74
86
|
} : nativeDefineProperty;
|
|
75
87
|
|
|
76
88
|
var wrap = function (tag, description) {
|
|
77
|
-
var symbol = AllSymbols[tag] = nativeObjectCreate(
|
|
89
|
+
var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);
|
|
78
90
|
setInternalState(symbol, {
|
|
79
91
|
type: SYMBOL,
|
|
80
92
|
tag: tag,
|
|
@@ -105,7 +117,7 @@ var $defineProperties = function defineProperties(O, Properties) {
|
|
|
105
117
|
var properties = toIndexedObject(Properties);
|
|
106
118
|
var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
|
|
107
119
|
$forEach(keys, function (key) {
|
|
108
|
-
if (!DESCRIPTORS || $propertyIsEnumerable
|
|
120
|
+
if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);
|
|
109
121
|
});
|
|
110
122
|
return O;
|
|
111
123
|
};
|
|
@@ -116,7 +128,7 @@ var $create = function create(O, Properties) {
|
|
|
116
128
|
|
|
117
129
|
var $propertyIsEnumerable = function propertyIsEnumerable(V) {
|
|
118
130
|
var P = toPropertyKey(V);
|
|
119
|
-
var enumerable =
|
|
131
|
+
var enumerable = call(nativePropertyIsEnumerable, this, P);
|
|
120
132
|
if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;
|
|
121
133
|
return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]
|
|
122
134
|
? enumerable : true;
|
|
@@ -137,7 +149,7 @@ var $getOwnPropertyNames = function getOwnPropertyNames(O) {
|
|
|
137
149
|
var names = nativeGetOwnPropertyNames(toIndexedObject(O));
|
|
138
150
|
var result = [];
|
|
139
151
|
$forEach(names, function (key) {
|
|
140
|
-
if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key))
|
|
152
|
+
if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);
|
|
141
153
|
});
|
|
142
154
|
return result;
|
|
143
155
|
};
|
|
@@ -148,7 +160,7 @@ var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
|
|
|
148
160
|
var result = [];
|
|
149
161
|
$forEach(names, function (key) {
|
|
150
162
|
if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {
|
|
151
|
-
|
|
163
|
+
push(result, AllSymbols[key]);
|
|
152
164
|
}
|
|
153
165
|
});
|
|
154
166
|
return result;
|
|
@@ -158,11 +170,11 @@ var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
|
|
|
158
170
|
// https://tc39.es/ecma262/#sec-symbol-constructor
|
|
159
171
|
if (!NATIVE_SYMBOL) {
|
|
160
172
|
$Symbol = function Symbol() {
|
|
161
|
-
if (this
|
|
173
|
+
if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');
|
|
162
174
|
var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);
|
|
163
175
|
var tag = uid(description);
|
|
164
176
|
var setter = function (value) {
|
|
165
|
-
if (this === ObjectPrototype)
|
|
177
|
+
if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);
|
|
166
178
|
if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
|
|
167
179
|
setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
|
|
168
180
|
};
|
|
@@ -170,7 +182,9 @@ if (!NATIVE_SYMBOL) {
|
|
|
170
182
|
return wrap(tag, description);
|
|
171
183
|
};
|
|
172
184
|
|
|
173
|
-
|
|
185
|
+
SymbolPrototype = $Symbol[PROTOTYPE];
|
|
186
|
+
|
|
187
|
+
redefine(SymbolPrototype, 'toString', function toString() {
|
|
174
188
|
return getInternalState(this).tag;
|
|
175
189
|
});
|
|
176
190
|
|
|
@@ -190,7 +204,7 @@ if (!NATIVE_SYMBOL) {
|
|
|
190
204
|
|
|
191
205
|
if (DESCRIPTORS) {
|
|
192
206
|
// https://github.com/tc39/proposal-Symbol-description
|
|
193
|
-
nativeDefineProperty(
|
|
207
|
+
nativeDefineProperty(SymbolPrototype, 'description', {
|
|
194
208
|
configurable: true,
|
|
195
209
|
get: function description() {
|
|
196
210
|
return getInternalState(this).description;
|
|
@@ -279,28 +293,27 @@ if ($stringify) {
|
|
|
279
293
|
$({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
|
|
280
294
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
281
295
|
stringify: function stringify(it, replacer, space) {
|
|
282
|
-
var args =
|
|
283
|
-
var
|
|
284
|
-
var $replacer;
|
|
285
|
-
while (arguments.length > index) args.push(arguments[index++]);
|
|
286
|
-
$replacer = replacer;
|
|
296
|
+
var args = arraySlice(arguments);
|
|
297
|
+
var $replacer = replacer;
|
|
287
298
|
if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
|
|
288
299
|
if (!isArray(replacer)) replacer = function (key, value) {
|
|
289
|
-
if (isCallable($replacer)) value = $replacer
|
|
300
|
+
if (isCallable($replacer)) value = call($replacer, this, key, value);
|
|
290
301
|
if (!isSymbol(value)) return value;
|
|
291
302
|
};
|
|
292
303
|
args[1] = replacer;
|
|
293
|
-
return $stringify
|
|
304
|
+
return apply($stringify, null, args);
|
|
294
305
|
}
|
|
295
306
|
});
|
|
296
307
|
}
|
|
297
308
|
|
|
298
309
|
// `Symbol.prototype[@@toPrimitive]` method
|
|
299
310
|
// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
|
|
300
|
-
if (
|
|
301
|
-
var valueOf =
|
|
302
|
-
|
|
303
|
-
|
|
311
|
+
if (!SymbolPrototype[TO_PRIMITIVE]) {
|
|
312
|
+
var valueOf = SymbolPrototype.valueOf;
|
|
313
|
+
// eslint-disable-next-line no-unused-vars -- required for .length
|
|
314
|
+
redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {
|
|
315
|
+
// TODO: improve hint logic
|
|
316
|
+
return call(valueOf, this);
|
|
304
317
|
});
|
|
305
318
|
}
|
|
306
319
|
// `Symbol.prototype[@@toStringTag]` property
|
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);
|