core-js 3.24.0 → 3.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/actual/object/proto.js +3 -0
- package/es/index.js +1 -0
- package/es/object/index.js +1 -0
- package/es/object/proto.js +1 -0
- package/features/object/proto.js +1 -0
- package/full/index.js +1 -0
- package/full/object/proto.js +3 -0
- package/internals/{array-buffer-native.js → array-buffer-basic-detection.js} +0 -0
- package/internals/array-buffer-view-core.js +1 -1
- package/internals/array-buffer.js +3 -3
- package/internals/array-set-length.js +27 -0
- package/internals/array-unique-by.js +2 -1
- package/internals/async-from-sync-iterator.js +3 -2
- package/internals/async-iterator-create-proxy.js +20 -11
- package/internals/async-iterator-indexed.js +3 -2
- package/internals/collection-from.js +2 -1
- package/internals/collection-strong.js +8 -6
- package/internals/collection-weak.js +3 -2
- package/internals/collection.js +2 -1
- package/internals/create-iter-result-object.js +5 -0
- package/internals/date-to-iso-string.js +7 -6
- package/internals/engine-is-browser.js +6 -1
- package/internals/{clear-error-stack.js → error-stack-clear.js} +0 -0
- package/internals/get-iterator-method.js +2 -1
- package/internals/get-method.js +2 -1
- package/internals/internal-state.js +3 -3
- package/internals/is-iterable.js +2 -0
- package/internals/is-null-or-undefined.js +5 -0
- package/internals/is-object.js +8 -1
- package/internals/{create-iterator-constructor.js → iterator-create-constructor.js} +0 -0
- package/internals/iterator-create-proxy.js +9 -5
- package/internals/{define-iterator.js → iterator-define.js} +1 -1
- package/internals/iterators-core.js +2 -1
- package/internals/new-promise-capability.js +3 -1
- package/internals/number-parse-float.js +5 -5
- package/internals/numeric-range-iterator.js +13 -10
- package/internals/object-iterator.js +6 -5
- package/internals/promise-constructor-detection.js +1 -1
- package/internals/require-object-coercible.js +3 -1
- package/internals/shared.js +2 -2
- package/internals/species-constructor.js +2 -1
- package/internals/{native-symbol.js → symbol-constructor-detection.js} +0 -0
- package/internals/{native-symbol-registry.js → symbol-registry-detection.js} +1 -1
- package/internals/typed-array-from.js +7 -2
- package/internals/{native-url.js → url-constructor-detection.js} +0 -0
- package/internals/use-symbol-as-uid.js +1 -1
- package/internals/weak-map-basic-detection.js +6 -0
- package/internals/{define-well-known-symbol.js → well-known-symbol-define.js} +0 -0
- package/internals/well-known-symbol.js +1 -1
- package/internals/wrap-error-constructor-with-cause.js +1 -1
- package/modules/es.aggregate-error.cause.js +1 -0
- package/modules/es.aggregate-error.constructor.js +2 -2
- package/modules/es.array-buffer.slice.js +3 -3
- package/modules/es.array.index-of.js +5 -5
- package/modules/es.array.iterator.js +6 -5
- package/modules/es.array.join.js +2 -2
- package/modules/es.array.push.js +2 -1
- package/modules/es.array.reverse.js +2 -2
- package/modules/es.array.slice.js +2 -2
- package/modules/es.array.sort.js +3 -3
- package/modules/es.array.splice.js +2 -1
- package/modules/es.array.unshift.js +2 -1
- package/modules/es.data-view.constructor.js +1 -1
- package/modules/es.date.now.js +2 -2
- package/modules/es.date.set-year.js +2 -2
- package/modules/es.date.to-string.js +4 -4
- package/modules/es.global-this.js +1 -1
- package/modules/es.json.stringify.js +1 -1
- package/modules/es.number.to-exponential.js +11 -11
- package/modules/es.number.to-fixed.js +6 -6
- package/modules/es.number.to-precision.js +5 -5
- package/modules/es.object.get-own-property-symbols.js +1 -1
- package/modules/es.object.proto.js +29 -0
- package/modules/es.regexp.test.js +12 -12
- package/modules/es.regexp.to-string.js +3 -3
- package/modules/es.string.ends-with.js +3 -3
- package/modules/es.string.iterator.js +4 -3
- package/modules/es.string.match-all.js +16 -11
- package/modules/es.string.match.js +2 -1
- package/modules/es.string.replace-all.js +2 -1
- package/modules/es.string.replace.js +2 -1
- package/modules/es.string.search.js +2 -1
- package/modules/es.string.split.js +3 -2
- package/modules/es.string.starts-with.js +3 -3
- package/modules/es.symbol.async-iterator.js +1 -1
- package/modules/es.symbol.constructor.js +2 -2
- package/modules/es.symbol.description.js +4 -4
- package/modules/es.symbol.for.js +1 -1
- package/modules/es.symbol.has-instance.js +1 -1
- package/modules/es.symbol.is-concat-spreadable.js +1 -1
- package/modules/es.symbol.iterator.js +1 -1
- package/modules/es.symbol.key-for.js +1 -1
- package/modules/es.symbol.match-all.js +1 -1
- package/modules/es.symbol.match.js +1 -1
- package/modules/es.symbol.replace.js +1 -1
- package/modules/es.symbol.search.js +1 -1
- package/modules/es.symbol.species.js +1 -1
- package/modules/es.symbol.split.js +1 -1
- package/modules/es.symbol.to-primitive.js +1 -1
- package/modules/es.symbol.to-string-tag.js +1 -1
- package/modules/es.symbol.unscopables.js +1 -1
- package/modules/es.typed-array.sort.js +7 -7
- package/modules/es.weak-map.constructor.js +1 -1
- package/modules/esnext.array.is-template-object.js +1 -1
- package/modules/esnext.async-iterator.drop.js +3 -2
- package/modules/esnext.async-iterator.filter.js +3 -2
- package/modules/esnext.async-iterator.flat-map.js +3 -2
- package/modules/esnext.async-iterator.map.js +3 -2
- package/modules/esnext.async-iterator.take.js +4 -3
- package/modules/esnext.math.seeded-prng.js +3 -2
- package/modules/esnext.observable.constructor.js +4 -3
- package/modules/esnext.string.code-points.js +4 -3
- package/modules/esnext.symbol.async-dispose.js +1 -1
- package/modules/esnext.symbol.dispose.js +1 -1
- package/modules/esnext.symbol.matcher.js +1 -1
- package/modules/esnext.symbol.metadata-key.js +1 -1
- package/modules/esnext.symbol.metadata.js +1 -1
- package/modules/esnext.symbol.observable.js +1 -1
- package/modules/esnext.symbol.pattern-match.js +1 -1
- package/modules/esnext.symbol.replace-all.js +1 -1
- package/modules/esnext.typed-array.to-spliced.js +7 -2
- package/modules/web.dom-exception.constructor.js +1 -1
- package/modules/web.dom-exception.stack.js +1 -1
- package/modules/web.structured-clone.js +26 -14
- package/modules/web.url-search-params.constructor.js +2 -2
- package/modules/web.url.constructor.js +1 -1
- package/package.json +1 -1
- package/stable/index.js +1 -0
- package/stable/object/proto.js +3 -0
- package/internals/native-weak-map.js +0 -7
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|

