core-js 3.18.3 → 3.19.0
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-view-core.js +3 -2
- package/internals/array-buffer.js +29 -16
- package/internals/array-from-async.js +1 -1
- package/internals/array-from.js +6 -2
- package/internals/array-group-by.js +6 -3
- package/internals/array-iteration-from-last.js +1 -1
- package/internals/array-iteration.js +5 -4
- package/internals/array-last-index-of.js +2 -1
- package/internals/array-reduce.js +3 -0
- package/internals/array-slice.js +3 -0
- package/internals/array-sort.js +10 -11
- package/internals/array-species-constructor.js +2 -0
- package/internals/array-unique-by.js +13 -9
- package/internals/async-from-sync-iterator.js +4 -3
- package/internals/async-iterator-create-proxy.js +4 -3
- package/internals/async-iterator-iteration.js +5 -2
- package/internals/classof-raw.js +5 -2
- package/internals/classof.js +3 -0
- package/internals/clear-error-stack.js +20 -0
- package/internals/collection-add-all.js +3 -2
- package/internals/collection-delete-all.js +3 -2
- package/internals/collection-from.js +7 -4
- package/internals/collection-of.js +3 -4
- package/internals/collection-strong.js +11 -9
- package/internals/collection-weak.js +10 -6
- package/internals/collection.js +8 -7
- package/internals/composite-key.js +9 -2
- package/internals/create-html.js +3 -1
- package/internals/date-to-iso-string.js +23 -13
- package/internals/date-to-primitive.js +3 -0
- package/internals/define-iterator.js +2 -1
- package/internals/engine-v8-version.js +10 -4
- package/internals/entry-unbind.js +3 -5
- package/internals/error-stack-installable.js +10 -0
- package/internals/export.js +1 -1
- package/internals/fix-regexp-well-known-symbol-logic.js +5 -3
- package/internals/flatten-into-array.js +4 -1
- package/internals/function-apply.js +9 -0
- package/internals/function-bind-context.js +5 -17
- package/internals/function-bind.js +15 -9
- package/internals/function-call.js +5 -0
- package/internals/function-uncurry-this.js +12 -0
- package/internals/get-async-iterator.js +2 -1
- package/internals/get-iterator.js +7 -2
- package/internals/get-map-iterator.js +3 -1
- package/internals/get-set-iterator.js +3 -1
- package/internals/get-substitution.js +10 -7
- package/internals/has-own-property.js +3 -2
- package/internals/host-report-errors.js +1 -1
- package/internals/ieee754.js +4 -1
- package/internals/indexed-object.js +5 -2
- package/internals/inspect-source.js +3 -2
- package/internals/internal-metadata.js +3 -2
- package/internals/internal-state.js +9 -7
- package/internals/is-callable.js +1 -1
- package/internals/is-constructor.js +6 -4
- package/internals/is-iterable.js +4 -2
- package/internals/is-object.js +1 -1
- package/internals/is-symbol.js +6 -2
- package/internals/iterate.js +14 -6
- package/internals/iterator-close.js +2 -1
- package/internals/iterator-create-proxy.js +4 -3
- package/internals/map-emplace.js +8 -3
- package/internals/map-upsert.js +12 -4
- package/internals/math-scale.js +9 -12
- package/internals/microtask.js +6 -4
- package/internals/normalize-string-argument.js +5 -0
- package/internals/not-a-regexp.js +3 -0
- package/internals/number-parse-float.js +8 -6
- package/internals/number-parse-int.js +3 -1
- package/internals/numeric-range-iterator.js +4 -0
- package/internals/object-assign.js +5 -2
- package/internals/object-define-properties.js +3 -1
- package/internals/object-define-property.js +2 -0
- package/internals/object-get-own-property-descriptor.js +2 -1
- package/internals/object-get-own-property-names-external.js +4 -4
- package/internals/object-get-prototype-of.js +2 -1
- package/internals/object-is-prototype-of.js +3 -0
- package/internals/object-keys-internal.js +5 -2
- package/internals/object-set-prototype-of.js +4 -3
- package/internals/object-to-array.js +7 -3
- package/internals/ordinary-to-primitive.js +7 -3
- package/internals/own-keys.js +4 -1
- package/internals/reflect-metadata.js +9 -3
- package/internals/regexp-exec-abstract.js +6 -2
- package/internals/regexp-exec.js +19 -14
- package/internals/require-object-coercible.js +4 -0
- package/internals/set-global.js +4 -2
- package/internals/shared.js +1 -1
- package/internals/string-multibyte.js +13 -4
- package/internals/string-pad.js +6 -3
- package/internals/string-punycode-to-ascii.js +26 -14
- package/internals/string-repeat.js +3 -0
- package/internals/string-trim.js +4 -2
- package/internals/task.js +11 -11
- package/internals/this-number-value.js +2 -4
- package/internals/to-index.js +3 -0
- package/internals/to-object.js +3 -0
- package/internals/to-offset.js +3 -0
- package/internals/to-positive-integer.js +3 -0
- package/internals/to-primitive.js +4 -1
- package/internals/to-property-key.js +1 -1
- package/internals/to-string.js +3 -0
- package/internals/try-to-string.js +4 -0
- package/internals/typed-array-constructor.js +10 -6
- package/internals/typed-array-from.js +4 -3
- package/internals/uid.js +4 -1
- package/internals/well-known-symbol.js +5 -1
- package/modules/es.aggregate-error.js +13 -7
- package/modules/es.array-buffer.slice.js +8 -4
- package/modules/es.array.concat.js +2 -0
- package/modules/es.array.index-of.js +7 -5
- package/modules/es.array.join.js +3 -2
- package/modules/es.array.of.js +3 -1
- package/modules/es.array.reduce.js +2 -1
- package/modules/es.array.reverse.js +3 -2
- package/modules/es.array.slice.js +4 -2
- package/modules/es.array.sort.js +7 -4
- package/modules/es.array.splice.js +2 -0
- package/modules/es.date.get-year.js +3 -2
- package/modules/es.date.now.js +6 -1
- package/modules/es.date.set-year.js +6 -4
- package/modules/es.date.to-primitive.js +2 -1
- package/modules/es.date.to-string.js +5 -4
- package/modules/es.escape.js +12 -5
- package/modules/es.function.has-instance.js +3 -2
- package/modules/es.function.name.js +4 -2
- package/modules/es.json.stringify.js +18 -7
- package/modules/es.map.js +1 -1
- package/modules/es.number.constructor.js +12 -7
- package/modules/es.number.to-fixed.js +19 -13
- package/modules/es.number.to-precision.js +6 -5
- package/modules/es.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.set.js +2 -1
- package/modules/es.regexp.constructor.js +23 -14
- package/modules/es.regexp.dot-all.js +5 -1
- package/modules/es.regexp.flags.js +4 -2
- package/modules/es.regexp.sticky.js +5 -1
- package/modules/es.regexp.test.js +7 -3
- package/modules/es.regexp.to-string.js +8 -5
- package/modules/es.set.js +1 -1
- package/modules/es.string.at-alternative.js +4 -1
- package/modules/es.string.ends-with.js +6 -4
- package/modules/es.string.from-code-point.js +7 -4
- package/modules/es.string.includes.js +8 -2
- package/modules/es.string.match-all.js +25 -19
- package/modules/es.string.match.js +2 -1
- package/modules/es.string.raw.js +6 -6
- package/modules/es.string.replace-all.js +19 -13
- package/modules/es.string.replace.js +19 -12
- package/modules/es.string.search.js +2 -1
- package/modules/es.string.split.js +23 -16
- package/modules/es.string.starts-with.js +6 -4
- package/modules/es.string.substr.js +3 -2
- package/modules/es.symbol.description.js +20 -12
- package/modules/es.symbol.js +34 -21
- package/modules/es.typed-array.copy-within.js +4 -2
- package/modules/es.typed-array.fill.js +9 -2
- package/modules/es.typed-array.iterator.js +7 -6
- package/modules/es.typed-array.join.js +3 -3
- package/modules/es.typed-array.last-index-of.js +3 -2
- package/modules/es.typed-array.reduce-right.js +2 -1
- package/modules/es.typed-array.reduce.js +2 -1
- package/modules/es.typed-array.set.js +2 -0
- package/modules/es.typed-array.slice.js +2 -2
- package/modules/es.typed-array.sort.js +13 -28
- package/modules/es.typed-array.to-locale-string.js +7 -2
- package/modules/es.typed-array.to-string.js +3 -2
- package/modules/es.unescape.js +14 -9
- package/modules/es.weak-map.js +14 -13
- package/modules/esnext.array.is-template-object.js +1 -1
- package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.async-iterator.constructor.js +1 -1
- package/modules/esnext.async-iterator.drop.js +2 -1
- package/modules/esnext.async-iterator.filter.js +2 -1
- package/modules/esnext.async-iterator.flat-map.js +3 -2
- package/modules/esnext.async-iterator.from.js +4 -4
- package/modules/esnext.async-iterator.map.js +2 -1
- package/modules/esnext.async-iterator.reduce.js +4 -1
- package/modules/esnext.async-iterator.take.js +4 -2
- package/modules/esnext.composite-key.js +5 -1
- package/modules/esnext.composite-symbol.js +3 -2
- package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.iterator.constructor.js +1 -1
- package/modules/esnext.iterator.drop.js +4 -2
- package/modules/esnext.iterator.filter.js +2 -1
- package/modules/esnext.iterator.flat-map.js +7 -3
- package/modules/esnext.iterator.from.js +4 -4
- package/modules/esnext.iterator.map.js +2 -1
- package/modules/esnext.iterator.reduce.js +3 -0
- package/modules/esnext.iterator.take.js +2 -1
- package/modules/esnext.map.delete-all.js +2 -4
- package/modules/esnext.map.emplace.js +2 -2
- package/modules/esnext.map.every.js +1 -1
- package/modules/esnext.map.filter.js +5 -4
- package/modules/esnext.map.find-key.js +1 -1
- package/modules/esnext.map.find.js +1 -1
- package/modules/esnext.map.group-by.js +6 -2
- package/modules/esnext.map.includes.js +1 -1
- package/modules/esnext.map.key-by.js +2 -1
- package/modules/esnext.map.map-keys.js +5 -4
- package/modules/esnext.map.map-values.js +5 -4
- package/modules/esnext.map.reduce.js +3 -0
- package/modules/esnext.map.some.js +1 -1
- package/modules/esnext.map.update-or-insert.js +2 -2
- package/modules/esnext.map.update.js +11 -4
- package/modules/esnext.map.upsert.js +2 -2
- package/modules/esnext.math.seeded-prng.js +3 -1
- package/modules/esnext.number.from-string.js +12 -3
- package/modules/esnext.observable.js +14 -9
- package/modules/esnext.reflect.get-metadata-keys.js +5 -10
- package/modules/esnext.set.add-all.js +2 -4
- package/modules/esnext.set.delete-all.js +2 -4
- package/modules/esnext.set.difference.js +3 -2
- package/modules/esnext.set.every.js +1 -1
- package/modules/esnext.set.filter.js +4 -3
- package/modules/esnext.set.find.js +1 -1
- package/modules/esnext.set.intersection.js +3 -2
- package/modules/esnext.set.is-disjoint-from.js +3 -2
- package/modules/esnext.set.is-subset-of.js +3 -2
- package/modules/esnext.set.is-superset-of.js +3 -2
- package/modules/esnext.set.join.js +9 -4
- package/modules/esnext.set.map.js +5 -4
- package/modules/esnext.set.reduce.js +3 -0
- package/modules/esnext.set.some.js +1 -1
- package/modules/esnext.set.symmetric-difference.js +3 -2
- package/modules/esnext.typed-array.from-async.js +0 -1
- package/modules/esnext.typed-array.unique-by.js +4 -2
- package/modules/esnext.weak-map.delete-all.js +2 -4
- package/modules/esnext.weak-map.emplace.js +2 -2
- package/modules/esnext.weak-map.upsert.js +2 -2
- package/modules/esnext.weak-set.add-all.js +2 -4
- package/modules/esnext.weak-set.delete-all.js +2 -4
- package/modules/web.timers.js +5 -4
- package/modules/web.url-search-params.js +62 -53
- package/modules/web.url.js +103 -89
- package/modules/web.url.to-json.js +2 -1
- package/package.json +2 -2
- package/stable/instance/entries.js +6 -4
- package/stable/instance/for-each.js +6 -4
- package/stable/instance/keys.js +6 -4
- package/stable/instance/values.js +6 -4
|
@@ -1,19 +1,21 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
1
2
|
var fails = require('../internals/fails');
|
|
2
3
|
var isCallable = require('../internals/is-callable');
|
|
3
4
|
var classof = require('../internals/classof');
|
|
4
5
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
6
|
var inspectSource = require('../internals/inspect-source');
|
|
6
7
|
|
|
8
|
+
var noop = function () { /* empty */ };
|
|
7
9
|
var empty = [];
|
|
8
10
|
var construct = getBuiltIn('Reflect', 'construct');
|
|
9
11
|
var constructorRegExp = /^\s*(?:class|function)\b/;
|
|
10
|
-
var exec = constructorRegExp.exec;
|
|
11
|
-
var INCORRECT_TO_STRING = !constructorRegExp.exec(
|
|
12
|
+
var exec = uncurryThis(constructorRegExp.exec);
|
|
13
|
+
var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
|
|
12
14
|
|
|
13
15
|
var isConstructorModern = function (argument) {
|
|
14
16
|
if (!isCallable(argument)) return false;
|
|
15
17
|
try {
|
|
16
|
-
construct(
|
|
18
|
+
construct(noop, empty, argument);
|
|
17
19
|
return true;
|
|
18
20
|
} catch (error) {
|
|
19
21
|
return false;
|
|
@@ -27,7 +29,7 @@ var isConstructorLegacy = function (argument) {
|
|
|
27
29
|
case 'GeneratorFunction':
|
|
28
30
|
case 'AsyncGeneratorFunction': return false;
|
|
29
31
|
// we can't check .prototype since constructors produced by .bind haven't it
|
|
30
|
-
} return INCORRECT_TO_STRING || !!exec
|
|
32
|
+
} return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
|
|
31
33
|
};
|
|
32
34
|
|
|
33
35
|
// `IsConstructor` abstract operation
|
package/internals/is-iterable.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var classof = require('../internals/classof');
|
|
3
|
+
var hasOwn = require('../internals/has-own-property');
|
|
2
4
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
3
5
|
var Iterators = require('../internals/iterators');
|
|
4
6
|
|
|
5
7
|
var ITERATOR = wellKnownSymbol('iterator');
|
|
8
|
+
var Object = global.Object;
|
|
6
9
|
|
|
7
10
|
module.exports = function (it) {
|
|
8
11
|
var O = Object(it);
|
|
9
12
|
return O[ITERATOR] !== undefined
|
|
10
13
|
|| '@@iterator' in O
|
|
11
|
-
|
|
12
|
-
|| Iterators.hasOwnProperty(classof(O));
|
|
14
|
+
|| hasOwn(Iterators, classof(O));
|
|
13
15
|
};
|
package/internals/is-object.js
CHANGED
package/internals/is-symbol.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
var
|
|
1
|
+
var global = require('../internals/global');
|
|
2
2
|
var getBuiltIn = require('../internals/get-built-in');
|
|
3
|
+
var isCallable = require('../internals/is-callable');
|
|
4
|
+
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
3
5
|
var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');
|
|
4
6
|
|
|
7
|
+
var Object = global.Object;
|
|
8
|
+
|
|
5
9
|
module.exports = USE_SYMBOL_AS_UID ? function (it) {
|
|
6
10
|
return typeof it == 'symbol';
|
|
7
11
|
} : function (it) {
|
|
8
12
|
var $Symbol = getBuiltIn('Symbol');
|
|
9
|
-
return isCallable($Symbol) && Object(it)
|
|
13
|
+
return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));
|
|
10
14
|
};
|
package/internals/iterate.js
CHANGED
|
@@ -1,22 +1,30 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
2
|
+
var bind = require('../internals/function-bind-context');
|
|
3
|
+
var call = require('../internals/function-call');
|
|
1
4
|
var anObject = require('../internals/an-object');
|
|
5
|
+
var tryToString = require('../internals/try-to-string');
|
|
2
6
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
3
7
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
|
-
var
|
|
8
|
+
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
5
9
|
var getIterator = require('../internals/get-iterator');
|
|
6
10
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
7
11
|
var iteratorClose = require('../internals/iterator-close');
|
|
8
12
|
|
|
13
|
+
var TypeError = global.TypeError;
|
|
14
|
+
|
|
9
15
|
var Result = function (stopped, result) {
|
|
10
16
|
this.stopped = stopped;
|
|
11
17
|
this.result = result;
|
|
12
18
|
};
|
|
13
19
|
|
|
20
|
+
var ResultPrototype = Result.prototype;
|
|
21
|
+
|
|
14
22
|
module.exports = function (iterable, unboundFunction, options) {
|
|
15
23
|
var that = options && options.that;
|
|
16
24
|
var AS_ENTRIES = !!(options && options.AS_ENTRIES);
|
|
17
25
|
var IS_ITERATOR = !!(options && options.IS_ITERATOR);
|
|
18
26
|
var INTERRUPTED = !!(options && options.INTERRUPTED);
|
|
19
|
-
var fn = bind(unboundFunction, that
|
|
27
|
+
var fn = bind(unboundFunction, that);
|
|
20
28
|
var iterator, iterFn, index, length, result, next, step;
|
|
21
29
|
|
|
22
30
|
var stop = function (condition) {
|
|
@@ -35,24 +43,24 @@ module.exports = function (iterable, unboundFunction, options) {
|
|
|
35
43
|
iterator = iterable;
|
|
36
44
|
} else {
|
|
37
45
|
iterFn = getIteratorMethod(iterable);
|
|
38
|
-
if (!iterFn) throw TypeError(
|
|
46
|
+
if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');
|
|
39
47
|
// optimisation for array iterators
|
|
40
48
|
if (isArrayIteratorMethod(iterFn)) {
|
|
41
49
|
for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
|
|
42
50
|
result = callFn(iterable[index]);
|
|
43
|
-
if (result && result
|
|
51
|
+
if (result && isPrototypeOf(ResultPrototype, result)) return result;
|
|
44
52
|
} return new Result(false);
|
|
45
53
|
}
|
|
46
54
|
iterator = getIterator(iterable, iterFn);
|
|
47
55
|
}
|
|
48
56
|
|
|
49
57
|
next = iterator.next;
|
|
50
|
-
while (!(step =
|
|
58
|
+
while (!(step = call(next, iterator)).done) {
|
|
51
59
|
try {
|
|
52
60
|
result = callFn(step.value);
|
|
53
61
|
} catch (error) {
|
|
54
62
|
iteratorClose(iterator, 'throw', error);
|
|
55
63
|
}
|
|
56
|
-
if (typeof result == 'object' && result && result
|
|
64
|
+
if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;
|
|
57
65
|
} return new Result(false);
|
|
58
66
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var call = require('../internals/function-call');
|
|
1
2
|
var anObject = require('../internals/an-object');
|
|
2
3
|
var getMethod = require('../internals/get-method');
|
|
3
4
|
|
|
@@ -10,7 +11,7 @@ module.exports = function (iterator, kind, value) {
|
|
|
10
11
|
if (kind === 'throw') throw value;
|
|
11
12
|
return value;
|
|
12
13
|
}
|
|
13
|
-
innerResult =
|
|
14
|
+
innerResult = call(innerResult, iterator);
|
|
14
15
|
} catch (error) {
|
|
15
16
|
innerError = true;
|
|
16
17
|
innerResult = error;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var call = require('../internals/function-call');
|
|
2
3
|
var aCallable = require('../internals/a-callable');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
var create = require('../internals/object-create');
|
|
@@ -27,7 +28,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
27
28
|
var state = getInternalState(this);
|
|
28
29
|
var args = arguments.length ? [state.ignoreArg ? undefined : arg] : IS_ITERATOR ? [] : [undefined];
|
|
29
30
|
state.ignoreArg = false;
|
|
30
|
-
var result = state.done ? undefined :
|
|
31
|
+
var result = state.done ? undefined : call(nextHandler, state, args);
|
|
31
32
|
return { done: state.done, value: result };
|
|
32
33
|
},
|
|
33
34
|
'return': function (value) {
|
|
@@ -35,14 +36,14 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
35
36
|
var iterator = state.iterator;
|
|
36
37
|
state.done = true;
|
|
37
38
|
var $$return = getMethod(iterator, 'return');
|
|
38
|
-
return { done: true, value: $$return ? anObject($$return
|
|
39
|
+
return { done: true, value: $$return ? anObject(call($$return, iterator, value)).value : value };
|
|
39
40
|
},
|
|
40
41
|
'throw': function (value) {
|
|
41
42
|
var state = getInternalState(this);
|
|
42
43
|
var iterator = state.iterator;
|
|
43
44
|
state.done = true;
|
|
44
45
|
var $$throw = getMethod(iterator, 'throw');
|
|
45
|
-
if ($$throw) return $$throw
|
|
46
|
+
if ($$throw) return call($$throw, iterator, value);
|
|
46
47
|
throw value;
|
|
47
48
|
}
|
|
48
49
|
});
|
package/internals/map-emplace.js
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var call = require('../internals/function-call');
|
|
3
|
+
var aCallable = require('../internals/a-callable');
|
|
2
4
|
var anObject = require('../internals/an-object');
|
|
3
5
|
|
|
4
6
|
// `Map.prototype.emplace` method
|
|
5
7
|
// https://github.com/thumbsupep/proposal-upsert
|
|
6
8
|
module.exports = function emplace(key, handler) {
|
|
7
9
|
var map = anObject(this);
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
+
var get = aCallable(map.get);
|
|
11
|
+
var has = aCallable(map.has);
|
|
12
|
+
var set = aCallable(map.set);
|
|
13
|
+
var value = (call(has, map, key) && 'update' in handler)
|
|
14
|
+
? handler.update(call(get, map, key), key, map)
|
|
10
15
|
: handler.insert(key, map);
|
|
11
|
-
map
|
|
16
|
+
call(set, map, key, value);
|
|
12
17
|
return value;
|
|
13
18
|
};
|
package/internals/map-upsert.js
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var global = require('../internals/global');
|
|
3
|
+
var call = require('../internals/function-call');
|
|
4
|
+
var aCallable = require('../internals/a-callable');
|
|
2
5
|
var isCallable = require('../internals/is-callable');
|
|
3
6
|
var anObject = require('../internals/an-object');
|
|
4
7
|
|
|
8
|
+
var TypeError = global.TypeError;
|
|
9
|
+
|
|
5
10
|
// `Map.prototype.upsert` method
|
|
6
11
|
// https://github.com/thumbsupep/proposal-upsert
|
|
7
12
|
module.exports = function upsert(key, updateFn /* , insertFn */) {
|
|
8
13
|
var map = anObject(this);
|
|
14
|
+
var get = aCallable(map.get);
|
|
15
|
+
var has = aCallable(map.has);
|
|
16
|
+
var set = aCallable(map.set);
|
|
9
17
|
var insertFn = arguments.length > 2 ? arguments[2] : undefined;
|
|
10
18
|
var value;
|
|
11
19
|
if (!isCallable(updateFn) && !isCallable(insertFn)) {
|
|
12
20
|
throw TypeError('At least one callback required');
|
|
13
21
|
}
|
|
14
|
-
if (map
|
|
15
|
-
value = map
|
|
22
|
+
if (call(has, map, key)) {
|
|
23
|
+
value = call(get, map, key);
|
|
16
24
|
if (isCallable(updateFn)) {
|
|
17
25
|
value = updateFn(value);
|
|
18
|
-
map
|
|
26
|
+
call(set, map, key, value);
|
|
19
27
|
}
|
|
20
28
|
} else if (isCallable(insertFn)) {
|
|
21
29
|
value = insertFn();
|
|
22
|
-
map
|
|
30
|
+
call(set, map, key, value);
|
|
23
31
|
} return value;
|
|
24
32
|
};
|
package/internals/math-scale.js
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
// `Math.scale` method implementation
|
|
2
2
|
// https://rwaldron.github.io/proposal-math-extensions/
|
|
3
3
|
module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
) return NaN;
|
|
14
|
-
if (x === Infinity || x === -Infinity) return x;
|
|
15
|
-
return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;
|
|
4
|
+
var nx = +x;
|
|
5
|
+
var nInLow = +inLow;
|
|
6
|
+
var nInHigh = +inHigh;
|
|
7
|
+
var nOutLow = +outLow;
|
|
8
|
+
var nOutHigh = +outHigh;
|
|
9
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
10
|
+
if (nx != nx || nInLow != nInLow || nInHigh != nInHigh || nOutLow != nOutLow || nOutHigh != nOutHigh) return NaN;
|
|
11
|
+
if (nx === Infinity || nx === -Infinity) return nx;
|
|
12
|
+
return (nx - nInLow) * (nOutHigh - nOutLow) / (nInHigh - nInLow) + nOutLow;
|
|
16
13
|
};
|
package/internals/microtask.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
|
+
var bind = require('../internals/function-bind-context');
|
|
2
3
|
var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
|
|
3
4
|
var macrotask = require('../internals/task').set;
|
|
4
5
|
var IS_IOS = require('../internals/engine-is-ios');
|
|
@@ -50,9 +51,9 @@ if (!queueMicrotask) {
|
|
|
50
51
|
promise = Promise.resolve(undefined);
|
|
51
52
|
// workaround of WebKit ~ iOS Safari 10.1 bug
|
|
52
53
|
promise.constructor = Promise;
|
|
53
|
-
then = promise.then;
|
|
54
|
+
then = bind(promise.then, promise);
|
|
54
55
|
notify = function () {
|
|
55
|
-
then
|
|
56
|
+
then(flush);
|
|
56
57
|
};
|
|
57
58
|
// Node.js without promises
|
|
58
59
|
} else if (IS_NODE) {
|
|
@@ -66,9 +67,10 @@ if (!queueMicrotask) {
|
|
|
66
67
|
// - onreadystatechange
|
|
67
68
|
// - setTimeout
|
|
68
69
|
} else {
|
|
70
|
+
// strange IE + webpack dev server bug - use .bind(global)
|
|
71
|
+
macrotask = bind(macrotask, global);
|
|
69
72
|
notify = function () {
|
|
70
|
-
|
|
71
|
-
macrotask.call(global, flush);
|
|
73
|
+
macrotask(flush);
|
|
72
74
|
};
|
|
73
75
|
}
|
|
74
76
|
}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
2
|
var fails = require('../internals/fails');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var toString = require('../internals/to-string');
|
|
4
5
|
var trim = require('../internals/string-trim').trim;
|
|
5
6
|
var whitespaces = require('../internals/whitespaces');
|
|
6
7
|
|
|
7
|
-
var
|
|
8
|
+
var charAt = uncurryThis(''.charAt);
|
|
9
|
+
var n$ParseFloat = global.parseFloat;
|
|
8
10
|
var Symbol = global.Symbol;
|
|
9
11
|
var ITERATOR = Symbol && Symbol.iterator;
|
|
10
|
-
var FORCED = 1 / $
|
|
12
|
+
var FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity
|
|
11
13
|
// MS Edge 18- broken with boxed symbols
|
|
12
|
-
|| (ITERATOR && !fails(function () { $
|
|
14
|
+
|| (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));
|
|
13
15
|
|
|
14
16
|
// `parseFloat` method
|
|
15
17
|
// https://tc39.es/ecma262/#sec-parsefloat-string
|
|
16
18
|
module.exports = FORCED ? function parseFloat(string) {
|
|
17
19
|
var trimmedString = trim(toString(string));
|
|
18
|
-
var result = $
|
|
19
|
-
return result === 0 &&
|
|
20
|
-
} : $
|
|
20
|
+
var result = n$ParseFloat(trimmedString);
|
|
21
|
+
return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;
|
|
22
|
+
} : n$ParseFloat;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
2
|
var fails = require('../internals/fails');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var toString = require('../internals/to-string');
|
|
4
5
|
var trim = require('../internals/string-trim').trim;
|
|
5
6
|
var whitespaces = require('../internals/whitespaces');
|
|
@@ -8,6 +9,7 @@ var $parseInt = global.parseInt;
|
|
|
8
9
|
var Symbol = global.Symbol;
|
|
9
10
|
var ITERATOR = Symbol && Symbol.iterator;
|
|
10
11
|
var hex = /^[+-]?0x/i;
|
|
12
|
+
var exec = uncurryThis(hex.exec);
|
|
11
13
|
var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22
|
|
12
14
|
// MS Edge 18- broken with boxed symbols
|
|
13
15
|
|| (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); }));
|
|
@@ -16,5 +18,5 @@ var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x1
|
|
|
16
18
|
// https://tc39.es/ecma262/#sec-parseint-string-radix
|
|
17
19
|
module.exports = FORCED ? function parseInt(string, radix) {
|
|
18
20
|
var S = trim(toString(string));
|
|
19
|
-
return $parseInt(S, (radix >>> 0) || (hex
|
|
21
|
+
return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10));
|
|
20
22
|
} : $parseInt;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var global = require('../internals/global');
|
|
2
3
|
var InternalStateModule = require('../internals/internal-state');
|
|
3
4
|
var createIteratorConstructor = require('../internals/create-iterator-constructor');
|
|
4
5
|
var isObject = require('../internals/is-object');
|
|
@@ -11,6 +12,9 @@ var NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator';
|
|
|
11
12
|
var setInternalState = InternalStateModule.set;
|
|
12
13
|
var getInternalState = InternalStateModule.getterFor(NUMERIC_RANGE_ITERATOR);
|
|
13
14
|
|
|
15
|
+
var RangeError = global.RangeError;
|
|
16
|
+
var TypeError = global.TypeError;
|
|
17
|
+
|
|
14
18
|
var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
|
|
15
19
|
if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {
|
|
16
20
|
throw new TypeError(INCORRECT_RANGE);
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var call = require('../internals/function-call');
|
|
3
5
|
var fails = require('../internals/fails');
|
|
4
6
|
var objectKeys = require('../internals/object-keys');
|
|
5
7
|
var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
|
|
@@ -11,6 +13,7 @@ var IndexedObject = require('../internals/indexed-object');
|
|
|
11
13
|
var $assign = Object.assign;
|
|
12
14
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
13
15
|
var defineProperty = Object.defineProperty;
|
|
16
|
+
var concat = uncurryThis([].concat);
|
|
14
17
|
|
|
15
18
|
// `Object.assign` method
|
|
16
19
|
// https://tc39.es/ecma262/#sec-object.assign
|
|
@@ -42,13 +45,13 @@ module.exports = !$assign || fails(function () {
|
|
|
42
45
|
var propertyIsEnumerable = propertyIsEnumerableModule.f;
|
|
43
46
|
while (argumentsLength > index) {
|
|
44
47
|
var S = IndexedObject(arguments[index++]);
|
|
45
|
-
var keys = getOwnPropertySymbols ? objectKeys(S)
|
|
48
|
+
var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
|
|
46
49
|
var length = keys.length;
|
|
47
50
|
var j = 0;
|
|
48
51
|
var key;
|
|
49
52
|
while (length > j) {
|
|
50
53
|
key = keys[j++];
|
|
51
|
-
if (!DESCRIPTORS ||
|
|
54
|
+
if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];
|
|
52
55
|
}
|
|
53
56
|
} return T;
|
|
54
57
|
} : $assign;
|
|
@@ -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');
|
|
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];
|
|
@@ -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
|
};
|