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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
2
2
|
var definePropertyModule = require('../internals/object-define-property');
|
|
3
3
|
var anObject = require('../internals/an-object');
|
|
4
|
+
var toIndexedObject = require('../internals/to-indexed-object');
|
|
4
5
|
var objectKeys = require('../internals/object-keys');
|
|
5
6
|
|
|
6
7
|
// `Object.defineProperties` method
|
|
@@ -8,10 +9,11 @@ var objectKeys = require('../internals/object-keys');
|
|
|
8
9
|
// eslint-disable-next-line es/no-object-defineproperties -- safe
|
|
9
10
|
module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
|
|
10
11
|
anObject(O);
|
|
12
|
+
var props = toIndexedObject(Properties);
|
|
11
13
|
var keys = objectKeys(Properties);
|
|
12
14
|
var length = keys.length;
|
|
13
15
|
var index = 0;
|
|
14
16
|
var key;
|
|
15
|
-
while (length > index) definePropertyModule.f(O, key = keys[index++],
|
|
17
|
+
while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
|
|
16
18
|
return O;
|
|
17
19
|
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
2
3
|
var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
var toPropertyKey = require('../internals/to-property-key');
|
|
5
6
|
|
|
7
|
+
var TypeError = global.TypeError;
|
|
6
8
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
7
9
|
var $defineProperty = Object.defineProperty;
|
|
8
10
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
2
|
+
var call = require('../internals/function-call');
|
|
2
3
|
var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
|
|
3
4
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
4
5
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
@@ -17,5 +18,5 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes
|
|
|
17
18
|
if (IE8_DOM_DEFINE) try {
|
|
18
19
|
return $getOwnPropertyDescriptor(O, P);
|
|
19
20
|
} catch (error) { /* empty */ }
|
|
20
|
-
if (hasOwn(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f
|
|
21
|
+
if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
|
|
21
22
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* eslint-disable es/no-object-getownpropertynames -- safe */
|
|
2
|
+
var classof = require('../internals/classof-raw');
|
|
2
3
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
3
4
|
var $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
|
|
4
|
-
|
|
5
|
-
var toString = {}.toString;
|
|
5
|
+
var arraySlice = require('../internals/array-slice-simple');
|
|
6
6
|
|
|
7
7
|
var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
|
|
8
8
|
? Object.getOwnPropertyNames(window) : [];
|
|
@@ -11,13 +11,13 @@ var getWindowNames = function (it) {
|
|
|
11
11
|
try {
|
|
12
12
|
return $getOwnPropertyNames(it);
|
|
13
13
|
} catch (error) {
|
|
14
|
-
return windowNames
|
|
14
|
+
return arraySlice(windowNames);
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
|
|
19
19
|
module.exports.f = function getOwnPropertyNames(it) {
|
|
20
|
-
return windowNames &&
|
|
20
|
+
return windowNames && classof(it) == 'Window'
|
|
21
21
|
? getWindowNames(it)
|
|
22
22
|
: $getOwnPropertyNames(toIndexedObject(it));
|
|
23
23
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var hasOwn = require('../internals/has-own-property');
|
|
2
3
|
var isCallable = require('../internals/is-callable');
|
|
3
4
|
var toObject = require('../internals/to-object');
|
|
@@ -5,11 +6,11 @@ var sharedKey = require('../internals/shared-key');
|
|
|
5
6
|
var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');
|
|
6
7
|
|
|
7
8
|
var IE_PROTO = sharedKey('IE_PROTO');
|
|
9
|
+
var Object = global.Object;
|
|
8
10
|
var ObjectPrototype = Object.prototype;
|
|
9
11
|
|
|
10
12
|
// `Object.getPrototypeOf` method
|
|
11
13
|
// https://tc39.es/ecma262/#sec-object.getprototypeof
|
|
12
|
-
// eslint-disable-next-line es/no-object-getprototypeof -- safe
|
|
13
14
|
module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
|
|
14
15
|
var object = toObject(O);
|
|
15
16
|
if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var fails = require('../internals/fails');
|
|
2
|
+
var isObject = require('../internals/is-object');
|
|
3
|
+
var classof = require('../internals/classof-raw');
|
|
4
|
+
var ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');
|
|
5
|
+
|
|
6
|
+
// eslint-disable-next-line es/no-object-isextensible -- safe
|
|
7
|
+
var $isExtensible = Object.isExtensible;
|
|
8
|
+
var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });
|
|
9
|
+
|
|
10
|
+
// `Object.isExtensible` method
|
|
11
|
+
// https://tc39.es/ecma262/#sec-object.isextensible
|
|
12
|
+
module.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {
|
|
13
|
+
if (!isObject(it)) return false;
|
|
14
|
+
if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;
|
|
15
|
+
return $isExtensible ? $isExtensible(it) : true;
|
|
16
|
+
} : $isExtensible;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
1
2
|
var hasOwn = require('../internals/has-own-property');
|
|
2
3
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
3
4
|
var indexOf = require('../internals/array-includes').indexOf;
|
|
4
5
|
var hiddenKeys = require('../internals/hidden-keys');
|
|
5
6
|
|
|
7
|
+
var push = uncurryThis([].push);
|
|
8
|
+
|
|
6
9
|
module.exports = function (object, names) {
|
|
7
10
|
var O = toIndexedObject(object);
|
|
8
11
|
var i = 0;
|
|
9
12
|
var result = [];
|
|
10
13
|
var key;
|
|
11
|
-
for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) &&
|
|
14
|
+
for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
|
|
12
15
|
// Don't enum bug & hidden keys
|
|
13
16
|
while (names.length > i) if (hasOwn(O, key = names[i++])) {
|
|
14
|
-
~indexOf(result, key) ||
|
|
17
|
+
~indexOf(result, key) || push(result, key);
|
|
15
18
|
}
|
|
16
19
|
return result;
|
|
17
20
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-proto -- safe */
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
3
|
var anObject = require('../internals/an-object');
|
|
3
4
|
var aPossiblePrototype = require('../internals/a-possible-prototype');
|
|
4
5
|
|
|
@@ -12,14 +13,14 @@ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
|
|
|
12
13
|
var setter;
|
|
13
14
|
try {
|
|
14
15
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
15
|
-
setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
|
|
16
|
-
setter
|
|
16
|
+
setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
|
|
17
|
+
setter(test, []);
|
|
17
18
|
CORRECT_SETTER = test instanceof Array;
|
|
18
19
|
} catch (error) { /* empty */ }
|
|
19
20
|
return function setPrototypeOf(O, proto) {
|
|
20
21
|
anObject(O);
|
|
21
22
|
aPossiblePrototype(proto);
|
|
22
|
-
if (CORRECT_SETTER) setter
|
|
23
|
+
if (CORRECT_SETTER) setter(O, proto);
|
|
23
24
|
else O.__proto__ = proto;
|
|
24
25
|
return O;
|
|
25
26
|
};
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
3
|
var objectKeys = require('../internals/object-keys');
|
|
3
4
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
4
|
-
var propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;
|
|
5
|
+
var $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;
|
|
6
|
+
|
|
7
|
+
var propertyIsEnumerable = uncurryThis($propertyIsEnumerable);
|
|
8
|
+
var push = uncurryThis([].push);
|
|
5
9
|
|
|
6
10
|
// `Object.{ entries, values }` methods implementation
|
|
7
11
|
var createMethod = function (TO_ENTRIES) {
|
|
@@ -14,8 +18,8 @@ var createMethod = function (TO_ENTRIES) {
|
|
|
14
18
|
var key;
|
|
15
19
|
while (length > i) {
|
|
16
20
|
key = keys[i++];
|
|
17
|
-
if (!DESCRIPTORS || propertyIsEnumerable
|
|
18
|
-
|
|
21
|
+
if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {
|
|
22
|
+
push(result, TO_ENTRIES ? [key, O[key]] : O[key]);
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
25
|
return result;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
2
|
+
var call = require('../internals/function-call');
|
|
1
3
|
var isCallable = require('../internals/is-callable');
|
|
2
4
|
var isObject = require('../internals/is-object');
|
|
3
5
|
|
|
6
|
+
var TypeError = global.TypeError;
|
|
7
|
+
|
|
4
8
|
// `OrdinaryToPrimitive` abstract operation
|
|
5
9
|
// https://tc39.es/ecma262/#sec-ordinarytoprimitive
|
|
6
10
|
module.exports = function (input, pref) {
|
|
7
11
|
var fn, val;
|
|
8
|
-
if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val =
|
|
9
|
-
if (isCallable(fn = input.valueOf) && !isObject(val =
|
|
10
|
-
if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val =
|
|
12
|
+
if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
|
|
13
|
+
if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
|
|
14
|
+
if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
|
|
11
15
|
throw TypeError("Can't convert object to primitive value");
|
|
12
16
|
};
|
package/internals/own-keys.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
var getBuiltIn = require('../internals/get-built-in');
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
3
|
var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
|
|
3
4
|
var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
|
|
4
5
|
var anObject = require('../internals/an-object');
|
|
5
6
|
|
|
7
|
+
var concat = uncurryThis([].concat);
|
|
8
|
+
|
|
6
9
|
// all object keys, includes non-enumerable and symbols
|
|
7
10
|
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
|
8
11
|
var keys = getOwnPropertyNamesModule.f(anObject(it));
|
|
9
12
|
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
|
|
10
|
-
return getOwnPropertySymbols ?
|
|
13
|
+
return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
|
|
11
14
|
};
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
require('../modules/es.map');
|
|
3
|
+
require('../modules/es.weak-map');
|
|
4
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
6
|
var shared = require('../internals/shared');
|
|
5
7
|
|
|
8
|
+
var Map = getBuiltIn('Map');
|
|
9
|
+
var WeakMap = getBuiltIn('WeakMap');
|
|
10
|
+
var push = uncurryThis([].push);
|
|
11
|
+
|
|
6
12
|
var metadata = shared('metadata');
|
|
7
13
|
var store = metadata.store || (metadata.store = new WeakMap());
|
|
8
14
|
|
|
@@ -36,7 +42,7 @@ var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {
|
|
|
36
42
|
var ordinaryOwnMetadataKeys = function (target, targetKey) {
|
|
37
43
|
var metadataMap = getOrCreateMetadataMap(target, targetKey, false);
|
|
38
44
|
var keys = [];
|
|
39
|
-
if (metadataMap) metadataMap.forEach(function (_, key) {
|
|
45
|
+
if (metadataMap) metadataMap.forEach(function (_, key) { push(keys, key); });
|
|
40
46
|
return keys;
|
|
41
47
|
};
|
|
42
48
|
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
2
|
+
var call = require('../internals/function-call');
|
|
1
3
|
var anObject = require('../internals/an-object');
|
|
2
4
|
var isCallable = require('../internals/is-callable');
|
|
3
5
|
var classof = require('../internals/classof-raw');
|
|
4
6
|
var regexpExec = require('../internals/regexp-exec');
|
|
5
7
|
|
|
8
|
+
var TypeError = global.TypeError;
|
|
9
|
+
|
|
6
10
|
// `RegExpExec` abstract operation
|
|
7
11
|
// https://tc39.es/ecma262/#sec-regexpexec
|
|
8
12
|
module.exports = function (R, S) {
|
|
9
13
|
var exec = R.exec;
|
|
10
14
|
if (isCallable(exec)) {
|
|
11
|
-
var result =
|
|
15
|
+
var result = call(exec, R, S);
|
|
12
16
|
if (result !== null) anObject(result);
|
|
13
17
|
return result;
|
|
14
18
|
}
|
|
15
|
-
if (classof(R) === 'RegExp') return
|
|
19
|
+
if (classof(R) === 'RegExp') return call(regexpExec, R, S);
|
|
16
20
|
throw TypeError('RegExp#exec called on incompatible receiver');
|
|
17
21
|
};
|
package/internals/regexp-exec.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
|
|
3
3
|
/* eslint-disable regexp/no-useless-quantifier -- testing */
|
|
4
|
+
var call = require('../internals/function-call');
|
|
5
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
6
|
var toString = require('../internals/to-string');
|
|
5
7
|
var regexpFlags = require('../internals/regexp-flags');
|
|
6
8
|
var stickyHelpers = require('../internals/regexp-sticky-helpers');
|
|
@@ -10,20 +12,23 @@ var getInternalState = require('../internals/internal-state').get;
|
|
|
10
12
|
var UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');
|
|
11
13
|
var UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');
|
|
12
14
|
|
|
13
|
-
var nativeExec = RegExp.prototype.exec;
|
|
14
15
|
var nativeReplace = shared('native-string-replace', String.prototype.replace);
|
|
15
|
-
|
|
16
|
+
var nativeExec = RegExp.prototype.exec;
|
|
16
17
|
var patchedExec = nativeExec;
|
|
18
|
+
var charAt = uncurryThis(''.charAt);
|
|
19
|
+
var indexOf = uncurryThis(''.indexOf);
|
|
20
|
+
var replace = uncurryThis(''.replace);
|
|
21
|
+
var stringSlice = uncurryThis(''.slice);
|
|
17
22
|
|
|
18
23
|
var UPDATES_LAST_INDEX_WRONG = (function () {
|
|
19
24
|
var re1 = /a/;
|
|
20
25
|
var re2 = /b*/g;
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
call(nativeExec, re1, 'a');
|
|
27
|
+
call(nativeExec, re2, 'a');
|
|
23
28
|
return re1.lastIndex !== 0 || re2.lastIndex !== 0;
|
|
24
29
|
})();
|
|
25
30
|
|
|
26
|
-
var UNSUPPORTED_Y = stickyHelpers.
|
|
31
|
+
var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
|
|
27
32
|
|
|
28
33
|
// nonparticipating capturing group, copied from es5-shim's String#split patch.
|
|
29
34
|
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
|
@@ -31,7 +36,6 @@ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
|
|
31
36
|
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
|
|
32
37
|
|
|
33
38
|
if (PATCH) {
|
|
34
|
-
// eslint-disable-next-line max-statements -- TODO
|
|
35
39
|
patchedExec = function exec(string) {
|
|
36
40
|
var re = this;
|
|
37
41
|
var state = getInternalState(re);
|
|
@@ -41,27 +45,27 @@ if (PATCH) {
|
|
|
41
45
|
|
|
42
46
|
if (raw) {
|
|
43
47
|
raw.lastIndex = re.lastIndex;
|
|
44
|
-
result =
|
|
48
|
+
result = call(patchedExec, raw, str);
|
|
45
49
|
re.lastIndex = raw.lastIndex;
|
|
46
50
|
return result;
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
var groups = state.groups;
|
|
50
54
|
var sticky = UNSUPPORTED_Y && re.sticky;
|
|
51
|
-
var flags =
|
|
55
|
+
var flags = call(regexpFlags, re);
|
|
52
56
|
var source = re.source;
|
|
53
57
|
var charsAdded = 0;
|
|
54
58
|
var strCopy = str;
|
|
55
59
|
|
|
56
60
|
if (sticky) {
|
|
57
|
-
flags =
|
|
58
|
-
if (
|
|
61
|
+
flags = replace(flags, 'y', '');
|
|
62
|
+
if (indexOf(flags, 'g') === -1) {
|
|
59
63
|
flags += 'g';
|
|
60
64
|
}
|
|
61
65
|
|
|
62
|
-
strCopy = str
|
|
66
|
+
strCopy = stringSlice(str, re.lastIndex);
|
|
63
67
|
// Support anchored sticky behavior.
|
|
64
|
-
if (re.lastIndex > 0 && (!re.multiline || re.multiline &&
|
|
68
|
+
if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) {
|
|
65
69
|
source = '(?: ' + source + ')';
|
|
66
70
|
strCopy = ' ' + strCopy;
|
|
67
71
|
charsAdded++;
|
|
@@ -76,12 +80,12 @@ if (PATCH) {
|
|
|
76
80
|
}
|
|
77
81
|
if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
|
|
78
82
|
|
|
79
|
-
match =
|
|
83
|
+
match = call(nativeExec, sticky ? reCopy : re, strCopy);
|
|
80
84
|
|
|
81
85
|
if (sticky) {
|
|
82
86
|
if (match) {
|
|
83
|
-
match.input = match.input
|
|
84
|
-
match[0] = match[0]
|
|
87
|
+
match.input = stringSlice(match.input, charsAdded);
|
|
88
|
+
match[0] = stringSlice(match[0], charsAdded);
|
|
85
89
|
match.index = re.lastIndex;
|
|
86
90
|
re.lastIndex += match[0].length;
|
|
87
91
|
} else re.lastIndex = 0;
|
|
@@ -91,7 +95,7 @@ if (PATCH) {
|
|
|
91
95
|
if (NPCG_INCLUDED && match && match.length > 1) {
|
|
92
96
|
// Fix browsers whose `exec` methods don't consistently return `undefined`
|
|
93
97
|
// for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
|
|
94
|
-
|
|
98
|
+
call(nativeReplace, match[0], reCopy, function () {
|
|
95
99
|
for (i = 1; i < arguments.length - 2; i++) {
|
|
96
100
|
if (arguments[i] === undefined) match[i] = undefined;
|
|
97
101
|
}
|
|
@@ -4,15 +4,27 @@ var global = require('../internals/global');
|
|
|
4
4
|
// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
|
|
5
5
|
var $RegExp = global.RegExp;
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
var UNSUPPORTED_Y = fails(function () {
|
|
8
8
|
var re = $RegExp('a', 'y');
|
|
9
9
|
re.lastIndex = 2;
|
|
10
10
|
return re.exec('abcd') != null;
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
// UC Browser bug
|
|
14
|
+
// https://github.com/zloirock/core-js/issues/1008
|
|
15
|
+
var MISSED_STICKY = UNSUPPORTED_Y || fails(function () {
|
|
16
|
+
return !$RegExp('a', 'y').sticky;
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var BROKEN_CARET = UNSUPPORTED_Y || fails(function () {
|
|
14
20
|
// https://bugzilla.mozilla.org/show_bug.cgi?id=773687
|
|
15
21
|
var re = $RegExp('^r', 'gy');
|
|
16
22
|
re.lastIndex = 2;
|
|
17
23
|
return re.exec('str') != null;
|
|
18
24
|
});
|
|
25
|
+
|
|
26
|
+
module.exports = {
|
|
27
|
+
BROKEN_CARET: BROKEN_CARET,
|
|
28
|
+
MISSED_STICKY: MISSED_STICKY,
|
|
29
|
+
UNSUPPORTED_Y: UNSUPPORTED_Y
|
|
30
|
+
};
|
package/internals/set-global.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
2
|
|
|
3
|
+
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
4
|
+
var defineProperty = Object.defineProperty;
|
|
5
|
+
|
|
3
6
|
module.exports = function (key, value) {
|
|
4
7
|
try {
|
|
5
|
-
|
|
6
|
-
Object.defineProperty(global, key, { value: value, configurable: true, writable: true });
|
|
8
|
+
defineProperty(global, key, { value: value, configurable: true, writable: true });
|
|
7
9
|
} catch (error) {
|
|
8
10
|
global[key] = value;
|
|
9
11
|
} return value;
|
package/internals/shared.js
CHANGED
|
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
|
|
|
4
4
|
(module.exports = function (key, value) {
|
|
5
5
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
6
6
|
})('versions', []).push({
|
|
7
|
-
version: '3.
|
|
7
|
+
version: '3.19.2',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
10
10
|
});
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
1
2
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
2
3
|
var toString = require('../internals/to-string');
|
|
3
4
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
4
5
|
|
|
6
|
+
var charAt = uncurryThis(''.charAt);
|
|
7
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
8
|
+
var stringSlice = uncurryThis(''.slice);
|
|
9
|
+
|
|
5
10
|
var createMethod = function (CONVERT_TO_STRING) {
|
|
6
11
|
return function ($this, pos) {
|
|
7
12
|
var S = toString(requireObjectCoercible($this));
|
|
@@ -9,11 +14,15 @@ var createMethod = function (CONVERT_TO_STRING) {
|
|
|
9
14
|
var size = S.length;
|
|
10
15
|
var first, second;
|
|
11
16
|
if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
|
|
12
|
-
first =
|
|
17
|
+
first = charCodeAt(S, position);
|
|
13
18
|
return first < 0xD800 || first > 0xDBFF || position + 1 === size
|
|
14
|
-
|| (second =
|
|
15
|
-
? CONVERT_TO_STRING
|
|
16
|
-
|
|
19
|
+
|| (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
|
|
20
|
+
? CONVERT_TO_STRING
|
|
21
|
+
? charAt(S, position)
|
|
22
|
+
: first
|
|
23
|
+
: CONVERT_TO_STRING
|
|
24
|
+
? stringSlice(S, position, position + 2)
|
|
25
|
+
: (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
|
|
17
26
|
};
|
|
18
27
|
};
|
|
19
28
|
|
package/internals/string-pad.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-string-pad-start-end
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
3
|
var toLength = require('../internals/to-length');
|
|
3
4
|
var toString = require('../internals/to-string');
|
|
4
|
-
var repeat = require('../internals/string-repeat');
|
|
5
|
+
var $repeat = require('../internals/string-repeat');
|
|
5
6
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
6
7
|
|
|
8
|
+
var repeat = uncurryThis($repeat);
|
|
9
|
+
var stringSlice = uncurryThis(''.slice);
|
|
7
10
|
var ceil = Math.ceil;
|
|
8
11
|
|
|
9
12
|
// `String.prototype.{ padStart, padEnd }` methods implementation
|
|
@@ -16,8 +19,8 @@ var createMethod = function (IS_END) {
|
|
|
16
19
|
var fillLen, stringFiller;
|
|
17
20
|
if (intMaxLength <= stringLength || fillStr == '') return S;
|
|
18
21
|
fillLen = intMaxLength - stringLength;
|
|
19
|
-
stringFiller = repeat
|
|
20
|
-
if (stringFiller.length > fillLen) stringFiller = stringFiller
|
|
22
|
+
stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));
|
|
23
|
+
if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);
|
|
21
24
|
return IS_END ? S + stringFiller : stringFiller + S;
|
|
22
25
|
};
|
|
23
26
|
};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
|
|
3
|
+
var global = require('../internals/global');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
|
|
3
6
|
var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
|
|
4
7
|
var base = 36;
|
|
5
8
|
var tMin = 1;
|
|
@@ -13,8 +16,17 @@ var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
|
|
|
13
16
|
var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
|
|
14
17
|
var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
|
|
15
18
|
var baseMinusTMin = base - tMin;
|
|
19
|
+
|
|
20
|
+
var RangeError = global.RangeError;
|
|
21
|
+
var exec = uncurryThis(regexSeparators.exec);
|
|
16
22
|
var floor = Math.floor;
|
|
17
|
-
var
|
|
23
|
+
var fromCharCode = String.fromCharCode;
|
|
24
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
25
|
+
var join = uncurryThis([].join);
|
|
26
|
+
var push = uncurryThis([].push);
|
|
27
|
+
var replace = uncurryThis(''.replace);
|
|
28
|
+
var split = uncurryThis(''.split);
|
|
29
|
+
var toLowerCase = uncurryThis(''.toLowerCase);
|
|
18
30
|
|
|
19
31
|
/**
|
|
20
32
|
* Creates an array containing the numeric code points of each Unicode
|
|
@@ -28,20 +40,20 @@ var ucs2decode = function (string) {
|
|
|
28
40
|
var counter = 0;
|
|
29
41
|
var length = string.length;
|
|
30
42
|
while (counter < length) {
|
|
31
|
-
var value =
|
|
43
|
+
var value = charCodeAt(string, counter++);
|
|
32
44
|
if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
|
|
33
45
|
// It's a high surrogate, and there is a next character.
|
|
34
|
-
var extra =
|
|
46
|
+
var extra = charCodeAt(string, counter++);
|
|
35
47
|
if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
|
|
36
|
-
|
|
48
|
+
push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
|
|
37
49
|
} else {
|
|
38
50
|
// It's an unmatched surrogate; only append this code unit, in case the
|
|
39
51
|
// next code unit is the high surrogate of a surrogate pair.
|
|
40
|
-
|
|
52
|
+
push(output, value);
|
|
41
53
|
counter--;
|
|
42
54
|
}
|
|
43
55
|
} else {
|
|
44
|
-
|
|
56
|
+
push(output, value);
|
|
45
57
|
}
|
|
46
58
|
}
|
|
47
59
|
return output;
|
|
@@ -64,8 +76,9 @@ var adapt = function (delta, numPoints, firstTime) {
|
|
|
64
76
|
var k = 0;
|
|
65
77
|
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
|
66
78
|
delta += floor(delta / numPoints);
|
|
67
|
-
|
|
79
|
+
while (delta > baseMinusTMin * tMax >> 1) {
|
|
68
80
|
delta = floor(delta / baseMinusTMin);
|
|
81
|
+
k += base;
|
|
69
82
|
}
|
|
70
83
|
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
|
|
71
84
|
};
|
|
@@ -74,7 +87,6 @@ var adapt = function (delta, numPoints, firstTime) {
|
|
|
74
87
|
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
|
75
88
|
* Punycode string of ASCII-only symbols.
|
|
76
89
|
*/
|
|
77
|
-
// eslint-disable-next-line max-statements -- TODO
|
|
78
90
|
var encode = function (input) {
|
|
79
91
|
var output = [];
|
|
80
92
|
|
|
@@ -94,7 +106,7 @@ var encode = function (input) {
|
|
|
94
106
|
for (i = 0; i < input.length; i++) {
|
|
95
107
|
currentValue = input[i];
|
|
96
108
|
if (currentValue < 0x80) {
|
|
97
|
-
|
|
109
|
+
push(output, fromCharCode(currentValue));
|
|
98
110
|
}
|
|
99
111
|
}
|
|
100
112
|
|
|
@@ -103,7 +115,7 @@ var encode = function (input) {
|
|
|
103
115
|
|
|
104
116
|
// Finish the basic string with a delimiter unless it's empty.
|
|
105
117
|
if (basicLength) {
|
|
106
|
-
|
|
118
|
+
push(output, delimiter);
|
|
107
119
|
}
|
|
108
120
|
|
|
109
121
|
// Main encoding loop:
|
|
@@ -134,35 +146,37 @@ var encode = function (input) {
|
|
|
134
146
|
if (currentValue == n) {
|
|
135
147
|
// Represent delta as a generalized variable-length integer.
|
|
136
148
|
var q = delta;
|
|
137
|
-
|
|
149
|
+
var k = base;
|
|
150
|
+
while (true) {
|
|
138
151
|
var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
139
152
|
if (q < t) break;
|
|
140
153
|
var qMinusT = q - t;
|
|
141
154
|
var baseMinusT = base - t;
|
|
142
|
-
|
|
155
|
+
push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
|
|
143
156
|
q = floor(qMinusT / baseMinusT);
|
|
157
|
+
k += base;
|
|
144
158
|
}
|
|
145
159
|
|
|
146
|
-
|
|
160
|
+
push(output, fromCharCode(digitToBasic(q)));
|
|
147
161
|
bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
|
|
148
162
|
delta = 0;
|
|
149
|
-
|
|
163
|
+
handledCPCount++;
|
|
150
164
|
}
|
|
151
165
|
}
|
|
152
166
|
|
|
153
|
-
|
|
154
|
-
|
|
167
|
+
delta++;
|
|
168
|
+
n++;
|
|
155
169
|
}
|
|
156
|
-
return
|
|
170
|
+
return join(output, '');
|
|
157
171
|
};
|
|
158
172
|
|
|
159
173
|
module.exports = function (input) {
|
|
160
174
|
var encoded = [];
|
|
161
|
-
var labels =
|
|
175
|
+
var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.');
|
|
162
176
|
var i, label;
|
|
163
177
|
for (i = 0; i < labels.length; i++) {
|
|
164
178
|
label = labels[i];
|
|
165
|
-
|
|
179
|
+
push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);
|
|
166
180
|
}
|
|
167
|
-
return
|
|
181
|
+
return join(encoded, '.');
|
|
168
182
|
};
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var global = require('../internals/global');
|
|
2
3
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
3
4
|
var toString = require('../internals/to-string');
|
|
4
5
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
6
|
|
|
7
|
+
var RangeError = global.RangeError;
|
|
8
|
+
|
|
6
9
|
// `String.prototype.repeat` method implementation
|
|
7
10
|
// https://tc39.es/ecma262/#sec-string.prototype.repeat
|
|
8
11
|
module.exports = function repeat(count) {
|