core-js 3.4.8 → 3.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/es/index.js +2 -0
- package/es/regexp/index.js +2 -0
- package/es/regexp/sticky.js +5 -0
- package/es/regexp/test.js +6 -0
- package/es/string/index.js +1 -0
- package/es/string/match.js +1 -0
- package/es/string/replace.js +1 -0
- package/es/string/search.js +1 -0
- package/es/string/split.js +1 -0
- package/es/symbol/async-iterator.js +1 -1
- package/es/symbol/has-instance.js +1 -1
- package/es/symbol/is-concat-spreadable.js +1 -1
- package/es/symbol/iterator.js +1 -1
- package/es/symbol/match-all.js +1 -1
- package/es/symbol/match.js +1 -1
- package/es/symbol/replace.js +1 -1
- package/es/symbol/search.js +1 -1
- package/es/symbol/species.js +1 -1
- package/es/symbol/split.js +1 -1
- package/es/symbol/to-primitive.js +1 -1
- package/es/symbol/to-string-tag.js +1 -1
- package/es/symbol/unscopables.js +1 -1
- package/features/instance/match-all.js +3 -0
- package/features/object/index.js +3 -0
- package/features/object/iterate-entries.js +4 -0
- package/features/object/iterate-keys.js +4 -0
- package/features/object/iterate-values.js +4 -0
- package/features/regexp/sticky.js +3 -0
- package/features/regexp/test.js +3 -0
- package/features/symbol/async-dispose.js +1 -1
- package/features/symbol/dispose.js +1 -1
- package/features/symbol/observable.js +1 -1
- package/features/symbol/pattern-match.js +1 -1
- package/features/symbol/replace-all.js +1 -1
- package/internals/add-to-unscopables.js +5 -2
- package/internals/array-buffer-native.js +1 -0
- package/internals/array-buffer-view-core.js +1 -9
- package/internals/array-buffer.js +13 -3
- package/internals/array-for-each.js +6 -2
- package/internals/array-from.js +7 -8
- package/internals/array-iteration.js +1 -1
- package/internals/array-last-index-of.js +6 -3
- package/internals/array-method-has-species-support.js +1 -1
- package/internals/{sloppy-array-method.js → array-method-is-strict.js} +1 -1
- package/internals/array-method-uses-to-length.js +30 -0
- package/internals/{create-async-iterator-proxy.js → async-iterator-create-proxy.js} +0 -0
- package/internals/collection-from.js +1 -1
- package/internals/collection-strong.js +1 -1
- package/internals/define-well-known-symbol.js +1 -1
- package/internals/descriptors.js +1 -1
- package/internals/{is-ios.js → engine-is-ios.js} +1 -1
- package/internals/{user-agent.js → engine-user-agent.js} +0 -0
- package/internals/{v8-version.js → engine-v8-version.js} +1 -1
- package/internals/entry-unbind.js +1 -1
- package/internals/fix-regexp-well-known-symbol-logic.js +13 -4
- package/internals/flatten-into-array.js +1 -1
- package/internals/{bind-context.js → function-bind-context.js} +0 -0
- package/internals/iterate.js +1 -1
- package/internals/{create-iterator-proxy.js → iterator-create-proxy.js} +0 -0
- package/internals/microtask.js +1 -1
- package/internals/{parse-float.js → number-parse-float.js} +4 -4
- package/internals/{parse-int.js → number-parse-int.js} +4 -4
- package/internals/object-create.js +48 -19
- package/internals/object-iterator.js +37 -0
- package/internals/{forced-object-prototype-accessors-methods.js → object-prototype-accessors-forced.js} +0 -0
- package/internals/regexp-exec.js +37 -4
- package/internals/regexp-sticky-helpers.js +23 -0
- package/internals/shared.js +2 -2
- package/internals/{forced-string-html-method.js → string-html-forced.js} +0 -0
- package/internals/{webkit-string-pad-bug.js → string-pad-webkit-bug.js} +1 -1
- package/internals/{punycode-to-ascii.js → string-punycode-to-ascii.js} +0 -0
- package/internals/{forced-string-trim-method.js → string-trim-forced.js} +0 -0
- package/internals/task.js +2 -2
- package/internals/typed-array-constructor.js +1 -1
- package/internals/{typed-arrays-constructors-requires-wrappers.js → typed-array-constructors-require-wrappers.js} +0 -0
- package/internals/typed-array-from.js +1 -1
- package/internals/use-symbol-as-uid.js +1 -1
- package/internals/{wrapped-well-known-symbol.js → well-known-symbol-wrapped.js} +0 -0
- package/internals/well-known-symbol.js +1 -1
- package/modules/es.array.concat.js +1 -1
- package/modules/es.array.every.js +6 -2
- package/modules/es.array.filter.js +2 -4
- package/modules/es.array.find-index.js +4 -1
- package/modules/es.array.find.js +4 -1
- package/modules/es.array.includes.js +4 -1
- package/modules/es.array.index-of.js +5 -3
- package/modules/es.array.join.js +3 -3
- package/modules/es.array.map.js +2 -4
- package/modules/es.array.reduce-right.js +6 -2
- package/modules/es.array.reduce.js +6 -2
- package/modules/es.array.slice.js +6 -2
- package/modules/es.array.some.js +6 -2
- package/modules/es.array.sort.js +3 -3
- package/modules/es.array.splice.js +5 -1
- package/modules/es.data-view.js +1 -1
- package/modules/es.number.parse-float.js +1 -1
- package/modules/es.number.parse-int.js +1 -1
- package/modules/es.object.define-getter.js +1 -1
- package/modules/es.object.define-setter.js +1 -1
- package/modules/es.object.lookup-getter.js +1 -1
- package/modules/es.object.lookup-setter.js +1 -1
- package/modules/es.parse-float.js +1 -1
- package/modules/es.parse-int.js +1 -1
- package/modules/es.promise.js +1 -1
- package/modules/es.regexp.constructor.js +32 -8
- package/modules/es.regexp.flags.js +2 -1
- package/modules/es.regexp.sticky.js +21 -0
- package/modules/es.regexp.test.js +30 -0
- package/modules/es.string.anchor.js +1 -1
- package/modules/es.string.big.js +1 -1
- package/modules/es.string.blink.js +1 -1
- package/modules/es.string.bold.js +1 -1
- package/modules/es.string.fixed.js +1 -1
- package/modules/es.string.fontcolor.js +1 -1
- package/modules/es.string.fontsize.js +1 -1
- package/modules/es.string.italics.js +1 -1
- package/modules/es.string.link.js +1 -1
- package/modules/es.string.pad-end.js +1 -1
- package/modules/es.string.pad-start.js +1 -1
- package/modules/es.string.replace.js +5 -3
- package/modules/es.string.small.js +1 -1
- package/modules/es.string.strike.js +1 -1
- package/modules/es.string.sub.js +1 -1
- package/modules/es.string.sup.js +1 -1
- package/modules/es.string.trim-end.js +1 -1
- package/modules/es.string.trim-start.js +1 -1
- package/modules/es.string.trim.js +1 -1
- package/modules/es.symbol.js +10 -8
- package/modules/es.typed-array.from.js +1 -1
- package/modules/es.typed-array.of.js +1 -1
- package/modules/esnext.async-iterator.as-indexed-pairs.js +1 -1
- package/modules/esnext.async-iterator.drop.js +1 -1
- package/modules/esnext.async-iterator.filter.js +1 -1
- package/modules/esnext.async-iterator.flat-map.js +1 -1
- package/modules/esnext.async-iterator.from.js +1 -1
- package/modules/esnext.async-iterator.map.js +1 -1
- package/modules/esnext.async-iterator.take.js +1 -1
- package/modules/esnext.iterator.as-indexed-pairs.js +1 -1
- package/modules/esnext.iterator.drop.js +1 -1
- package/modules/esnext.iterator.filter.js +1 -1
- package/modules/esnext.iterator.flat-map.js +1 -1
- package/modules/esnext.iterator.from.js +1 -1
- package/modules/esnext.iterator.map.js +1 -1
- package/modules/esnext.iterator.take.js +1 -1
- package/modules/esnext.map.every.js +1 -1
- package/modules/esnext.map.filter.js +1 -1
- package/modules/esnext.map.find-key.js +1 -1
- package/modules/esnext.map.find.js +1 -1
- package/modules/esnext.map.map-keys.js +1 -1
- package/modules/esnext.map.map-values.js +1 -1
- package/modules/esnext.map.some.js +1 -1
- package/modules/esnext.number.from-string.js +1 -1
- package/modules/esnext.object.iterate-entries.js +11 -0
- package/modules/esnext.object.iterate-keys.js +11 -0
- package/modules/esnext.object.iterate-values.js +11 -0
- package/modules/esnext.set.every.js +1 -1
- package/modules/esnext.set.filter.js +1 -1
- package/modules/esnext.set.find.js +1 -1
- package/modules/esnext.set.map.js +1 -1
- package/modules/esnext.set.some.js +1 -1
- package/modules/web.timers.js +1 -1
- package/modules/web.url-search-params.js +1 -1
- package/modules/web.url.js +1 -1
- package/package.json +1 -1
- package/proposals/object-iteration.js +3 -0
- package/stable/regexp/sticky.js +3 -0
- package/stable/regexp/test.js +3 -0
- package/stage/1.js +1 -0
package/LICENSE
CHANGED
package/es/index.js
CHANGED
|
@@ -105,6 +105,8 @@ require('../modules/es.string.sup');
|
|
|
105
105
|
require('../modules/es.regexp.constructor');
|
|
106
106
|
require('../modules/es.regexp.exec');
|
|
107
107
|
require('../modules/es.regexp.flags');
|
|
108
|
+
require('../modules/es.regexp.sticky');
|
|
109
|
+
require('../modules/es.regexp.test');
|
|
108
110
|
require('../modules/es.regexp.to-string');
|
|
109
111
|
require('../modules/es.parse-int');
|
|
110
112
|
require('../modules/es.parse-float');
|
package/es/regexp/index.js
CHANGED
|
@@ -2,6 +2,8 @@ require('../../modules/es.regexp.constructor');
|
|
|
2
2
|
require('../../modules/es.regexp.to-string');
|
|
3
3
|
require('../../modules/es.regexp.exec');
|
|
4
4
|
require('../../modules/es.regexp.flags');
|
|
5
|
+
require('../../modules/es.regexp.sticky');
|
|
6
|
+
require('../../modules/es.regexp.test');
|
|
5
7
|
require('../../modules/es.string.match');
|
|
6
8
|
require('../../modules/es.string.replace');
|
|
7
9
|
require('../../modules/es.string.search');
|
package/es/string/index.js
CHANGED
package/es/string/match.js
CHANGED
package/es/string/replace.js
CHANGED
package/es/string/search.js
CHANGED
package/es/string/split.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
require('../../modules/es.symbol.async-iterator');
|
|
2
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
2
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
3
3
|
|
|
4
4
|
module.exports = WrappedWellKnownSymbolModule.f('asyncIterator');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('../../modules/es.symbol.has-instance');
|
|
2
2
|
require('../../modules/es.function.has-instance');
|
|
3
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
3
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
4
4
|
|
|
5
5
|
module.exports = WrappedWellKnownSymbolModule.f('hasInstance');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('../../modules/es.symbol.is-concat-spreadable');
|
|
2
2
|
require('../../modules/es.array.concat');
|
|
3
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
3
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
4
4
|
|
|
5
5
|
module.exports = WrappedWellKnownSymbolModule.f('isConcatSpreadable');
|
package/es/symbol/iterator.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require('../../modules/es.symbol.iterator');
|
|
2
2
|
require('../../modules/es.string.iterator');
|
|
3
3
|
require('../../modules/web.dom-collections.iterator');
|
|
4
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
4
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
5
5
|
|
|
6
6
|
module.exports = WrappedWellKnownSymbolModule.f('iterator');
|
package/es/symbol/match-all.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('../../modules/es.symbol.match-all');
|
|
2
2
|
require('../../modules/es.string.match-all');
|
|
3
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
3
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
4
4
|
|
|
5
5
|
module.exports = WrappedWellKnownSymbolModule.f('matchAll');
|
package/es/symbol/match.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('../../modules/es.symbol.match');
|
|
2
2
|
require('../../modules/es.string.match');
|
|
3
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
3
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
4
4
|
|
|
5
5
|
module.exports = WrappedWellKnownSymbolModule.f('match');
|
package/es/symbol/replace.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('../../modules/es.symbol.replace');
|
|
2
2
|
require('../../modules/es.string.replace');
|
|
3
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
3
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
4
4
|
|
|
5
5
|
module.exports = WrappedWellKnownSymbolModule.f('replace');
|
package/es/symbol/search.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('../../modules/es.symbol.search');
|
|
2
2
|
require('../../modules/es.string.search');
|
|
3
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
3
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
4
4
|
|
|
5
5
|
module.exports = WrappedWellKnownSymbolModule.f('search');
|
package/es/symbol/species.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
require('../../modules/es.symbol.species');
|
|
2
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
2
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
3
3
|
|
|
4
4
|
module.exports = WrappedWellKnownSymbolModule.f('species');
|
package/es/symbol/split.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('../../modules/es.symbol.split');
|
|
2
2
|
require('../../modules/es.string.split');
|
|
3
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
3
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
4
4
|
|
|
5
5
|
module.exports = WrappedWellKnownSymbolModule.f('split');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
require('../../modules/es.symbol.to-primitive');
|
|
2
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
2
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
3
3
|
|
|
4
4
|
module.exports = WrappedWellKnownSymbolModule.f('toPrimitive');
|
|
@@ -2,6 +2,6 @@ require('../../modules/es.symbol.to-string-tag');
|
|
|
2
2
|
require('../../modules/es.object.to-string');
|
|
3
3
|
require('../../modules/es.math.to-string-tag');
|
|
4
4
|
require('../../modules/es.json.to-string-tag');
|
|
5
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
5
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
6
6
|
|
|
7
7
|
module.exports = WrappedWellKnownSymbolModule.f('toStringTag');
|
package/es/symbol/unscopables.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
require('../../modules/es.symbol.unscopables');
|
|
2
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
2
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
3
3
|
|
|
4
4
|
module.exports = WrappedWellKnownSymbolModule.f('unscopables');
|
package/features/object/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
require('../../modules/esnext.symbol.async-dispose');
|
|
2
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
2
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
3
3
|
|
|
4
4
|
module.exports = WrappedWellKnownSymbolModule.f('asyncDispose');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
require('../../modules/esnext.symbol.dispose');
|
|
2
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
2
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
3
3
|
|
|
4
4
|
module.exports = WrappedWellKnownSymbolModule.f('dispose');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
require('../../modules/esnext.symbol.observable');
|
|
2
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
2
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
3
3
|
|
|
4
4
|
module.exports = WrappedWellKnownSymbolModule.f('observable');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
require('../../modules/esnext.symbol.pattern-match');
|
|
2
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
2
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
3
3
|
|
|
4
4
|
module.exports = WrappedWellKnownSymbolModule.f('patternMatch');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// TODO: Remove from `core-js@4`
|
|
2
2
|
require('../../modules/esnext.symbol.replace-all');
|
|
3
|
-
var WrappedWellKnownSymbolModule = require('../../internals/
|
|
3
|
+
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
4
4
|
|
|
5
5
|
module.exports = WrappedWellKnownSymbolModule.f('replaceAll');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
2
2
|
var create = require('../internals/object-create');
|
|
3
|
-
var
|
|
3
|
+
var definePropertyModule = require('../internals/object-define-property');
|
|
4
4
|
|
|
5
5
|
var UNSCOPABLES = wellKnownSymbol('unscopables');
|
|
6
6
|
var ArrayPrototype = Array.prototype;
|
|
@@ -8,7 +8,10 @@ var ArrayPrototype = Array.prototype;
|
|
|
8
8
|
// Array.prototype[@@unscopables]
|
|
9
9
|
// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
|
|
10
10
|
if (ArrayPrototype[UNSCOPABLES] == undefined) {
|
|
11
|
-
|
|
11
|
+
definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
|
|
12
|
+
configurable: true,
|
|
13
|
+
value: create(null)
|
|
14
|
+
});
|
|
12
15
|
}
|
|
13
16
|
|
|
14
17
|
// add a key to Array.prototype[@@unscopables]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
|
|
2
3
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
3
4
|
var global = require('../internals/global');
|
|
4
5
|
var isObject = require('../internals/is-object');
|
|
@@ -12,8 +13,6 @@ var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
|
12
13
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
13
14
|
var uid = require('../internals/uid');
|
|
14
15
|
|
|
15
|
-
var DataView = global.DataView;
|
|
16
|
-
var DataViewPrototype = DataView && DataView.prototype;
|
|
17
16
|
var Int8Array = global.Int8Array;
|
|
18
17
|
var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
|
|
19
18
|
var Uint8ClampedArray = global.Uint8ClampedArray;
|
|
@@ -25,7 +24,6 @@ var isPrototypeOf = ObjectPrototype.isPrototypeOf;
|
|
|
25
24
|
|
|
26
25
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
27
26
|
var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
|
|
28
|
-
var NATIVE_ARRAY_BUFFER = !!(global.ArrayBuffer && DataView);
|
|
29
27
|
// Fixing native typed arrays in Opera Presto crashes the browser, see #595
|
|
30
28
|
var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';
|
|
31
29
|
var TYPED_ARRAY_TAG_REQIRED = false;
|
|
@@ -144,13 +142,7 @@ if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {
|
|
|
144
142
|
}
|
|
145
143
|
}
|
|
146
144
|
|
|
147
|
-
// WebKit bug - the same parent prototype for typed arrays and data view
|
|
148
|
-
if (NATIVE_ARRAY_BUFFER && setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {
|
|
149
|
-
setPrototypeOf(DataViewPrototype, ObjectPrototype);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
145
|
module.exports = {
|
|
153
|
-
NATIVE_ARRAY_BUFFER: NATIVE_ARRAY_BUFFER,
|
|
154
146
|
NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
|
|
155
147
|
TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,
|
|
156
148
|
aTypedArray: aTypedArray,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var global = require('../internals/global');
|
|
3
3
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
4
|
-
var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-
|
|
4
|
+
var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
|
|
5
5
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
6
6
|
var redefineAll = require('../internals/redefine-all');
|
|
7
7
|
var fails = require('../internals/fails');
|
|
@@ -10,6 +10,8 @@ var toInteger = require('../internals/to-integer');
|
|
|
10
10
|
var toLength = require('../internals/to-length');
|
|
11
11
|
var toIndex = require('../internals/to-index');
|
|
12
12
|
var IEEE754 = require('../internals/ieee754');
|
|
13
|
+
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
14
|
+
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
13
15
|
var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
|
|
14
16
|
var defineProperty = require('../internals/object-define-property').f;
|
|
15
17
|
var arrayFill = require('../internals/array-fill');
|
|
@@ -26,6 +28,8 @@ var WRONG_INDEX = 'Wrong index';
|
|
|
26
28
|
var NativeArrayBuffer = global[ARRAY_BUFFER];
|
|
27
29
|
var $ArrayBuffer = NativeArrayBuffer;
|
|
28
30
|
var $DataView = global[DATA_VIEW];
|
|
31
|
+
var $DataViewPrototype = $DataView && $DataView[PROTOTYPE];
|
|
32
|
+
var ObjectPrototype = Object.prototype;
|
|
29
33
|
var RangeError = global.RangeError;
|
|
30
34
|
|
|
31
35
|
var packIEEE754 = IEEE754.pack;
|
|
@@ -192,12 +196,18 @@ if (!NATIVE_ARRAY_BUFFER) {
|
|
|
192
196
|
}
|
|
193
197
|
ArrayBufferPrototype.constructor = $ArrayBuffer;
|
|
194
198
|
}
|
|
199
|
+
|
|
200
|
+
// WebKit bug - the same parent prototype for typed arrays and data view
|
|
201
|
+
if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {
|
|
202
|
+
setPrototypeOf($DataViewPrototype, ObjectPrototype);
|
|
203
|
+
}
|
|
204
|
+
|
|
195
205
|
// iOS Safari 7.x bug
|
|
196
206
|
var testView = new $DataView(new $ArrayBuffer(2));
|
|
197
|
-
var nativeSetInt8 = $
|
|
207
|
+
var nativeSetInt8 = $DataViewPrototype.setInt8;
|
|
198
208
|
testView.setInt8(0, 2147483648);
|
|
199
209
|
testView.setInt8(1, 2147483649);
|
|
200
|
-
if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($
|
|
210
|
+
if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {
|
|
201
211
|
setInt8: function setInt8(byteOffset, value) {
|
|
202
212
|
nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
|
|
203
213
|
},
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $forEach = require('../internals/array-iteration').forEach;
|
|
3
|
-
var
|
|
3
|
+
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
4
|
+
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
5
|
+
|
|
6
|
+
var STRICT_METHOD = arrayMethodIsStrict('forEach');
|
|
7
|
+
var USES_TO_LENGTH = arrayMethodUsesToLength('forEach');
|
|
4
8
|
|
|
5
9
|
// `Array.prototype.forEach` method implementation
|
|
6
10
|
// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
|
|
7
|
-
module.exports =
|
|
11
|
+
module.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {
|
|
8
12
|
return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
9
13
|
} : [].forEach;
|
package/internals/array-from.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var bind = require('../internals/bind-context');
|
|
2
|
+
var bind = require('../internals/function-bind-context');
|
|
3
3
|
var toObject = require('../internals/to-object');
|
|
4
4
|
var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
|
|
5
5
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
@@ -15,9 +15,9 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
|
|
|
15
15
|
var argumentsLength = arguments.length;
|
|
16
16
|
var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
|
|
17
17
|
var mapping = mapfn !== undefined;
|
|
18
|
-
var index = 0;
|
|
19
18
|
var iteratorMethod = getIteratorMethod(O);
|
|
20
|
-
var
|
|
19
|
+
var index = 0;
|
|
20
|
+
var length, result, step, iterator, next, value;
|
|
21
21
|
if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
|
|
22
22
|
// if the target is not iterable or it's an array with the default iterator - use a simple case
|
|
23
23
|
if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
|
|
@@ -25,16 +25,15 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
|
|
|
25
25
|
next = iterator.next;
|
|
26
26
|
result = new C();
|
|
27
27
|
for (;!(step = next.call(iterator)).done; index++) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
: step.value
|
|
31
|
-
);
|
|
28
|
+
value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
|
|
29
|
+
createProperty(result, index, value);
|
|
32
30
|
}
|
|
33
31
|
} else {
|
|
34
32
|
length = toLength(O.length);
|
|
35
33
|
result = new C(length);
|
|
36
34
|
for (;length > index; index++) {
|
|
37
|
-
|
|
35
|
+
value = mapping ? mapfn(O[index], index) : O[index];
|
|
36
|
+
createProperty(result, index, value);
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
39
|
result.length = index;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var bind = require('../internals/bind-context');
|
|
1
|
+
var bind = require('../internals/function-bind-context');
|
|
2
2
|
var IndexedObject = require('../internals/indexed-object');
|
|
3
3
|
var toObject = require('../internals/to-object');
|
|
4
4
|
var toLength = require('../internals/to-length');
|
|
@@ -2,16 +2,19 @@
|
|
|
2
2
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
3
3
|
var toInteger = require('../internals/to-integer');
|
|
4
4
|
var toLength = require('../internals/to-length');
|
|
5
|
-
var
|
|
5
|
+
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
6
|
+
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
7
|
|
|
7
8
|
var min = Math.min;
|
|
8
9
|
var nativeLastIndexOf = [].lastIndexOf;
|
|
9
10
|
var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
|
|
10
|
-
var
|
|
11
|
+
var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');
|
|
12
|
+
var USES_TO_LENGTH = arrayMethodUsesToLength('lastIndexOf', { ACCESSORS: true, 1: 2147483647 });
|
|
13
|
+
var FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;
|
|
11
14
|
|
|
12
15
|
// `Array.prototype.lastIndexOf` method implementation
|
|
13
16
|
// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
|
|
14
|
-
module.exports =
|
|
17
|
+
module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
|
|
15
18
|
// convert -0 to +0
|
|
16
19
|
if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;
|
|
17
20
|
var O = toIndexedObject(this);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var fails = require('../internals/fails');
|
|
2
2
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
3
|
-
var V8_VERSION = require('../internals/v8-version');
|
|
3
|
+
var V8_VERSION = require('../internals/engine-v8-version');
|
|
4
4
|
|
|
5
5
|
var SPECIES = wellKnownSymbol('species');
|
|
6
6
|
|
|
@@ -3,7 +3,7 @@ var fails = require('../internals/fails');
|
|
|
3
3
|
|
|
4
4
|
module.exports = function (METHOD_NAME, argument) {
|
|
5
5
|
var method = [][METHOD_NAME];
|
|
6
|
-
return
|
|
6
|
+
return !!method && fails(function () {
|
|
7
7
|
// eslint-disable-next-line no-useless-call,no-throw-literal
|
|
8
8
|
method.call(null, argument || function () { throw 1; }, 1);
|
|
9
9
|
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var DESCRIPTORS = require('../internals/descriptors');
|
|
2
|
+
var fails = require('../internals/fails');
|
|
3
|
+
var has = require('../internals/has');
|
|
4
|
+
|
|
5
|
+
var defineProperty = Object.defineProperty;
|
|
6
|
+
|
|
7
|
+
var thrower = function (it) { throw it; };
|
|
8
|
+
|
|
9
|
+
module.exports = function (METHOD_NAME, options) {
|
|
10
|
+
if (!options) options = {};
|
|
11
|
+
var method = [][METHOD_NAME];
|
|
12
|
+
var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
|
|
13
|
+
var argument0 = has(options, 0) ? options[0] : thrower;
|
|
14
|
+
var argument1 = has(options, 1) ? options[1] : undefined;
|
|
15
|
+
|
|
16
|
+
return !!method && !fails(function () {
|
|
17
|
+
if (ACCESSORS && !DESCRIPTORS) return true;
|
|
18
|
+
var O = { length: -1 };
|
|
19
|
+
|
|
20
|
+
var addTrap = function (key) {
|
|
21
|
+
if (ACCESSORS) defineProperty(O, key, { enumerable: true, get: thrower });
|
|
22
|
+
else O[key] = 1;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
addTrap(1);
|
|
26
|
+
addTrap(2147483646);
|
|
27
|
+
addTrap(4294967294);
|
|
28
|
+
method.call(O, argument0, argument1);
|
|
29
|
+
});
|
|
30
|
+
};
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://tc39.github.io/proposal-setmap-offrom/
|
|
3
3
|
var aFunction = require('../internals/a-function');
|
|
4
|
-
var bind = require('../internals/bind-context');
|
|
4
|
+
var bind = require('../internals/function-bind-context');
|
|
5
5
|
var iterate = require('../internals/iterate');
|
|
6
6
|
|
|
7
7
|
module.exports = function from(source /* , mapFn, thisArg */) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var defineProperty = require('../internals/object-define-property').f;
|
|
3
3
|
var create = require('../internals/object-create');
|
|
4
4
|
var redefineAll = require('../internals/redefine-all');
|
|
5
|
-
var bind = require('../internals/bind-context');
|
|
5
|
+
var bind = require('../internals/function-bind-context');
|
|
6
6
|
var anInstance = require('../internals/an-instance');
|
|
7
7
|
var iterate = require('../internals/iterate');
|
|
8
8
|
var defineIterator = require('../internals/define-iterator');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var path = require('../internals/path');
|
|
2
2
|
var has = require('../internals/has');
|
|
3
|
-
var wrappedWellKnownSymbolModule = require('../internals/
|
|
3
|
+
var wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');
|
|
4
4
|
var defineProperty = require('../internals/object-define-property').f;
|
|
5
5
|
|
|
6
6
|
module.exports = function (NAME) {
|
package/internals/descriptors.js
CHANGED
|
@@ -2,5 +2,5 @@ var fails = require('../internals/fails');
|
|
|
2
2
|
|
|
3
3
|
// Thank's IE8 for his funny defineProperty
|
|
4
4
|
module.exports = !fails(function () {
|
|
5
|
-
return Object.defineProperty({},
|
|
5
|
+
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
|
|
6
6
|
});
|
|
File without changes
|