core-js 3.1.3 → 3.3.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/README.md +1 -1
- package/configurator.js +7 -0
- package/es/global-this.js +3 -0
- package/es/index.js +2 -0
- package/es/promise/all-settled.js +11 -0
- package/es/promise/index.js +1 -0
- package/features/array/index.js +1 -0
- package/features/array/is-template-object.js +4 -0
- package/features/async-iterator/as-indexed-pairs.js +10 -0
- package/features/async-iterator/drop.js +10 -0
- package/features/async-iterator/every.js +10 -0
- package/features/async-iterator/filter.js +10 -0
- package/features/async-iterator/find.js +10 -0
- package/features/async-iterator/flat-map.js +10 -0
- package/features/async-iterator/for-each.js +10 -0
- package/features/async-iterator/from.js +10 -0
- package/features/async-iterator/index.js +22 -0
- package/features/async-iterator/map.js +10 -0
- package/features/async-iterator/reduce.js +10 -0
- package/features/async-iterator/some.js +10 -0
- package/features/async-iterator/take.js +10 -0
- package/features/async-iterator/to-array.js +10 -0
- package/features/global-this.js +1 -3
- package/features/iterator/as-indexed-pairs.js +10 -0
- package/features/iterator/drop.js +9 -0
- package/features/iterator/every.js +9 -0
- package/features/iterator/filter.js +9 -0
- package/features/iterator/find.js +9 -0
- package/features/iterator/flat-map.js +9 -0
- package/features/iterator/for-each.js +9 -0
- package/features/iterator/from.js +9 -0
- package/features/iterator/index.js +21 -0
- package/features/iterator/map.js +9 -0
- package/features/iterator/reduce.js +9 -0
- package/features/iterator/some.js +9 -0
- package/features/iterator/take.js +9 -0
- package/features/iterator/to-array.js +9 -0
- package/features/map/from.js +2 -0
- package/features/map/index.js +3 -0
- package/features/map/of.js +2 -0
- package/features/map/update-or-insert.js +6 -0
- package/features/map/upsert.js +5 -0
- package/features/promise/all-settled.js +2 -9
- package/features/promise/index.js +1 -0
- package/features/set/difference.js +2 -0
- package/features/set/from.js +2 -0
- package/features/set/is-subset-of.js +2 -0
- package/features/set/of.js +2 -0
- package/features/set/symmetric-difference.js +2 -0
- package/features/set/union.js +2 -0
- package/features/symbol/async-dispose.js +4 -0
- package/features/symbol/index.js +1 -0
- package/features/weak-map/from.js +2 -0
- package/features/weak-map/index.js +1 -0
- package/features/weak-map/of.js +2 -0
- package/features/weak-map/upsert.js +5 -0
- package/features/weak-set/from.js +2 -0
- package/features/weak-set/of.js +2 -0
- package/internals/a-possible-prototype.js +7 -0
- package/internals/add-to-unscopables.js +2 -2
- package/internals/advance-string-index.js +2 -2
- package/internals/array-buffer-view-core.js +5 -4
- package/internals/array-buffer.js +21 -16
- package/internals/array-copy-within.js +3 -1
- package/internals/array-for-each.js +3 -6
- package/internals/array-from.js +4 -3
- package/internals/array-includes.js +12 -7
- package/internals/{array-methods.js → array-iteration.js} +30 -18
- package/internals/array-last-index-of.js +3 -2
- package/internals/array-reduce.js +30 -21
- package/internals/async-iterator-iteration.js +61 -0
- package/internals/async-iterator-prototype.js +37 -0
- package/internals/collection-delete-all.js +3 -1
- package/internals/collection-from.js +3 -2
- package/internals/collection-weak.js +5 -5
- package/internals/collection.js +14 -14
- package/internals/composite-key.js +1 -0
- package/internals/create-async-iterator-proxy.js +61 -0
- package/internals/create-iterator-proxy.js +51 -0
- package/internals/{hide.js → create-non-enumerable-property.js} +0 -0
- package/internals/date-to-iso-string.js +12 -14
- package/internals/define-iterator.js +3 -3
- package/internals/document-create-element.js +2 -2
- package/internals/export.js +2 -2
- package/internals/fix-regexp-well-known-symbol-logic.js +2 -2
- package/internals/function-bind.js +3 -3
- package/internals/get-async-iterator-method.js +9 -0
- package/internals/global.js +4 -5
- package/internals/html.js +2 -4
- package/internals/indexed-object.js +1 -1
- package/internals/inherit-if-required.js +13 -6
- package/internals/internal-state.js +2 -2
- package/internals/iterate.js +21 -12
- package/internals/iterators-core.js +4 -2
- package/internals/map-upsert.js +23 -0
- package/internals/math-expm1.js +2 -1
- package/internals/math-fround.js +2 -1
- package/internals/math-log1p.js +3 -1
- package/internals/microtask.js +4 -3
- package/internals/native-promise-constructor.js +3 -0
- package/internals/native-url.js +13 -4
- package/internals/not-a-regexp.js +7 -0
- package/internals/object-assign.js +2 -1
- package/internals/object-create.js +2 -1
- package/internals/object-define-properties.js +4 -2
- package/internals/object-define-property.js +2 -0
- package/internals/object-get-own-property-descriptor.js +2 -0
- package/internals/object-get-own-property-names.js +2 -1
- package/internals/object-get-prototype-of.js +2 -1
- package/internals/object-keys-internal.js +2 -4
- package/internals/object-keys.js +2 -1
- package/internals/object-property-is-enumerable.js +2 -0
- package/internals/object-set-prototype-of.js +9 -5
- package/internals/object-to-array.js +25 -15
- package/internals/own-keys.js +2 -4
- package/internals/parse-float.js +7 -5
- package/internals/parse-int.js +6 -4
- package/internals/punycode-to-ascii.js +2 -4
- package/internals/redefine.js +3 -3
- package/internals/reflect-metadata.js +1 -0
- package/internals/regexp-flags.js +1 -0
- package/internals/set-global.js +2 -2
- package/internals/set-species.js +8 -5
- package/internals/shared-store.js +7 -0
- package/internals/shared.js +2 -6
- package/internals/string-multibyte.js +27 -0
- package/internals/string-pad.js +25 -11
- package/internals/string-trim.js +20 -8
- package/internals/task.js +3 -1
- package/internals/to-offset.js +3 -3
- package/internals/to-positive-integer.js +7 -0
- package/internals/to-primitive.js +7 -6
- package/internals/typed-array-constructor.js +15 -12
- package/internals/typed-array-from.js +3 -2
- package/internals/uid.js +1 -1
- package/internals/user-agent.js +2 -4
- package/modules/es.array.every.js +3 -6
- package/modules/es.array.fill.js +3 -1
- package/modules/es.array.filter.js +3 -6
- package/modules/es.array.find-index.js +2 -3
- package/modules/es.array.find.js +2 -3
- package/modules/es.array.flat-map.js +1 -1
- package/modules/es.array.flat.js +1 -1
- package/modules/es.array.includes.js +2 -4
- package/modules/es.array.index-of.js +2 -3
- package/modules/es.array.is-array.js +3 -1
- package/modules/es.array.map.js +3 -6
- package/modules/es.array.reduce-right.js +3 -4
- package/modules/es.array.reduce.js +3 -5
- package/modules/es.array.slice.js +1 -3
- package/modules/es.array.some.js +3 -6
- package/modules/es.array.splice.js +1 -3
- package/modules/es.date.to-primitive.js +4 -2
- package/modules/es.global-this.js +8 -0
- package/modules/es.map.js +1 -1
- package/modules/es.math.hypot.js +6 -1
- package/modules/es.number.constructor.js +9 -10
- package/modules/es.number.to-fixed.js +57 -53
- package/modules/es.object.entries.js +2 -2
- package/modules/es.object.get-own-property-descriptors.js +3 -3
- package/modules/es.object.get-prototype-of.js +1 -0
- package/modules/es.object.values.js +2 -2
- package/modules/es.promise.all-settled.js +43 -0
- package/modules/es.promise.finally.js +8 -0
- package/modules/es.promise.js +30 -14
- package/modules/es.reflect.apply.js +2 -2
- package/modules/es.reflect.construct.js +4 -4
- package/modules/es.reflect.define-property.js +5 -5
- package/modules/es.reflect.delete-property.js +1 -1
- package/modules/es.reflect.get-own-property-descriptor.js +2 -2
- package/modules/es.reflect.get-prototype-of.js +1 -1
- package/modules/es.reflect.get.js +3 -3
- package/modules/es.reflect.set-prototype-of.js +4 -2
- package/modules/es.reflect.set.js +3 -3
- package/modules/es.regexp.constructor.js +3 -3
- package/modules/es.regexp.to-string.js +1 -1
- package/modules/es.set.js +1 -1
- package/modules/es.string.code-point-at.js +2 -2
- package/modules/es.string.ends-with.js +6 -5
- package/modules/es.string.includes.js +4 -3
- package/modules/es.string.iterator.js +2 -2
- package/modules/es.string.match-all.js +22 -7
- package/modules/es.string.pad-end.js +2 -2
- package/modules/es.string.pad-start.js +2 -2
- package/modules/es.string.starts-with.js +8 -6
- package/modules/es.string.trim-end.js +2 -2
- package/modules/es.string.trim-start.js +2 -2
- package/modules/es.string.trim.js +3 -5
- package/modules/es.symbol.js +97 -87
- package/modules/es.typed-array.copy-within.js +2 -2
- package/modules/es.typed-array.every.js +2 -3
- package/modules/es.typed-array.fill.js +2 -2
- package/modules/es.typed-array.filter.js +3 -4
- package/modules/es.typed-array.find-index.js +2 -3
- package/modules/es.typed-array.find.js +2 -3
- package/modules/es.typed-array.for-each.js +2 -3
- package/modules/es.typed-array.includes.js +2 -3
- package/modules/es.typed-array.index-of.js +2 -3
- package/modules/es.typed-array.iterator.js +1 -1
- package/modules/es.typed-array.join.js +2 -2
- package/modules/es.typed-array.last-index-of.js +2 -2
- package/modules/es.typed-array.map.js +5 -7
- package/modules/es.typed-array.of.js +1 -1
- package/modules/es.typed-array.reduce-right.js +2 -2
- package/modules/es.typed-array.reduce.js +2 -2
- package/modules/es.typed-array.reverse.js +2 -1
- package/modules/es.typed-array.set.js +2 -2
- package/modules/es.typed-array.slice.js +3 -3
- package/modules/es.typed-array.some.js +2 -3
- package/modules/es.typed-array.sort.js +2 -2
- package/modules/es.typed-array.subarray.js +1 -1
- package/modules/es.typed-array.to-locale-string.js +7 -6
- package/modules/es.weak-map.js +1 -1
- package/modules/es.weak-set.js +1 -1
- package/modules/esnext.aggregate-error.js +28 -4
- package/modules/esnext.array.is-template-object.js +28 -0
- package/modules/esnext.async-iterator.as-indexed-pairs.js +27 -0
- package/modules/esnext.async-iterator.constructor.js +25 -0
- package/modules/esnext.async-iterator.drop.js +41 -0
- package/modules/esnext.async-iterator.every.js +10 -0
- package/modules/esnext.async-iterator.filter.js +42 -0
- package/modules/esnext.async-iterator.find.js +10 -0
- package/modules/esnext.async-iterator.flat-map.js +67 -0
- package/modules/esnext.async-iterator.for-each.js +10 -0
- package/modules/esnext.async-iterator.from.js +30 -0
- package/modules/esnext.async-iterator.map.js +30 -0
- package/modules/esnext.async-iterator.reduce.js +46 -0
- package/modules/esnext.async-iterator.some.js +10 -0
- package/modules/esnext.async-iterator.take.js +22 -0
- package/modules/esnext.async-iterator.to-array.js +10 -0
- package/modules/esnext.global-this.js +2 -6
- package/modules/esnext.iterator.as-indexed-pairs.js +20 -0
- package/modules/esnext.iterator.constructor.js +39 -0
- package/modules/esnext.iterator.drop.js +30 -0
- package/modules/esnext.iterator.every.js +16 -0
- package/modules/esnext.iterator.filter.js +30 -0
- package/modules/esnext.iterator.find.js +16 -0
- package/modules/esnext.iterator.flat-map.js +45 -0
- package/modules/esnext.iterator.for-each.js +11 -0
- package/modules/esnext.iterator.from.js +32 -0
- package/modules/esnext.iterator.map.js +23 -0
- package/modules/esnext.iterator.reduce.js +25 -0
- package/modules/esnext.iterator.some.js +16 -0
- package/modules/esnext.iterator.take.js +25 -0
- package/modules/esnext.iterator.to-array.js +15 -0
- package/modules/esnext.map.every.js +4 -5
- package/modules/esnext.map.filter.js +4 -5
- package/modules/esnext.map.find-key.js +4 -5
- package/modules/esnext.map.find.js +4 -5
- package/modules/esnext.map.includes.js +4 -7
- package/modules/esnext.map.key-of.js +4 -7
- package/modules/esnext.map.map-keys.js +4 -5
- package/modules/esnext.map.map-values.js +4 -5
- package/modules/esnext.map.reduce.js +12 -11
- package/modules/esnext.map.some.js +4 -5
- package/modules/esnext.map.update-or-insert.js +11 -0
- package/modules/esnext.map.update.js +3 -2
- package/modules/esnext.map.upsert.js +10 -0
- package/modules/esnext.math.signbit.js +0 -1
- package/modules/esnext.observable.js +26 -25
- package/modules/esnext.promise.all-settled.js +2 -43
- package/modules/esnext.reflect.get-metadata-keys.js +1 -0
- package/modules/esnext.set.every.js +4 -4
- package/modules/esnext.set.filter.js +4 -4
- package/modules/esnext.set.find.js +4 -4
- package/modules/esnext.set.is-disjoint-from.js +3 -5
- package/modules/esnext.set.is-subset-of.js +3 -5
- package/modules/esnext.set.is-superset-of.js +3 -5
- package/modules/esnext.set.join.js +2 -2
- package/modules/esnext.set.map.js +4 -4
- package/modules/esnext.set.reduce.js +12 -10
- package/modules/esnext.set.some.js +4 -4
- package/modules/esnext.string.at.js +2 -2
- package/modules/esnext.string.code-points.js +5 -3
- package/modules/esnext.string.match-all.js +0 -1
- package/modules/esnext.string.replace-all.js +16 -22
- package/modules/esnext.symbol.async-dispose.js +5 -0
- package/modules/esnext.symbol.dispose.js +1 -1
- package/modules/esnext.symbol.replace-all.js +1 -2
- package/modules/esnext.weak-map.upsert.js +10 -0
- package/modules/web.dom-collections.for-each.js +2 -2
- package/modules/web.dom-collections.iterator.js +6 -4
- package/modules/web.immediate.js +5 -0
- package/modules/web.timers.js +12 -7
- package/modules/web.url-search-params.js +52 -41
- package/modules/web.url.js +45 -43
- package/package.json +2 -2
- package/postinstall.js +49 -0
- package/proposals/array-is-template-object.js +1 -0
- package/proposals/iterator-helpers.js +20 -0
- package/proposals/map-update-or-insert.js +2 -0
- package/proposals/map-upsert.js +5 -0
- package/proposals/promise-all-settled.js +1 -0
- package/proposals/string-match-all.js +0 -2
- package/proposals/using-statement.js +1 -0
- package/stable/global-this.js +1 -3
- package/stable/promise/all-settled.js +1 -0
- package/stage/1.js +1 -3
- package/stage/2.js +4 -1
- package/stage/3.js +2 -2
- package/stage/4.js +2 -0
- package/LICENSE +0 -19
- package/internals/enum-keys.js +0 -16
- package/internals/string-at.js +0 -17
- package/internals/validate-set-prototype-of-arguments.js +0 -9
- package/internals/validate-string-method-arguments.js +0 -9
- package/scripts/postinstall.js +0 -23
|
@@ -3,12 +3,14 @@ var definePropertyModule = require('../internals/object-define-property');
|
|
|
3
3
|
var anObject = require('../internals/an-object');
|
|
4
4
|
var objectKeys = require('../internals/object-keys');
|
|
5
5
|
|
|
6
|
+
// `Object.defineProperties` method
|
|
7
|
+
// https://tc39.github.io/ecma262/#sec-object.defineproperties
|
|
6
8
|
module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
|
|
7
9
|
anObject(O);
|
|
8
10
|
var keys = objectKeys(Properties);
|
|
9
11
|
var length = keys.length;
|
|
10
|
-
var
|
|
12
|
+
var index = 0;
|
|
11
13
|
var key;
|
|
12
|
-
while (length >
|
|
14
|
+
while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);
|
|
13
15
|
return O;
|
|
14
16
|
};
|
|
@@ -5,6 +5,8 @@ var toPrimitive = require('../internals/to-primitive');
|
|
|
5
5
|
|
|
6
6
|
var nativeDefineProperty = Object.defineProperty;
|
|
7
7
|
|
|
8
|
+
// `Object.defineProperty` method
|
|
9
|
+
// https://tc39.github.io/ecma262/#sec-object.defineproperty
|
|
8
10
|
exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
|
|
9
11
|
anObject(O);
|
|
10
12
|
P = toPrimitive(P, true);
|
|
@@ -8,6 +8,8 @@ var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
|
|
|
8
8
|
|
|
9
9
|
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
10
10
|
|
|
11
|
+
// `Object.getOwnPropertyDescriptor` method
|
|
12
|
+
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
|
|
11
13
|
exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
|
12
14
|
O = toIndexedObject(O);
|
|
13
15
|
P = toPrimitive(P, true);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
|
|
2
1
|
var internalObjectKeys = require('../internals/object-keys-internal');
|
|
3
2
|
var enumBugKeys = require('../internals/enum-bug-keys');
|
|
4
3
|
|
|
5
4
|
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
|
|
6
5
|
|
|
6
|
+
// `Object.getOwnPropertyNames` method
|
|
7
|
+
// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
|
|
7
8
|
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
|
8
9
|
return internalObjectKeys(O, hiddenKeys);
|
|
9
10
|
};
|
|
@@ -6,7 +6,8 @@ var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');
|
|
|
6
6
|
var IE_PROTO = sharedKey('IE_PROTO');
|
|
7
7
|
var ObjectPrototype = Object.prototype;
|
|
8
8
|
|
|
9
|
-
//
|
|
9
|
+
// `Object.getPrototypeOf` method
|
|
10
|
+
// https://tc39.github.io/ecma262/#sec-object.getprototypeof
|
|
10
11
|
module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
|
|
11
12
|
O = toObject(O);
|
|
12
13
|
if (has(O, IE_PROTO)) return O[IE_PROTO];
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
var has = require('../internals/has');
|
|
2
2
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
3
|
-
var
|
|
3
|
+
var indexOf = require('../internals/array-includes').indexOf;
|
|
4
4
|
var hiddenKeys = require('../internals/hidden-keys');
|
|
5
5
|
|
|
6
|
-
var arrayIndexOf = arrayIncludes(false);
|
|
7
|
-
|
|
8
6
|
module.exports = function (object, names) {
|
|
9
7
|
var O = toIndexedObject(object);
|
|
10
8
|
var i = 0;
|
|
@@ -13,7 +11,7 @@ module.exports = function (object, names) {
|
|
|
13
11
|
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
|
|
14
12
|
// Don't enum bug & hidden keys
|
|
15
13
|
while (names.length > i) if (has(O, key = names[i++])) {
|
|
16
|
-
~
|
|
14
|
+
~indexOf(result, key) || result.push(key);
|
|
17
15
|
}
|
|
18
16
|
return result;
|
|
19
17
|
};
|
package/internals/object-keys.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
var internalObjectKeys = require('../internals/object-keys-internal');
|
|
2
2
|
var enumBugKeys = require('../internals/enum-bug-keys');
|
|
3
3
|
|
|
4
|
-
//
|
|
4
|
+
// `Object.keys` method
|
|
5
|
+
// https://tc39.github.io/ecma262/#sec-object.keys
|
|
5
6
|
module.exports = Object.keys || function keys(O) {
|
|
6
7
|
return internalObjectKeys(O, enumBugKeys);
|
|
7
8
|
};
|
|
@@ -5,6 +5,8 @@ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
// Nashorn ~ JDK8 bug
|
|
6
6
|
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
|
|
7
7
|
|
|
8
|
+
// `Object.prototype.propertyIsEnumerable` method implementation
|
|
9
|
+
// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
|
|
8
10
|
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
|
9
11
|
var descriptor = getOwnPropertyDescriptor(this, V);
|
|
10
12
|
return !!descriptor && descriptor.enumerable;
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
var
|
|
1
|
+
var anObject = require('../internals/an-object');
|
|
2
|
+
var aPossiblePrototype = require('../internals/a-possible-prototype');
|
|
2
3
|
|
|
4
|
+
// `Object.setPrototypeOf` method
|
|
5
|
+
// https://tc39.github.io/ecma262/#sec-object.setprototypeof
|
|
3
6
|
// Works with __proto__ only. Old v8 can't work with null proto objects.
|
|
4
7
|
/* eslint-disable no-proto */
|
|
5
8
|
module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
|
|
6
|
-
var
|
|
9
|
+
var CORRECT_SETTER = false;
|
|
7
10
|
var test = {};
|
|
8
11
|
var setter;
|
|
9
12
|
try {
|
|
10
13
|
setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
|
|
11
14
|
setter.call(test, []);
|
|
12
|
-
|
|
15
|
+
CORRECT_SETTER = test instanceof Array;
|
|
13
16
|
} catch (error) { /* empty */ }
|
|
14
17
|
return function setPrototypeOf(O, proto) {
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
anObject(O);
|
|
19
|
+
aPossiblePrototype(proto);
|
|
20
|
+
if (CORRECT_SETTER) setter.call(O, proto);
|
|
17
21
|
else O.__proto__ = proto;
|
|
18
22
|
return O;
|
|
19
23
|
};
|
|
@@ -3,20 +3,30 @@ var objectKeys = require('../internals/object-keys');
|
|
|
3
3
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
4
4
|
var propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;
|
|
5
5
|
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
// `Object.{ entries, values }` methods implementation
|
|
7
|
+
var createMethod = function (TO_ENTRIES) {
|
|
8
|
+
return function (it) {
|
|
9
|
+
var O = toIndexedObject(it);
|
|
10
|
+
var keys = objectKeys(O);
|
|
11
|
+
var length = keys.length;
|
|
12
|
+
var i = 0;
|
|
13
|
+
var result = [];
|
|
14
|
+
var key;
|
|
15
|
+
while (length > i) {
|
|
16
|
+
key = keys[i++];
|
|
17
|
+
if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
|
|
18
|
+
result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
|
|
19
|
+
}
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
return result;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
module.exports = {
|
|
26
|
+
// `Object.entries` method
|
|
27
|
+
// https://tc39.github.io/ecma262/#sec-object.entries
|
|
28
|
+
entries: createMethod(true),
|
|
29
|
+
// `Object.values` method
|
|
30
|
+
// https://tc39.github.io/ecma262/#sec-object.values
|
|
31
|
+
values: createMethod(false)
|
|
22
32
|
};
|
package/internals/own-keys.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
var
|
|
1
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
2
2
|
var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
|
|
3
3
|
var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
|
|
4
4
|
var anObject = require('../internals/an-object');
|
|
5
5
|
|
|
6
|
-
var Reflect = global.Reflect;
|
|
7
|
-
|
|
8
6
|
// all object keys, includes non-enumerable and symbols
|
|
9
|
-
module.exports = Reflect
|
|
7
|
+
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
|
10
8
|
var keys = getOwnPropertyNamesModule.f(anObject(it));
|
|
11
9
|
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
|
|
12
10
|
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
|
package/internals/parse-float.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
|
-
var
|
|
2
|
+
var trim = require('../internals/string-trim').trim;
|
|
3
3
|
var whitespaces = require('../internals/whitespaces');
|
|
4
4
|
|
|
5
5
|
var nativeParseFloat = global.parseFloat;
|
|
6
6
|
var FORCED = 1 / nativeParseFloat(whitespaces + '-0') !== -Infinity;
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
// `parseFloat` method
|
|
9
|
+
// https://tc39.github.io/ecma262/#sec-parsefloat-string
|
|
10
|
+
module.exports = FORCED ? function parseFloat(string) {
|
|
11
|
+
var trimmedString = trim(String(string));
|
|
12
|
+
var result = nativeParseFloat(trimmedString);
|
|
13
|
+
return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
|
|
12
14
|
} : nativeParseFloat;
|
package/internals/parse-int.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
|
-
var
|
|
2
|
+
var trim = require('../internals/string-trim').trim;
|
|
3
3
|
var whitespaces = require('../internals/whitespaces');
|
|
4
4
|
|
|
5
5
|
var nativeParseInt = global.parseInt;
|
|
6
6
|
var hex = /^[+-]?0[Xx]/;
|
|
7
7
|
var FORCED = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
// `parseInt` method
|
|
10
|
+
// https://tc39.github.io/ecma262/#sec-parseint-string-radix
|
|
11
|
+
module.exports = FORCED ? function parseInt(string, radix) {
|
|
12
|
+
var S = trim(String(string));
|
|
13
|
+
return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
|
|
12
14
|
} : nativeParseInt;
|
|
@@ -64,7 +64,7 @@ var adapt = function (delta, numPoints, firstTime) {
|
|
|
64
64
|
var k = 0;
|
|
65
65
|
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
|
66
66
|
delta += floor(delta / numPoints);
|
|
67
|
-
for (
|
|
67
|
+
for (; delta > baseMinusTMin * tMax >> 1; k += base) {
|
|
68
68
|
delta = floor(delta / baseMinusTMin);
|
|
69
69
|
}
|
|
70
70
|
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
|
|
@@ -136,9 +136,7 @@ var encode = function (input) {
|
|
|
136
136
|
var q = delta;
|
|
137
137
|
for (var k = base; /* no condition */; k += base) {
|
|
138
138
|
var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
139
|
-
if (q < t)
|
|
140
|
-
break;
|
|
141
|
-
}
|
|
139
|
+
if (q < t) break;
|
|
142
140
|
var qMinusT = q - t;
|
|
143
141
|
var baseMinusT = base - t;
|
|
144
142
|
output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
|
package/internals/redefine.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
2
|
var shared = require('../internals/shared');
|
|
3
|
-
var
|
|
3
|
+
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
4
4
|
var has = require('../internals/has');
|
|
5
5
|
var setGlobal = require('../internals/set-global');
|
|
6
6
|
var nativeFunctionToString = require('../internals/function-to-string');
|
|
@@ -19,7 +19,7 @@ shared('inspectSource', function (it) {
|
|
|
19
19
|
var simple = options ? !!options.enumerable : false;
|
|
20
20
|
var noTargetGet = options ? !!options.noTargetGet : false;
|
|
21
21
|
if (typeof value == 'function') {
|
|
22
|
-
if (typeof key == 'string' && !has(value, 'name'))
|
|
22
|
+
if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
|
|
23
23
|
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
|
|
24
24
|
}
|
|
25
25
|
if (O === global) {
|
|
@@ -32,7 +32,7 @@ shared('inspectSource', function (it) {
|
|
|
32
32
|
simple = true;
|
|
33
33
|
}
|
|
34
34
|
if (simple) O[key] = value;
|
|
35
|
-
else
|
|
35
|
+
else createNonEnumerableProperty(O, key, value);
|
|
36
36
|
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
|
37
37
|
})(Function.prototype, 'toString', function toString() {
|
|
38
38
|
return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);
|
|
@@ -9,6 +9,7 @@ module.exports = function () {
|
|
|
9
9
|
if (that.global) result += 'g';
|
|
10
10
|
if (that.ignoreCase) result += 'i';
|
|
11
11
|
if (that.multiline) result += 'm';
|
|
12
|
+
if (that.dotAll) result += 's';
|
|
12
13
|
if (that.unicode) result += 'u';
|
|
13
14
|
if (that.sticky) result += 'y';
|
|
14
15
|
return result;
|
package/internals/set-global.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
|
-
var
|
|
2
|
+
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
3
3
|
|
|
4
4
|
module.exports = function (key, value) {
|
|
5
5
|
try {
|
|
6
|
-
|
|
6
|
+
createNonEnumerableProperty(global, key, value);
|
|
7
7
|
} catch (error) {
|
|
8
8
|
global[key] = value;
|
|
9
9
|
} return value;
|
package/internals/set-species.js
CHANGED
|
@@ -7,10 +7,13 @@ var DESCRIPTORS = require('../internals/descriptors');
|
|
|
7
7
|
var SPECIES = wellKnownSymbol('species');
|
|
8
8
|
|
|
9
9
|
module.exports = function (CONSTRUCTOR_NAME) {
|
|
10
|
-
var
|
|
10
|
+
var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
|
|
11
11
|
var defineProperty = definePropertyModule.f;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
|
|
13
|
+
if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
|
|
14
|
+
defineProperty(Constructor, SPECIES, {
|
|
15
|
+
configurable: true,
|
|
16
|
+
get: function () { return this; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
16
19
|
};
|
package/internals/shared.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
var global = require('../internals/global');
|
|
2
|
-
var setGlobal = require('../internals/set-global');
|
|
3
1
|
var IS_PURE = require('../internals/is-pure');
|
|
4
|
-
|
|
5
|
-
var SHARED = '__core-js_shared__';
|
|
6
|
-
var store = global[SHARED] || setGlobal(SHARED, {});
|
|
2
|
+
var store = require('../internals/shared-store');
|
|
7
3
|
|
|
8
4
|
(module.exports = function (key, value) {
|
|
9
5
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
10
6
|
})('versions', []).push({
|
|
11
|
-
version: '3.
|
|
7
|
+
version: '3.3.0',
|
|
12
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
13
9
|
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
|
14
10
|
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var toInteger = require('../internals/to-integer');
|
|
2
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
3
|
+
|
|
4
|
+
// `String.prototype.{ codePointAt, at }` methods implementation
|
|
5
|
+
var createMethod = function (CONVERT_TO_STRING) {
|
|
6
|
+
return function ($this, pos) {
|
|
7
|
+
var S = String(requireObjectCoercible($this));
|
|
8
|
+
var position = toInteger(pos);
|
|
9
|
+
var size = S.length;
|
|
10
|
+
var first, second;
|
|
11
|
+
if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
|
|
12
|
+
first = S.charCodeAt(position);
|
|
13
|
+
return first < 0xD800 || first > 0xDBFF || position + 1 === size
|
|
14
|
+
|| (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
|
|
15
|
+
? CONVERT_TO_STRING ? S.charAt(position) : first
|
|
16
|
+
: CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
module.exports = {
|
|
21
|
+
// `String.prototype.codePointAt` method
|
|
22
|
+
// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
|
|
23
|
+
codeAt: createMethod(false),
|
|
24
|
+
// `String.prototype.at` method
|
|
25
|
+
// https://github.com/mathiasbynens/String.prototype.at
|
|
26
|
+
charAt: createMethod(true)
|
|
27
|
+
};
|
package/internals/string-pad.js
CHANGED
|
@@ -3,15 +3,29 @@ var toLength = require('../internals/to-length');
|
|
|
3
3
|
var repeat = require('../internals/string-repeat');
|
|
4
4
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
var ceil = Math.ceil;
|
|
7
|
+
|
|
8
|
+
// `String.prototype.{ padStart, padEnd }` methods implementation
|
|
9
|
+
var createMethod = function (IS_END) {
|
|
10
|
+
return function ($this, maxLength, fillString) {
|
|
11
|
+
var S = String(requireObjectCoercible($this));
|
|
12
|
+
var stringLength = S.length;
|
|
13
|
+
var fillStr = fillString === undefined ? ' ' : String(fillString);
|
|
14
|
+
var intMaxLength = toLength(maxLength);
|
|
15
|
+
var fillLen, stringFiller;
|
|
16
|
+
if (intMaxLength <= stringLength || fillStr == '') return S;
|
|
17
|
+
fillLen = intMaxLength - stringLength;
|
|
18
|
+
stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
|
|
19
|
+
if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
|
|
20
|
+
return IS_END ? S + stringFiller : stringFiller + S;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
module.exports = {
|
|
25
|
+
// `String.prototype.padStart` method
|
|
26
|
+
// https://tc39.github.io/ecma262/#sec-string.prototype.padstart
|
|
27
|
+
start: createMethod(false),
|
|
28
|
+
// `String.prototype.padEnd` method
|
|
29
|
+
// https://tc39.github.io/ecma262/#sec-string.prototype.padend
|
|
30
|
+
end: createMethod(true)
|
|
17
31
|
};
|
package/internals/string-trim.js
CHANGED
|
@@ -5,12 +5,24 @@ var whitespace = '[' + whitespaces + ']';
|
|
|
5
5
|
var ltrim = RegExp('^' + whitespace + whitespace + '*');
|
|
6
6
|
var rtrim = RegExp(whitespace + whitespace + '*$');
|
|
7
7
|
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
|
|
9
|
+
var createMethod = function (TYPE) {
|
|
10
|
+
return function ($this) {
|
|
11
|
+
var string = String(requireObjectCoercible($this));
|
|
12
|
+
if (TYPE & 1) string = string.replace(ltrim, '');
|
|
13
|
+
if (TYPE & 2) string = string.replace(rtrim, '');
|
|
14
|
+
return string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
module.exports = {
|
|
19
|
+
// `String.prototype.{ trimLeft, trimStart }` methods
|
|
20
|
+
// https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
|
|
21
|
+
start: createMethod(1),
|
|
22
|
+
// `String.prototype.{ trimRight, trimEnd }` methods
|
|
23
|
+
// https://tc39.github.io/ecma262/#sec-string.prototype.trimend
|
|
24
|
+
end: createMethod(2),
|
|
25
|
+
// `String.prototype.trim` method
|
|
26
|
+
// https://tc39.github.io/ecma262/#sec-string.prototype.trim
|
|
27
|
+
trim: createMethod(3)
|
|
16
28
|
};
|
package/internals/task.js
CHANGED
|
@@ -4,6 +4,7 @@ var classof = require('../internals/classof-raw');
|
|
|
4
4
|
var bind = require('../internals/bind-context');
|
|
5
5
|
var html = require('../internals/html');
|
|
6
6
|
var createElement = require('../internals/document-create-element');
|
|
7
|
+
var userAgent = require('../internals/user-agent');
|
|
7
8
|
|
|
8
9
|
var location = global.location;
|
|
9
10
|
var set = global.setImmediate;
|
|
@@ -67,7 +68,8 @@ if (!set || !clear) {
|
|
|
67
68
|
Dispatch.now(runner(id));
|
|
68
69
|
};
|
|
69
70
|
// Browsers with MessageChannel, includes WebWorkers
|
|
70
|
-
|
|
71
|
+
// except iOS - https://github.com/zloirock/core-js/issues/624
|
|
72
|
+
} else if (MessageChannel && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {
|
|
71
73
|
channel = new MessageChannel();
|
|
72
74
|
port = channel.port2;
|
|
73
75
|
channel.port1.onmessage = listener;
|
package/internals/to-offset.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var
|
|
1
|
+
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
2
2
|
|
|
3
3
|
module.exports = function (it, BYTES) {
|
|
4
|
-
var offset =
|
|
5
|
-
if (offset
|
|
4
|
+
var offset = toPositiveInteger(it);
|
|
5
|
+
if (offset % BYTES) throw RangeError('Wrong offset');
|
|
6
6
|
return offset;
|
|
7
7
|
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
var isObject = require('../internals/is-object');
|
|
2
2
|
|
|
3
|
-
//
|
|
3
|
+
// `ToPrimitive` abstract operation
|
|
4
|
+
// https://tc39.github.io/ecma262/#sec-toprimitive
|
|
4
5
|
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
|
5
6
|
// and the second argument - flag - preferred type is a string
|
|
6
|
-
module.exports = function (
|
|
7
|
-
if (!isObject(
|
|
7
|
+
module.exports = function (input, PREFERRED_STRING) {
|
|
8
|
+
if (!isObject(input)) return input;
|
|
8
9
|
var fn, val;
|
|
9
|
-
if (
|
|
10
|
-
if (typeof (fn =
|
|
11
|
-
if (!
|
|
10
|
+
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
|
11
|
+
if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
|
|
12
|
+
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
|
12
13
|
throw TypeError("Can't convert object to primitive value");
|
|
13
14
|
};
|
|
@@ -7,7 +7,7 @@ var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
|
7
7
|
var ArrayBufferModule = require('../internals/array-buffer');
|
|
8
8
|
var anInstance = require('../internals/an-instance');
|
|
9
9
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
10
|
-
var
|
|
10
|
+
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
11
11
|
var toLength = require('../internals/to-length');
|
|
12
12
|
var toIndex = require('../internals/to-index');
|
|
13
13
|
var toOffset = require('../internals/to-offset');
|
|
@@ -19,7 +19,7 @@ var create = require('../internals/object-create');
|
|
|
19
19
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
20
20
|
var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
|
|
21
21
|
var typedArrayFrom = require('../internals/typed-array-from');
|
|
22
|
-
var
|
|
22
|
+
var forEach = require('../internals/array-iteration').forEach;
|
|
23
23
|
var setSpecies = require('../internals/set-species');
|
|
24
24
|
var definePropertyModule = require('../internals/object-define-property');
|
|
25
25
|
var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
|
|
@@ -29,7 +29,7 @@ var getInternalState = InternalStateModule.get;
|
|
|
29
29
|
var setInternalState = InternalStateModule.set;
|
|
30
30
|
var nativeDefineProperty = definePropertyModule.f;
|
|
31
31
|
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
|
32
|
-
var
|
|
32
|
+
var round = Math.round;
|
|
33
33
|
var RangeError = global.RangeError;
|
|
34
34
|
var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
|
|
35
35
|
var DataView = ArrayBufferModule.DataView;
|
|
@@ -105,7 +105,6 @@ if (DESCRIPTORS) {
|
|
|
105
105
|
defineProperty: wrappedDefineProperty
|
|
106
106
|
});
|
|
107
107
|
|
|
108
|
-
// eslint-disable-next-line max-statements
|
|
109
108
|
module.exports = function (TYPE, BYTES, wrapper, CLAMPED) {
|
|
110
109
|
var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';
|
|
111
110
|
var GETTER = 'get' + TYPE;
|
|
@@ -122,7 +121,7 @@ if (DESCRIPTORS) {
|
|
|
122
121
|
|
|
123
122
|
var setter = function (that, index, value) {
|
|
124
123
|
var data = getInternalState(that);
|
|
125
|
-
if (CLAMPED) value = (value =
|
|
124
|
+
if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;
|
|
126
125
|
data.view[SETTER](index * BYTES + data.byteOffset, value, true);
|
|
127
126
|
};
|
|
128
127
|
|
|
@@ -179,8 +178,8 @@ if (DESCRIPTORS) {
|
|
|
179
178
|
if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);
|
|
180
179
|
TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);
|
|
181
180
|
} else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {
|
|
182
|
-
TypedArrayConstructor = wrapper(function (
|
|
183
|
-
anInstance(
|
|
181
|
+
TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {
|
|
182
|
+
anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);
|
|
184
183
|
if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));
|
|
185
184
|
if (isArrayBuffer(data)) return $length !== undefined
|
|
186
185
|
? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)
|
|
@@ -193,16 +192,20 @@ if (DESCRIPTORS) {
|
|
|
193
192
|
|
|
194
193
|
if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);
|
|
195
194
|
forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {
|
|
196
|
-
if (!(key in TypedArrayConstructor))
|
|
195
|
+
if (!(key in TypedArrayConstructor)) {
|
|
196
|
+
createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);
|
|
197
|
+
}
|
|
197
198
|
});
|
|
198
199
|
TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;
|
|
199
200
|
}
|
|
200
201
|
|
|
201
202
|
if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {
|
|
202
|
-
|
|
203
|
+
createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);
|
|
203
204
|
}
|
|
204
205
|
|
|
205
|
-
if (TYPED_ARRAY_TAG)
|
|
206
|
+
if (TYPED_ARRAY_TAG) {
|
|
207
|
+
createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);
|
|
208
|
+
}
|
|
206
209
|
|
|
207
210
|
exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;
|
|
208
211
|
|
|
@@ -211,11 +214,11 @@ if (DESCRIPTORS) {
|
|
|
211
214
|
}, exported);
|
|
212
215
|
|
|
213
216
|
if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {
|
|
214
|
-
|
|
217
|
+
createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);
|
|
215
218
|
}
|
|
216
219
|
|
|
217
220
|
if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {
|
|
218
|
-
|
|
221
|
+
createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);
|
|
219
222
|
}
|
|
220
223
|
|
|
221
224
|
setSpecies(CONSTRUCTOR_NAME);
|
|
@@ -11,11 +11,12 @@ module.exports = function from(source /* , mapfn, thisArg */) {
|
|
|
11
11
|
var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
|
|
12
12
|
var mapping = mapfn !== undefined;
|
|
13
13
|
var iteratorMethod = getIteratorMethod(O);
|
|
14
|
-
var i, length, result, step, iterator;
|
|
14
|
+
var i, length, result, step, iterator, next;
|
|
15
15
|
if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {
|
|
16
16
|
iterator = iteratorMethod.call(O);
|
|
17
|
+
next = iterator.next;
|
|
17
18
|
O = [];
|
|
18
|
-
while (!(step =
|
|
19
|
+
while (!(step = next.call(iterator)).done) {
|
|
19
20
|
O.push(step.value);
|
|
20
21
|
}
|
|
21
22
|
}
|