core-js 3.18.2 → 3.19.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/es/date/to-primitive.js +2 -3
- package/es/date/to-string.js +2 -4
- package/es/instance/at.js +6 -5
- package/es/instance/bind.js +3 -2
- package/es/instance/code-point-at.js +4 -3
- package/es/instance/concat.js +3 -2
- package/es/instance/copy-within.js +3 -2
- package/es/instance/ends-with.js +4 -3
- package/es/instance/entries.js +3 -2
- package/es/instance/every.js +3 -2
- package/es/instance/fill.js +3 -2
- package/es/instance/filter.js +3 -2
- package/es/instance/find-index.js +3 -2
- package/es/instance/find.js +3 -2
- package/es/instance/flags.js +2 -1
- package/es/instance/flat-map.js +3 -2
- package/es/instance/flat.js +3 -2
- package/es/instance/for-each.js +3 -2
- package/es/instance/includes.js +6 -5
- package/es/instance/index-of.js +3 -2
- package/es/instance/keys.js +3 -2
- package/es/instance/last-index-of.js +3 -2
- package/es/instance/map.js +3 -2
- package/es/instance/match-all.js +4 -3
- package/es/instance/pad-end.js +4 -3
- package/es/instance/pad-start.js +4 -3
- package/es/instance/reduce-right.js +3 -2
- package/es/instance/reduce.js +3 -2
- package/es/instance/repeat.js +4 -3
- package/es/instance/replace-all.js +4 -3
- package/es/instance/reverse.js +3 -2
- package/es/instance/slice.js +3 -2
- package/es/instance/some.js +3 -2
- package/es/instance/sort.js +3 -2
- package/es/instance/splice.js +3 -2
- package/es/instance/starts-with.js +4 -3
- package/es/instance/trim-end.js +4 -3
- package/es/instance/trim-left.js +4 -3
- package/es/instance/trim-right.js +4 -3
- package/es/instance/trim-start.js +4 -3
- package/es/instance/trim.js +4 -3
- package/es/instance/values.js +3 -2
- package/es/json/stringify.js +4 -3
- package/es/promise/all-settled.js +2 -1
- package/es/promise/any.js +2 -1
- package/es/regexp/flags.js +3 -4
- package/es/regexp/match.js +2 -1
- package/es/regexp/replace.js +2 -1
- package/es/regexp/search.js +2 -1
- package/es/regexp/split.js +2 -1
- package/es/regexp/test.js +2 -3
- package/es/regexp/to-string.js +2 -3
- package/es/string/iterator.js +2 -5
- package/features/instance/at.js +6 -5
- package/features/instance/code-points.js +4 -3
- package/features/instance/filter-out.js +3 -2
- package/features/instance/filter-reject.js +3 -2
- package/features/instance/find-last-index.js +3 -2
- package/features/instance/find-last.js +3 -2
- package/features/instance/group-by.js +3 -2
- package/features/instance/unique-by.js +3 -2
- package/features/map/from.js +3 -2
- package/features/map/group-by.js +2 -1
- package/features/map/key-by.js +2 -1
- package/features/map/of.js +3 -2
- package/features/promise/try.js +2 -1
- package/features/set/from.js +3 -2
- package/features/set/of.js +3 -2
- package/features/weak-map/from.js +3 -2
- package/features/weak-map/of.js +3 -2
- package/features/weak-set/from.js +3 -2
- package/features/weak-set/of.js +3 -2
- package/internals/a-callable.js +3 -0
- package/internals/a-constructor.js +3 -0
- package/internals/a-possible-prototype.js +5 -1
- package/internals/an-instance.js +8 -3
- package/internals/an-object.js +4 -0
- package/internals/array-buffer-native.js +1 -1
- package/internals/array-buffer-non-extensible.js +10 -0
- package/internals/array-buffer-view-core.js +3 -2
- package/internals/array-buffer.js +29 -16
- package/internals/array-from-async.js +1 -1
- package/internals/array-from.js +6 -2
- package/internals/array-group-by.js +6 -3
- package/internals/array-iteration-from-last.js +1 -1
- package/internals/array-iteration.js +5 -4
- package/internals/array-last-index-of.js +2 -1
- package/internals/array-reduce.js +3 -0
- package/internals/array-slice-simple.js +17 -0
- package/internals/array-slice.js +3 -0
- package/internals/array-sort.js +10 -11
- package/internals/array-species-constructor.js +2 -0
- package/internals/array-unique-by.js +13 -9
- package/internals/async-from-sync-iterator.js +4 -3
- package/internals/async-iterator-create-proxy.js +4 -3
- package/internals/async-iterator-iteration.js +5 -2
- package/internals/classof-raw.js +5 -2
- package/internals/classof.js +3 -0
- package/internals/clear-error-stack.js +20 -0
- package/internals/collection-add-all.js +3 -2
- package/internals/collection-delete-all.js +3 -2
- package/internals/collection-from.js +7 -4
- package/internals/collection-of.js +3 -4
- package/internals/collection-strong.js +11 -9
- package/internals/collection-weak.js +10 -6
- package/internals/collection.js +8 -7
- package/internals/composite-key.js +9 -2
- package/internals/create-html.js +3 -1
- package/internals/date-to-iso-string.js +23 -13
- package/internals/date-to-primitive.js +3 -0
- package/internals/define-iterator.js +2 -1
- package/internals/engine-v8-version.js +10 -4
- package/internals/entry-unbind.js +3 -5
- package/internals/error-stack-installable.js +10 -0
- package/internals/export.js +1 -1
- package/internals/fix-regexp-well-known-symbol-logic.js +5 -3
- package/internals/flatten-into-array.js +4 -1
- package/internals/function-apply.js +9 -0
- package/internals/function-bind-context.js +5 -17
- package/internals/function-bind.js +15 -9
- package/internals/function-call.js +5 -0
- package/internals/function-uncurry-this.js +12 -0
- package/internals/get-async-iterator.js +2 -1
- package/internals/get-iterator.js +7 -2
- package/internals/get-map-iterator.js +3 -1
- package/internals/get-set-iterator.js +3 -1
- package/internals/get-substitution.js +10 -7
- package/internals/has-own-property.js +3 -2
- package/internals/host-report-errors.js +1 -1
- package/internals/ieee754.js +24 -6
- package/internals/indexed-object.js +5 -2
- package/internals/inspect-source.js +3 -2
- package/internals/install-error-cause.js +1 -1
- package/internals/internal-metadata.js +4 -7
- package/internals/internal-state.js +9 -7
- package/internals/is-callable.js +1 -1
- package/internals/is-constructor.js +6 -4
- package/internals/is-iterable.js +4 -2
- package/internals/is-object.js +1 -1
- package/internals/is-symbol.js +6 -2
- package/internals/iterate.js +14 -6
- package/internals/iterator-close.js +2 -1
- package/internals/iterator-create-proxy.js +4 -3
- package/internals/map-emplace.js +8 -3
- package/internals/map-upsert.js +12 -4
- package/internals/math-scale.js +9 -12
- package/internals/microtask.js +6 -4
- package/internals/normalize-string-argument.js +5 -0
- package/internals/not-a-regexp.js +3 -0
- package/internals/number-parse-float.js +8 -6
- package/internals/number-parse-int.js +4 -2
- package/internals/numeric-range-iterator.js +4 -0
- package/internals/object-assign.js +5 -2
- package/internals/object-define-properties.js +3 -1
- package/internals/object-define-property.js +2 -0
- package/internals/object-get-own-property-descriptor.js +2 -1
- package/internals/object-get-own-property-names-external.js +4 -4
- package/internals/object-get-prototype-of.js +2 -1
- package/internals/object-is-extensible.js +16 -0
- package/internals/object-is-prototype-of.js +3 -0
- package/internals/object-keys-internal.js +5 -2
- package/internals/object-set-prototype-of.js +4 -3
- package/internals/object-to-array.js +7 -3
- package/internals/ordinary-to-primitive.js +7 -3
- package/internals/own-keys.js +4 -1
- package/internals/reflect-metadata.js +9 -3
- package/internals/regexp-exec-abstract.js +6 -2
- package/internals/regexp-exec.js +20 -16
- package/internals/regexp-sticky-helpers.js +14 -2
- package/internals/require-object-coercible.js +4 -0
- package/internals/set-global.js +4 -2
- package/internals/shared.js +1 -1
- package/internals/string-multibyte.js +13 -4
- package/internals/string-pad.js +6 -3
- package/internals/string-punycode-to-ascii.js +34 -20
- package/internals/string-repeat.js +3 -0
- package/internals/string-trim.js +4 -2
- package/internals/task.js +11 -11
- package/internals/this-number-value.js +2 -4
- package/internals/to-index.js +3 -0
- package/internals/to-object.js +3 -0
- package/internals/to-offset.js +3 -0
- package/internals/to-positive-integer.js +3 -0
- package/internals/to-primitive.js +4 -1
- package/internals/to-property-key.js +1 -1
- package/internals/to-string.js +3 -0
- package/internals/try-to-string.js +4 -0
- package/internals/typed-array-constructor.js +10 -6
- package/internals/typed-array-from.js +4 -3
- package/internals/uid.js +4 -1
- package/internals/well-known-symbol.js +5 -1
- package/modules/es.aggregate-error.js +27 -11
- package/modules/es.array-buffer.slice.js +8 -4
- package/modules/es.array.concat.js +2 -0
- package/modules/es.array.index-of.js +7 -5
- package/modules/es.array.join.js +3 -2
- package/modules/es.array.of.js +3 -1
- package/modules/es.array.reduce.js +2 -1
- package/modules/es.array.reverse.js +3 -2
- package/modules/es.array.slice.js +4 -2
- package/modules/es.array.sort.js +7 -4
- package/modules/es.array.splice.js +2 -0
- package/modules/es.date.get-year.js +3 -2
- package/modules/es.date.now.js +6 -1
- package/modules/es.date.set-year.js +6 -4
- package/modules/es.date.to-primitive.js +2 -1
- package/modules/es.date.to-string.js +5 -4
- package/modules/es.escape.js +12 -5
- package/modules/es.function.has-instance.js +3 -2
- package/modules/es.function.name.js +5 -3
- package/modules/es.json.stringify.js +18 -7
- package/modules/es.map.js +1 -1
- package/modules/es.number.constructor.js +12 -7
- package/modules/es.number.to-fixed.js +19 -13
- package/modules/es.number.to-precision.js +6 -5
- package/modules/es.object.is-extensible.js +4 -10
- package/modules/es.object.is-frozen.js +6 -2
- package/modules/es.object.is-sealed.js +6 -2
- package/modules/es.promise.all-settled.js +2 -2
- package/modules/es.promise.any.js +5 -4
- package/modules/es.promise.js +22 -18
- package/modules/es.reflect.apply.js +4 -10
- package/modules/es.reflect.construct.js +10 -5
- package/modules/es.reflect.get.js +2 -1
- package/modules/es.reflect.is-extensible.js +2 -4
- package/modules/es.reflect.set.js +2 -1
- package/modules/es.regexp.constructor.js +26 -16
- package/modules/es.regexp.dot-all.js +5 -1
- package/modules/es.regexp.flags.js +4 -2
- package/modules/es.regexp.sticky.js +7 -3
- package/modules/es.regexp.test.js +7 -3
- package/modules/es.regexp.to-string.js +8 -5
- package/modules/es.set.js +1 -1
- package/modules/es.string.at-alternative.js +4 -1
- package/modules/es.string.ends-with.js +6 -4
- package/modules/es.string.from-code-point.js +7 -4
- package/modules/es.string.includes.js +8 -2
- package/modules/es.string.match-all.js +25 -19
- package/modules/es.string.match.js +2 -1
- package/modules/es.string.raw.js +6 -6
- package/modules/es.string.replace-all.js +19 -13
- package/modules/es.string.replace.js +19 -12
- package/modules/es.string.search.js +2 -1
- package/modules/es.string.split.js +23 -16
- package/modules/es.string.starts-with.js +6 -4
- package/modules/es.string.substr.js +3 -2
- package/modules/es.symbol.description.js +20 -12
- package/modules/es.symbol.js +34 -21
- package/modules/es.typed-array.copy-within.js +4 -2
- package/modules/es.typed-array.fill.js +9 -2
- package/modules/es.typed-array.iterator.js +7 -6
- package/modules/es.typed-array.join.js +3 -3
- package/modules/es.typed-array.last-index-of.js +3 -2
- package/modules/es.typed-array.reduce-right.js +2 -1
- package/modules/es.typed-array.reduce.js +2 -1
- package/modules/es.typed-array.set.js +2 -0
- package/modules/es.typed-array.slice.js +2 -2
- package/modules/es.typed-array.sort.js +13 -28
- package/modules/es.typed-array.to-locale-string.js +7 -2
- package/modules/es.typed-array.to-string.js +3 -2
- package/modules/es.unescape.js +14 -9
- package/modules/es.weak-map.js +15 -15
- package/modules/esnext.array.is-template-object.js +1 -1
- package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.async-iterator.constructor.js +1 -1
- package/modules/esnext.async-iterator.drop.js +2 -1
- package/modules/esnext.async-iterator.filter.js +2 -1
- package/modules/esnext.async-iterator.flat-map.js +3 -2
- package/modules/esnext.async-iterator.from.js +4 -4
- package/modules/esnext.async-iterator.map.js +2 -1
- package/modules/esnext.async-iterator.reduce.js +4 -1
- package/modules/esnext.async-iterator.take.js +4 -2
- package/modules/esnext.composite-key.js +5 -1
- package/modules/esnext.composite-symbol.js +3 -2
- package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.iterator.constructor.js +1 -1
- package/modules/esnext.iterator.drop.js +4 -2
- package/modules/esnext.iterator.filter.js +2 -1
- package/modules/esnext.iterator.flat-map.js +7 -3
- package/modules/esnext.iterator.from.js +4 -4
- package/modules/esnext.iterator.map.js +2 -1
- package/modules/esnext.iterator.reduce.js +3 -0
- package/modules/esnext.iterator.take.js +2 -1
- package/modules/esnext.map.delete-all.js +2 -4
- package/modules/esnext.map.emplace.js +2 -2
- package/modules/esnext.map.every.js +1 -1
- package/modules/esnext.map.filter.js +5 -4
- package/modules/esnext.map.find-key.js +1 -1
- package/modules/esnext.map.find.js +1 -1
- package/modules/esnext.map.group-by.js +6 -2
- package/modules/esnext.map.includes.js +1 -1
- package/modules/esnext.map.key-by.js +2 -1
- package/modules/esnext.map.map-keys.js +5 -4
- package/modules/esnext.map.map-values.js +5 -4
- package/modules/esnext.map.reduce.js +3 -0
- package/modules/esnext.map.some.js +1 -1
- package/modules/esnext.map.update-or-insert.js +2 -2
- package/modules/esnext.map.update.js +11 -4
- package/modules/esnext.map.upsert.js +2 -2
- package/modules/esnext.math.seeded-prng.js +3 -1
- package/modules/esnext.number.from-string.js +12 -3
- package/modules/esnext.observable.js +14 -9
- package/modules/esnext.reflect.get-metadata-keys.js +5 -10
- package/modules/esnext.set.add-all.js +2 -4
- package/modules/esnext.set.delete-all.js +2 -4
- package/modules/esnext.set.difference.js +3 -2
- package/modules/esnext.set.every.js +1 -1
- package/modules/esnext.set.filter.js +4 -3
- package/modules/esnext.set.find.js +1 -1
- package/modules/esnext.set.intersection.js +3 -2
- package/modules/esnext.set.is-disjoint-from.js +3 -2
- package/modules/esnext.set.is-subset-of.js +3 -2
- package/modules/esnext.set.is-superset-of.js +3 -2
- package/modules/esnext.set.join.js +9 -4
- package/modules/esnext.set.map.js +5 -4
- package/modules/esnext.set.reduce.js +3 -0
- package/modules/esnext.set.some.js +1 -1
- package/modules/esnext.set.symmetric-difference.js +3 -2
- package/modules/esnext.typed-array.from-async.js +0 -1
- package/modules/esnext.typed-array.unique-by.js +4 -2
- package/modules/esnext.weak-map.delete-all.js +2 -4
- package/modules/esnext.weak-map.emplace.js +2 -2
- package/modules/esnext.weak-map.upsert.js +2 -2
- package/modules/esnext.weak-set.add-all.js +2 -4
- package/modules/esnext.weak-set.delete-all.js +2 -4
- package/modules/web.timers.js +5 -4
- package/modules/web.url-search-params.js +122 -104
- package/modules/web.url.js +664 -628
- package/modules/web.url.to-json.js +2 -1
- package/package.json +2 -2
- package/stable/instance/entries.js +6 -4
- package/stable/instance/for-each.js +6 -4
- package/stable/instance/keys.js +6 -4
- package/stable/instance/values.js +6 -4
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var global = require('../internals/global');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
4
5
|
var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
|
|
5
6
|
var FunctionName = require('../internals/function-name');
|
|
@@ -16,6 +17,7 @@ var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
|
16
17
|
var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
|
|
17
18
|
var defineProperty = require('../internals/object-define-property').f;
|
|
18
19
|
var arrayFill = require('../internals/array-fill');
|
|
20
|
+
var arraySlice = require('../internals/array-slice-simple');
|
|
19
21
|
var setToStringTag = require('../internals/set-to-string-tag');
|
|
20
22
|
var InternalStateModule = require('../internals/internal-state');
|
|
21
23
|
|
|
@@ -30,10 +32,14 @@ var WRONG_LENGTH = 'Wrong length';
|
|
|
30
32
|
var WRONG_INDEX = 'Wrong index';
|
|
31
33
|
var NativeArrayBuffer = global[ARRAY_BUFFER];
|
|
32
34
|
var $ArrayBuffer = NativeArrayBuffer;
|
|
35
|
+
var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];
|
|
33
36
|
var $DataView = global[DATA_VIEW];
|
|
34
|
-
var
|
|
37
|
+
var DataViewPrototype = $DataView && $DataView[PROTOTYPE];
|
|
35
38
|
var ObjectPrototype = Object.prototype;
|
|
39
|
+
var Array = global.Array;
|
|
36
40
|
var RangeError = global.RangeError;
|
|
41
|
+
var fill = uncurryThis(arrayFill);
|
|
42
|
+
var reverse = uncurryThis([].reverse);
|
|
37
43
|
|
|
38
44
|
var packIEEE754 = IEEE754.pack;
|
|
39
45
|
var unpackIEEE754 = IEEE754.unpack;
|
|
@@ -72,8 +78,8 @@ var get = function (view, count, index, isLittleEndian) {
|
|
|
72
78
|
if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
|
|
73
79
|
var bytes = getInternalState(store.buffer).bytes;
|
|
74
80
|
var start = intIndex + store.byteOffset;
|
|
75
|
-
var pack = bytes
|
|
76
|
-
return isLittleEndian ? pack :
|
|
81
|
+
var pack = arraySlice(bytes, start, start + count);
|
|
82
|
+
return isLittleEndian ? pack : reverse(pack);
|
|
77
83
|
};
|
|
78
84
|
|
|
79
85
|
var set = function (view, count, index, conversion, value, isLittleEndian) {
|
|
@@ -88,18 +94,20 @@ var set = function (view, count, index, conversion, value, isLittleEndian) {
|
|
|
88
94
|
|
|
89
95
|
if (!NATIVE_ARRAY_BUFFER) {
|
|
90
96
|
$ArrayBuffer = function ArrayBuffer(length) {
|
|
91
|
-
anInstance(this,
|
|
97
|
+
anInstance(this, ArrayBufferPrototype);
|
|
92
98
|
var byteLength = toIndex(length);
|
|
93
99
|
setInternalState(this, {
|
|
94
|
-
bytes:
|
|
100
|
+
bytes: fill(Array(byteLength), 0),
|
|
95
101
|
byteLength: byteLength
|
|
96
102
|
});
|
|
97
103
|
if (!DESCRIPTORS) this.byteLength = byteLength;
|
|
98
104
|
};
|
|
99
105
|
|
|
106
|
+
ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];
|
|
107
|
+
|
|
100
108
|
$DataView = function DataView(buffer, byteOffset, byteLength) {
|
|
101
|
-
anInstance(this,
|
|
102
|
-
anInstance(buffer,
|
|
109
|
+
anInstance(this, DataViewPrototype);
|
|
110
|
+
anInstance(buffer, ArrayBufferPrototype);
|
|
103
111
|
var bufferLength = getInternalState(buffer).byteLength;
|
|
104
112
|
var offset = toIntegerOrInfinity(byteOffset);
|
|
105
113
|
if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');
|
|
@@ -117,6 +125,8 @@ if (!NATIVE_ARRAY_BUFFER) {
|
|
|
117
125
|
}
|
|
118
126
|
};
|
|
119
127
|
|
|
128
|
+
DataViewPrototype = $DataView[PROTOTYPE];
|
|
129
|
+
|
|
120
130
|
if (DESCRIPTORS) {
|
|
121
131
|
addGetter($ArrayBuffer, 'byteLength');
|
|
122
132
|
addGetter($DataView, 'buffer');
|
|
@@ -124,7 +134,7 @@ if (!NATIVE_ARRAY_BUFFER) {
|
|
|
124
134
|
addGetter($DataView, 'byteOffset');
|
|
125
135
|
}
|
|
126
136
|
|
|
127
|
-
redefineAll(
|
|
137
|
+
redefineAll(DataViewPrototype, {
|
|
128
138
|
getInt8: function getInt8(byteOffset) {
|
|
129
139
|
return get(this, 1, byteOffset)[0] << 24 >> 24;
|
|
130
140
|
},
|
|
@@ -191,36 +201,39 @@ if (!NATIVE_ARRAY_BUFFER) {
|
|
|
191
201
|
})) {
|
|
192
202
|
/* eslint-enable no-new -- required for testing */
|
|
193
203
|
$ArrayBuffer = function ArrayBuffer(length) {
|
|
194
|
-
anInstance(this,
|
|
204
|
+
anInstance(this, ArrayBufferPrototype);
|
|
195
205
|
return new NativeArrayBuffer(toIndex(length));
|
|
196
206
|
};
|
|
197
|
-
|
|
207
|
+
|
|
208
|
+
$ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;
|
|
209
|
+
|
|
198
210
|
for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {
|
|
199
211
|
if (!((key = keys[j++]) in $ArrayBuffer)) {
|
|
200
212
|
createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);
|
|
201
213
|
}
|
|
202
214
|
}
|
|
215
|
+
|
|
203
216
|
ArrayBufferPrototype.constructor = $ArrayBuffer;
|
|
204
217
|
} else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {
|
|
205
218
|
createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);
|
|
206
219
|
}
|
|
207
220
|
|
|
208
221
|
// WebKit bug - the same parent prototype for typed arrays and data view
|
|
209
|
-
if (setPrototypeOf && getPrototypeOf(
|
|
210
|
-
setPrototypeOf(
|
|
222
|
+
if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {
|
|
223
|
+
setPrototypeOf(DataViewPrototype, ObjectPrototype);
|
|
211
224
|
}
|
|
212
225
|
|
|
213
226
|
// iOS Safari 7.x bug
|
|
214
227
|
var testView = new $DataView(new $ArrayBuffer(2));
|
|
215
|
-
var $setInt8 =
|
|
228
|
+
var $setInt8 = uncurryThis(DataViewPrototype.setInt8);
|
|
216
229
|
testView.setInt8(0, 2147483648);
|
|
217
230
|
testView.setInt8(1, 2147483649);
|
|
218
|
-
if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(
|
|
231
|
+
if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {
|
|
219
232
|
setInt8: function setInt8(byteOffset, value) {
|
|
220
|
-
$setInt8
|
|
233
|
+
$setInt8(this, byteOffset, value << 24 >> 24);
|
|
221
234
|
},
|
|
222
235
|
setUint8: function setUint8(byteOffset, value) {
|
|
223
|
-
$setInt8
|
|
236
|
+
$setInt8(this, byteOffset, value << 24 >> 24);
|
|
224
237
|
}
|
|
225
238
|
}, { unsafe: true });
|
|
226
239
|
}
|
|
@@ -24,7 +24,7 @@ module.exports = function fromAsync(asyncItems /* , mapfn = undefined, thisArg =
|
|
|
24
24
|
var thisArg = argumentsLength > 2 ? arguments[2] : undefined;
|
|
25
25
|
return new (getBuiltIn('Promise'))(function (resolve) {
|
|
26
26
|
var O = toObject(asyncItems);
|
|
27
|
-
if (mapfn !== undefined) mapfn = bind(mapfn, thisArg
|
|
27
|
+
if (mapfn !== undefined) mapfn = bind(mapfn, thisArg);
|
|
28
28
|
var usingAsyncIterator = getMethod(O, ASYNC_ITERATOR);
|
|
29
29
|
var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) || arrayIterator;
|
|
30
30
|
var A = isConstructor(C) ? new C() : [];
|
package/internals/array-from.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var global = require('../internals/global');
|
|
2
3
|
var bind = require('../internals/function-bind-context');
|
|
4
|
+
var call = require('../internals/function-call');
|
|
3
5
|
var toObject = require('../internals/to-object');
|
|
4
6
|
var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
|
|
5
7
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
@@ -9,6 +11,8 @@ var createProperty = require('../internals/create-property');
|
|
|
9
11
|
var getIterator = require('../internals/get-iterator');
|
|
10
12
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
11
13
|
|
|
14
|
+
var Array = global.Array;
|
|
15
|
+
|
|
12
16
|
// `Array.from` method implementation
|
|
13
17
|
// https://tc39.es/ecma262/#sec-array.from
|
|
14
18
|
module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
|
|
@@ -17,7 +21,7 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
|
|
|
17
21
|
var argumentsLength = arguments.length;
|
|
18
22
|
var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
|
|
19
23
|
var mapping = mapfn !== undefined;
|
|
20
|
-
if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined
|
|
24
|
+
if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);
|
|
21
25
|
var iteratorMethod = getIteratorMethod(O);
|
|
22
26
|
var index = 0;
|
|
23
27
|
var length, result, step, iterator, next, value;
|
|
@@ -26,7 +30,7 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
|
|
|
26
30
|
iterator = getIterator(O, iteratorMethod);
|
|
27
31
|
next = iterator.next;
|
|
28
32
|
result = IS_CONSTRUCTOR ? new this() : [];
|
|
29
|
-
for (;!(step =
|
|
33
|
+
for (;!(step = call(next, iterator)).done; index++) {
|
|
30
34
|
value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
|
|
31
35
|
createProperty(result, index, value);
|
|
32
36
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var bind = require('../internals/function-bind-context');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
4
|
var IndexedObject = require('../internals/indexed-object');
|
|
3
5
|
var toObject = require('../internals/to-object');
|
|
4
6
|
var toPropertyKey = require('../internals/to-property-key');
|
|
@@ -6,12 +8,13 @@ var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
|
6
8
|
var objectCreate = require('../internals/object-create');
|
|
7
9
|
var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');
|
|
8
10
|
|
|
9
|
-
var
|
|
11
|
+
var Array = global.Array;
|
|
12
|
+
var push = uncurryThis([].push);
|
|
10
13
|
|
|
11
14
|
module.exports = function ($this, callbackfn, that, specificConstructor) {
|
|
12
15
|
var O = toObject($this);
|
|
13
16
|
var self = IndexedObject(O);
|
|
14
|
-
var boundFunction = bind(callbackfn, that
|
|
17
|
+
var boundFunction = bind(callbackfn, that);
|
|
15
18
|
var target = objectCreate(null);
|
|
16
19
|
var length = lengthOfArrayLike(self);
|
|
17
20
|
var index = 0;
|
|
@@ -21,7 +24,7 @@ module.exports = function ($this, callbackfn, that, specificConstructor) {
|
|
|
21
24
|
key = toPropertyKey(boundFunction(value, index, O));
|
|
22
25
|
// in some IE10 builds, `hasOwnProperty` returns incorrect result on integer keys
|
|
23
26
|
// but since it's a `null` prototype object, we can safely use `in`
|
|
24
|
-
if (key in target) push
|
|
27
|
+
if (key in target) push(target[key], value);
|
|
25
28
|
else target[key] = [value];
|
|
26
29
|
}
|
|
27
30
|
if (specificConstructor) {
|
|
@@ -9,7 +9,7 @@ var createMethod = function (TYPE) {
|
|
|
9
9
|
return function ($this, callbackfn, that) {
|
|
10
10
|
var O = toObject($this);
|
|
11
11
|
var self = IndexedObject(O);
|
|
12
|
-
var boundFunction = bind(callbackfn, that
|
|
12
|
+
var boundFunction = bind(callbackfn, that);
|
|
13
13
|
var index = lengthOfArrayLike(self);
|
|
14
14
|
var value, result;
|
|
15
15
|
while (index-- > 0) {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
var bind = require('../internals/function-bind-context');
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
3
|
var IndexedObject = require('../internals/indexed-object');
|
|
3
4
|
var toObject = require('../internals/to-object');
|
|
4
5
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
5
6
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
6
7
|
|
|
7
|
-
var push = [].push;
|
|
8
|
+
var push = uncurryThis([].push);
|
|
8
9
|
|
|
9
10
|
// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
|
|
10
11
|
var createMethod = function (TYPE) {
|
|
@@ -18,7 +19,7 @@ var createMethod = function (TYPE) {
|
|
|
18
19
|
return function ($this, callbackfn, that, specificCreate) {
|
|
19
20
|
var O = toObject($this);
|
|
20
21
|
var self = IndexedObject(O);
|
|
21
|
-
var boundFunction = bind(callbackfn, that
|
|
22
|
+
var boundFunction = bind(callbackfn, that);
|
|
22
23
|
var length = lengthOfArrayLike(self);
|
|
23
24
|
var index = 0;
|
|
24
25
|
var create = specificCreate || arraySpeciesCreate;
|
|
@@ -33,10 +34,10 @@ var createMethod = function (TYPE) {
|
|
|
33
34
|
case 3: return true; // some
|
|
34
35
|
case 5: return value; // find
|
|
35
36
|
case 6: return index; // findIndex
|
|
36
|
-
case 2: push
|
|
37
|
+
case 2: push(target, value); // filter
|
|
37
38
|
} else switch (TYPE) {
|
|
38
39
|
case 4: return false; // every
|
|
39
|
-
case 7: push
|
|
40
|
+
case 7: push(target, value); // filterReject
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/* eslint-disable es/no-array-prototype-lastindexof -- safe */
|
|
3
|
+
var apply = require('../internals/function-apply');
|
|
3
4
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
4
5
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
5
6
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
@@ -15,7 +16,7 @@ var FORCED = NEGATIVE_ZERO || !STRICT_METHOD;
|
|
|
15
16
|
// https://tc39.es/ecma262/#sec-array.prototype.lastindexof
|
|
16
17
|
module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
|
|
17
18
|
// convert -0 to +0
|
|
18
|
-
if (NEGATIVE_ZERO) return $lastIndexOf
|
|
19
|
+
if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;
|
|
19
20
|
var O = toIndexedObject(this);
|
|
20
21
|
var length = lengthOfArrayLike(O);
|
|
21
22
|
var index = length - 1;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var aCallable = require('../internals/a-callable');
|
|
2
3
|
var toObject = require('../internals/to-object');
|
|
3
4
|
var IndexedObject = require('../internals/indexed-object');
|
|
4
5
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
5
6
|
|
|
7
|
+
var TypeError = global.TypeError;
|
|
8
|
+
|
|
6
9
|
// `Array.prototype.{ reduce, reduceRight }` methods implementation
|
|
7
10
|
var createMethod = function (IS_RIGHT) {
|
|
8
11
|
return function (that, callbackfn, argumentsLength, memo) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
2
|
+
var toAbsoluteIndex = require('../internals/to-absolute-index');
|
|
3
|
+
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
|
+
var createProperty = require('../internals/create-property');
|
|
5
|
+
|
|
6
|
+
var Array = global.Array;
|
|
7
|
+
var max = Math.max;
|
|
8
|
+
|
|
9
|
+
module.exports = function (O, start, end) {
|
|
10
|
+
var length = lengthOfArrayLike(O);
|
|
11
|
+
var k = toAbsoluteIndex(start, length);
|
|
12
|
+
var fin = toAbsoluteIndex(end === undefined ? length : end, length);
|
|
13
|
+
var result = Array(max(fin - k, 0));
|
|
14
|
+
for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
|
|
15
|
+
result.length = n;
|
|
16
|
+
return result;
|
|
17
|
+
};
|
package/internals/array-sort.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
var arraySlice = require('../internals/array-slice-simple');
|
|
2
|
+
|
|
2
3
|
var floor = Math.floor;
|
|
3
4
|
|
|
4
5
|
var mergeSort = function (array, comparefn) {
|
|
5
6
|
var length = array.length;
|
|
6
7
|
var middle = floor(length / 2);
|
|
7
8
|
return length < 8 ? insertionSort(array, comparefn) : merge(
|
|
8
|
-
|
|
9
|
-
mergeSort(array
|
|
9
|
+
array,
|
|
10
|
+
mergeSort(arraySlice(array, 0, middle), comparefn),
|
|
11
|
+
mergeSort(arraySlice(array, middle), comparefn),
|
|
10
12
|
comparefn
|
|
11
13
|
);
|
|
12
14
|
};
|
|
@@ -26,20 +28,17 @@ var insertionSort = function (array, comparefn) {
|
|
|
26
28
|
} return array;
|
|
27
29
|
};
|
|
28
30
|
|
|
29
|
-
var merge = function (left, right, comparefn) {
|
|
31
|
+
var merge = function (array, left, right, comparefn) {
|
|
30
32
|
var llength = left.length;
|
|
31
33
|
var rlength = right.length;
|
|
32
34
|
var lindex = 0;
|
|
33
35
|
var rindex = 0;
|
|
34
|
-
var result = [];
|
|
35
36
|
|
|
36
37
|
while (lindex < llength || rindex < rlength) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
} return result;
|
|
38
|
+
array[lindex + rindex] = (lindex < llength && rindex < rlength)
|
|
39
|
+
? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
|
|
40
|
+
: lindex < llength ? left[lindex++] : right[rindex++];
|
|
41
|
+
} return array;
|
|
43
42
|
};
|
|
44
43
|
|
|
45
44
|
module.exports = mergeSort;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var isArray = require('../internals/is-array');
|
|
2
3
|
var isConstructor = require('../internals/is-constructor');
|
|
3
4
|
var isObject = require('../internals/is-object');
|
|
4
5
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
5
6
|
|
|
6
7
|
var SPECIES = wellKnownSymbol('species');
|
|
8
|
+
var Array = global.Array;
|
|
7
9
|
|
|
8
10
|
// a part of `ArraySpeciesCreate` abstract operation
|
|
9
11
|
// https://tc39.es/ecma262/#sec-arrayspeciescreate
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
4
|
var aCallable = require('../internals/a-callable');
|
|
3
5
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
6
|
var toObject = require('../internals/to-object');
|
|
5
|
-
var getBuiltIn = require('../internals/get-built-in');
|
|
6
7
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
7
8
|
|
|
8
|
-
var
|
|
9
|
+
var Map = getBuiltIn('Map');
|
|
10
|
+
var MapPrototype = Map.prototype;
|
|
11
|
+
var mapForEach = uncurryThis(MapPrototype.forEach);
|
|
12
|
+
var mapHas = uncurryThis(MapPrototype.has);
|
|
13
|
+
var mapSet = uncurryThis(MapPrototype.set);
|
|
14
|
+
var push = uncurryThis([].push);
|
|
9
15
|
|
|
10
16
|
// `Array.prototype.uniqueBy` method
|
|
11
17
|
// https://github.com/tc39/proposal-array-unique
|
|
@@ -13,20 +19,18 @@ module.exports = function uniqueBy(resolver) {
|
|
|
13
19
|
var that = toObject(this);
|
|
14
20
|
var length = lengthOfArrayLike(that);
|
|
15
21
|
var result = arraySpeciesCreate(that, 0);
|
|
16
|
-
var Map = getBuiltIn('Map');
|
|
17
22
|
var map = new Map();
|
|
18
|
-
var resolverFunction
|
|
19
|
-
if (resolver != null) resolverFunction = aCallable(resolver);
|
|
20
|
-
else resolverFunction = function (value) {
|
|
23
|
+
var resolverFunction = resolver != null ? aCallable(resolver) : function (value) {
|
|
21
24
|
return value;
|
|
22
25
|
};
|
|
26
|
+
var index, item, key;
|
|
23
27
|
for (index = 0; index < length; index++) {
|
|
24
28
|
item = that[index];
|
|
25
29
|
key = resolverFunction(item);
|
|
26
|
-
if (!map
|
|
30
|
+
if (!mapHas(map, key)) mapSet(map, key, item);
|
|
27
31
|
}
|
|
28
|
-
map
|
|
29
|
-
push
|
|
32
|
+
mapForEach(map, function (value) {
|
|
33
|
+
push(result, value);
|
|
30
34
|
});
|
|
31
35
|
return result;
|
|
32
36
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var apply = require('../internals/function-apply');
|
|
2
3
|
var anObject = require('../internals/an-object');
|
|
3
4
|
var create = require('../internals/object-create');
|
|
4
5
|
var getMethod = require('../internals/get-method');
|
|
@@ -31,7 +32,7 @@ AsyncFromSyncIterator.prototype = redefineAll(create(AsyncIteratorPrototype), {
|
|
|
31
32
|
var state = getInternalState(this);
|
|
32
33
|
var hasArg = !!arguments.length;
|
|
33
34
|
return new Promise(function (resolve, reject) {
|
|
34
|
-
var result = anObject(state.next
|
|
35
|
+
var result = anObject(apply(state.next, state.iterator, hasArg ? [arg] : []));
|
|
35
36
|
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
36
37
|
});
|
|
37
38
|
},
|
|
@@ -41,7 +42,7 @@ AsyncFromSyncIterator.prototype = redefineAll(create(AsyncIteratorPrototype), {
|
|
|
41
42
|
return new Promise(function (resolve, reject) {
|
|
42
43
|
var $return = getMethod(iterator, 'return');
|
|
43
44
|
if ($return === undefined) return resolve({ done: true, value: arg });
|
|
44
|
-
var result = anObject($return
|
|
45
|
+
var result = anObject(apply($return, iterator, hasArg ? [arg] : []));
|
|
45
46
|
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
46
47
|
});
|
|
47
48
|
},
|
|
@@ -51,7 +52,7 @@ AsyncFromSyncIterator.prototype = redefineAll(create(AsyncIteratorPrototype), {
|
|
|
51
52
|
return new Promise(function (resolve, reject) {
|
|
52
53
|
var $throw = getMethod(iterator, 'throw');
|
|
53
54
|
if ($throw === undefined) return reject(arg);
|
|
54
|
-
var result = anObject($throw
|
|
55
|
+
var result = anObject(apply($throw, iterator, hasArg ? [arg] : []));
|
|
55
56
|
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
56
57
|
});
|
|
57
58
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var call = require('../internals/function-call');
|
|
2
3
|
var aCallable = require('../internals/a-callable');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
var create = require('../internals/object-create');
|
|
@@ -33,7 +34,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
33
34
|
var state = getInternalState(that);
|
|
34
35
|
var args = hasArgument ? [state.ignoreArgument ? undefined : arg] : IS_ITERATOR ? [] : [undefined];
|
|
35
36
|
state.ignoreArgument = false;
|
|
36
|
-
resolve(state.done ? { done: true, value: undefined } : anObject(
|
|
37
|
+
resolve(state.done ? { done: true, value: undefined } : anObject(call(nextHandler, state, Promise, args)));
|
|
37
38
|
});
|
|
38
39
|
},
|
|
39
40
|
'return': function (value) {
|
|
@@ -44,7 +45,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
44
45
|
state.done = true;
|
|
45
46
|
var $$return = getMethod(iterator, 'return');
|
|
46
47
|
if ($$return === undefined) return resolve({ done: true, value: value });
|
|
47
|
-
Promise.resolve($$return
|
|
48
|
+
Promise.resolve(call($$return, iterator, value)).then(function (result) {
|
|
48
49
|
anObject(result);
|
|
49
50
|
resolve({ done: true, value: value });
|
|
50
51
|
}, reject);
|
|
@@ -58,7 +59,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
58
59
|
state.done = true;
|
|
59
60
|
var $$throw = getMethod(iterator, 'throw');
|
|
60
61
|
if ($$throw === undefined) return reject(value);
|
|
61
|
-
resolve($$throw
|
|
62
|
+
resolve(call($$throw, iterator, value));
|
|
62
63
|
});
|
|
63
64
|
}
|
|
64
65
|
});
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
// https://github.com/tc39/proposal-array-from-async
|
|
4
|
+
var global = require('../internals/global');
|
|
5
|
+
var call = require('../internals/function-call');
|
|
4
6
|
var aCallable = require('../internals/a-callable');
|
|
5
7
|
var anObject = require('../internals/an-object');
|
|
6
8
|
var getBuiltIn = require('../internals/get-built-in');
|
|
7
9
|
var getMethod = require('../internals/get-method');
|
|
8
10
|
|
|
9
11
|
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
|
12
|
+
var TypeError = global.TypeError;
|
|
10
13
|
|
|
11
14
|
var createMethod = function (TYPE) {
|
|
12
15
|
var IS_TO_ARRAY = TYPE == 0;
|
|
@@ -26,7 +29,7 @@ var createMethod = function (TYPE) {
|
|
|
26
29
|
try {
|
|
27
30
|
var returnMethod = getMethod(iterator, 'return');
|
|
28
31
|
if (returnMethod) {
|
|
29
|
-
return Promise.resolve(
|
|
32
|
+
return Promise.resolve(call(returnMethod, iterator)).then(function () {
|
|
30
33
|
method(argument);
|
|
31
34
|
}, function (error) {
|
|
32
35
|
reject(error);
|
|
@@ -46,7 +49,7 @@ var createMethod = function (TYPE) {
|
|
|
46
49
|
if (IS_TO_ARRAY && (index > MAX_SAFE_INTEGER) && MAPPING) {
|
|
47
50
|
throw TypeError('The allowed number of iterations has been exceeded');
|
|
48
51
|
}
|
|
49
|
-
Promise.resolve(anObject(
|
|
52
|
+
Promise.resolve(anObject(call(next, iterator))).then(function (step) {
|
|
50
53
|
try {
|
|
51
54
|
if (anObject(step).done) {
|
|
52
55
|
if (IS_TO_ARRAY) {
|
package/internals/classof-raw.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
var
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
|
+
|
|
3
|
+
var toString = uncurryThis({}.toString);
|
|
4
|
+
var stringSlice = uncurryThis(''.slice);
|
|
2
5
|
|
|
3
6
|
module.exports = function (it) {
|
|
4
|
-
return toString
|
|
7
|
+
return stringSlice(toString(it), 8, -1);
|
|
5
8
|
};
|
package/internals/classof.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');
|
|
2
3
|
var isCallable = require('../internals/is-callable');
|
|
3
4
|
var classofRaw = require('../internals/classof-raw');
|
|
4
5
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
5
6
|
|
|
6
7
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
8
|
+
var Object = global.Object;
|
|
9
|
+
|
|
7
10
|
// ES3 wrong here
|
|
8
11
|
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
|
|
9
12
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
|
+
var arraySlice = require('../internals/array-slice-simple');
|
|
3
|
+
|
|
4
|
+
var replace = uncurryThis(''.replace);
|
|
5
|
+
var split = uncurryThis(''.split);
|
|
6
|
+
var join = uncurryThis([].join);
|
|
7
|
+
|
|
8
|
+
var TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');
|
|
9
|
+
var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
|
|
10
|
+
var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
|
|
11
|
+
var IS_FIREFOX_OR_SAFARI_STACK = /@[^\n]*\n/.test(TEST) && !/zxcasd/.test(TEST);
|
|
12
|
+
|
|
13
|
+
module.exports = function (stack, dropEntries) {
|
|
14
|
+
if (typeof stack != 'string') return stack;
|
|
15
|
+
if (IS_V8_OR_CHAKRA_STACK) {
|
|
16
|
+
while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
|
|
17
|
+
} else if (IS_FIREFOX_OR_SAFARI_STACK) {
|
|
18
|
+
return join(arraySlice(split(stack, '\n'), dropEntries), '\n');
|
|
19
|
+
} return stack;
|
|
20
|
+
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var call = require('../internals/function-call');
|
|
2
3
|
var aCallable = require('../internals/a-callable');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
|
|
5
6
|
// https://github.com/tc39/collection-methods
|
|
6
|
-
module.exports = function (/* ...elements */) {
|
|
7
|
+
module.exports = function addAll(/* ...elements */) {
|
|
7
8
|
var set = anObject(this);
|
|
8
9
|
var adder = aCallable(set.add);
|
|
9
10
|
for (var k = 0, len = arguments.length; k < len; k++) {
|
|
10
|
-
|
|
11
|
+
call(adder, set, arguments[k]);
|
|
11
12
|
}
|
|
12
13
|
return set;
|
|
13
14
|
};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var call = require('../internals/function-call');
|
|
2
3
|
var aCallable = require('../internals/a-callable');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
|
|
5
6
|
// https://github.com/tc39/collection-methods
|
|
6
|
-
module.exports = function (/* ...elements */) {
|
|
7
|
+
module.exports = function deleteAll(/* ...elements */) {
|
|
7
8
|
var collection = anObject(this);
|
|
8
9
|
var remover = aCallable(collection['delete']);
|
|
9
10
|
var allDeleted = true;
|
|
10
11
|
var wasDeleted;
|
|
11
12
|
for (var k = 0, len = arguments.length; k < len; k++) {
|
|
12
|
-
wasDeleted =
|
|
13
|
+
wasDeleted = call(remover, collection, arguments[k]);
|
|
13
14
|
allDeleted = allDeleted && wasDeleted;
|
|
14
15
|
}
|
|
15
16
|
return !!allDeleted;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://tc39.github.io/proposal-setmap-offrom/
|
|
3
|
+
var bind = require('../internals/function-bind-context');
|
|
4
|
+
var call = require('../internals/function-call');
|
|
3
5
|
var aCallable = require('../internals/a-callable');
|
|
4
6
|
var aConstructor = require('../internals/a-constructor');
|
|
5
|
-
var bind = require('../internals/function-bind-context');
|
|
6
7
|
var iterate = require('../internals/iterate');
|
|
7
8
|
|
|
9
|
+
var push = [].push;
|
|
10
|
+
|
|
8
11
|
module.exports = function from(source /* , mapFn, thisArg */) {
|
|
9
12
|
var length = arguments.length;
|
|
10
13
|
var mapFn = length > 1 ? arguments[1] : undefined;
|
|
@@ -16,12 +19,12 @@ module.exports = function from(source /* , mapFn, thisArg */) {
|
|
|
16
19
|
array = [];
|
|
17
20
|
if (mapping) {
|
|
18
21
|
n = 0;
|
|
19
|
-
boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined
|
|
22
|
+
boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined);
|
|
20
23
|
iterate(source, function (nextItem) {
|
|
21
|
-
array
|
|
24
|
+
call(push, array, boundFunction(nextItem, n++));
|
|
22
25
|
});
|
|
23
26
|
} else {
|
|
24
|
-
iterate(source,
|
|
27
|
+
iterate(source, push, { that: array });
|
|
25
28
|
}
|
|
26
29
|
return new this(array);
|
|
27
30
|
};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var arraySlice = require('../internals/array-slice');
|
|
3
|
+
|
|
2
4
|
// https://tc39.github.io/proposal-setmap-offrom/
|
|
3
5
|
module.exports = function of() {
|
|
4
|
-
|
|
5
|
-
var A = new Array(length);
|
|
6
|
-
while (length--) A[length] = arguments[length];
|
|
7
|
-
return new this(A);
|
|
6
|
+
return new this(arraySlice(arguments));
|
|
8
7
|
};
|