core-js 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-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-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 +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 +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/regexp-exec.js +20 -16
- package/internals/regexp-sticky-helpers.js +14 -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-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 +27 -11
- 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 +5 -3
- 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 +26 -16
- package/modules/es.regexp.dot-all.js +5 -1
- package/modules/es.regexp.flags.js +4 -2
- package/modules/es.regexp.sticky.js +7 -3
- 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 +122 -104
- package/modules/web.url.js +664 -628
- 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
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
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
3
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
-
var $
|
|
4
|
+
var $ArrayCopyWithin = require('../internals/array-copy-within');
|
|
4
5
|
|
|
6
|
+
var u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);
|
|
5
7
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
6
8
|
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
7
9
|
|
|
8
10
|
// `%TypedArray%.prototype.copyWithin` method
|
|
9
11
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin
|
|
10
12
|
exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {
|
|
11
|
-
return $
|
|
13
|
+
return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
|
|
12
14
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
+
var call = require('../internals/function-call');
|
|
3
4
|
var $fill = require('../internals/array-fill');
|
|
4
5
|
|
|
5
6
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
@@ -7,7 +8,13 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
|
7
8
|
|
|
8
9
|
// `%TypedArray%.prototype.fill` method
|
|
9
10
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill
|
|
10
|
-
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
11
11
|
exportTypedArrayMethod('fill', function fill(value /* , start, end */) {
|
|
12
|
-
|
|
12
|
+
var length = arguments.length;
|
|
13
|
+
return call(
|
|
14
|
+
$fill,
|
|
15
|
+
aTypedArray(this),
|
|
16
|
+
value,
|
|
17
|
+
length > 1 ? arguments[1] : undefined,
|
|
18
|
+
length > 2 ? arguments[2] : undefined
|
|
19
|
+
);
|
|
13
20
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var global = require('../internals/global');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;
|
|
4
5
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
5
6
|
var ArrayIterators = require('../modules/es.array.iterator');
|
|
@@ -7,9 +8,9 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
|
7
8
|
|
|
8
9
|
var ITERATOR = wellKnownSymbol('iterator');
|
|
9
10
|
var Uint8Array = global.Uint8Array;
|
|
10
|
-
var arrayValues = ArrayIterators.values;
|
|
11
|
-
var arrayKeys = ArrayIterators.keys;
|
|
12
|
-
var arrayEntries = ArrayIterators.entries;
|
|
11
|
+
var arrayValues = uncurryThis(ArrayIterators.values);
|
|
12
|
+
var arrayKeys = uncurryThis(ArrayIterators.keys);
|
|
13
|
+
var arrayEntries = uncurryThis(ArrayIterators.entries);
|
|
13
14
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
14
15
|
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
15
16
|
var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];
|
|
@@ -17,18 +18,18 @@ var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];
|
|
|
17
18
|
var PROPER_ARRAY_VALUES_NAME = !!nativeTypedArrayIterator && nativeTypedArrayIterator.name === 'values';
|
|
18
19
|
|
|
19
20
|
var typedArrayValues = function values() {
|
|
20
|
-
return arrayValues
|
|
21
|
+
return arrayValues(aTypedArray(this));
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
// `%TypedArray%.prototype.entries` method
|
|
24
25
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries
|
|
25
26
|
exportTypedArrayMethod('entries', function entries() {
|
|
26
|
-
return arrayEntries
|
|
27
|
+
return arrayEntries(aTypedArray(this));
|
|
27
28
|
});
|
|
28
29
|
// `%TypedArray%.prototype.keys` method
|
|
29
30
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys
|
|
30
31
|
exportTypedArrayMethod('keys', function keys() {
|
|
31
|
-
return arrayKeys
|
|
32
|
+
return arrayKeys(aTypedArray(this));
|
|
32
33
|
});
|
|
33
34
|
// `%TypedArray%.prototype.values` method
|
|
34
35
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
|
|
4
5
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
5
6
|
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
6
|
-
var $join = [].join;
|
|
7
|
+
var $join = uncurryThis([].join);
|
|
7
8
|
|
|
8
9
|
// `%TypedArray%.prototype.join` method
|
|
9
10
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join
|
|
10
|
-
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
11
11
|
exportTypedArrayMethod('join', function join(separator) {
|
|
12
|
-
return $join
|
|
12
|
+
return $join(aTypedArray(this), separator);
|
|
13
13
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
+
var apply = require('../internals/function-apply');
|
|
3
4
|
var $lastIndexOf = require('../internals/array-last-index-of');
|
|
4
5
|
|
|
5
6
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
@@ -7,7 +8,7 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
|
7
8
|
|
|
8
9
|
// `%TypedArray%.prototype.lastIndexOf` method
|
|
9
10
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof
|
|
10
|
-
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
11
11
|
exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {
|
|
12
|
-
|
|
12
|
+
var length = arguments.length;
|
|
13
|
+
return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);
|
|
13
14
|
});
|
|
@@ -8,5 +8,6 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
|
8
8
|
// `%TypedArray%.prototype.reduceRicht` method
|
|
9
9
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright
|
|
10
10
|
exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {
|
|
11
|
-
|
|
11
|
+
var length = arguments.length;
|
|
12
|
+
return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);
|
|
12
13
|
});
|
|
@@ -8,5 +8,6 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
|
8
8
|
// `%TypedArray%.prototype.reduce` method
|
|
9
9
|
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce
|
|
10
10
|
exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {
|
|
11
|
-
|
|
11
|
+
var length = arguments.length;
|
|
12
|
+
return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);
|
|
12
13
|
});
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var global = require('../internals/global');
|
|
2
3
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
4
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
5
|
var toOffset = require('../internals/to-offset');
|
|
5
6
|
var toObject = require('../internals/to-object');
|
|
6
7
|
var fails = require('../internals/fails');
|
|
7
8
|
|
|
9
|
+
var RangeError = global.RangeError;
|
|
8
10
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
9
11
|
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
10
12
|
|
|
@@ -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) {
|