|
|
2
2
|
|
|
3
|
-
[](https://opencollective.com/core-js) [](https://github.com/zloirock/core-js/blob/master/CONTRIBUTING.md) [](https://www.npmjs.com/package/core-js) [](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [](https://github.com/zloirock/core-js/actions) [](https://github.com/zloirock/core-js/actions)
|
|
4
4
|
|
|
5
|
-
> Modular standard library for JavaScript. Includes polyfills for [ECMAScript up to
|
|
5
|
+
> Modular standard library for JavaScript. Includes polyfills for [ECMAScript up to 2023](https://github.com/zloirock/core-js#ecmascript): [promises](https://github.com/zloirock/core-js#ecmascript-promise), [symbols](https://github.com/zloirock/core-js#ecmascript-symbol), [collections](https://github.com/zloirock/core-js#ecmascript-collections), iterators, [typed arrays](https://github.com/zloirock/core-js#ecmascript-typed-arrays), many other features, [ECMAScript proposals](https://github.com/zloirock/core-js#ecmascript-proposals), [some cross-platform WHATWG / W3C features and proposals](#web-standards) like [`URL`](https://github.com/zloirock/core-js#url-and-urlsearchparams). You can load only required features or use it without global namespace pollution.
|
|
6
6
|
|
|
7
7
|
## As advertising: the author is looking for a good job -)
|
|
8
8
|
|
package/es/index.js
CHANGED
|
@@ -124,6 +124,7 @@ require('../modules/es.object.keys');
|
|
|
124
124
|
require('../modules/es.object.lookup-getter');
|
|
125
125
|
require('../modules/es.object.lookup-setter');
|
|
126
126
|
require('../modules/es.object.prevent-extensions');
|
|
127
|
+
require('../modules/es.object.proto');
|
|
127
128
|
require('../modules/es.object.seal');
|
|
128
129
|
require('../modules/es.object.set-prototype-of');
|
|
129
130
|
require('../modules/es.object.to-string');
|
package/es/object/index.js
CHANGED
|
@@ -17,6 +17,7 @@ require('../../modules/es.object.is-frozen');
|
|
|
17
17
|
require('../../modules/es.object.is-sealed');
|
|
18
18
|
require('../../modules/es.object.keys');
|
|
19
19
|
require('../../modules/es.object.prevent-extensions');
|
|
20
|
+
require('../../modules/es.object.proto');
|
|
20
21
|
require('../../modules/es.object.seal');
|
|
21
22
|
require('../../modules/es.object.set-prototype-of');
|
|
22
23
|
require('../../modules/es.object.values');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('../../modules/es.object.proto');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/object/proto');
|
package/full/index.js
CHANGED
|
@@ -124,6 +124,7 @@ require('../modules/es.object.keys');
|
|
|
124
124
|
require('../modules/es.object.lookup-getter');
|
|
125
125
|
require('../modules/es.object.lookup-setter');
|
|
126
126
|
require('../modules/es.object.prevent-extensions');
|
|
127
|
+
require('../modules/es.object.proto');
|
|
127
128
|
require('../modules/es.object.seal');
|
|
128
129
|
require('../modules/es.object.set-prototype-of');
|
|
129
130
|
require('../modules/es.object.to-string');
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-
|
|
2
|
+
var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');
|
|
3
3
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
4
4
|
var global = require('../internals/global');
|
|
5
5
|
var isCallable = require('../internals/is-callable');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var global = require('../internals/global');
|
|
3
3
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
4
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
5
|
-
var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-
|
|
5
|
+
var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');
|
|
6
6
|
var FunctionName = require('../internals/function-name');
|
|
7
7
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
8
8
|
var defineBuiltIns = require('../internals/define-built-ins');
|
|
@@ -197,9 +197,9 @@ if (!NATIVE_ARRAY_BUFFER) {
|
|
|
197
197
|
new NativeArrayBuffer();
|
|
198
198
|
new NativeArrayBuffer(1.5);
|
|
199
199
|
new NativeArrayBuffer(NaN);
|
|
200
|
-
return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;
|
|
200
|
+
return NativeArrayBuffer.length != 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;
|
|
201
201
|
})) {
|
|
202
|
-
|
|
202
|
+
/* eslint-enable no-new -- required for testing */
|
|
203
203
|
$ArrayBuffer = function ArrayBuffer(length) {
|
|
204
204
|
anInstance(this, ArrayBufferPrototype);
|
|
205
205
|
return new NativeArrayBuffer(toIndex(length));
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var DESCRIPTORS = require('../internals/descriptors');
|
|
3
|
+
var isArray = require('../internals/is-array');
|
|
4
|
+
|
|
5
|
+
var $TypeError = TypeError;
|
|
6
|
+
// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
|
|
7
|
+
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
8
|
+
|
|
9
|
+
// Safari < 13 does not throw an error in this case
|
|
10
|
+
var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {
|
|
11
|
+
// makes no sense without proper strict mode support
|
|
12
|
+
if (this !== undefined) return true;
|
|
13
|
+
try {
|
|
14
|
+
// eslint-disable-next-line es-x/no-object-defineproperty -- safe
|
|
15
|
+
Object.defineProperty([], 'length', { writable: false }).length = 1;
|
|
16
|
+
} catch (error) {
|
|
17
|
+
return error instanceof TypeError;
|
|
18
|
+
}
|
|
19
|
+
}();
|
|
20
|
+
|
|
21
|
+
module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
|
|
22
|
+
if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {
|
|
23
|
+
throw $TypeError('Cannot set read only .length');
|
|
24
|
+
} return O.length = length;
|
|
25
|
+
} : function (O, length) {
|
|
26
|
+
return O.length = length;
|
|
27
|
+
};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
var getBuiltIn = require('../internals/get-built-in');
|
|
3
3
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
4
|
var aCallable = require('../internals/a-callable');
|
|
5
|
+
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
|
5
6
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
6
7
|
var toObject = require('../internals/to-object');
|
|
7
8
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
@@ -20,7 +21,7 @@ module.exports = function uniqueBy(resolver) {
|
|
|
20
21
|
var length = lengthOfArrayLike(that);
|
|
21
22
|
var result = arraySpeciesCreate(that, 0);
|
|
22
23
|
var map = new Map();
|
|
23
|
-
var resolverFunction = resolver
|
|
24
|
+
var resolverFunction = !isNullOrUndefined(resolver) ? aCallable(resolver) : function (value) {
|
|
24
25
|
return value;
|
|
25
26
|
};
|
|
26
27
|
var index, item, key;
|
|
@@ -7,6 +7,7 @@ var defineBuiltIns = require('../internals/define-built-ins');
|
|
|
7
7
|
var InternalStateModule = require('../internals/internal-state');
|
|
8
8
|
var getBuiltIn = require('../internals/get-built-in');
|
|
9
9
|
var AsyncIteratorPrototype = require('../internals/async-iterator-prototype');
|
|
10
|
+
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
10
11
|
|
|
11
12
|
var Promise = getBuiltIn('Promise');
|
|
12
13
|
|
|
@@ -17,7 +18,7 @@ var getInternalState = InternalStateModule.getterFor(ASYNC_FROM_SYNC_ITERATOR);
|
|
|
17
18
|
var asyncFromSyncIteratorContinuation = function (result, resolve, reject) {
|
|
18
19
|
var done = result.done;
|
|
19
20
|
Promise.resolve(result.value).then(function (value) {
|
|
20
|
-
resolve(
|
|
21
|
+
resolve(createIterResultObject(value, done));
|
|
21
22
|
}, reject);
|
|
22
23
|
};
|
|
23
24
|
|
|
@@ -41,7 +42,7 @@ AsyncFromSyncIterator.prototype = defineBuiltIns(create(AsyncIteratorPrototype),
|
|
|
41
42
|
var iterator = getInternalState(this).iterator;
|
|
42
43
|
return new Promise(function (resolve, reject) {
|
|
43
44
|
var $return = getMethod(iterator, 'return');
|
|
44
|
-
if ($return === undefined) return resolve(
|
|
45
|
+
if ($return === undefined) return resolve(createIterResultObject(undefined, true));
|
|
45
46
|
var result = anObject(call($return, iterator));
|
|
46
47
|
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
47
48
|
});
|
|
@@ -10,6 +10,7 @@ var InternalStateModule = require('../internals/internal-state');
|
|
|
10
10
|
var getBuiltIn = require('../internals/get-built-in');
|
|
11
11
|
var getMethod = require('../internals/get-method');
|
|
12
12
|
var AsyncIteratorPrototype = require('../internals/async-iterator-prototype');
|
|
13
|
+
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
13
14
|
var iteratorClose = require('../internals/iterator-close');
|
|
14
15
|
|
|
15
16
|
var Promise = getBuiltIn('Promise');
|
|
@@ -35,7 +36,7 @@ var createAsyncIteratorProxyPrototype = function (IS_ITERATOR) {
|
|
|
35
36
|
var state = stateCompletion.value;
|
|
36
37
|
|
|
37
38
|
if (stateError || (IS_GENERATOR && state.done)) {
|
|
38
|
-
return { exit: true, value: stateError ? Promise.reject(state) : Promise.resolve(
|
|
39
|
+
return { exit: true, value: stateError ? Promise.reject(state) : Promise.resolve(createIterResultObject(undefined, true)) };
|
|
39
40
|
} return { exit: false, value: state };
|
|
40
41
|
};
|
|
41
42
|
|
|
@@ -76,21 +77,29 @@ var createAsyncIteratorProxyPrototype = function (IS_ITERATOR) {
|
|
|
76
77
|
var state = stateCompletion.value;
|
|
77
78
|
|
|
78
79
|
return exit ? state : enqueue(state, function () {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
state.done = true;
|
|
81
|
+
var iterator = state.iterator;
|
|
82
|
+
var innerIterator = state.innerIterator;
|
|
83
|
+
var returnMethod, result;
|
|
84
|
+
var completion = perform(function () {
|
|
83
85
|
if (innerIterator) try {
|
|
84
86
|
iteratorClose(innerIterator, 'return');
|
|
85
87
|
} catch (error) {
|
|
86
88
|
return iteratorClose(iterator, 'throw', error);
|
|
87
89
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
return getMethod(iterator, 'return');
|
|
91
|
+
});
|
|
92
|
+
returnMethod = result = completion.value;
|
|
93
|
+
if (completion.error) return Promise.reject(result);
|
|
94
|
+
if (returnMethod === undefined) return Promise.resolve(createIterResultObject(undefined, true));
|
|
95
|
+
completion = perform(function () {
|
|
96
|
+
return call(returnMethod, iterator);
|
|
97
|
+
});
|
|
98
|
+
result = completion.value;
|
|
99
|
+
if (completion.error) return Promise.reject(result);
|
|
100
|
+
return IS_ITERATOR ? Promise.resolve(result) : Promise.resolve(result).then(function (resolved) {
|
|
101
|
+
anObject(resolved);
|
|
102
|
+
return createIterResultObject(undefined, true);
|
|
94
103
|
});
|
|
95
104
|
});
|
|
96
105
|
}
|
|
@@ -4,6 +4,7 @@ var call = require('../internals/function-call');
|
|
|
4
4
|
var anObject = require('../internals/an-object');
|
|
5
5
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
|
+
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
7
8
|
|
|
8
9
|
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
9
10
|
var state = this;
|
|
@@ -12,9 +13,9 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
12
13
|
return Promise.resolve(anObject(call(state.next, iterator))).then(function (step) {
|
|
13
14
|
if (anObject(step).done) {
|
|
14
15
|
state.done = true;
|
|
15
|
-
return
|
|
16
|
+
return createIterResultObject(undefined, true);
|
|
16
17
|
}
|
|
17
|
-
return
|
|
18
|
+
return createIterResultObject([state.index++, step.value], false);
|
|
18
19
|
}).then(null, function (error) {
|
|
19
20
|
state.done = true;
|
|
20
21
|
throw error;
|
|
@@ -4,6 +4,7 @@ var bind = require('../internals/function-bind-context');
|
|
|
4
4
|
var call = require('../internals/function-call');
|
|
5
5
|
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var aConstructor = require('../internals/a-constructor');
|
|
7
|
+
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
|
7
8
|
var iterate = require('../internals/iterate');
|
|
8
9
|
|
|
9
10
|
var push = [].push;
|
|
@@ -15,7 +16,7 @@ module.exports = function from(source /* , mapFn, thisArg */) {
|
|
|
15
16
|
aConstructor(this);
|
|
16
17
|
mapping = mapFn !== undefined;
|
|
17
18
|
if (mapping) aCallable(mapFn);
|
|
18
|
-
if (source
|
|
19
|
+
if (isNullOrUndefined(source)) return new this();
|
|
19
20
|
array = [];
|
|
20
21
|
if (mapping) {
|
|
21
22
|
n = 0;
|
|
@@ -4,8 +4,10 @@ var create = require('../internals/object-create');
|
|
|
4
4
|
var defineBuiltIns = require('../internals/define-built-ins');
|
|
5
5
|
var bind = require('../internals/function-bind-context');
|
|
6
6
|
var anInstance = require('../internals/an-instance');
|
|
7
|
+
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
|
7
8
|
var iterate = require('../internals/iterate');
|
|
8
|
-
var defineIterator = require('../internals/define
|
|
9
|
+
var defineIterator = require('../internals/iterator-define');
|
|
10
|
+
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
9
11
|
var setSpecies = require('../internals/set-species');
|
|
10
12
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
11
13
|
var fastKey = require('../internals/internal-metadata').fastKey;
|
|
@@ -26,7 +28,7 @@ module.exports = {
|
|
|
26
28
|
size: 0
|
|
27
29
|
});
|
|
28
30
|
if (!DESCRIPTORS) that.size = 0;
|
|
29
|
-
if (iterable
|
|
31
|
+
if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
|
|
30
32
|
});
|
|
31
33
|
|
|
32
34
|
var Prototype = Constructor.prototype;
|
|
@@ -188,12 +190,12 @@ module.exports = {
|
|
|
188
190
|
if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
|
|
189
191
|
// or finish the iteration
|
|
190
192
|
state.target = undefined;
|
|
191
|
-
return
|
|
193
|
+
return createIterResultObject(undefined, true);
|
|
192
194
|
}
|
|
193
195
|
// return step by kind
|
|
194
|
-
if (kind == 'keys') return
|
|
195
|
-
if (kind == 'values') return
|
|
196
|
-
return
|
|
196
|
+
if (kind == 'keys') return createIterResultObject(entry.key, false);
|
|
197
|
+
if (kind == 'values') return createIterResultObject(entry.value, false);
|
|
198
|
+
return createIterResultObject([entry.key, entry.value], false);
|
|
197
199
|
}, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
|
|
198
200
|
|
|
199
201
|
// `{ Map, Set }.prototype[@@species]` accessors
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
3
|
var defineBuiltIns = require('../internals/define-built-ins');
|
|
4
4
|
var getWeakData = require('../internals/internal-metadata').getWeakData;
|
|
5
|
+
var anInstance = require('../internals/an-instance');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
7
|
+
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
|
6
8
|
var isObject = require('../internals/is-object');
|
|
7
|
-
var anInstance = require('../internals/an-instance');
|
|
8
9
|
var iterate = require('../internals/iterate');
|
|
9
10
|
var ArrayIterationModule = require('../internals/array-iteration');
|
|
10
11
|
var hasOwn = require('../internals/has-own-property');
|
|
@@ -63,7 +64,7 @@ module.exports = {
|
|
|
63
64
|
id: id++,
|
|
64
65
|
frozen: undefined
|
|
65
66
|
});
|
|
66
|
-
if (iterable
|
|
67
|
+
if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
|
|
67
68
|
});
|
|
68
69
|
|
|
69
70
|
var Prototype = Constructor.prototype;
|
package/internals/collection.js
CHANGED
|
@@ -8,6 +8,7 @@ var InternalMetadataModule = require('../internals/internal-metadata');
|
|
|
8
8
|
var iterate = require('../internals/iterate');
|
|
9
9
|
var anInstance = require('../internals/an-instance');
|
|
10
10
|
var isCallable = require('../internals/is-callable');
|
|
11
|
+
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
|
11
12
|
var isObject = require('../internals/is-object');
|
|
12
13
|
var fails = require('../internals/fails');
|
|
13
14
|
var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');
|
|
@@ -75,7 +76,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
|
|
|
75
76
|
Constructor = wrapper(function (dummy, iterable) {
|
|
76
77
|
anInstance(dummy, NativePrototype);
|
|
77
78
|
var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
|
|
78
|
-
if (iterable
|
|
79
|
+
if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
|
|
79
80
|
return that;
|
|
80
81
|
});
|
|
81
82
|
Constructor.prototype = NativePrototype;
|
|
@@ -4,10 +4,11 @@ var fails = require('../internals/fails');
|
|
|
4
4
|
var padStart = require('../internals/string-pad').start;
|
|
5
5
|
|
|
6
6
|
var $RangeError = RangeError;
|
|
7
|
+
var $isFinite = isFinite;
|
|
7
8
|
var abs = Math.abs;
|
|
8
9
|
var DatePrototype = Date.prototype;
|
|
9
|
-
var
|
|
10
|
-
var
|
|
10
|
+
var nativeDateToISOString = DatePrototype.toISOString;
|
|
11
|
+
var thisTimeValue = uncurryThis(DatePrototype.getTime);
|
|
11
12
|
var getUTCDate = uncurryThis(DatePrototype.getUTCDate);
|
|
12
13
|
var getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);
|
|
13
14
|
var getUTCHours = uncurryThis(DatePrototype.getUTCHours);
|
|
@@ -20,11 +21,11 @@ var getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);
|
|
|
20
21
|
// https://tc39.es/ecma262/#sec-date.prototype.toisostring
|
|
21
22
|
// PhantomJS / old WebKit fails here:
|
|
22
23
|
module.exports = (fails(function () {
|
|
23
|
-
return
|
|
24
|
+
return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
|
|
24
25
|
}) || !fails(function () {
|
|
25
|
-
|
|
26
|
+
nativeDateToISOString.call(new Date(NaN));
|
|
26
27
|
})) ? function toISOString() {
|
|
27
|
-
if (
|
|
28
|
+
if (!$isFinite(thisTimeValue(this))) throw $RangeError('Invalid time value');
|
|
28
29
|
var date = this;
|
|
29
30
|
var year = getUTCFullYear(date);
|
|
30
31
|
var milliseconds = getUTCMilliseconds(date);
|
|
@@ -37,4 +38,4 @@ module.exports = (fails(function () {
|
|
|
37
38
|
':' + padStart(getUTCSeconds(date), 2, 0) +
|
|
38
39
|
'.' + padStart(milliseconds, 3, 0) +
|
|
39
40
|
'Z';
|
|
40
|
-
} :
|
|
41
|
+
} : nativeDateToISOString;
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
var IS_DENO = require('../internals/engine-is-deno');
|
|
2
|
+
var IS_NODE = require('../internals/engine-is-node');
|
|
3
|
+
|
|
4
|
+
module.exports = !IS_DENO && !IS_NODE
|
|
5
|
+
&& typeof window == 'object'
|
|
6
|
+
&& typeof document == 'object';
|
|
File without changes
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
var classof = require('../internals/classof');
|
|
2
2
|
var getMethod = require('../internals/get-method');
|
|
3
|
+
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
|
3
4
|
var Iterators = require('../internals/iterators');
|
|
4
5
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
5
6
|
|
|
6
7
|
var ITERATOR = wellKnownSymbol('iterator');
|
|
7
8
|
|
|
8
9
|
module.exports = function (it) {
|
|
9
|
-
if (it
|
|
10
|
+
if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
|
|
10
11
|
|| getMethod(it, '@@iterator')
|
|
11
12
|
|| Iterators[classof(it)];
|
|
12
13
|
};
|
package/internals/get-method.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
var aCallable = require('../internals/a-callable');
|
|
2
|
+
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
|
2
3
|
|
|
3
4
|
// `GetMethod` abstract operation
|
|
4
5
|
// https://tc39.es/ecma262/#sec-getmethod
|
|
5
6
|
module.exports = function (V, P) {
|
|
6
7
|
var func = V[P];
|
|
7
|
-
return func
|
|
8
|
+
return isNullOrUndefined(func) ? undefined : aCallable(func);
|
|
8
9
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var NATIVE_WEAK_MAP = require('../internals/
|
|
1
|
+
var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');
|
|
2
2
|
var global = require('../internals/global');
|
|
3
3
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
4
|
var isObject = require('../internals/is-object');
|
|
@@ -32,7 +32,7 @@ if (NATIVE_WEAK_MAP || shared.state) {
|
|
|
32
32
|
var wmhas = uncurryThis(store.has);
|
|
33
33
|
var wmset = uncurryThis(store.set);
|
|
34
34
|
set = function (it, metadata) {
|
|
35
|
-
if (wmhas(store, it)) throw
|
|
35
|
+
if (wmhas(store, it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
|
|
36
36
|
metadata.facade = it;
|
|
37
37
|
wmset(store, it, metadata);
|
|
38
38
|
return metadata;
|
|
@@ -47,7 +47,7 @@ if (NATIVE_WEAK_MAP || shared.state) {
|
|
|
47
47
|
var STATE = sharedKey('state');
|
|
48
48
|
hiddenKeys[STATE] = true;
|
|
49
49
|
set = function (it, metadata) {
|
|
50
|
-
if (hasOwn(it, STATE)) throw
|
|
50
|
+
if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
|
|
51
51
|
metadata.facade = it;
|
|
52
52
|
createNonEnumerableProperty(it, STATE, metadata);
|
|
53
53
|
return metadata;
|
package/internals/is-iterable.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var classof = require('../internals/classof');
|
|
2
2
|
var hasOwn = require('../internals/has-own-property');
|
|
3
|
+
var isNullOrUndefined = require('../internals/is-null-or-undefined');
|
|
3
4
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
4
5
|
var Iterators = require('../internals/iterators');
|
|
5
6
|
|
|
@@ -7,6 +8,7 @@ var ITERATOR = wellKnownSymbol('iterator');
|
|
|
7
8
|
var $Object = Object;
|
|
8
9
|
|
|
9
10
|
module.exports = function (it) {
|
|
11
|
+
if (isNullOrUndefined(it)) return false;
|
|
10
12
|
var O = $Object(it);
|
|
11
13
|
return O[ITERATOR] !== undefined
|
|
12
14
|
|| '@@iterator' in O
|
package/internals/is-object.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
var isCallable = require('../internals/is-callable');
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var documentAll = typeof document == 'object' && document.all;
|
|
4
|
+
|
|
5
|
+
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
|
|
6
|
+
var SPECIAL_DOCUMENT_ALL = typeof documentAll == 'undefined' && documentAll !== undefined;
|
|
7
|
+
|
|
8
|
+
module.exports = SPECIAL_DOCUMENT_ALL ? function (it) {
|
|
9
|
+
return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;
|
|
10
|
+
} : function (it) {
|
|
4
11
|
return typeof it == 'object' ? it !== null : isCallable(it);
|
|
5
12
|
};
|
|
File without changes
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var call = require('../internals/function-call');
|
|
3
|
-
var anObject = require('../internals/an-object');
|
|
4
3
|
var create = require('../internals/object-create');
|
|
5
4
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
6
5
|
var defineBuiltIns = require('../internals/define-built-ins');
|
|
@@ -8,6 +7,7 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
|
8
7
|
var InternalStateModule = require('../internals/internal-state');
|
|
9
8
|
var getMethod = require('../internals/get-method');
|
|
10
9
|
var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
|
|
10
|
+
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
11
11
|
var iteratorClose = require('../internals/iterator-close');
|
|
12
12
|
|
|
13
13
|
var ITERATOR_HELPER = 'IteratorHelper';
|
|
@@ -30,7 +30,7 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
|
|
|
30
30
|
if (IS_ITERATOR) return state.nextHandler();
|
|
31
31
|
try {
|
|
32
32
|
var result = state.done ? undefined : state.nextHandler();
|
|
33
|
-
return
|
|
33
|
+
return createIterResultObject(result, state.done);
|
|
34
34
|
} catch (error) {
|
|
35
35
|
state.done = true;
|
|
36
36
|
throw error;
|
|
@@ -39,15 +39,19 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
|
|
|
39
39
|
'return': function () {
|
|
40
40
|
var state = getInternalState(this);
|
|
41
41
|
var iterator = state.iterator;
|
|
42
|
-
var innerIterator = state.innerIterator;
|
|
43
42
|
state.done = true;
|
|
43
|
+
if (IS_ITERATOR) {
|
|
44
|
+
var returnMethod = getMethod(iterator, 'return');
|
|
45
|
+
return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);
|
|
46
|
+
}
|
|
47
|
+
var innerIterator = state.innerIterator;
|
|
44
48
|
if (innerIterator) try {
|
|
45
49
|
iteratorClose(innerIterator, 'return');
|
|
46
50
|
} catch (error) {
|
|
47
51
|
return iteratorClose(iterator, 'throw', error);
|
|
48
52
|
}
|
|
49
|
-
|
|
50
|
-
return
|
|
53
|
+
iteratorClose(iterator, 'return');
|
|
54
|
+
return createIterResultObject(undefined, true);
|
|
51
55
|
}
|
|
52
56
|
});
|
|
53
57
|
|
|
@@ -4,7 +4,7 @@ var call = require('../internals/function-call');
|
|
|
4
4
|
var IS_PURE = require('../internals/is-pure');
|
|
5
5
|
var FunctionName = require('../internals/function-name');
|
|
6
6
|
var isCallable = require('../internals/is-callable');
|
|
7
|
-
var createIteratorConstructor = require('../internals/create-
|
|
7
|
+
var createIteratorConstructor = require('../internals/iterator-create-constructor');
|
|
8
8
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
9
9
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
10
10
|
var setToStringTag = require('../internals/set-to-string-tag');
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var fails = require('../internals/fails');
|
|
3
3
|
var isCallable = require('../internals/is-callable');
|
|
4
|
+
var isObject = require('../internals/is-object');
|
|
4
5
|
var create = require('../internals/object-create');
|
|
5
6
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
6
7
|
var defineBuiltIn = require('../internals/define-built-in');
|
|
@@ -25,7 +26,7 @@ if ([].keys) {
|
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
var NEW_ITERATOR_PROTOTYPE = IteratorPrototype
|
|
29
|
+
var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {
|
|
29
30
|
var test = {};
|
|
30
31
|
// FF44- legacy iterators case
|
|
31
32
|
return IteratorPrototype[ITERATOR].call(test) !== test;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var aCallable = require('../internals/a-callable');
|
|
3
3
|
|
|
4
|
+
var $TypeError = TypeError;
|
|
5
|
+
|
|
4
6
|
var PromiseCapability = function (C) {
|
|
5
7
|
var resolve, reject;
|
|
6
8
|
this.promise = new C(function ($$resolve, $$reject) {
|
|
7
|
-
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
|
|
9
|
+
if (resolve !== undefined || reject !== undefined) throw $TypeError('Bad Promise constructor');
|
|
8
10
|
resolve = $$resolve;
|
|
9
11
|
reject = $$reject;
|
|
10
12
|
});
|
|
@@ -6,17 +6,17 @@ var trim = require('../internals/string-trim').trim;
|
|
|
6
6
|
var whitespaces = require('../internals/whitespaces');
|
|
7
7
|
|
|
8
8
|
var charAt = uncurryThis(''.charAt);
|
|
9
|
-
var
|
|
9
|
+
var $parseFloat = global.parseFloat;
|
|
10
10
|
var Symbol = global.Symbol;
|
|
11
11
|
var ITERATOR = Symbol && Symbol.iterator;
|
|
12
|
-
var FORCED = 1 /
|
|
12
|
+
var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity
|
|
13
13
|
// MS Edge 18- broken with boxed symbols
|
|
14
|
-
|| (ITERATOR && !fails(function () {
|
|
14
|
+
|| (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); }));
|
|
15
15
|
|
|
16
16
|
// `parseFloat` method
|
|
17
17
|
// https://tc39.es/ecma262/#sec-parsefloat-string
|
|
18
18
|
module.exports = FORCED ? function parseFloat(string) {
|
|
19
19
|
var trimmedString = trim(toString(string));
|
|
20
|
-
var result =
|
|
20
|
+
var result = $parseFloat(trimmedString);
|
|
21
21
|
return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;
|
|
22
|
-
} :
|
|
22
|
+
} : $parseFloat;
|