core-js 3.18.1 → 3.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configurator.js +7 -3
- 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/typed-array/methods.js +2 -0
- 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 +11 -10
- package/internals/array-buffer.js +31 -18
- package/internals/array-copy-within.js +2 -2
- package/internals/array-fill.js +2 -2
- package/internals/array-from-async.js +14 -9
- package/internals/array-from.js +8 -4
- package/internals/array-group-by.js +8 -5
- package/internals/array-includes.js +2 -2
- package/internals/array-iteration-from-last.js +3 -3
- package/internals/array-iteration.js +7 -6
- package/internals/array-last-index-of.js +6 -5
- package/internals/array-reduce.js +5 -2
- 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 +15 -11
- 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 +13 -9
- package/internals/collection.js +8 -7
- package/internals/composite-key.js +9 -2
- package/internals/copy-constructor-properties.js +2 -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/define-well-known-symbol.js +2 -2
- 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 +8 -4
- 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-name.js +2 -2
- 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 +10 -0
- package/internals/host-report-errors.js +1 -1
- package/internals/ieee754.js +4 -1
- package/internals/indexed-object.js +5 -2
- package/internals/inspect-source.js +3 -2
- package/internals/install-error-cause.js +1 -1
- package/internals/internal-metadata.js +8 -11
- package/internals/internal-state.js +13 -11
- package/internals/is-callable.js +1 -1
- package/internals/is-constructor.js +6 -4
- package/internals/is-data-descriptor.js +2 -2
- package/internals/is-integral-number.js +10 -0
- 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 +16 -8
- package/internals/iterator-close.js +2 -1
- package/internals/iterator-create-proxy.js +4 -3
- package/internals/length-of-array-like.js +7 -0
- 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 +3 -2
- package/internals/object-get-own-property-names-external.js +4 -4
- package/internals/object-get-prototype-of.js +4 -3
- package/internals/object-is-extensible.js +16 -0
- package/internals/object-is-prototype-of.js +3 -0
- package/internals/object-iterator.js +2 -2
- package/internals/object-keys-internal.js +7 -4
- 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/redefine.js +2 -2
- package/internals/reflect-metadata.js +9 -3
- package/internals/regexp-exec-abstract.js +6 -2
- package/internals/regexp-exec.js +19 -14
- package/internals/require-object-coercible.js +4 -0
- package/internals/set-global.js +4 -2
- package/internals/set-to-string-tag.js +2 -2
- package/internals/shared.js +1 -1
- package/internals/string-multibyte.js +15 -7
- package/internals/string-pad.js +7 -4
- package/internals/string-punycode-to-ascii.js +26 -14
- package/internals/string-repeat.js +5 -2
- package/internals/string-trim.js +4 -2
- package/internals/task.js +11 -11
- package/internals/this-number-value.js +2 -4
- package/internals/to-absolute-index.js +2 -2
- package/internals/to-index.js +5 -2
- package/internals/to-integer-or-infinity.js +10 -0
- package/internals/to-length.js +2 -2
- package/internals/to-object.js +3 -0
- package/internals/to-offset.js +3 -0
- package/internals/to-positive-integer.js +5 -2
- 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 +18 -14
- package/internals/typed-array-from.js +6 -5
- package/internals/uid.js +4 -1
- package/internals/well-known-symbol.js +8 -4
- package/modules/es.aggregate-error.js +29 -12
- package/modules/es.array-buffer.slice.js +8 -4
- package/modules/es.array.at.js +4 -4
- package/modules/es.array.concat.js +4 -2
- package/modules/es.array.flat-map.js +2 -2
- package/modules/es.array.flat.js +4 -4
- 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 +6 -4
- package/modules/es.array.sort.js +9 -6
- package/modules/es.array.splice.js +6 -4
- package/modules/es.date.get-year.js +3 -2
- package/modules/es.date.now.js +6 -1
- package/modules/es.date.set-year.js +8 -6
- package/modules/es.date.to-primitive.js +2 -1
- package/modules/es.date.to-string.js +5 -4
- package/modules/es.escape.js +12 -5
- package/modules/es.function.has-instance.js +3 -2
- package/modules/es.function.name.js +4 -2
- package/modules/es.json.stringify.js +18 -7
- package/modules/es.map.js +1 -1
- package/modules/es.number.constructor.js +25 -19
- package/modules/es.number.is-integer.js +2 -2
- package/modules/es.number.is-safe-integer.js +2 -2
- package/modules/es.number.to-fixed.js +21 -15
- package/modules/es.number.to-precision.js +6 -5
- package/modules/es.object.has-own.js +1 -1
- 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 +25 -16
- package/modules/es.regexp.dot-all.js +5 -1
- package/modules/es.regexp.flags.js +4 -2
- package/modules/es.regexp.sticky.js +5 -1
- package/modules/es.regexp.test.js +7 -3
- package/modules/es.regexp.to-string.js +8 -5
- package/modules/es.set.js +1 -1
- package/modules/es.string.at-alternative.js +7 -5
- package/modules/es.string.ends-with.js +7 -5
- 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 +9 -8
- package/modules/es.string.replace-all.js +19 -13
- package/modules/es.string.replace.js +21 -14
- 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 +6 -5
- package/modules/es.symbol.description.js +22 -14
- package/modules/es.symbol.js +47 -33
- package/modules/es.typed-array.at.js +4 -4
- 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 +4 -2
- 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.array.last-index.js +2 -2
- package/modules/esnext.array.last-item.js +3 -3
- package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.async-iterator.constructor.js +4 -4
- 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 +4 -4
- 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 +14 -5
- 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 +9 -3
- 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 +63 -54
- package/modules/web.url.js +110 -96
- 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/internals/has.js +0 -7
- package/internals/is-integer.js +0 -9
- package/internals/to-integer.js +0 -8
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;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
var defineProperty = require('../internals/object-define-property').f;
|
|
2
|
-
var
|
|
2
|
+
var hasOwn = require('../internals/has-own-property');
|
|
3
3
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
4
4
|
|
|
5
5
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
6
6
|
|
|
7
7
|
module.exports = function (it, TAG, STATIC) {
|
|
8
|
-
if (it && !
|
|
8
|
+
if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
|
|
9
9
|
defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
|
|
10
10
|
}
|
|
11
11
|
};
|
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.1',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
10
10
|
});
|
|
@@ -1,20 +1,28 @@
|
|
|
1
|
-
var
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
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
|
|
|
5
|
-
|
|
6
|
+
var charAt = uncurryThis(''.charAt);
|
|
7
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
8
|
+
var stringSlice = uncurryThis(''.slice);
|
|
9
|
+
|
|
6
10
|
var createMethod = function (CONVERT_TO_STRING) {
|
|
7
11
|
return function ($this, pos) {
|
|
8
12
|
var S = toString(requireObjectCoercible($this));
|
|
9
|
-
var position =
|
|
13
|
+
var position = toIntegerOrInfinity(pos);
|
|
10
14
|
var size = S.length;
|
|
11
15
|
var first, second;
|
|
12
16
|
if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
|
|
13
|
-
first =
|
|
17
|
+
first = charCodeAt(S, position);
|
|
14
18
|
return first < 0xD800 || first > 0xDBFF || position + 1 === size
|
|
15
|
-
|| (second =
|
|
16
|
-
? CONVERT_TO_STRING
|
|
17
|
-
|
|
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;
|
|
18
26
|
};
|
|
19
27
|
};
|
|
20
28
|
|
package/internals/string-pad.js
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
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
|
|
10
13
|
var createMethod = function (IS_END) {
|
|
11
14
|
return function ($this, maxLength, fillString) {
|
|
12
15
|
var S = toString(requireObjectCoercible($this));
|
|
16
|
+
var intMaxLength = toLength(maxLength);
|
|
13
17
|
var stringLength = S.length;
|
|
14
18
|
var fillStr = fillString === undefined ? ' ' : toString(fillString);
|
|
15
|
-
var intMaxLength = toLength(maxLength);
|
|
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;
|
|
@@ -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:
|
|
@@ -139,11 +151,11 @@ var encode = function (input) {
|
|
|
139
151
|
if (q < t) break;
|
|
140
152
|
var qMinusT = q - t;
|
|
141
153
|
var baseMinusT = base - t;
|
|
142
|
-
|
|
154
|
+
push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
|
|
143
155
|
q = floor(qMinusT / baseMinusT);
|
|
144
156
|
}
|
|
145
157
|
|
|
146
|
-
|
|
158
|
+
push(output, fromCharCode(digitToBasic(q)));
|
|
147
159
|
bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
|
|
148
160
|
delta = 0;
|
|
149
161
|
++handledCPCount;
|
|
@@ -153,16 +165,16 @@ var encode = function (input) {
|
|
|
153
165
|
++delta;
|
|
154
166
|
++n;
|
|
155
167
|
}
|
|
156
|
-
return
|
|
168
|
+
return join(output, '');
|
|
157
169
|
};
|
|
158
170
|
|
|
159
171
|
module.exports = function (input) {
|
|
160
172
|
var encoded = [];
|
|
161
|
-
var labels =
|
|
173
|
+
var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.');
|
|
162
174
|
var i, label;
|
|
163
175
|
for (i = 0; i < labels.length; i++) {
|
|
164
176
|
label = labels[i];
|
|
165
|
-
|
|
177
|
+
push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);
|
|
166
178
|
}
|
|
167
|
-
return
|
|
179
|
+
return join(encoded, '.');
|
|
168
180
|
};
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var global = require('../internals/global');
|
|
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) {
|
|
9
12
|
var str = toString(requireObjectCoercible(this));
|
|
10
13
|
var result = '';
|
|
11
|
-
var n =
|
|
14
|
+
var n = toIntegerOrInfinity(count);
|
|
12
15
|
if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
|
|
13
16
|
for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
|
|
14
17
|
return result;
|
package/internals/string-trim.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
1
2
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
2
3
|
var toString = require('../internals/to-string');
|
|
3
4
|
var whitespaces = require('../internals/whitespaces');
|
|
4
5
|
|
|
6
|
+
var replace = uncurryThis(''.replace);
|
|
5
7
|
var whitespace = '[' + whitespaces + ']';
|
|
6
8
|
var ltrim = RegExp('^' + whitespace + whitespace + '*');
|
|
7
9
|
var rtrim = RegExp(whitespace + whitespace + '*$');
|
|
@@ -10,8 +12,8 @@ var rtrim = RegExp(whitespace + whitespace + '*$');
|
|
|
10
12
|
var createMethod = function (TYPE) {
|
|
11
13
|
return function ($this) {
|
|
12
14
|
var string = toString(requireObjectCoercible($this));
|
|
13
|
-
if (TYPE & 1) string =
|
|
14
|
-
if (TYPE & 2) string =
|
|
15
|
+
if (TYPE & 1) string = replace(string, ltrim, '');
|
|
16
|
+
if (TYPE & 2) string = replace(string, rtrim, '');
|
|
15
17
|
return string;
|
|
16
18
|
};
|
|
17
19
|
};
|
package/internals/task.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
|
+
var apply = require('../internals/function-apply');
|
|
3
|
+
var bind = require('../internals/function-bind-context');
|
|
2
4
|
var isCallable = require('../internals/is-callable');
|
|
5
|
+
var hasOwn = require('../internals/has-own-property');
|
|
3
6
|
var fails = require('../internals/fails');
|
|
4
|
-
var bind = require('../internals/function-bind-context');
|
|
5
7
|
var html = require('../internals/html');
|
|
8
|
+
var arraySlice = require('../internals/array-slice');
|
|
6
9
|
var createElement = require('../internals/document-create-element');
|
|
7
10
|
var IS_IOS = require('../internals/engine-is-ios');
|
|
8
11
|
var IS_NODE = require('../internals/engine-is-node');
|
|
@@ -10,8 +13,10 @@ var IS_NODE = require('../internals/engine-is-node');
|
|
|
10
13
|
var set = global.setImmediate;
|
|
11
14
|
var clear = global.clearImmediate;
|
|
12
15
|
var process = global.process;
|
|
13
|
-
var MessageChannel = global.MessageChannel;
|
|
14
16
|
var Dispatch = global.Dispatch;
|
|
17
|
+
var Function = global.Function;
|
|
18
|
+
var MessageChannel = global.MessageChannel;
|
|
19
|
+
var String = global.String;
|
|
15
20
|
var counter = 0;
|
|
16
21
|
var queue = {};
|
|
17
22
|
var ONREADYSTATECHANGE = 'onreadystatechange';
|
|
@@ -23,8 +28,7 @@ try {
|
|
|
23
28
|
} catch (error) { /* empty */ }
|
|
24
29
|
|
|
25
30
|
var run = function (id) {
|
|
26
|
-
|
|
27
|
-
if (queue.hasOwnProperty(id)) {
|
|
31
|
+
if (hasOwn(queue, id)) {
|
|
28
32
|
var fn = queue[id];
|
|
29
33
|
delete queue[id];
|
|
30
34
|
fn();
|
|
@@ -49,13 +53,9 @@ var post = function (id) {
|
|
|
49
53
|
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
|
|
50
54
|
if (!set || !clear) {
|
|
51
55
|
set = function setImmediate(fn) {
|
|
52
|
-
var args =
|
|
53
|
-
var argumentsLength = arguments.length;
|
|
54
|
-
var i = 1;
|
|
55
|
-
while (argumentsLength > i) args.push(arguments[i++]);
|
|
56
|
+
var args = arraySlice(arguments, 1);
|
|
56
57
|
queue[++counter] = function () {
|
|
57
|
-
|
|
58
|
-
(isCallable(fn) ? fn : Function(fn)).apply(undefined, args);
|
|
58
|
+
apply(isCallable(fn) ? fn : Function(fn), undefined, args);
|
|
59
59
|
};
|
|
60
60
|
defer(counter);
|
|
61
61
|
return counter;
|
|
@@ -79,7 +79,7 @@ if (!set || !clear) {
|
|
|
79
79
|
channel = new MessageChannel();
|
|
80
80
|
port = channel.port2;
|
|
81
81
|
channel.port1.onmessage = listener;
|
|
82
|
-
defer = bind(port.postMessage, port
|
|
82
|
+
defer = bind(port.postMessage, port);
|
|
83
83
|
// Browsers with postMessage, skip WebWorkers
|
|
84
84
|
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
|
|
85
85
|
} else if (
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
var
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
2
|
|
|
3
3
|
// `thisNumberValue` abstract operation
|
|
4
4
|
// https://tc39.es/ecma262/#sec-thisnumbervalue
|
|
5
|
-
module.exports =
|
|
6
|
-
return valueOf.call(value);
|
|
7
|
-
};
|
|
5
|
+
module.exports = uncurryThis(1.0.valueOf);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
2
2
|
|
|
3
3
|
var max = Math.max;
|
|
4
4
|
var min = Math.min;
|
|
@@ -7,6 +7,6 @@ var min = Math.min;
|
|
|
7
7
|
// Let integer be ? ToInteger(index).
|
|
8
8
|
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
|
|
9
9
|
module.exports = function (index, length) {
|
|
10
|
-
var integer =
|
|
10
|
+
var integer = toIntegerOrInfinity(index);
|
|
11
11
|
return integer < 0 ? max(integer + length, 0) : min(integer, length);
|
|
12
12
|
};
|
package/internals/to-index.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
var
|
|
1
|
+
var global = require('../internals/global');
|
|
2
|
+
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
2
3
|
var toLength = require('../internals/to-length');
|
|
3
4
|
|
|
5
|
+
var RangeError = global.RangeError;
|
|
6
|
+
|
|
4
7
|
// `ToIndex` abstract operation
|
|
5
8
|
// https://tc39.es/ecma262/#sec-toindex
|
|
6
9
|
module.exports = function (it) {
|
|
7
10
|
if (it === undefined) return 0;
|
|
8
|
-
var number =
|
|
11
|
+
var number = toIntegerOrInfinity(it);
|
|
9
12
|
var length = toLength(number);
|
|
10
13
|
if (number !== length) throw RangeError('Wrong length or index');
|
|
11
14
|
return length;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var ceil = Math.ceil;
|
|
2
|
+
var floor = Math.floor;
|
|
3
|
+
|
|
4
|
+
// `ToIntegerOrInfinity` abstract operation
|
|
5
|
+
// https://tc39.es/ecma262/#sec-tointegerorinfinity
|
|
6
|
+
module.exports = function (argument) {
|
|
7
|
+
var number = +argument;
|
|
8
|
+
// eslint-disable-next-line no-self-compare -- safe
|
|
9
|
+
return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
|
|
10
|
+
};
|
package/internals/to-length.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var
|
|
1
|
+
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
2
2
|
|
|
3
3
|
var min = Math.min;
|
|
4
4
|
|
|
5
5
|
// `ToLength` abstract operation
|
|
6
6
|
// https://tc39.es/ecma262/#sec-tolength
|
|
7
7
|
module.exports = function (argument) {
|
|
8
|
-
return argument > 0 ? min(
|
|
8
|
+
return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
|
9
9
|
};
|
package/internals/to-object.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
2
3
|
|
|
4
|
+
var Object = global.Object;
|
|
5
|
+
|
|
3
6
|
// `ToObject` abstract operation
|
|
4
7
|
// https://tc39.es/ecma262/#sec-toobject
|
|
5
8
|
module.exports = function (argument) {
|
package/internals/to-offset.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
2
3
|
|
|
4
|
+
var RangeError = global.RangeError;
|
|
5
|
+
|
|
3
6
|
module.exports = function (it, BYTES) {
|
|
4
7
|
var offset = toPositiveInteger(it);
|
|
5
8
|
if (offset % BYTES) throw RangeError('Wrong offset');
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
var
|
|
1
|
+
var global = require('../internals/global');
|
|
2
|
+
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
3
|
+
|
|
4
|
+
var RangeError = global.RangeError;
|
|
2
5
|
|
|
3
6
|
module.exports = function (it) {
|
|
4
|
-
var result =
|
|
7
|
+
var result = toIntegerOrInfinity(it);
|
|
5
8
|
if (result < 0) throw RangeError("The argument can't be less than 0");
|
|
6
9
|
return result;
|
|
7
10
|
};
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
2
|
+
var call = require('../internals/function-call');
|
|
1
3
|
var isObject = require('../internals/is-object');
|
|
2
4
|
var isSymbol = require('../internals/is-symbol');
|
|
3
5
|
var getMethod = require('../internals/get-method');
|
|
4
6
|
var ordinaryToPrimitive = require('../internals/ordinary-to-primitive');
|
|
5
7
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
6
8
|
|
|
9
|
+
var TypeError = global.TypeError;
|
|
7
10
|
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
|
8
11
|
|
|
9
12
|
// `ToPrimitive` abstract operation
|
|
@@ -14,7 +17,7 @@ module.exports = function (input, pref) {
|
|
|
14
17
|
var result;
|
|
15
18
|
if (exoticToPrim) {
|
|
16
19
|
if (pref === undefined) pref = 'default';
|
|
17
|
-
result =
|
|
20
|
+
result = call(exoticToPrim, input, pref);
|
|
18
21
|
if (!isObject(result) || isSymbol(result)) return result;
|
|
19
22
|
throw TypeError("Can't convert object to primitive value");
|
|
20
23
|
}
|
|
@@ -5,5 +5,5 @@ var isSymbol = require('../internals/is-symbol');
|
|
|
5
5
|
// https://tc39.es/ecma262/#sec-topropertykey
|
|
6
6
|
module.exports = function (argument) {
|
|
7
7
|
var key = toPrimitive(argument, 'string');
|
|
8
|
-
return isSymbol(key) ? key :
|
|
8
|
+
return isSymbol(key) ? key : key + '';
|
|
9
9
|
};
|
package/internals/to-string.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var classof = require('../internals/classof');
|
|
2
3
|
|
|
4
|
+
var String = global.String;
|
|
5
|
+
|
|
3
6
|
module.exports = function (argument) {
|
|
4
7
|
if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
|
|
5
8
|
return String(argument);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var global = require('../internals/global');
|
|
4
|
+
var call = require('../internals/function-call');
|
|
4
5
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
5
6
|
var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');
|
|
6
7
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
@@ -8,16 +9,17 @@ var ArrayBufferModule = require('../internals/array-buffer');
|
|
|
8
9
|
var anInstance = require('../internals/an-instance');
|
|
9
10
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
10
11
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
11
|
-
var
|
|
12
|
+
var isIntegralNumber = require('../internals/is-integral-number');
|
|
12
13
|
var toLength = require('../internals/to-length');
|
|
13
14
|
var toIndex = require('../internals/to-index');
|
|
14
15
|
var toOffset = require('../internals/to-offset');
|
|
15
16
|
var toPropertyKey = require('../internals/to-property-key');
|
|
16
|
-
var
|
|
17
|
+
var hasOwn = require('../internals/has-own-property');
|
|
17
18
|
var classof = require('../internals/classof');
|
|
18
19
|
var isObject = require('../internals/is-object');
|
|
19
20
|
var isSymbol = require('../internals/is-symbol');
|
|
20
21
|
var create = require('../internals/object-create');
|
|
22
|
+
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
21
23
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
22
24
|
var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
|
|
23
25
|
var typedArrayFrom = require('../internals/typed-array-from');
|
|
@@ -35,6 +37,7 @@ var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
|
|
35
37
|
var round = Math.round;
|
|
36
38
|
var RangeError = global.RangeError;
|
|
37
39
|
var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
|
|
40
|
+
var ArrayBufferPrototype = ArrayBuffer.prototype;
|
|
38
41
|
var DataView = ArrayBufferModule.DataView;
|
|
39
42
|
var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
|
|
40
43
|
var TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;
|
|
@@ -47,9 +50,10 @@ var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
|
|
|
47
50
|
var WRONG_LENGTH = 'Wrong length';
|
|
48
51
|
|
|
49
52
|
var fromList = function (C, list) {
|
|
53
|
+
aTypedArrayConstructor(C);
|
|
50
54
|
var index = 0;
|
|
51
55
|
var length = list.length;
|
|
52
|
-
var result = new
|
|
56
|
+
var result = new C(length);
|
|
53
57
|
while (length > index) result[index] = list[index++];
|
|
54
58
|
return result;
|
|
55
59
|
};
|
|
@@ -62,14 +66,14 @@ var addGetter = function (it, key) {
|
|
|
62
66
|
|
|
63
67
|
var isArrayBuffer = function (it) {
|
|
64
68
|
var klass;
|
|
65
|
-
return it
|
|
69
|
+
return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';
|
|
66
70
|
};
|
|
67
71
|
|
|
68
72
|
var isTypedArrayIndex = function (target, key) {
|
|
69
73
|
return isTypedArray(target)
|
|
70
74
|
&& !isSymbol(key)
|
|
71
75
|
&& key in target
|
|
72
|
-
&&
|
|
76
|
+
&& isIntegralNumber(+key)
|
|
73
77
|
&& key >= 0;
|
|
74
78
|
};
|
|
75
79
|
|
|
@@ -84,13 +88,13 @@ var wrappedDefineProperty = function defineProperty(target, key, descriptor) {
|
|
|
84
88
|
key = toPropertyKey(key);
|
|
85
89
|
if (isTypedArrayIndex(target, key)
|
|
86
90
|
&& isObject(descriptor)
|
|
87
|
-
&&
|
|
88
|
-
&& !
|
|
89
|
-
&& !
|
|
91
|
+
&& hasOwn(descriptor, 'value')
|
|
92
|
+
&& !hasOwn(descriptor, 'get')
|
|
93
|
+
&& !hasOwn(descriptor, 'set')
|
|
90
94
|
// TODO: add validation descriptor w/o calling accessors
|
|
91
95
|
&& !descriptor.configurable
|
|
92
|
-
&& (!
|
|
93
|
-
&& (!
|
|
96
|
+
&& (!hasOwn(descriptor, 'writable') || descriptor.writable)
|
|
97
|
+
&& (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)
|
|
94
98
|
) {
|
|
95
99
|
target[key] = descriptor.value;
|
|
96
100
|
return target;
|
|
@@ -147,7 +151,7 @@ if (DESCRIPTORS) {
|
|
|
147
151
|
|
|
148
152
|
if (!NATIVE_ARRAY_BUFFER_VIEWS) {
|
|
149
153
|
TypedArrayConstructor = wrapper(function (that, data, offset, $length) {
|
|
150
|
-
anInstance(that,
|
|
154
|
+
anInstance(that, TypedArrayConstructorPrototype);
|
|
151
155
|
var index = 0;
|
|
152
156
|
var byteOffset = 0;
|
|
153
157
|
var buffer, byteLength, length;
|
|
@@ -171,7 +175,7 @@ if (DESCRIPTORS) {
|
|
|
171
175
|
} else if (isTypedArray(data)) {
|
|
172
176
|
return fromList(TypedArrayConstructor, data);
|
|
173
177
|
} else {
|
|
174
|
-
return
|
|
178
|
+
return call(typedArrayFrom, TypedArrayConstructor, data);
|
|
175
179
|
}
|
|
176
180
|
setInternalState(that, {
|
|
177
181
|
buffer: buffer,
|
|
@@ -187,7 +191,7 @@ if (DESCRIPTORS) {
|
|
|
187
191
|
TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);
|
|
188
192
|
} else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {
|
|
189
193
|
TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {
|
|
190
|
-
anInstance(dummy,
|
|
194
|
+
anInstance(dummy, TypedArrayConstructorPrototype);
|
|
191
195
|
return inheritIfRequired(function () {
|
|
192
196
|
if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));
|
|
193
197
|
if (isArrayBuffer(data)) return $length !== undefined
|
|
@@ -196,7 +200,7 @@ if (DESCRIPTORS) {
|
|
|
196
200
|
? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))
|
|
197
201
|
: new NativeTypedArrayConstructor(data);
|
|
198
202
|
if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);
|
|
199
|
-
return
|
|
203
|
+
return call(typedArrayFrom, TypedArrayConstructor, data);
|
|
200
204
|
}(), dummy, TypedArrayConstructor);
|
|
201
205
|
});
|
|
202
206
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
var bind = require('../internals/function-bind-context');
|
|
2
|
+
var call = require('../internals/function-call');
|
|
1
3
|
var aConstructor = require('../internals/a-constructor');
|
|
2
4
|
var toObject = require('../internals/to-object');
|
|
3
|
-
var
|
|
5
|
+
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
6
|
var getIterator = require('../internals/get-iterator');
|
|
5
7
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
6
8
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
7
|
-
var bind = require('../internals/function-bind-context');
|
|
8
9
|
var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;
|
|
9
10
|
|
|
10
11
|
module.exports = function from(source /* , mapfn, thisArg */) {
|
|
@@ -19,14 +20,14 @@ module.exports = function from(source /* , mapfn, thisArg */) {
|
|
|
19
20
|
iterator = getIterator(O, iteratorMethod);
|
|
20
21
|
next = iterator.next;
|
|
21
22
|
O = [];
|
|
22
|
-
while (!(step =
|
|
23
|
+
while (!(step = call(next, iterator)).done) {
|
|
23
24
|
O.push(step.value);
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
if (mapping && argumentsLength > 2) {
|
|
27
|
-
mapfn = bind(mapfn, arguments[2]
|
|
28
|
+
mapfn = bind(mapfn, arguments[2]);
|
|
28
29
|
}
|
|
29
|
-
length =
|
|
30
|
+
length = lengthOfArrayLike(O);
|
|
30
31
|
result = new (aTypedArrayConstructor(C))(length);
|
|
31
32
|
for (i = 0; length > i; i++) {
|
|
32
33
|
result[i] = mapping ? mapfn(O[i], i) : O[i];
|
package/internals/uid.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
|
+
|
|
1
3
|
var id = 0;
|
|
2
4
|
var postfix = Math.random();
|
|
5
|
+
var toString = uncurryThis(1.0.toString);
|
|
3
6
|
|
|
4
7
|
module.exports = function (key) {
|
|
5
|
-
return 'Symbol(' +
|
|
8
|
+
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
|
|
6
9
|
};
|