core-js 3.25.5 → 3.26.0
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 +1 -1
- package/actual/array/from-async.js +8 -0
- package/actual/array/index.js +1 -0
- package/actual/self.js +3 -0
- package/features/instance/is-well-formed.js +1 -0
- package/features/instance/to-well-formed.js +1 -0
- package/features/self.js +1 -0
- package/features/string/is-well-formed.js +1 -0
- package/features/string/to-well-formed.js +1 -0
- package/features/string/virtual/is-well-formed.js +1 -0
- package/features/string/virtual/to-well-formed.js +1 -0
- package/full/array/from-async.js +2 -7
- package/full/array/index.js +0 -1
- package/full/index.js +3 -0
- package/full/instance/is-well-formed.js +10 -0
- package/full/instance/to-well-formed.js +10 -0
- package/full/self.js +3 -0
- package/full/string/index.js +2 -0
- package/full/string/is-well-formed.js +3 -0
- package/full/string/to-well-formed.js +3 -0
- package/full/string/virtual/index.js +2 -0
- package/full/string/virtual/is-well-formed.js +3 -0
- package/full/string/virtual/to-well-formed.js +3 -0
- package/internals/array-from-async.js +18 -3
- package/internals/async-from-sync-iterator.js +3 -6
- package/internals/async-iterator-create-proxy.js +3 -3
- package/internals/async-iterator-iteration.js +16 -10
- package/internals/function-uncurry-this-raw.js +2 -2
- package/internals/get-async-iterator-flattenable.js +28 -0
- package/internals/get-async-iterator.js +2 -1
- package/internals/get-iterator-flattenable.js +11 -0
- package/internals/iterator-create-proxy.js +3 -3
- package/internals/shared.js +2 -2
- package/modules/esnext.async-iterator.filter.js +8 -2
- package/modules/esnext.async-iterator.flat-map.js +15 -11
- package/modules/esnext.async-iterator.from.js +5 -22
- package/modules/esnext.async-iterator.indexed.js +1 -0
- package/modules/esnext.async-iterator.map.js +8 -2
- package/modules/esnext.async-iterator.reduce.js +11 -3
- package/modules/esnext.iterator.every.js +2 -1
- package/modules/esnext.iterator.filter.js +1 -1
- package/modules/esnext.iterator.find.js +2 -1
- package/modules/esnext.iterator.flat-map.js +7 -18
- package/modules/esnext.iterator.for-each.js +7 -1
- package/modules/esnext.iterator.from.js +5 -13
- package/modules/esnext.iterator.indexed.js +1 -0
- package/modules/esnext.iterator.map.js +1 -1
- package/modules/esnext.iterator.reduce.js +3 -1
- package/modules/esnext.iterator.some.js +2 -1
- package/modules/esnext.iterator.to-async.js +1 -1
- package/modules/esnext.string.is-well-formed.js +23 -0
- package/modules/esnext.string.to-well-formed.js +33 -0
- package/modules/web.self.js +41 -0
- package/package.json +27 -14
- package/proposals/well-formed-unicode-strings.js +2 -0
- package/stable/index.js +1 -0
- package/stable/self.js +4 -0
- package/stage/0.js +2 -1
- package/stage/1.js +2 -1
- package/stage/2.js +3 -2
- package/stage/3.js +3 -1
- package/stage/4.js +1 -0
- package/stage/pre.js +2 -1
- package/web/index.js +1 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
5
|
-
[](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)
|
|
5
|
+
[](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)
|
|
6
6
|
|
|
7
7
|
</div>
|
|
8
8
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
require('../../modules/es.array.iterator');
|
|
2
|
+
require('../../modules/es.object.to-string');
|
|
3
|
+
require('../../modules/es.promise');
|
|
4
|
+
require('../../modules/es.string.iterator');
|
|
5
|
+
require('../../modules/esnext.array.from-async');
|
|
6
|
+
var path = require('../../internals/path');
|
|
7
|
+
|
|
8
|
+
module.exports = path.Array.fromAsync;
|
package/actual/array/index.js
CHANGED
|
@@ -3,6 +3,7 @@ require('../../modules/es.map');
|
|
|
3
3
|
require('../../modules/es.object.to-string');
|
|
4
4
|
require('../../modules/esnext.array.find-last');
|
|
5
5
|
require('../../modules/esnext.array.find-last-index');
|
|
6
|
+
require('../../modules/esnext.array.from-async');
|
|
6
7
|
require('../../modules/esnext.array.group');
|
|
7
8
|
require('../../modules/esnext.array.group-by');
|
|
8
9
|
require('../../modules/esnext.array.group-by-to-map');
|
package/actual/self.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/instance/is-well-formed');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/instance/to-well-formed');
|
package/features/self.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../full/self');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/string/is-well-formed');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/string/to-well-formed');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../../full/string/virtual/is-well-formed');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../../full/string/virtual/to-well-formed');
|
package/full/array/from-async.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
require('../../
|
|
2
|
-
require('../../modules/es.object.to-string');
|
|
3
|
-
require('../../modules/es.promise');
|
|
4
|
-
require('../../modules/es.string.iterator');
|
|
5
|
-
require('../../modules/esnext.array.from-async');
|
|
6
|
-
var path = require('../../internals/path');
|
|
1
|
+
var parent = require('../../actual/array/from-async');
|
|
7
2
|
|
|
8
|
-
module.exports =
|
|
3
|
+
module.exports = parent;
|
package/full/array/index.js
CHANGED
package/full/index.js
CHANGED
|
@@ -361,8 +361,10 @@ require('../modules/esnext.set.union');
|
|
|
361
361
|
require('../modules/esnext.string.at');
|
|
362
362
|
require('../modules/esnext.string.cooked');
|
|
363
363
|
require('../modules/esnext.string.code-points');
|
|
364
|
+
require('../modules/esnext.string.is-well-formed');
|
|
364
365
|
require('../modules/esnext.string.match-all');
|
|
365
366
|
require('../modules/esnext.string.replace-all');
|
|
367
|
+
require('../modules/esnext.string.to-well-formed');
|
|
366
368
|
require('../modules/esnext.symbol.async-dispose');
|
|
367
369
|
require('../modules/esnext.symbol.dispose');
|
|
368
370
|
require('../modules/esnext.symbol.matcher');
|
|
@@ -401,6 +403,7 @@ require('../modules/web.dom-exception.stack');
|
|
|
401
403
|
require('../modules/web.dom-exception.to-string-tag');
|
|
402
404
|
require('../modules/web.immediate');
|
|
403
405
|
require('../modules/web.queue-microtask');
|
|
406
|
+
require('../modules/web.self');
|
|
404
407
|
require('../modules/web.structured-clone');
|
|
405
408
|
require('../modules/web.timers');
|
|
406
409
|
require('../modules/web.url');
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var isPrototypeOf = require('../../internals/object-is-prototype-of');
|
|
2
|
+
var method = require('../string/virtual/is-well-formed');
|
|
3
|
+
|
|
4
|
+
var StringPrototype = String.prototype;
|
|
5
|
+
|
|
6
|
+
module.exports = function (it) {
|
|
7
|
+
var own = it.isWellFormed;
|
|
8
|
+
return typeof it == 'string' || it === StringPrototype
|
|
9
|
+
|| (isPrototypeOf(StringPrototype, it) && own === StringPrototype.isWellFormed) ? method : own;
|
|
10
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var isPrototypeOf = require('../../internals/object-is-prototype-of');
|
|
2
|
+
var method = require('../string/virtual/to-well-formed');
|
|
3
|
+
|
|
4
|
+
var StringPrototype = String.prototype;
|
|
5
|
+
|
|
6
|
+
module.exports = function (it) {
|
|
7
|
+
var own = it.toWellFormed;
|
|
8
|
+
return typeof it == 'string' || it === StringPrototype
|
|
9
|
+
|| (isPrototypeOf(StringPrototype, it) && own === StringPrototype.toWellFormed) ? method : own;
|
|
10
|
+
};
|
package/full/self.js
ADDED
package/full/string/index.js
CHANGED
|
@@ -3,8 +3,10 @@ var parent = require('../../actual/string');
|
|
|
3
3
|
require('../../modules/esnext.string.at');
|
|
4
4
|
require('../../modules/esnext.string.cooked');
|
|
5
5
|
require('../../modules/esnext.string.code-points');
|
|
6
|
+
require('../../modules/esnext.string.is-well-formed');
|
|
6
7
|
// TODO: remove from `core-js@4`
|
|
7
8
|
require('../../modules/esnext.string.match-all');
|
|
8
9
|
require('../../modules/esnext.string.replace-all');
|
|
10
|
+
require('../../modules/esnext.string.to-well-formed');
|
|
9
11
|
|
|
10
12
|
module.exports = parent;
|
|
@@ -2,8 +2,10 @@ var parent = require('../../../actual/string/virtual');
|
|
|
2
2
|
// TODO: remove from `core-js@4`
|
|
3
3
|
require('../../../modules/esnext.string.at');
|
|
4
4
|
require('../../../modules/esnext.string.code-points');
|
|
5
|
+
require('../../../modules/esnext.string.is-well-formed');
|
|
5
6
|
// TODO: remove from `core-js@4`
|
|
6
7
|
require('../../../modules/esnext.string.match-all');
|
|
7
8
|
require('../../../modules/esnext.string.replace-all');
|
|
9
|
+
require('../../../modules/esnext.string.to-well-formed');
|
|
8
10
|
|
|
9
11
|
module.exports = parent;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var bind = require('../internals/function-bind-context');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var toObject = require('../internals/to-object');
|
|
4
5
|
var isConstructor = require('../internals/is-constructor');
|
|
5
6
|
var getAsyncIterator = require('../internals/get-async-iterator');
|
|
6
7
|
var getIterator = require('../internals/get-iterator');
|
|
8
|
+
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
7
9
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
8
10
|
var getMethod = require('../internals/get-method');
|
|
9
11
|
var getVirtual = require('../internals/entry-virtual');
|
|
@@ -13,7 +15,20 @@ var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
|
|
|
13
15
|
var toArray = require('../internals/async-iterator-iteration').toArray;
|
|
14
16
|
|
|
15
17
|
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
|
16
|
-
var arrayIterator = getVirtual('Array').values;
|
|
18
|
+
var arrayIterator = uncurryThis(getVirtual('Array').values);
|
|
19
|
+
var arrayIteratorNext = uncurryThis(arrayIterator([]).next);
|
|
20
|
+
|
|
21
|
+
var safeArrayIterator = function () {
|
|
22
|
+
return new SafeArrayIterator(this);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var SafeArrayIterator = function (O) {
|
|
26
|
+
this.iterator = arrayIterator(O);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
SafeArrayIterator.prototype.next = function () {
|
|
30
|
+
return arrayIteratorNext(this.iterator);
|
|
31
|
+
};
|
|
17
32
|
|
|
18
33
|
// `Array.fromAsync` method implementation
|
|
19
34
|
// https://github.com/tc39/proposal-array-from-async
|
|
@@ -26,11 +41,11 @@ module.exports = function fromAsync(asyncItems /* , mapfn = undefined, thisArg =
|
|
|
26
41
|
var O = toObject(asyncItems);
|
|
27
42
|
if (mapfn !== undefined) mapfn = bind(mapfn, thisArg);
|
|
28
43
|
var usingAsyncIterator = getMethod(O, ASYNC_ITERATOR);
|
|
29
|
-
var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) ||
|
|
44
|
+
var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) || safeArrayIterator;
|
|
30
45
|
var A = isConstructor(C) ? new C() : [];
|
|
31
46
|
var iterator = usingAsyncIterator
|
|
32
47
|
? getAsyncIterator(O, usingAsyncIterator)
|
|
33
|
-
: new AsyncFromSyncIterator(getIterator(O, usingSyncIterator));
|
|
48
|
+
: new AsyncFromSyncIterator(getIteratorDirect(getIterator(O, usingSyncIterator)));
|
|
34
49
|
resolve(toArray(iterator, mapfn, A));
|
|
35
50
|
});
|
|
36
51
|
};
|
|
@@ -22,12 +22,9 @@ var asyncFromSyncIteratorContinuation = function (result, resolve, reject) {
|
|
|
22
22
|
}, reject);
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
var AsyncFromSyncIterator = function AsyncIterator(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
iterator: anObject(iterator),
|
|
29
|
-
next: iterator.next
|
|
30
|
-
});
|
|
25
|
+
var AsyncFromSyncIterator = function AsyncIterator(iteratorRecord) {
|
|
26
|
+
iteratorRecord.type = ASYNC_FROM_SYNC_ITERATOR;
|
|
27
|
+
setInternalState(this, iteratorRecord);
|
|
31
28
|
};
|
|
32
29
|
|
|
33
30
|
AsyncFromSyncIterator.prototype = defineBuiltIns(create(AsyncIteratorPrototype), {
|
|
@@ -79,11 +79,10 @@ var createAsyncIteratorProxyPrototype = function (IS_ITERATOR) {
|
|
|
79
79
|
return exit ? state : enqueue(state, function () {
|
|
80
80
|
state.done = true;
|
|
81
81
|
var iterator = state.iterator;
|
|
82
|
-
var innerIterator = state.innerIterator;
|
|
83
82
|
var returnMethod, result;
|
|
84
83
|
var completion = perform(function () {
|
|
85
|
-
if (
|
|
86
|
-
iteratorClose(
|
|
84
|
+
if (state.inner) try {
|
|
85
|
+
iteratorClose(state.inner.iterator, 'return');
|
|
87
86
|
} catch (error) {
|
|
88
87
|
return iteratorClose(iterator, 'throw', error);
|
|
89
88
|
}
|
|
@@ -125,6 +124,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
125
124
|
} else state = record;
|
|
126
125
|
state.type = ASYNC_ITERATOR_PROXY;
|
|
127
126
|
state.nextHandler = nextHandler;
|
|
127
|
+
state.counter = 0;
|
|
128
128
|
state.done = false;
|
|
129
129
|
state.awaiting = null;
|
|
130
130
|
setInternalState(this, state);
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
var call = require('../internals/function-call');
|
|
5
5
|
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var anObject = require('../internals/an-object');
|
|
7
|
+
var isObject = require('../internals/is-object');
|
|
7
8
|
var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
|
|
8
9
|
var getBuiltIn = require('../internals/get-built-in');
|
|
9
10
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
@@ -19,7 +20,7 @@ var createMethod = function (TYPE) {
|
|
|
19
20
|
var Promise = getBuiltIn('Promise');
|
|
20
21
|
var iterator = record.iterator;
|
|
21
22
|
var next = record.next;
|
|
22
|
-
var
|
|
23
|
+
var counter = 0;
|
|
23
24
|
var MAPPING = fn !== undefined;
|
|
24
25
|
if (MAPPING || !IS_TO_ARRAY) aCallable(fn);
|
|
25
26
|
|
|
@@ -30,36 +31,41 @@ var createMethod = function (TYPE) {
|
|
|
30
31
|
|
|
31
32
|
var loop = function () {
|
|
32
33
|
try {
|
|
33
|
-
if (
|
|
34
|
-
doesNotExceedSafeInteger(
|
|
34
|
+
if (MAPPING) try {
|
|
35
|
+
doesNotExceedSafeInteger(counter);
|
|
35
36
|
} catch (error5) { ifAbruptCloseAsyncIterator(error5); }
|
|
36
37
|
Promise.resolve(anObject(call(next, iterator))).then(function (step) {
|
|
37
38
|
try {
|
|
38
39
|
if (anObject(step).done) {
|
|
39
40
|
if (IS_TO_ARRAY) {
|
|
40
|
-
target.length =
|
|
41
|
+
target.length = counter;
|
|
41
42
|
resolve(target);
|
|
42
43
|
} else resolve(IS_SOME ? false : IS_EVERY || undefined);
|
|
43
44
|
} else {
|
|
44
45
|
var value = step.value;
|
|
45
46
|
try {
|
|
46
47
|
if (MAPPING) {
|
|
47
|
-
|
|
48
|
+
var result = fn(value, counter);
|
|
49
|
+
|
|
50
|
+
var handler = function ($result) {
|
|
48
51
|
if (IS_FOR_EACH) {
|
|
49
52
|
loop();
|
|
50
53
|
} else if (IS_EVERY) {
|
|
51
|
-
result ? loop() : closeAsyncIteration(iterator, resolve, false, reject);
|
|
54
|
+
$result ? loop() : closeAsyncIteration(iterator, resolve, false, reject);
|
|
52
55
|
} else if (IS_TO_ARRAY) {
|
|
53
56
|
try {
|
|
54
|
-
target[
|
|
57
|
+
target[counter++] = $result;
|
|
55
58
|
loop();
|
|
56
59
|
} catch (error4) { ifAbruptCloseAsyncIterator(error4); }
|
|
57
60
|
} else {
|
|
58
|
-
result ? closeAsyncIteration(iterator, resolve, IS_SOME || value, reject) : loop();
|
|
61
|
+
$result ? closeAsyncIteration(iterator, resolve, IS_SOME || value, reject) : loop();
|
|
59
62
|
}
|
|
60
|
-
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
|
|
66
|
+
else handler(result);
|
|
61
67
|
} else {
|
|
62
|
-
target[
|
|
68
|
+
target[counter++] = value;
|
|
63
69
|
loop();
|
|
64
70
|
}
|
|
65
71
|
} catch (error3) { ifAbruptCloseAsyncIterator(error3); }
|
|
@@ -4,8 +4,8 @@ var FunctionPrototype = Function.prototype;
|
|
|
4
4
|
var call = FunctionPrototype.call;
|
|
5
5
|
var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
|
|
6
6
|
|
|
7
|
-
module.exports = function (fn) {
|
|
8
|
-
return
|
|
7
|
+
module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
|
|
8
|
+
return function () {
|
|
9
9
|
return call.apply(fn, arguments);
|
|
10
10
|
};
|
|
11
11
|
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var call = require('../internals/function-call');
|
|
2
|
+
var isCallable = require('../internals/is-callable');
|
|
3
|
+
var toObject = require('../internals/to-object');
|
|
4
|
+
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
5
|
+
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
6
|
+
var getMethod = require('../internals/get-method');
|
|
7
|
+
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
8
|
+
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
|
|
9
|
+
|
|
10
|
+
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
|
11
|
+
|
|
12
|
+
module.exports = function from(obj) {
|
|
13
|
+
var object = toObject(obj);
|
|
14
|
+
var alreadyAsync = true;
|
|
15
|
+
var method = getMethod(object, ASYNC_ITERATOR);
|
|
16
|
+
var iterator;
|
|
17
|
+
if (!isCallable(method)) {
|
|
18
|
+
method = getIteratorMethod(object);
|
|
19
|
+
alreadyAsync = false;
|
|
20
|
+
}
|
|
21
|
+
if (isCallable(method)) {
|
|
22
|
+
iterator = call(method, object);
|
|
23
|
+
} else {
|
|
24
|
+
iterator = object;
|
|
25
|
+
alreadyAsync = true;
|
|
26
|
+
}
|
|
27
|
+
return getIteratorDirect(alreadyAsync ? iterator : new AsyncFromSyncIterator(getIteratorDirect(iterator)));
|
|
28
|
+
};
|
|
@@ -2,6 +2,7 @@ var call = require('../internals/function-call');
|
|
|
2
2
|
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
|
|
3
3
|
var anObject = require('../internals/an-object');
|
|
4
4
|
var getIterator = require('../internals/get-iterator');
|
|
5
|
+
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
5
6
|
var getMethod = require('../internals/get-method');
|
|
6
7
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
7
8
|
|
|
@@ -9,5 +10,5 @@ var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
|
|
9
10
|
|
|
10
11
|
module.exports = function (it, usingIterator) {
|
|
11
12
|
var method = arguments.length < 2 ? getMethod(it, ASYNC_ITERATOR) : usingIterator;
|
|
12
|
-
return method ? anObject(call(method, it)) : new AsyncFromSyncIterator(getIterator(it));
|
|
13
|
+
return method ? anObject(call(method, it)) : new AsyncFromSyncIterator(getIteratorDirect(getIterator(it)));
|
|
13
14
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var call = require('../internals/function-call');
|
|
2
|
+
var isCallable = require('../internals/is-callable');
|
|
3
|
+
var toObject = require('../internals/to-object');
|
|
4
|
+
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
5
|
+
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
6
|
+
|
|
7
|
+
module.exports = function (obj) {
|
|
8
|
+
var object = toObject(obj);
|
|
9
|
+
var method = getIteratorMethod(object);
|
|
10
|
+
return getIteratorDirect(isCallable(method) ? call(method, object) : object);
|
|
11
|
+
};
|
|
@@ -44,9 +44,8 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
|
|
|
44
44
|
var returnMethod = getMethod(iterator, 'return');
|
|
45
45
|
return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
iteratorClose(innerIterator, 'return');
|
|
47
|
+
if (state.inner) try {
|
|
48
|
+
iteratorClose(state.inner.iterator, 'return');
|
|
50
49
|
} catch (error) {
|
|
51
50
|
return iteratorClose(iterator, 'throw', error);
|
|
52
51
|
}
|
|
@@ -75,6 +74,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
|
|
|
75
74
|
} else state = record;
|
|
76
75
|
state.type = ITERATOR_PROXY;
|
|
77
76
|
state.nextHandler = nextHandler;
|
|
77
|
+
state.counter = 0;
|
|
78
78
|
state.done = false;
|
|
79
79
|
setInternalState(this, state);
|
|
80
80
|
};
|
package/internals/shared.js
CHANGED
|
@@ -4,9 +4,9 @@ var store = require('../internals/shared-store');
|
|
|
4
4
|
(module.exports = function (key, value) {
|
|
5
5
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
6
6
|
})('versions', []).push({
|
|
7
|
-
version: '3.
|
|
7
|
+
version: '3.26.0',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
|
|
10
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.
|
|
10
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.26.0/LICENSE',
|
|
11
11
|
source: 'https://github.com/zloirock/core-js'
|
|
12
12
|
});
|
|
@@ -4,6 +4,7 @@ var $ = require('../internals/export');
|
|
|
4
4
|
var call = require('../internals/function-call');
|
|
5
5
|
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var anObject = require('../internals/an-object');
|
|
7
|
+
var isObject = require('../internals/is-object');
|
|
7
8
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
8
9
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
9
10
|
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
@@ -34,9 +35,14 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
34
35
|
} else {
|
|
35
36
|
var value = step.value;
|
|
36
37
|
try {
|
|
37
|
-
|
|
38
|
+
var result = filterer(value, state.counter++);
|
|
39
|
+
|
|
40
|
+
var handler = function (selected) {
|
|
38
41
|
selected ? resolve(createIterResultObject(value, false)) : loop();
|
|
39
|
-
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
|
|
45
|
+
else handler(result);
|
|
40
46
|
} catch (error3) { ifAbruptCloseAsyncIterator(error3); }
|
|
41
47
|
}
|
|
42
48
|
} catch (error2) { doneAndReject(error2); }
|
|
@@ -4,17 +4,17 @@ var $ = require('../internals/export');
|
|
|
4
4
|
var call = require('../internals/function-call');
|
|
5
5
|
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var anObject = require('../internals/an-object');
|
|
7
|
+
var isObject = require('../internals/is-object');
|
|
7
8
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
8
9
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
9
10
|
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
10
|
-
var
|
|
11
|
+
var getAsyncIteratorFlattenable = require('../internals/get-async-iterator-flattenable');
|
|
11
12
|
var closeAsyncIteration = require('../internals/async-iterator-close');
|
|
12
13
|
|
|
13
14
|
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
14
15
|
var state = this;
|
|
15
16
|
var iterator = state.iterator;
|
|
16
17
|
var mapper = state.mapper;
|
|
17
|
-
var innerIterator;
|
|
18
18
|
|
|
19
19
|
return new Promise(function (resolve, reject) {
|
|
20
20
|
var doneAndReject = function (error) {
|
|
@@ -36,13 +36,17 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
36
36
|
} else {
|
|
37
37
|
var value = step.value;
|
|
38
38
|
try {
|
|
39
|
-
|
|
39
|
+
var result = mapper(value, state.counter++);
|
|
40
|
+
|
|
41
|
+
var handler = function (mapped) {
|
|
40
42
|
try {
|
|
41
|
-
state.
|
|
42
|
-
state.innerNext = aCallable(innerIterator.next);
|
|
43
|
+
state.inner = getAsyncIteratorFlattenable(mapped);
|
|
43
44
|
innerLoop();
|
|
44
45
|
} catch (error4) { ifAbruptCloseAsyncIterator(error4); }
|
|
45
|
-
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
|
|
49
|
+
else handler(result);
|
|
46
50
|
} catch (error3) { ifAbruptCloseAsyncIterator(error3); }
|
|
47
51
|
}
|
|
48
52
|
} catch (error2) { doneAndReject(error2); }
|
|
@@ -51,12 +55,13 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
51
55
|
};
|
|
52
56
|
|
|
53
57
|
var innerLoop = function () {
|
|
54
|
-
|
|
58
|
+
var inner = state.inner;
|
|
59
|
+
if (inner) {
|
|
55
60
|
try {
|
|
56
|
-
Promise.resolve(anObject(call(
|
|
61
|
+
Promise.resolve(anObject(call(inner.next, inner.iterator))).then(function (result) {
|
|
57
62
|
try {
|
|
58
63
|
if (anObject(result).done) {
|
|
59
|
-
state.
|
|
64
|
+
state.inner = null;
|
|
60
65
|
outerLoop();
|
|
61
66
|
} else resolve(createIterResultObject(result.value, false));
|
|
62
67
|
} catch (error1) { ifAbruptCloseAsyncIterator(error1); }
|
|
@@ -73,8 +78,7 @@ $({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
|
73
78
|
flatMap: function flatMap(mapper) {
|
|
74
79
|
return new AsyncIteratorProxy(getIteratorDirect(this), {
|
|
75
80
|
mapper: aCallable(mapper),
|
|
76
|
-
|
|
77
|
-
innerNext: null
|
|
81
|
+
inner: null
|
|
78
82
|
});
|
|
79
83
|
}
|
|
80
84
|
});
|
|
@@ -1,32 +1,15 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var toObject = require('../internals/to-object');
|
|
4
3
|
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
4
|
+
var getAsyncIteratorFlattenable = require('../internals/get-async-iterator-flattenable');
|
|
5
5
|
var AsyncIteratorPrototype = require('../internals/async-iterator-prototype');
|
|
6
|
-
var getAsyncIterator = require('../internals/get-async-iterator');
|
|
7
|
-
var getIterator = require('../internals/get-iterator');
|
|
8
|
-
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
9
|
-
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
10
|
-
var getMethod = require('../internals/get-method');
|
|
11
|
-
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
12
|
-
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
|
|
13
6
|
var WrapAsyncIterator = require('../internals/async-iterator-wrap');
|
|
14
7
|
|
|
15
|
-
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
|
16
|
-
|
|
17
8
|
$({ target: 'AsyncIterator', stat: true, forced: true }, {
|
|
18
9
|
from: function from(O) {
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
iterator = getAsyncIterator(object, usingIterator);
|
|
24
|
-
if (isPrototypeOf(AsyncIteratorPrototype, iterator)) return iterator;
|
|
25
|
-
}
|
|
26
|
-
if (iterator === undefined) {
|
|
27
|
-
usingIterator = getIteratorMethod(object);
|
|
28
|
-
if (usingIterator) iterator = new AsyncFromSyncIterator(getIterator(object, usingIterator));
|
|
29
|
-
}
|
|
30
|
-
return new WrapAsyncIterator(getIteratorDirect(iterator !== undefined ? iterator : object));
|
|
10
|
+
var iteratorRecord = getAsyncIteratorFlattenable(O);
|
|
11
|
+
return isPrototypeOf(AsyncIteratorPrototype, iteratorRecord.iterator)
|
|
12
|
+
? iteratorRecord.iterator
|
|
13
|
+
: new WrapAsyncIterator(iteratorRecord);
|
|
31
14
|
}
|
|
32
15
|
});
|
|
@@ -4,6 +4,7 @@ var $ = require('../internals/export');
|
|
|
4
4
|
var call = require('../internals/function-call');
|
|
5
5
|
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var anObject = require('../internals/an-object');
|
|
7
|
+
var isObject = require('../internals/is-object');
|
|
7
8
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
8
9
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
9
10
|
var createIterResultObject = require('../internals/create-iter-result-object');
|
|
@@ -32,9 +33,14 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
32
33
|
} else {
|
|
33
34
|
var value = step.value;
|
|
34
35
|
try {
|
|
35
|
-
|
|
36
|
+
var result = mapper(value, state.counter++);
|
|
37
|
+
|
|
38
|
+
var handler = function (mapped) {
|
|
36
39
|
resolve(createIterResultObject(mapped, false));
|
|
37
|
-
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
|
|
43
|
+
else handler(result);
|
|
38
44
|
} catch (error2) { ifAbruptCloseAsyncIterator(error2); }
|
|
39
45
|
}
|
|
40
46
|
} catch (error) { doneAndReject(error); }
|
|
@@ -4,6 +4,7 @@ var $ = require('../internals/export');
|
|
|
4
4
|
var call = require('../internals/function-call');
|
|
5
5
|
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var anObject = require('../internals/an-object');
|
|
7
|
+
var isObject = require('../internals/is-object');
|
|
7
8
|
var getBuiltIn = require('../internals/get-built-in');
|
|
8
9
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
9
10
|
var closeAsyncIteration = require('../internals/async-iterator-close');
|
|
@@ -18,6 +19,7 @@ $({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
|
18
19
|
var next = record.next;
|
|
19
20
|
var noInitial = arguments.length < 2;
|
|
20
21
|
var accumulator = noInitial ? undefined : arguments[1];
|
|
22
|
+
var counter = 0;
|
|
21
23
|
aCallable(reducer);
|
|
22
24
|
|
|
23
25
|
return new Promise(function (resolve, reject) {
|
|
@@ -38,12 +40,18 @@ $({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
|
38
40
|
accumulator = value;
|
|
39
41
|
loop();
|
|
40
42
|
} else try {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
var result = reducer(accumulator, value, counter);
|
|
44
|
+
|
|
45
|
+
var handler = function ($result) {
|
|
46
|
+
accumulator = $result;
|
|
43
47
|
loop();
|
|
44
|
-
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
|
|
51
|
+
else handler(result);
|
|
45
52
|
} catch (error3) { ifAbruptCloseAsyncIterator(error3); }
|
|
46
53
|
}
|
|
54
|
+
counter++;
|
|
47
55
|
} catch (error2) { reject(error2); }
|
|
48
56
|
}, reject);
|
|
49
57
|
} catch (error) { reject(error); }
|
|
@@ -8,9 +8,10 @@ var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
|
8
8
|
$({ target: 'Iterator', proto: true, real: true, forced: true }, {
|
|
9
9
|
every: function every(fn) {
|
|
10
10
|
var record = getIteratorDirect(this);
|
|
11
|
+
var counter = 0;
|
|
11
12
|
aCallable(fn);
|
|
12
13
|
return !iterate(record, function (value, stop) {
|
|
13
|
-
if (!fn(value)) return stop();
|
|
14
|
+
if (!fn(value, counter++)) return stop();
|
|
14
15
|
}, { IS_RECORD: true, INTERRUPTED: true }).stopped;
|
|
15
16
|
}
|
|
16
17
|
});
|
|
@@ -18,7 +18,7 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
18
18
|
done = this.done = !!result.done;
|
|
19
19
|
if (done) return;
|
|
20
20
|
value = result.value;
|
|
21
|
-
if (callWithSafeIterationClosing(iterator, filterer, value)) return value;
|
|
21
|
+
if (callWithSafeIterationClosing(iterator, filterer, [value, this.counter++], true)) return value;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
|
|
@@ -8,9 +8,10 @@ var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
|
8
8
|
$({ target: 'Iterator', proto: true, real: true, forced: true }, {
|
|
9
9
|
find: function find(fn) {
|
|
10
10
|
var record = getIteratorDirect(this);
|
|
11
|
+
var counter = 0;
|
|
11
12
|
aCallable(fn);
|
|
12
13
|
return iterate(record, function (value, stop) {
|
|
13
|
-
if (fn(value)) return stop(value);
|
|
14
|
+
if (fn(value, counter++)) return stop(value);
|
|
14
15
|
}, { IS_RECORD: true, INTERRUPTED: true }).result;
|
|
15
16
|
}
|
|
16
17
|
});
|
|
@@ -5,22 +5,20 @@ var call = require('../internals/function-call');
|
|
|
5
5
|
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var anObject = require('../internals/an-object');
|
|
7
7
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
8
|
-
var
|
|
8
|
+
var getIteratorFlattenable = require('../internals/get-iterator-flattenable');
|
|
9
9
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
10
10
|
var iteratorClose = require('../internals/iterator-close');
|
|
11
11
|
|
|
12
|
-
var $TypeError = TypeError;
|
|
13
|
-
|
|
14
12
|
var IteratorProxy = createIteratorProxy(function () {
|
|
15
13
|
var iterator = this.iterator;
|
|
16
14
|
var mapper = this.mapper;
|
|
17
|
-
var result,
|
|
15
|
+
var result, inner;
|
|
18
16
|
|
|
19
17
|
while (true) {
|
|
20
|
-
if (
|
|
21
|
-
result = anObject(call(
|
|
18
|
+
if (inner = this.inner) try {
|
|
19
|
+
result = anObject(call(inner.next, inner.iterator));
|
|
22
20
|
if (!result.done) return result.value;
|
|
23
|
-
this.
|
|
21
|
+
this.inner = null;
|
|
24
22
|
} catch (error) { iteratorClose(iterator, 'throw', error); }
|
|
25
23
|
|
|
26
24
|
result = anObject(call(this.next, iterator));
|
|
@@ -28,15 +26,7 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
28
26
|
if (this.done = !!result.done) return;
|
|
29
27
|
|
|
30
28
|
try {
|
|
31
|
-
|
|
32
|
-
iteratorMethod = getIteratorMethod(mapped);
|
|
33
|
-
|
|
34
|
-
if (!iteratorMethod) {
|
|
35
|
-
throw $TypeError('.flatMap callback should return an iterable object');
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
this.innerIterator = innerIterator = anObject(call(iteratorMethod, mapped));
|
|
39
|
-
this.innerNext = aCallable(innerIterator.next);
|
|
29
|
+
this.inner = getIteratorFlattenable(mapper(result.value, this.counter++));
|
|
40
30
|
} catch (error) { iteratorClose(iterator, 'throw', error); }
|
|
41
31
|
}
|
|
42
32
|
});
|
|
@@ -45,8 +35,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: true }, {
|
|
|
45
35
|
flatMap: function flatMap(mapper) {
|
|
46
36
|
return new IteratorProxy(getIteratorDirect(this), {
|
|
47
37
|
mapper: aCallable(mapper),
|
|
48
|
-
|
|
49
|
-
innerNext: null
|
|
38
|
+
inner: null
|
|
50
39
|
});
|
|
51
40
|
}
|
|
52
41
|
});
|
|
@@ -2,10 +2,16 @@
|
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var iterate = require('../internals/iterate');
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
6
7
|
|
|
7
8
|
$({ target: 'Iterator', proto: true, real: true, forced: true }, {
|
|
8
9
|
forEach: function forEach(fn) {
|
|
9
|
-
|
|
10
|
+
var record = getIteratorDirect(this);
|
|
11
|
+
var counter = 0;
|
|
12
|
+
aCallable(fn);
|
|
13
|
+
iterate(record, function (value) {
|
|
14
|
+
fn(value, counter++);
|
|
15
|
+
}, { IS_RECORD: true });
|
|
10
16
|
}
|
|
11
17
|
});
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var call = require('../internals/function-call');
|
|
4
|
-
var toObject = require('../internals/to-object');
|
|
5
4
|
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
6
5
|
var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
|
|
7
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
8
|
-
var
|
|
9
|
-
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
10
|
-
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
7
|
+
var getIteratorFlattenable = require('../internals/get-iterator-flattenable');
|
|
11
8
|
|
|
12
9
|
var IteratorProxy = createIteratorProxy(function () {
|
|
13
10
|
return call(this.next, this.iterator);
|
|
@@ -15,14 +12,9 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
15
12
|
|
|
16
13
|
$({ target: 'Iterator', stat: true, forced: true }, {
|
|
17
14
|
from: function from(O) {
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
iterator = getIterator(object, usingIterator);
|
|
23
|
-
if (isPrototypeOf(IteratorPrototype, iterator)) return iterator;
|
|
24
|
-
} else {
|
|
25
|
-
iterator = object;
|
|
26
|
-
} return new IteratorProxy(getIteratorDirect(iterator));
|
|
15
|
+
var iteratorRecord = getIteratorFlattenable(O);
|
|
16
|
+
return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator)
|
|
17
|
+
? iteratorRecord.iterator
|
|
18
|
+
: new IteratorProxy(iteratorRecord);
|
|
27
19
|
}
|
|
28
20
|
});
|
|
@@ -12,7 +12,7 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
12
12
|
var iterator = this.iterator;
|
|
13
13
|
var result = anObject(call(this.next, iterator));
|
|
14
14
|
var done = this.done = !!result.done;
|
|
15
|
-
if (!done) return callWithSafeIterationClosing(iterator, this.mapper, result.value);
|
|
15
|
+
if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);
|
|
16
16
|
});
|
|
17
17
|
|
|
18
18
|
$({ target: 'Iterator', proto: true, real: true, forced: true }, {
|
|
@@ -13,13 +13,15 @@ $({ target: 'Iterator', proto: true, real: true, forced: true }, {
|
|
|
13
13
|
aCallable(reducer);
|
|
14
14
|
var noInitial = arguments.length < 2;
|
|
15
15
|
var accumulator = noInitial ? undefined : arguments[1];
|
|
16
|
+
var counter = 0;
|
|
16
17
|
iterate(record, function (value) {
|
|
17
18
|
if (noInitial) {
|
|
18
19
|
noInitial = false;
|
|
19
20
|
accumulator = value;
|
|
20
21
|
} else {
|
|
21
|
-
accumulator = reducer(accumulator, value);
|
|
22
|
+
accumulator = reducer(accumulator, value, counter);
|
|
22
23
|
}
|
|
24
|
+
counter++;
|
|
23
25
|
}, { IS_RECORD: true });
|
|
24
26
|
if (noInitial) throw $TypeError('Reduce of empty iterator with no initial value');
|
|
25
27
|
return accumulator;
|
|
@@ -8,9 +8,10 @@ var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
|
8
8
|
$({ target: 'Iterator', proto: true, real: true, forced: true }, {
|
|
9
9
|
some: function some(fn) {
|
|
10
10
|
var record = getIteratorDirect(this);
|
|
11
|
+
var counter = 0;
|
|
11
12
|
aCallable(fn);
|
|
12
13
|
return iterate(record, function (value, stop) {
|
|
13
|
-
if (fn(value)) return stop();
|
|
14
|
+
if (fn(value, counter++)) return stop();
|
|
14
15
|
}, { IS_RECORD: true, INTERRUPTED: true }).stopped;
|
|
15
16
|
}
|
|
16
17
|
});
|
|
@@ -7,6 +7,6 @@ var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
|
7
7
|
|
|
8
8
|
$({ target: 'Iterator', proto: true, real: true, forced: true }, {
|
|
9
9
|
toAsync: function toAsync() {
|
|
10
|
-
return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(this)));
|
|
10
|
+
return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(getIteratorDirect(this))));
|
|
11
11
|
}
|
|
12
12
|
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
|
+
var toString = require('../internals/to-string');
|
|
6
|
+
|
|
7
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
8
|
+
|
|
9
|
+
// `String.prototype.isWellFormed` method
|
|
10
|
+
// https://github.com/tc39/proposal-is-usv-string
|
|
11
|
+
$({ target: 'String', proto: true, forced: true }, {
|
|
12
|
+
isWellFormed: function isWellFormed() {
|
|
13
|
+
var S = toString(requireObjectCoercible(this));
|
|
14
|
+
var length = S.length;
|
|
15
|
+
for (var i = 0; i < length; i++) {
|
|
16
|
+
var charCode = charCodeAt(S, i);
|
|
17
|
+
// single UTF-16 code unit
|
|
18
|
+
if ((charCode & 0xF800) != 0xD800) continue;
|
|
19
|
+
// unpaired surrogate
|
|
20
|
+
if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) != 0xDC00) return false;
|
|
21
|
+
} return true;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
|
+
var toString = require('../internals/to-string');
|
|
6
|
+
|
|
7
|
+
var $Array = Array;
|
|
8
|
+
var charAt = uncurryThis(''.charAt);
|
|
9
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
10
|
+
var join = uncurryThis([].join);
|
|
11
|
+
var REPLACEMENT_CHARACTER = '\uFFFD';
|
|
12
|
+
|
|
13
|
+
// `String.prototype.toWellFormed` method
|
|
14
|
+
// https://github.com/tc39/proposal-is-usv-string
|
|
15
|
+
$({ target: 'String', proto: true, forced: true }, {
|
|
16
|
+
toWellFormed: function toWellFormed() {
|
|
17
|
+
var S = toString(requireObjectCoercible(this));
|
|
18
|
+
var length = S.length;
|
|
19
|
+
var result = $Array(length);
|
|
20
|
+
for (var i = 0; i < length; i++) {
|
|
21
|
+
var charCode = charCodeAt(S, i);
|
|
22
|
+
// single UTF-16 code unit
|
|
23
|
+
if ((charCode & 0xF800) != 0xD800) result[i] = charAt(S, i);
|
|
24
|
+
// unpaired surrogate
|
|
25
|
+
else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) != 0xDC00) result[i] = REPLACEMENT_CHARACTER;
|
|
26
|
+
// surrogate pair
|
|
27
|
+
else {
|
|
28
|
+
result[i] = charAt(S, i);
|
|
29
|
+
result[++i] = charAt(S, i);
|
|
30
|
+
}
|
|
31
|
+
} return join(result, '');
|
|
32
|
+
}
|
|
33
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
4
|
+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
5
|
+
var DESCRIPTORS = require('../internals/descriptors');
|
|
6
|
+
|
|
7
|
+
var $TypeError = TypeError;
|
|
8
|
+
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
9
|
+
var defineProperty = Object.defineProperty;
|
|
10
|
+
var INCORRECT_VALUE = global.self !== global;
|
|
11
|
+
|
|
12
|
+
// `self` getter
|
|
13
|
+
// https://html.spec.whatwg.org/multipage/window-object.html#dom-self
|
|
14
|
+
try {
|
|
15
|
+
if (DESCRIPTORS) {
|
|
16
|
+
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
17
|
+
var descriptor = Object.getOwnPropertyDescriptor(global, 'self');
|
|
18
|
+
// some engines have `self`, but with incorrect descriptor
|
|
19
|
+
// https://github.com/denoland/deno/issues/15765
|
|
20
|
+
if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) {
|
|
21
|
+
defineBuiltInAccessor(global, 'self', {
|
|
22
|
+
get: function self() {
|
|
23
|
+
return global;
|
|
24
|
+
},
|
|
25
|
+
set: function self(value) {
|
|
26
|
+
if (this !== global) throw $TypeError('Illegal invocation');
|
|
27
|
+
defineProperty(global, 'self', {
|
|
28
|
+
value: value,
|
|
29
|
+
writable: true,
|
|
30
|
+
configurable: true,
|
|
31
|
+
enumerable: true
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
configurable: true,
|
|
35
|
+
enumerable: true
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
} else $({ global: true, simple: true, forced: INCORRECT_VALUE }, {
|
|
39
|
+
self: global
|
|
40
|
+
});
|
|
41
|
+
} catch (error) { /* empty */ }
|
package/package.json
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "core-js",
|
|
3
|
+
"version": "3.26.0",
|
|
3
4
|
"description": "Standard library",
|
|
4
|
-
"version": "3.25.5",
|
|
5
|
-
"repository": {
|
|
6
|
-
"type": "git",
|
|
7
|
-
"url": "https://github.com/zloirock/core-js.git"
|
|
8
|
-
},
|
|
9
|
-
"main": "index.js",
|
|
10
|
-
"funding": {
|
|
11
|
-
"type": "opencollective",
|
|
12
|
-
"url": "https://opencollective.com/core-js"
|
|
13
|
-
},
|
|
14
|
-
"license": "MIT",
|
|
15
5
|
"keywords": [
|
|
16
6
|
"ES3",
|
|
17
7
|
"ES5",
|
|
@@ -23,6 +13,9 @@
|
|
|
23
13
|
"ES2018",
|
|
24
14
|
"ES2019",
|
|
25
15
|
"ES2020",
|
|
16
|
+
"ES2021",
|
|
17
|
+
"ES2022",
|
|
18
|
+
"ES2023",
|
|
26
19
|
"ECMAScript 3",
|
|
27
20
|
"ECMAScript 5",
|
|
28
21
|
"ECMAScript 6",
|
|
@@ -33,24 +26,44 @@
|
|
|
33
26
|
"ECMAScript 2018",
|
|
34
27
|
"ECMAScript 2019",
|
|
35
28
|
"ECMAScript 2020",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
29
|
+
"ECMAScript 2021",
|
|
30
|
+
"ECMAScript 2022",
|
|
31
|
+
"ECMAScript 2023",
|
|
38
32
|
"Map",
|
|
39
33
|
"Set",
|
|
40
34
|
"WeakMap",
|
|
41
35
|
"WeakSet",
|
|
36
|
+
"TypedArray",
|
|
42
37
|
"Promise",
|
|
43
38
|
"Observable",
|
|
44
39
|
"Symbol",
|
|
45
|
-
"
|
|
40
|
+
"Iterator",
|
|
41
|
+
"AsyncIterator",
|
|
46
42
|
"URL",
|
|
47
43
|
"URLSearchParams",
|
|
48
44
|
"queueMicrotask",
|
|
49
45
|
"setImmediate",
|
|
46
|
+
"structuredClone",
|
|
50
47
|
"polyfill",
|
|
51
48
|
"ponyfill",
|
|
52
49
|
"shim"
|
|
53
50
|
],
|
|
51
|
+
"repository": {
|
|
52
|
+
"type": "git",
|
|
53
|
+
"url": "https://github.com/zloirock/core-js.git",
|
|
54
|
+
"directory": "packages/core-js"
|
|
55
|
+
},
|
|
56
|
+
"funding": {
|
|
57
|
+
"type": "opencollective",
|
|
58
|
+
"url": "https://opencollective.com/core-js"
|
|
59
|
+
},
|
|
60
|
+
"license": "MIT",
|
|
61
|
+
"author": {
|
|
62
|
+
"name": "Denis Pushkarev",
|
|
63
|
+
"email": "zloirock@zloirock.ru",
|
|
64
|
+
"url": "http://zloirock.ru"
|
|
65
|
+
},
|
|
66
|
+
"main": "index.js",
|
|
54
67
|
"scripts": {
|
|
55
68
|
"postinstall": "node -e \"try{require('./postinstall')}catch(e){}\""
|
|
56
69
|
}
|
package/stable/index.js
CHANGED
|
@@ -240,6 +240,7 @@ require('../modules/web.dom-exception.stack');
|
|
|
240
240
|
require('../modules/web.dom-exception.to-string-tag');
|
|
241
241
|
require('../modules/web.immediate');
|
|
242
242
|
require('../modules/web.queue-microtask');
|
|
243
|
+
require('../modules/web.self');
|
|
243
244
|
require('../modules/web.structured-clone');
|
|
244
245
|
require('../modules/web.timers');
|
|
245
246
|
require('../modules/web.url');
|
package/stable/self.js
ADDED
package/stage/0.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
var parent = require('./1');
|
|
2
|
+
|
|
1
3
|
require('../proposals/efficient-64-bit-arithmetic');
|
|
2
4
|
require('../proposals/function-is-callable-is-constructor');
|
|
3
5
|
require('../proposals/function-un-this');
|
|
@@ -5,6 +7,5 @@ require('../proposals/string-at');
|
|
|
5
7
|
require('../proposals/url');
|
|
6
8
|
// TODO: Obsolete versions, remove from `core-js@4`:
|
|
7
9
|
require('../proposals/array-filtering');
|
|
8
|
-
var parent = require('./1');
|
|
9
10
|
|
|
10
11
|
module.exports = parent;
|
package/stage/1.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
var parent = require('./2');
|
|
2
|
+
|
|
1
3
|
require('../proposals/array-filtering-stage-1');
|
|
2
4
|
require('../proposals/array-last');
|
|
3
5
|
require('../proposals/array-unique');
|
|
@@ -19,6 +21,5 @@ require('../proposals/string-cooked');
|
|
|
19
21
|
require('../proposals/array-from-async');
|
|
20
22
|
require('../proposals/map-upsert');
|
|
21
23
|
require('../proposals/string-replace-all');
|
|
22
|
-
var parent = require('./2');
|
|
23
24
|
|
|
24
25
|
module.exports = parent;
|
package/stage/2.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
require('
|
|
1
|
+
var parent = require('./3');
|
|
2
|
+
|
|
2
3
|
require('../proposals/array-is-template-object');
|
|
3
4
|
require('../proposals/decorator-metadata');
|
|
4
5
|
require('../proposals/iterator-helpers');
|
|
5
6
|
require('../proposals/map-upsert-stage-2');
|
|
6
7
|
require('../proposals/set-methods');
|
|
7
8
|
require('../proposals/using-statement');
|
|
9
|
+
require('../proposals/well-formed-unicode-strings');
|
|
8
10
|
// TODO: Obsolete versions, remove from `core-js@4`
|
|
9
11
|
require('../proposals/array-grouping');
|
|
10
12
|
require('../proposals/decorators');
|
|
11
|
-
var parent = require('./3');
|
|
12
13
|
|
|
13
14
|
module.exports = parent;
|
package/stage/3.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
var parent = require('./4');
|
|
2
|
+
|
|
3
|
+
require('../proposals/array-from-async-stage-2');
|
|
1
4
|
require('../proposals/array-grouping-stage-3-2');
|
|
2
5
|
require('../proposals/change-array-by-copy');
|
|
3
6
|
// TODO: Obsolete versions, remove from `core-js@4`
|
|
4
7
|
require('../proposals/array-grouping-stage-3');
|
|
5
|
-
var parent = require('./4');
|
|
6
8
|
|
|
7
9
|
module.exports = parent;
|
package/stage/4.js
CHANGED
package/stage/pre.js
CHANGED
package/web/index.js
CHANGED
|
@@ -7,6 +7,7 @@ require('../modules/web.dom-exception.stack');
|
|
|
7
7
|
require('../modules/web.dom-exception.to-string-tag');
|
|
8
8
|
require('../modules/web.immediate');
|
|
9
9
|
require('../modules/web.queue-microtask');
|
|
10
|
+
require('../modules/web.self');
|
|
10
11
|
require('../modules/web.structured-clone');
|
|
11
12
|
require('../modules/web.timers');
|
|
12
13
|
require('../modules/web.url');
|