core-js 3.6.0 → 3.6.4
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/regexp/test.js +1 -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/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/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 +7 -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 +27 -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 +20 -2
- 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/{forced-object-prototype-accessors-methods.js → object-prototype-accessors-forced.js} +0 -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 +7 -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.test.js +2 -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 +8 -1
- 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.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/LICENSE
CHANGED
package/es/regexp/test.js
CHANGED
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');
|
|
@@ -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');
|
|
@@ -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,20 @@
|
|
|
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
|
+
// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
|
|
13
|
+
var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
|
|
14
|
+
var FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;
|
|
11
15
|
|
|
12
16
|
// `Array.prototype.lastIndexOf` method implementation
|
|
13
17
|
// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
|
|
14
|
-
module.exports =
|
|
18
|
+
module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
|
|
15
19
|
// convert -0 to +0
|
|
16
20
|
if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;
|
|
17
21
|
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,27 @@
|
|
|
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
|
+
var cache = {};
|
|
7
|
+
|
|
8
|
+
var thrower = function (it) { throw it; };
|
|
9
|
+
|
|
10
|
+
module.exports = function (METHOD_NAME, options) {
|
|
11
|
+
if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];
|
|
12
|
+
if (!options) options = {};
|
|
13
|
+
var method = [][METHOD_NAME];
|
|
14
|
+
var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
|
|
15
|
+
var argument0 = has(options, 0) ? options[0] : thrower;
|
|
16
|
+
var argument1 = has(options, 1) ? options[1] : undefined;
|
|
17
|
+
|
|
18
|
+
return cache[METHOD_NAME] = !!method && !fails(function () {
|
|
19
|
+
if (ACCESSORS && !DESCRIPTORS) return true;
|
|
20
|
+
var O = { length: -1 };
|
|
21
|
+
|
|
22
|
+
if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });
|
|
23
|
+
else O[1] = 1;
|
|
24
|
+
|
|
25
|
+
method.call(O, argument0, argument1);
|
|
26
|
+
});
|
|
27
|
+
};
|
|
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
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
// TODO: Remove from `core-js@4` since it's moved to entry points
|
|
3
|
+
require('../modules/es.regexp.exec');
|
|
2
4
|
var redefine = require('../internals/redefine');
|
|
3
5
|
var fails = require('../internals/fails');
|
|
4
6
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
@@ -26,6 +28,15 @@ var REPLACE_KEEPS_$0 = (function () {
|
|
|
26
28
|
return 'a'.replace(/./, '$0') === '$0';
|
|
27
29
|
})();
|
|
28
30
|
|
|
31
|
+
var REPLACE = wellKnownSymbol('replace');
|
|
32
|
+
// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
|
|
33
|
+
var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
|
|
34
|
+
if (/./[REPLACE]) {
|
|
35
|
+
return /./[REPLACE]('a', '$0') === '';
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
})();
|
|
39
|
+
|
|
29
40
|
// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
|
|
30
41
|
// Weex JS has frozen built-in prototypes, so use try / catch wrapper
|
|
31
42
|
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
|
|
@@ -73,7 +84,11 @@ module.exports = function (KEY, length, exec, sham) {
|
|
|
73
84
|
if (
|
|
74
85
|
!DELEGATES_TO_SYMBOL ||
|
|
75
86
|
!DELEGATES_TO_EXEC ||
|
|
76
|
-
(KEY === 'replace' && !(
|
|
87
|
+
(KEY === 'replace' && !(
|
|
88
|
+
REPLACE_SUPPORTS_NAMED_GROUPS &&
|
|
89
|
+
REPLACE_KEEPS_$0 &&
|
|
90
|
+
!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
|
|
91
|
+
)) ||
|
|
77
92
|
(KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
|
|
78
93
|
) {
|
|
79
94
|
var nativeRegExpMethod = /./[SYMBOL];
|
|
@@ -88,7 +103,10 @@ module.exports = function (KEY, length, exec, sham) {
|
|
|
88
103
|
return { done: true, value: nativeMethod.call(str, regexp, arg2) };
|
|
89
104
|
}
|
|
90
105
|
return { done: false };
|
|
91
|
-
}, {
|
|
106
|
+
}, {
|
|
107
|
+
REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
|
|
108
|
+
REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
|
|
109
|
+
});
|
|
92
110
|
var stringMethod = methods[0];
|
|
93
111
|
var regexMethod = methods[1];
|
|
94
112
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var isArray = require('../internals/is-array');
|
|
3
3
|
var toLength = require('../internals/to-length');
|
|
4
|
-
var bind = require('../internals/bind-context');
|
|
4
|
+
var bind = require('../internals/function-bind-context');
|
|
5
5
|
|
|
6
6
|
// `FlattenIntoArray` abstract operation
|
|
7
7
|
// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
|
|
File without changes
|
package/internals/iterate.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var anObject = require('../internals/an-object');
|
|
2
2
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
3
3
|
var toLength = require('../internals/to-length');
|
|
4
|
-
var bind = require('../internals/bind-context');
|
|
4
|
+
var bind = require('../internals/function-bind-context');
|
|
5
5
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
6
6
|
var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
|
|
7
7
|
|
|
File without changes
|
package/internals/microtask.js
CHANGED
|
@@ -2,7 +2,7 @@ var global = require('../internals/global');
|
|
|
2
2
|
var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
|
|
3
3
|
var classof = require('../internals/classof-raw');
|
|
4
4
|
var macrotask = require('../internals/task').set;
|
|
5
|
-
var IS_IOS = require('../internals/is-ios');
|
|
5
|
+
var IS_IOS = require('../internals/engine-is-ios');
|
|
6
6
|
|
|
7
7
|
var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
|
|
8
8
|
var process = global.process;
|
|
@@ -2,13 +2,13 @@ var global = require('../internals/global');
|
|
|
2
2
|
var trim = require('../internals/string-trim').trim;
|
|
3
3
|
var whitespaces = require('../internals/whitespaces');
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var FORCED = 1 /
|
|
5
|
+
var $parseFloat = global.parseFloat;
|
|
6
|
+
var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;
|
|
7
7
|
|
|
8
8
|
// `parseFloat` method
|
|
9
9
|
// https://tc39.github.io/ecma262/#sec-parsefloat-string
|
|
10
10
|
module.exports = FORCED ? function parseFloat(string) {
|
|
11
11
|
var trimmedString = trim(String(string));
|
|
12
|
-
var result =
|
|
12
|
+
var result = $parseFloat(trimmedString);
|
|
13
13
|
return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
|
|
14
|
-
} :
|
|
14
|
+
} : $parseFloat;
|
|
@@ -2,13 +2,13 @@ var global = require('../internals/global');
|
|
|
2
2
|
var trim = require('../internals/string-trim').trim;
|
|
3
3
|
var whitespaces = require('../internals/whitespaces');
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var $parseInt = global.parseInt;
|
|
6
6
|
var hex = /^[+-]?0[Xx]/;
|
|
7
|
-
var FORCED =
|
|
7
|
+
var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;
|
|
8
8
|
|
|
9
9
|
// `parseInt` method
|
|
10
10
|
// https://tc39.github.io/ecma262/#sec-parseint-string-radix
|
|
11
11
|
module.exports = FORCED ? function parseInt(string, radix) {
|
|
12
12
|
var S = trim(String(string));
|
|
13
|
-
return
|
|
14
|
-
} :
|
|
13
|
+
return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
|
|
14
|
+
} : $parseInt;
|
|
File without changes
|
package/internals/shared.js
CHANGED
|
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
|
|
|
4
4
|
(module.exports = function (key, value) {
|
|
5
5
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
6
6
|
})('versions', []).push({
|
|
7
|
-
version: '3.6.
|
|
7
|
+
version: '3.6.4',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
|
-
copyright: '©
|
|
9
|
+
copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
|
|
10
10
|
});
|
|
File without changes
|