core-js 3.1.3 → 3.1.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/internals/a-possible-prototype.js +7 -0
- package/internals/advance-string-index.js +2 -2
- package/internals/array-buffer-view-core.js +1 -1
- package/internals/array-buffer.js +12 -12
- package/internals/array-copy-within.js +3 -1
- package/internals/array-for-each.js +3 -6
- package/internals/array-from.js +1 -1
- 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/collection-from.js +3 -2
- package/internals/collection-weak.js +5 -5
- package/internals/collection.js +3 -3
- package/internals/composite-key.js +1 -0
- package/internals/date-to-iso-string.js +12 -14
- package/internals/document-create-element.js +2 -2
- package/internals/function-bind.js +3 -3
- package/internals/html.js +2 -4
- package/internals/indexed-object.js +1 -1
- package/internals/inherit-if-required.js +13 -6
- package/internals/iterate.js +18 -10
- package/internals/math-expm1.js +2 -1
- package/internals/math-fround.js +2 -1
- package/internals/math-log1p.js +3 -1
- 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/reflect-metadata.js +1 -0
- package/internals/regexp-flags.js +1 -0
- package/internals/set-species.js +8 -5
- package/internals/string-multibyte.js +27 -0
- package/internals/string-pad.js +25 -11
- package/internals/string-trim.js +20 -8
- package/internals/to-primitive.js +7 -6
- package/internals/typed-array-constructor.js +5 -5
- 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.map.js +1 -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.js +6 -5
- 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.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 +93 -85
- 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.global-this.js +3 -1
- 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 +5 -5
- package/modules/esnext.map.some.js +4 -5
- package/modules/esnext.map.update.js +3 -2
- package/modules/esnext.observable.js +25 -24
- 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 +5 -4
- 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.replace-all.js +4 -4
- package/modules/web.immediate.js +5 -0
- package/modules/web.timers.js +12 -7
- package/modules/web.url-search-params.js +45 -36
- package/modules/web.url.js +45 -43
- package/package.json +1 -1
- 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
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var toLength = require('../internals/to-length');
|
|
4
|
-
var
|
|
4
|
+
var notARegExp = require('../internals/not-a-regexp');
|
|
5
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
6
|
var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');
|
|
6
7
|
|
|
7
|
-
var
|
|
8
|
-
var nativeEndsWith = ''[ENDS_WITH];
|
|
8
|
+
var nativeEndsWith = ''.endsWith;
|
|
9
9
|
var min = Math.min;
|
|
10
10
|
|
|
11
11
|
// `String.prototype.endsWith` method
|
|
12
12
|
// https://tc39.github.io/ecma262/#sec-string.prototype.endswith
|
|
13
|
-
$({ target: 'String', proto: true, forced: !correctIsRegExpLogic(
|
|
13
|
+
$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('endsWith') }, {
|
|
14
14
|
endsWith: function endsWith(searchString /* , endPosition = @length */) {
|
|
15
|
-
var that =
|
|
15
|
+
var that = String(requireObjectCoercible(this));
|
|
16
|
+
notARegExp(searchString);
|
|
16
17
|
var endPosition = arguments.length > 1 ? arguments[1] : undefined;
|
|
17
18
|
var len = toLength(that.length);
|
|
18
19
|
var end = endPosition === undefined ? len : min(toLength(endPosition), len);
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var notARegExp = require('../internals/not-a-regexp');
|
|
4
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
4
5
|
var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');
|
|
5
6
|
|
|
6
7
|
// `String.prototype.includes` method
|
|
7
8
|
// https://tc39.github.io/ecma262/#sec-string.prototype.includes
|
|
8
9
|
$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
|
|
9
10
|
includes: function includes(searchString /* , position = 0 */) {
|
|
10
|
-
return !!~
|
|
11
|
-
.indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
|
|
11
|
+
return !!~String(requireObjectCoercible(this))
|
|
12
|
+
.indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
|
|
12
13
|
}
|
|
13
14
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var charAt = require('../internals/string-multibyte').charAt;
|
|
3
3
|
var InternalStateModule = require('../internals/internal-state');
|
|
4
4
|
var defineIterator = require('../internals/define-iterator');
|
|
5
5
|
|
|
@@ -23,7 +23,7 @@ defineIterator(String, 'String', function (iterated) {
|
|
|
23
23
|
var index = state.index;
|
|
24
24
|
var point;
|
|
25
25
|
if (index >= string.length) return { value: undefined, done: true };
|
|
26
|
-
point =
|
|
26
|
+
point = charAt(string, index);
|
|
27
27
|
state.index += point.length;
|
|
28
28
|
return { value: point, done: false };
|
|
29
29
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var $padEnd = require('../internals/string-pad').end;
|
|
4
4
|
var WEBKIT_BUG = require('../internals/webkit-string-pad-bug');
|
|
5
5
|
|
|
6
6
|
// `String.prototype.padEnd` method
|
|
7
7
|
// https://tc39.github.io/ecma262/#sec-string.prototype.padend
|
|
8
8
|
$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
|
|
9
9
|
padEnd: function padEnd(maxLength /* , fillString = ' ' */) {
|
|
10
|
-
return
|
|
10
|
+
return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
|
|
11
11
|
}
|
|
12
12
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var $padStart = require('../internals/string-pad').start;
|
|
4
4
|
var WEBKIT_BUG = require('../internals/webkit-string-pad-bug');
|
|
5
5
|
|
|
6
6
|
// `String.prototype.padStart` method
|
|
7
7
|
// https://tc39.github.io/ecma262/#sec-string.prototype.padstart
|
|
8
8
|
$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
|
|
9
9
|
padStart: function padStart(maxLength /* , fillString = ' ' */) {
|
|
10
|
-
return
|
|
10
|
+
return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
|
|
11
11
|
}
|
|
12
12
|
});
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var toLength = require('../internals/to-length');
|
|
4
|
-
var
|
|
4
|
+
var notARegExp = require('../internals/not-a-regexp');
|
|
5
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
6
|
var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');
|
|
6
7
|
|
|
7
|
-
var
|
|
8
|
-
var
|
|
8
|
+
var nativeStartsWith = ''.startsWith;
|
|
9
|
+
var min = Math.min;
|
|
9
10
|
|
|
10
11
|
// `String.prototype.startsWith` method
|
|
11
12
|
// https://tc39.github.io/ecma262/#sec-string.prototype.startswith
|
|
12
|
-
$({ target: 'String', proto: true, forced: !correctIsRegExpLogic(
|
|
13
|
+
$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('startsWith') }, {
|
|
13
14
|
startsWith: function startsWith(searchString /* , position = 0 */) {
|
|
14
|
-
var that =
|
|
15
|
-
|
|
15
|
+
var that = String(requireObjectCoercible(this));
|
|
16
|
+
notARegExp(searchString);
|
|
17
|
+
var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
|
|
16
18
|
var search = String(searchString);
|
|
17
19
|
return nativeStartsWith
|
|
18
20
|
? nativeStartsWith.call(that, search, index)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var $trimEnd = require('../internals/string-trim').end;
|
|
4
4
|
var forcedStringTrimMethod = require('../internals/forced-string-trim-method');
|
|
5
5
|
|
|
6
6
|
var FORCED = forcedStringTrimMethod('trimEnd');
|
|
7
7
|
|
|
8
8
|
var trimEnd = FORCED ? function trimEnd() {
|
|
9
|
-
return
|
|
9
|
+
return $trimEnd(this);
|
|
10
10
|
} : ''.trimEnd;
|
|
11
11
|
|
|
12
12
|
// `String.prototype.{ trimEnd, trimRight }` methods
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var $trimStart = require('../internals/string-trim').start;
|
|
4
4
|
var forcedStringTrimMethod = require('../internals/forced-string-trim-method');
|
|
5
5
|
|
|
6
6
|
var FORCED = forcedStringTrimMethod('trimStart');
|
|
7
7
|
|
|
8
8
|
var trimStart = FORCED ? function trimStart() {
|
|
9
|
-
return
|
|
9
|
+
return $trimStart(this);
|
|
10
10
|
} : ''.trimStart;
|
|
11
11
|
|
|
12
12
|
// `String.prototype.{ trimStart, trimLeft }` methods
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var $trim = require('../internals/string-trim').trim;
|
|
4
4
|
var forcedStringTrimMethod = require('../internals/forced-string-trim-method');
|
|
5
5
|
|
|
6
|
-
var FORCED = forcedStringTrimMethod('trim');
|
|
7
|
-
|
|
8
6
|
// `String.prototype.trim` method
|
|
9
7
|
// https://tc39.github.io/ecma262/#sec-string.prototype.trim
|
|
10
|
-
$({ target: 'String', proto: true, forced:
|
|
8
|
+
$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
|
|
11
9
|
trim: function trim() {
|
|
12
|
-
return
|
|
10
|
+
return $trim(this);
|
|
13
11
|
}
|
|
14
12
|
});
|
package/modules/es.symbol.js
CHANGED
|
@@ -1,57 +1,58 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var global = require('../internals/global');
|
|
4
|
-
var has = require('../internals/has');
|
|
5
|
-
var NATIVE_SYMBOL = require('../internals/native-symbol');
|
|
6
|
-
var DESCRIPTORS = require('../internals/descriptors');
|
|
7
4
|
var IS_PURE = require('../internals/is-pure');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
5
|
+
var DESCRIPTORS = require('../internals/descriptors');
|
|
6
|
+
var NATIVE_SYMBOL = require('../internals/native-symbol');
|
|
10
7
|
var fails = require('../internals/fails');
|
|
11
|
-
var
|
|
12
|
-
var setToStringTag = require('../internals/set-to-string-tag');
|
|
13
|
-
var uid = require('../internals/uid');
|
|
14
|
-
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
15
|
-
var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');
|
|
16
|
-
var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
|
|
17
|
-
var enumKeys = require('../internals/enum-keys');
|
|
8
|
+
var has = require('../internals/has');
|
|
18
9
|
var isArray = require('../internals/is-array');
|
|
19
|
-
var anObject = require('../internals/an-object');
|
|
20
10
|
var isObject = require('../internals/is-object');
|
|
11
|
+
var anObject = require('../internals/an-object');
|
|
21
12
|
var toObject = require('../internals/to-object');
|
|
22
13
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
23
14
|
var toPrimitive = require('../internals/to-primitive');
|
|
24
15
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
25
16
|
var nativeObjectCreate = require('../internals/object-create');
|
|
17
|
+
var objectKeys = require('../internals/object-keys');
|
|
26
18
|
var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
|
|
27
19
|
var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');
|
|
20
|
+
var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
|
|
28
21
|
var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
|
|
29
22
|
var definePropertyModule = require('../internals/object-define-property');
|
|
30
23
|
var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
|
|
31
24
|
var hide = require('../internals/hide');
|
|
32
|
-
var
|
|
33
|
-
var
|
|
25
|
+
var redefine = require('../internals/redefine');
|
|
26
|
+
var shared = require('../internals/shared');
|
|
34
27
|
var sharedKey = require('../internals/shared-key');
|
|
28
|
+
var hiddenKeys = require('../internals/hidden-keys');
|
|
29
|
+
var uid = require('../internals/uid');
|
|
30
|
+
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
31
|
+
var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');
|
|
32
|
+
var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
|
|
33
|
+
var setToStringTag = require('../internals/set-to-string-tag');
|
|
35
34
|
var InternalStateModule = require('../internals/internal-state');
|
|
35
|
+
var $forEach = require('../internals/array-iteration').forEach;
|
|
36
36
|
|
|
37
37
|
var HIDDEN = sharedKey('hidden');
|
|
38
38
|
var SYMBOL = 'Symbol';
|
|
39
|
+
var PROTOTYPE = 'prototype';
|
|
40
|
+
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
|
39
41
|
var setInternalState = InternalStateModule.set;
|
|
40
42
|
var getInternalState = InternalStateModule.getterFor(SYMBOL);
|
|
41
|
-
var
|
|
42
|
-
var nativeDefineProperty = definePropertyModule.f;
|
|
43
|
-
var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
|
|
43
|
+
var ObjectPrototype = Object[PROTOTYPE];
|
|
44
44
|
var $Symbol = global.Symbol;
|
|
45
45
|
var JSON = global.JSON;
|
|
46
46
|
var nativeJSONStringify = JSON && JSON.stringify;
|
|
47
|
-
var
|
|
48
|
-
var
|
|
47
|
+
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
|
48
|
+
var nativeDefineProperty = definePropertyModule.f;
|
|
49
|
+
var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
|
|
49
50
|
var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
|
|
50
|
-
var SymbolRegistry = shared('symbol-registry');
|
|
51
51
|
var AllSymbols = shared('symbols');
|
|
52
52
|
var ObjectPrototypeSymbols = shared('op-symbols');
|
|
53
|
+
var StringToSymbolRegistry = shared('string-to-symbol-registry');
|
|
54
|
+
var SymbolToStringRegistry = shared('symbol-to-string-registry');
|
|
53
55
|
var WellKnownSymbolsStore = shared('wks');
|
|
54
|
-
var ObjectPrototype = Object[PROTOTYPE];
|
|
55
56
|
var QObject = global.QObject;
|
|
56
57
|
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
|
|
57
58
|
var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
|
|
@@ -61,12 +62,12 @@ var setSymbolDescriptor = DESCRIPTORS && fails(function () {
|
|
|
61
62
|
return nativeObjectCreate(nativeDefineProperty({}, 'a', {
|
|
62
63
|
get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
|
|
63
64
|
})).a != 7;
|
|
64
|
-
}) ? function (
|
|
65
|
-
var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype,
|
|
66
|
-
if (ObjectPrototypeDescriptor) delete ObjectPrototype[
|
|
67
|
-
nativeDefineProperty(
|
|
68
|
-
if (ObjectPrototypeDescriptor &&
|
|
69
|
-
nativeDefineProperty(ObjectPrototype,
|
|
65
|
+
}) ? function (O, P, Attributes) {
|
|
66
|
+
var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
|
|
67
|
+
if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
|
|
68
|
+
nativeDefineProperty(O, P, Attributes);
|
|
69
|
+
if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
|
|
70
|
+
nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
|
|
70
71
|
}
|
|
71
72
|
} : nativeDefineProperty;
|
|
72
73
|
|
|
@@ -87,70 +88,73 @@ var isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (
|
|
|
87
88
|
return Object(it) instanceof $Symbol;
|
|
88
89
|
};
|
|
89
90
|
|
|
90
|
-
var $defineProperty = function defineProperty(
|
|
91
|
-
if (
|
|
92
|
-
anObject(
|
|
93
|
-
key = toPrimitive(
|
|
94
|
-
anObject(
|
|
91
|
+
var $defineProperty = function defineProperty(O, P, Attributes) {
|
|
92
|
+
if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
|
|
93
|
+
anObject(O);
|
|
94
|
+
var key = toPrimitive(P, true);
|
|
95
|
+
anObject(Attributes);
|
|
95
96
|
if (has(AllSymbols, key)) {
|
|
96
|
-
if (!
|
|
97
|
-
if (!has(
|
|
98
|
-
|
|
97
|
+
if (!Attributes.enumerable) {
|
|
98
|
+
if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
|
|
99
|
+
O[HIDDEN][key] = true;
|
|
99
100
|
} else {
|
|
100
|
-
if (has(
|
|
101
|
-
|
|
102
|
-
} return setSymbolDescriptor(
|
|
103
|
-
} return nativeDefineProperty(
|
|
101
|
+
if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
|
|
102
|
+
Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
|
|
103
|
+
} return setSymbolDescriptor(O, key, Attributes);
|
|
104
|
+
} return nativeDefineProperty(O, key, Attributes);
|
|
104
105
|
};
|
|
105
106
|
|
|
106
|
-
var $defineProperties = function defineProperties(
|
|
107
|
-
anObject(
|
|
108
|
-
var
|
|
109
|
-
var
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return
|
|
107
|
+
var $defineProperties = function defineProperties(O, Properties) {
|
|
108
|
+
anObject(O);
|
|
109
|
+
var properties = toIndexedObject(Properties);
|
|
110
|
+
var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
|
|
111
|
+
$forEach(keys, function (key) {
|
|
112
|
+
if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
|
|
113
|
+
});
|
|
114
|
+
return O;
|
|
114
115
|
};
|
|
115
116
|
|
|
116
|
-
var $create = function create(
|
|
117
|
-
return
|
|
117
|
+
var $create = function create(O, Properties) {
|
|
118
|
+
return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
|
|
118
119
|
};
|
|
119
120
|
|
|
120
|
-
var $propertyIsEnumerable = function propertyIsEnumerable(
|
|
121
|
-
var
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
var $propertyIsEnumerable = function propertyIsEnumerable(V) {
|
|
122
|
+
var P = toPrimitive(V, true);
|
|
123
|
+
var enumerable = nativePropertyIsEnumerable.call(this, P);
|
|
124
|
+
if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
|
|
125
|
+
return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
|
|
124
126
|
};
|
|
125
127
|
|
|
126
|
-
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(
|
|
127
|
-
it = toIndexedObject(
|
|
128
|
-
key = toPrimitive(
|
|
128
|
+
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
|
|
129
|
+
var it = toIndexedObject(O);
|
|
130
|
+
var key = toPrimitive(P, true);
|
|
129
131
|
if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
|
|
130
|
-
var
|
|
131
|
-
if (
|
|
132
|
-
|
|
132
|
+
var descriptor = nativeGetOwnPropertyDescriptor(it, key);
|
|
133
|
+
if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
|
|
134
|
+
descriptor.enumerable = true;
|
|
135
|
+
}
|
|
136
|
+
return descriptor;
|
|
133
137
|
};
|
|
134
138
|
|
|
135
|
-
var $getOwnPropertyNames = function getOwnPropertyNames(
|
|
136
|
-
var names = nativeGetOwnPropertyNames(toIndexedObject(
|
|
139
|
+
var $getOwnPropertyNames = function getOwnPropertyNames(O) {
|
|
140
|
+
var names = nativeGetOwnPropertyNames(toIndexedObject(O));
|
|
137
141
|
var result = [];
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
} return result;
|
|
142
|
+
$forEach(names, function (key) {
|
|
143
|
+
if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
|
|
144
|
+
});
|
|
145
|
+
return result;
|
|
143
146
|
};
|
|
144
147
|
|
|
145
|
-
var $getOwnPropertySymbols = function getOwnPropertySymbols(
|
|
146
|
-
var
|
|
147
|
-
var names = nativeGetOwnPropertyNames(
|
|
148
|
+
var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
|
|
149
|
+
var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
|
|
150
|
+
var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
|
|
148
151
|
var result = [];
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
152
|
+
$forEach(names, function (key) {
|
|
153
|
+
if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
|
|
154
|
+
result.push(AllSymbols[key]);
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
return result;
|
|
154
158
|
};
|
|
155
159
|
|
|
156
160
|
// `Symbol` constructor
|
|
@@ -158,7 +162,7 @@ var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
|
|
|
158
162
|
if (!NATIVE_SYMBOL) {
|
|
159
163
|
$Symbol = function Symbol() {
|
|
160
164
|
if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
|
|
161
|
-
var description = arguments[0] === undefined ? undefined : String(arguments[0]);
|
|
165
|
+
var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
|
|
162
166
|
var tag = uid(description);
|
|
163
167
|
var setter = function (value) {
|
|
164
168
|
if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
|
|
@@ -168,6 +172,7 @@ if (!NATIVE_SYMBOL) {
|
|
|
168
172
|
if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
|
|
169
173
|
return wrap(tag, description);
|
|
170
174
|
};
|
|
175
|
+
|
|
171
176
|
redefine($Symbol[PROTOTYPE], 'toString', function toString() {
|
|
172
177
|
return getInternalState(this).tag;
|
|
173
178
|
});
|
|
@@ -200,23 +205,26 @@ $({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
|
|
|
200
205
|
Symbol: $Symbol
|
|
201
206
|
});
|
|
202
207
|
|
|
203
|
-
|
|
204
|
-
defineWellKnownSymbol(
|
|
205
|
-
}
|
|
208
|
+
$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
|
|
209
|
+
defineWellKnownSymbol(name);
|
|
210
|
+
});
|
|
206
211
|
|
|
207
212
|
$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
|
|
208
213
|
// `Symbol.for` method
|
|
209
214
|
// https://tc39.github.io/ecma262/#sec-symbol.for
|
|
210
215
|
'for': function (key) {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
216
|
+
var string = String(key);
|
|
217
|
+
if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
|
|
218
|
+
var symbol = $Symbol(string);
|
|
219
|
+
StringToSymbolRegistry[string] = symbol;
|
|
220
|
+
SymbolToStringRegistry[symbol] = string;
|
|
221
|
+
return symbol;
|
|
214
222
|
},
|
|
215
223
|
// `Symbol.keyFor` method
|
|
216
224
|
// https://tc39.github.io/ecma262/#sec-symbol.keyfor
|
|
217
225
|
keyFor: function keyFor(sym) {
|
|
218
226
|
if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
|
|
219
|
-
|
|
227
|
+
if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
|
|
220
228
|
},
|
|
221
229
|
useSetter: function () { USE_SETTER = true; },
|
|
222
230
|
useSimple: function () { USE_SETTER = false; }
|
|
@@ -267,9 +275,9 @@ JSON && $({ target: 'JSON', stat: true, forced: !NATIVE_SYMBOL || fails(function
|
|
|
267
275
|
}) }, {
|
|
268
276
|
stringify: function stringify(it) {
|
|
269
277
|
var args = [it];
|
|
270
|
-
var
|
|
278
|
+
var index = 1;
|
|
271
279
|
var replacer, $replacer;
|
|
272
|
-
while (arguments.length >
|
|
280
|
+
while (arguments.length > index) args.push(arguments[index++]);
|
|
273
281
|
$replacer = replacer = args[1];
|
|
274
282
|
if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
|
|
275
283
|
if (!isArray(replacer)) replacer = function (key, value) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var arrayCopyWithin = require('../internals/array-copy-within');
|
|
3
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
+
var $copyWithin = require('../internals/array-copy-within');
|
|
4
4
|
|
|
5
5
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
6
6
|
|
|
7
7
|
// `%TypedArray%.prototype.copyWithin` method
|
|
8
8
|
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin
|
|
9
9
|
ArrayBufferViewCore.exportProto('copyWithin', function copyWithin(target, start /* , end */) {
|
|
10
|
-
return
|
|
10
|
+
return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
|
|
11
11
|
});
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var arrayMethods = require('../internals/array-methods');
|
|
3
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
+
var $every = require('../internals/array-iteration').every;
|
|
4
4
|
|
|
5
|
-
var arrayEvery = arrayMethods(4);
|
|
6
5
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
7
6
|
|
|
8
7
|
// `%TypedArray%.prototype.every` method
|
|
9
8
|
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every
|
|
10
9
|
ArrayBufferViewCore.exportProto('every', function every(callbackfn /* , thisArg */) {
|
|
11
|
-
return
|
|
10
|
+
return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
12
11
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
-
var
|
|
3
|
+
var $fill = require('../internals/array-fill');
|
|
4
4
|
|
|
5
5
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
6
6
|
|
|
@@ -8,5 +8,5 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
|
8
8
|
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill
|
|
9
9
|
// eslint-disable-next-line no-unused-vars
|
|
10
10
|
ArrayBufferViewCore.exportProto('fill', function fill(value /* , start, end */) {
|
|
11
|
-
return
|
|
11
|
+
return $fill.apply(aTypedArray(this), arguments);
|
|
12
12
|
});
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var speciesConstructor = require('../internals/species-constructor');
|
|
3
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
4
|
-
var
|
|
3
|
+
var $filter = require('../internals/array-iteration').filter;
|
|
4
|
+
var speciesConstructor = require('../internals/species-constructor');
|
|
5
5
|
|
|
6
|
-
var arrayFilter = arrayMethods(2);
|
|
7
6
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
8
7
|
var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
|
|
9
8
|
|
|
10
9
|
// `%TypedArray%.prototype.filter` method
|
|
11
10
|
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter
|
|
12
11
|
ArrayBufferViewCore.exportProto('filter', function filter(callbackfn /* , thisArg */) {
|
|
13
|
-
var list =
|
|
12
|
+
var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
14
13
|
var C = speciesConstructor(this, this.constructor);
|
|
15
14
|
var index = 0;
|
|
16
15
|
var length = list.length;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
-
var
|
|
3
|
+
var $findIndex = require('../internals/array-iteration').findIndex;
|
|
4
4
|
|
|
5
|
-
var arrayFindIndex = arrayMethods(6);
|
|
6
5
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
7
6
|
|
|
8
7
|
// `%TypedArray%.prototype.findIndex` method
|
|
9
8
|
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex
|
|
10
9
|
ArrayBufferViewCore.exportProto('findIndex', function findIndex(predicate /* , thisArg */) {
|
|
11
|
-
return
|
|
10
|
+
return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
|
|
12
11
|
});
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
-
var
|
|
3
|
+
var $find = require('../internals/array-iteration').find;
|
|
4
4
|
|
|
5
|
-
var arrayFind = arrayMethods(5);
|
|
6
5
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
7
6
|
|
|
8
7
|
// `%TypedArray%.prototype.find` method
|
|
9
8
|
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find
|
|
10
9
|
ArrayBufferViewCore.exportProto('find', function find(predicate /* , thisArg */) {
|
|
11
|
-
return
|
|
10
|
+
return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
|
|
12
11
|
});
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
-
var
|
|
3
|
+
var $forEach = require('../internals/array-iteration').forEach;
|
|
4
4
|
|
|
5
|
-
var arrayForEach = arrayMethods(0);
|
|
6
5
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
7
6
|
|
|
8
7
|
// `%TypedArray%.prototype.forEach` method
|
|
9
8
|
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach
|
|
10
9
|
ArrayBufferViewCore.exportProto('forEach', function forEach(callbackfn /* , thisArg */) {
|
|
11
|
-
|
|
10
|
+
$forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
12
11
|
});
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var createIncludes = require('../internals/array-includes');
|
|
3
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
+
var $includes = require('../internals/array-includes').includes;
|
|
4
4
|
|
|
5
5
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
6
|
-
var arrayIncludes = createIncludes(true);
|
|
7
6
|
|
|
8
7
|
// `%TypedArray%.prototype.includes` method
|
|
9
8
|
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes
|
|
10
9
|
ArrayBufferViewCore.exportProto('includes', function includes(searchElement /* , fromIndex */) {
|
|
11
|
-
return
|
|
10
|
+
return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
|
|
12
11
|
});
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var createIncludes = require('../internals/array-includes');
|
|
3
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
+
var $indexOf = require('../internals/array-includes').indexOf;
|
|
4
4
|
|
|
5
5
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
6
|
-
var arrayIndexOf = createIncludes(false);
|
|
7
6
|
|
|
8
7
|
// `%TypedArray%.prototype.indexOf` method
|
|
9
8
|
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof
|
|
10
9
|
ArrayBufferViewCore.exportProto('indexOf', function indexOf(searchElement /* , fromIndex */) {
|
|
11
|
-
return
|
|
10
|
+
return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
|
|
12
11
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var global = require('../internals/global');
|
|
3
|
-
var ArrayIterators = require('../modules/es.array.iterator');
|
|
4
3
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
4
|
+
var ArrayIterators = require('../modules/es.array.iterator');
|
|
5
5
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
6
6
|
|
|
7
7
|
var ITERATOR = wellKnownSymbol('iterator');
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
3
|
|
|
4
4
|
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
5
|
-
var
|
|
5
|
+
var $join = [].join;
|
|
6
6
|
|
|
7
7
|
// `%TypedArray%.prototype.join` method
|
|
8
8
|
// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join
|
|
9
9
|
// eslint-disable-next-line no-unused-vars
|
|
10
10
|
ArrayBufferViewCore.exportProto('join', function join(separator) {
|
|
11
|
-
return
|
|
11
|
+
return $join.apply(aTypedArray(this), arguments);
|
|
12
12
|
});
|