core-js-pure 3.16.3 → 3.17.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/array/at.js +4 -0
- package/es/array/index.js +1 -0
- package/es/array/virtual/at.js +4 -0
- package/es/array/virtual/index.js +1 -0
- package/es/index.js +4 -0
- package/es/instance/at.js +13 -0
- package/es/object/has-own.js +4 -0
- package/es/object/index.js +1 -0
- package/es/string/at.js +4 -0
- package/es/string/index.js +1 -0
- package/es/string/virtual/at.js +4 -0
- package/es/string/virtual/index.js +1 -0
- package/es/typed-array/at.js +1 -0
- package/es/typed-array/methods.js +1 -0
- package/features/array/at.js +4 -2
- package/features/array/index.js +1 -0
- package/features/array/virtual/at.js +4 -2
- package/features/array/virtual/index.js +1 -0
- package/features/bigint/index.js +1 -0
- package/features/bigint/range.js +1 -0
- package/features/index.js +4 -0
- package/features/number/index.js +1 -0
- package/features/object/has-own.js +4 -2
- package/features/object/index.js +1 -0
- package/features/string/at.js +3 -2
- package/features/string/virtual/at.js +2 -0
- package/features/string/virtual/index.js +1 -2
- package/features/typed-array/at.js +5 -0
- package/features/typed-array/index.js +1 -0
- package/features/typed-array/methods.js +1 -0
- package/internals/array-from.js +2 -1
- package/internals/async-from-sync-iterator.js +60 -0
- package/internals/async-iterator-create-proxy.js +34 -26
- package/internals/call-with-safe-iteration-closing.js +1 -2
- package/internals/get-async-iterator.js +15 -0
- package/internals/get-iterator.js +2 -2
- package/internals/get-method.js +7 -0
- package/internals/iterate.js +4 -4
- package/internals/iterator-close.js +17 -4
- package/internals/iterator-create-proxy.js +20 -17
- package/internals/shared.js +1 -1
- package/internals/this-number-value.js +2 -5
- package/modules/es.array.at.js +20 -0
- package/modules/es.object.has-own.js +8 -0
- package/modules/es.string.at-alternative.js +23 -0
- package/modules/es.typed-array.at.js +1 -0
- package/modules/esnext.array.at.js +2 -20
- package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -2
- package/modules/esnext.async-iterator.drop.js +2 -2
- package/modules/esnext.async-iterator.filter.js +2 -2
- package/modules/esnext.async-iterator.flat-map.js +7 -10
- package/modules/esnext.async-iterator.from.js +20 -15
- package/modules/esnext.async-iterator.map.js +2 -2
- package/modules/esnext.async-iterator.take.js +2 -2
- package/modules/esnext.iterator.as-indexed-pairs.js +2 -2
- package/modules/esnext.iterator.drop.js +2 -2
- package/modules/esnext.iterator.filter.js +2 -2
- package/modules/esnext.iterator.flat-map.js +3 -4
- package/modules/esnext.iterator.from.js +4 -4
- package/modules/esnext.iterator.map.js +2 -2
- package/modules/esnext.iterator.take.js +3 -3
- package/modules/esnext.object.has-own.js +2 -8
- package/modules/esnext.observable.js +1 -4
- package/modules/esnext.string.at-alternative.js +2 -24
- package/modules/web.url-search-params.js +1 -1
- package/modules/web.url.js +82 -82
- package/package.json +2 -2
- package/proposals/accessible-object-hasownproperty.js +1 -0
- package/proposals/relative-indexing-method.js +2 -2
- package/stable/array/at.js +3 -0
- package/stable/array/virtual/at.js +3 -0
- package/stable/index.js +4 -0
- package/stable/instance/at.js +3 -0
- package/stable/object/has-own.js +3 -0
- package/stable/string/at.js +3 -0
- package/stable/string/virtual/at.js +3 -0
- package/stable/typed-array/at.js +3 -0
- package/stage/3.js +0 -2
- package/stage/4.js +2 -0
- package/internals/get-async-iterator-method.js +0 -9
package/es/array/at.js
ADDED
package/es/array/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
require('../../modules/es.array.from');
|
|
2
2
|
require('../../modules/es.array.is-array');
|
|
3
3
|
require('../../modules/es.array.of');
|
|
4
|
+
require('../../modules/es.array.at');
|
|
4
5
|
require('../../modules/es.array.concat');
|
|
5
6
|
require('../../modules/es.array.copy-within');
|
|
6
7
|
require('../../modules/es.array.every');
|
package/es/index.js
CHANGED
|
@@ -14,6 +14,7 @@ require('../modules/es.symbol.to-primitive');
|
|
|
14
14
|
require('../modules/es.symbol.to-string-tag');
|
|
15
15
|
require('../modules/es.symbol.unscopables');
|
|
16
16
|
require('../modules/es.aggregate-error');
|
|
17
|
+
require('../modules/es.array.at');
|
|
17
18
|
require('../modules/es.array.concat');
|
|
18
19
|
require('../modules/es.array.copy-within');
|
|
19
20
|
require('../modules/es.array.every');
|
|
@@ -106,6 +107,7 @@ require('../modules/es.object.get-own-property-descriptor');
|
|
|
106
107
|
require('../modules/es.object.get-own-property-descriptors');
|
|
107
108
|
require('../modules/es.object.get-own-property-names');
|
|
108
109
|
require('../modules/es.object.get-prototype-of');
|
|
110
|
+
require('../modules/es.object.has-own');
|
|
109
111
|
require('../modules/es.object.is');
|
|
110
112
|
require('../modules/es.object.is-extensible');
|
|
111
113
|
require('../modules/es.object.is-frozen');
|
|
@@ -146,6 +148,7 @@ require('../modules/es.regexp.sticky');
|
|
|
146
148
|
require('../modules/es.regexp.test');
|
|
147
149
|
require('../modules/es.regexp.to-string');
|
|
148
150
|
require('../modules/es.set');
|
|
151
|
+
require('../modules/es.string.at-alternative');
|
|
149
152
|
require('../modules/es.string.code-point-at');
|
|
150
153
|
require('../modules/es.string.ends-with');
|
|
151
154
|
require('../modules/es.string.from-code-point');
|
|
@@ -188,6 +191,7 @@ require('../modules/es.typed-array.uint8-array');
|
|
|
188
191
|
require('../modules/es.typed-array.uint8-clamped-array');
|
|
189
192
|
require('../modules/es.typed-array.uint16-array');
|
|
190
193
|
require('../modules/es.typed-array.uint32-array');
|
|
194
|
+
require('../modules/es.typed-array.at');
|
|
191
195
|
require('../modules/es.typed-array.copy-within');
|
|
192
196
|
require('../modules/es.typed-array.every');
|
|
193
197
|
require('../modules/es.typed-array.fill');
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
var arrayAt = require('../array/virtual/at');
|
|
2
|
+
var stringAt = require('../string/virtual/at');
|
|
3
|
+
|
|
4
|
+
var ArrayPrototype = Array.prototype;
|
|
5
|
+
var StringPrototype = String.prototype;
|
|
6
|
+
|
|
7
|
+
module.exports = function (it) {
|
|
8
|
+
var own = it.at;
|
|
9
|
+
if (it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.at)) return arrayAt;
|
|
10
|
+
if (typeof it === 'string' || it === StringPrototype || (it instanceof String && own === StringPrototype.at)) {
|
|
11
|
+
return stringAt;
|
|
12
|
+
} return own;
|
|
13
|
+
};
|
package/es/object/index.js
CHANGED
|
@@ -10,6 +10,7 @@ require('../../modules/es.object.get-own-property-descriptor');
|
|
|
10
10
|
require('../../modules/es.object.get-own-property-descriptors');
|
|
11
11
|
require('../../modules/es.object.get-own-property-names');
|
|
12
12
|
require('../../modules/es.object.get-prototype-of');
|
|
13
|
+
require('../../modules/es.object.has-own');
|
|
13
14
|
require('../../modules/es.object.is');
|
|
14
15
|
require('../../modules/es.object.is-extensible');
|
|
15
16
|
require('../../modules/es.object.is-frozen');
|
package/es/string/at.js
ADDED
package/es/string/index.js
CHANGED
|
@@ -3,6 +3,7 @@ require('../../modules/es.regexp.exec');
|
|
|
3
3
|
require('../../modules/es.string.from-code-point');
|
|
4
4
|
require('../../modules/es.string.raw');
|
|
5
5
|
require('../../modules/es.string.code-point-at');
|
|
6
|
+
require('../../modules/es.string.at-alternative');
|
|
6
7
|
require('../../modules/es.string.ends-with');
|
|
7
8
|
require('../../modules/es.string.includes');
|
|
8
9
|
require('../../modules/es.string.match');
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require('../../../modules/es.object.to-string');
|
|
2
2
|
require('../../../modules/es.regexp.exec');
|
|
3
|
+
require('../../../modules/es.string.at-alternative');
|
|
3
4
|
require('../../../modules/es.string.code-point-at');
|
|
4
5
|
require('../../../modules/es.string.ends-with');
|
|
5
6
|
require('../../../modules/es.string.includes');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('../../modules/es.typed-array.at');
|
|
@@ -2,6 +2,7 @@ require('../../modules/es.object.to-string');
|
|
|
2
2
|
require('../../modules/es.string.iterator');
|
|
3
3
|
require('../../modules/es.typed-array.from');
|
|
4
4
|
require('../../modules/es.typed-array.of');
|
|
5
|
+
require('../../modules/es.typed-array.at');
|
|
5
6
|
require('../../modules/es.typed-array.copy-within');
|
|
6
7
|
require('../../modules/es.typed-array.every');
|
|
7
8
|
require('../../modules/es.typed-array.fill');
|
package/features/array/at.js
CHANGED
package/features/array/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
var parent = require('../../../stable/array/virtual/at');
|
|
2
|
+
|
|
3
|
+
// TODO: Remove from `core-js@4`
|
|
1
4
|
require('../../../modules/esnext.array.at');
|
|
2
|
-
var entryVirtual = require('../../../internals/entry-virtual');
|
|
3
5
|
|
|
4
|
-
module.exports =
|
|
6
|
+
module.exports = parent;
|
package/features/bigint/index.js
CHANGED
package/features/bigint/range.js
CHANGED
package/features/index.js
CHANGED
|
@@ -14,6 +14,7 @@ require('../modules/es.symbol.to-primitive');
|
|
|
14
14
|
require('../modules/es.symbol.to-string-tag');
|
|
15
15
|
require('../modules/es.symbol.unscopables');
|
|
16
16
|
require('../modules/es.aggregate-error');
|
|
17
|
+
require('../modules/es.array.at');
|
|
17
18
|
require('../modules/es.array.concat');
|
|
18
19
|
require('../modules/es.array.copy-within');
|
|
19
20
|
require('../modules/es.array.every');
|
|
@@ -106,6 +107,7 @@ require('../modules/es.object.get-own-property-descriptor');
|
|
|
106
107
|
require('../modules/es.object.get-own-property-descriptors');
|
|
107
108
|
require('../modules/es.object.get-own-property-names');
|
|
108
109
|
require('../modules/es.object.get-prototype-of');
|
|
110
|
+
require('../modules/es.object.has-own');
|
|
109
111
|
require('../modules/es.object.is');
|
|
110
112
|
require('../modules/es.object.is-extensible');
|
|
111
113
|
require('../modules/es.object.is-frozen');
|
|
@@ -146,6 +148,7 @@ require('../modules/es.regexp.sticky');
|
|
|
146
148
|
require('../modules/es.regexp.test');
|
|
147
149
|
require('../modules/es.regexp.to-string');
|
|
148
150
|
require('../modules/es.set');
|
|
151
|
+
require('../modules/es.string.at-alternative');
|
|
149
152
|
require('../modules/es.string.code-point-at');
|
|
150
153
|
require('../modules/es.string.ends-with');
|
|
151
154
|
require('../modules/es.string.from-code-point');
|
|
@@ -188,6 +191,7 @@ require('../modules/es.typed-array.uint8-array');
|
|
|
188
191
|
require('../modules/es.typed-array.uint8-clamped-array');
|
|
189
192
|
require('../modules/es.typed-array.uint16-array');
|
|
190
193
|
require('../modules/es.typed-array.uint32-array');
|
|
194
|
+
require('../modules/es.typed-array.at');
|
|
191
195
|
require('../modules/es.typed-array.copy-within');
|
|
192
196
|
require('../modules/es.typed-array.every');
|
|
193
197
|
require('../modules/es.typed-array.fill');
|
package/features/number/index.js
CHANGED
package/features/object/index.js
CHANGED
package/features/string/at.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
require('../../stable/string/at');
|
|
2
|
+
// TODO: Remove from `core-js@4`
|
|
1
3
|
require('../../modules/esnext.string.at');
|
|
2
|
-
var entryUnbind = require('../../internals/entry-unbind');
|
|
3
4
|
|
|
4
|
-
module.exports =
|
|
5
|
+
module.exports = require('../../internals/entry-unbind')('String', 'at');
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
var parent = require('../../../stable/string/virtual');
|
|
2
|
+
// TODO: remove from `core-js@4`
|
|
2
3
|
require('../../../modules/esnext.string.at');
|
|
3
|
-
// TODO: disabled by default because of the conflict with another proposal
|
|
4
|
-
// require('../../../modules/esnext.string.at-alternative');
|
|
5
4
|
require('../../../modules/esnext.string.code-points');
|
|
6
5
|
// TODO: remove from `core-js@4`
|
|
7
6
|
require('../../../modules/esnext.string.match-all');
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var parent = require('../../stable/typed-array/methods');
|
|
2
2
|
require('../../modules/es.map');
|
|
3
|
+
// TODO: Remove from `core-js@4`
|
|
3
4
|
require('../../modules/esnext.typed-array.at');
|
|
4
5
|
// TODO: Remove from `core-js@4`
|
|
5
6
|
require('../../modules/esnext.typed-array.filter-out');
|
package/internals/array-from.js
CHANGED
|
@@ -5,6 +5,7 @@ var callWithSafeIterationClosing = require('../internals/call-with-safe-iteratio
|
|
|
5
5
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
6
6
|
var toLength = require('../internals/to-length');
|
|
7
7
|
var createProperty = require('../internals/create-property');
|
|
8
|
+
var getIterator = require('../internals/get-iterator');
|
|
8
9
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
9
10
|
|
|
10
11
|
// `Array.from` method implementation
|
|
@@ -21,7 +22,7 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
|
|
|
21
22
|
if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
|
|
22
23
|
// if the target is not iterable or it's an array with the default iterator - use a simple case
|
|
23
24
|
if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
|
|
24
|
-
iterator =
|
|
25
|
+
iterator = getIterator(O, iteratorMethod);
|
|
25
26
|
next = iterator.next;
|
|
26
27
|
result = new C();
|
|
27
28
|
for (;!(step = next.call(iterator)).done; index++) {
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var path = require('../internals/path');
|
|
3
|
+
var anObject = require('../internals/an-object');
|
|
4
|
+
var create = require('../internals/object-create');
|
|
5
|
+
var getMethod = require('../internals/get-method');
|
|
6
|
+
var redefineAll = require('../internals/redefine-all');
|
|
7
|
+
var InternalStateModule = require('../internals/internal-state');
|
|
8
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
9
|
+
|
|
10
|
+
var Promise = getBuiltIn('Promise');
|
|
11
|
+
|
|
12
|
+
var setInternalState = InternalStateModule.set;
|
|
13
|
+
var getInternalState = InternalStateModule.get;
|
|
14
|
+
|
|
15
|
+
var asyncFromSyncIteratorContinuation = function (result, resolve, reject) {
|
|
16
|
+
var done = result.done;
|
|
17
|
+
Promise.resolve(result.value).then(function (value) {
|
|
18
|
+
resolve({ done: done, value: value });
|
|
19
|
+
}, reject);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
var AsyncFromSyncIterator = function AsyncIterator(iterator) {
|
|
23
|
+
setInternalState(this, {
|
|
24
|
+
iterator: anObject(iterator),
|
|
25
|
+
next: iterator.next
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
AsyncFromSyncIterator.prototype = redefineAll(create(path.AsyncIterator.prototype), {
|
|
30
|
+
next: function next(arg) {
|
|
31
|
+
var state = getInternalState(this);
|
|
32
|
+
var hasArg = !!arguments.length;
|
|
33
|
+
return new Promise(function (resolve, reject) {
|
|
34
|
+
var result = anObject(state.next.apply(state.iterator, hasArg ? [arg] : []));
|
|
35
|
+
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
'return': function (arg) {
|
|
39
|
+
var iterator = getInternalState(this).iterator;
|
|
40
|
+
var hasArg = !!arguments.length;
|
|
41
|
+
return new Promise(function (resolve, reject) {
|
|
42
|
+
var $return = getMethod(iterator['return']);
|
|
43
|
+
if ($return === undefined) return resolve({ done: true, value: arg });
|
|
44
|
+
var result = anObject($return.apply(iterator, hasArg ? [arg] : []));
|
|
45
|
+
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
'throw': function (arg) {
|
|
49
|
+
var iterator = getInternalState(this).iterator;
|
|
50
|
+
var hasArg = !!arguments.length;
|
|
51
|
+
return new Promise(function (resolve, reject) {
|
|
52
|
+
var $throw = getMethod(iterator['throw']);
|
|
53
|
+
if ($throw === undefined) return reject(arg);
|
|
54
|
+
var result = anObject($throw.apply(iterator, hasArg ? [arg] : []));
|
|
55
|
+
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
module.exports = AsyncFromSyncIterator;
|
|
@@ -16,42 +16,50 @@ var getInternalState = InternalStateModule.get;
|
|
|
16
16
|
|
|
17
17
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
18
18
|
|
|
19
|
-
var $return = function (value) {
|
|
20
|
-
var iterator = getInternalState(this).iterator;
|
|
21
|
-
var $$return = iterator['return'];
|
|
22
|
-
return $$return === undefined
|
|
23
|
-
? Promise.resolve({ done: true, value: value })
|
|
24
|
-
: anObject($$return.call(iterator, value));
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
var $throw = function (value) {
|
|
28
|
-
var iterator = getInternalState(this).iterator;
|
|
29
|
-
var $$throw = iterator['throw'];
|
|
30
|
-
return $$throw === undefined
|
|
31
|
-
? Promise.reject(value)
|
|
32
|
-
: $$throw.call(iterator, value);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
19
|
module.exports = function (nextHandler, IS_ITERATOR) {
|
|
36
20
|
var AsyncIteratorProxy = function AsyncIterator(state) {
|
|
37
21
|
state.next = aFunction(state.iterator.next);
|
|
38
22
|
state.done = false;
|
|
23
|
+
state.ignoreArgument = !IS_ITERATOR;
|
|
39
24
|
setInternalState(this, state);
|
|
40
25
|
};
|
|
41
26
|
|
|
42
27
|
AsyncIteratorProxy.prototype = redefineAll(create(path.AsyncIterator.prototype), {
|
|
43
28
|
next: function next(arg) {
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
29
|
+
var that = this;
|
|
30
|
+
var hasArgument = !!arguments.length;
|
|
31
|
+
return new Promise(function (resolve) {
|
|
32
|
+
var state = getInternalState(that);
|
|
33
|
+
var args = hasArgument ? [state.ignoreArgument ? undefined : arg] : IS_ITERATOR ? [] : [undefined];
|
|
34
|
+
state.ignoreArgument = false;
|
|
35
|
+
resolve(state.done ? { done: true, value: undefined } : anObject(nextHandler.call(state, Promise, args)));
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
'return': function (value) {
|
|
39
|
+
var that = this;
|
|
40
|
+
return new Promise(function (resolve, reject) {
|
|
41
|
+
var state = getInternalState(that);
|
|
42
|
+
var iterator = state.iterator;
|
|
43
|
+
state.done = true;
|
|
44
|
+
var $$return = iterator['return'];
|
|
45
|
+
if ($$return === undefined) return resolve({ done: true, value: value });
|
|
46
|
+
Promise.resolve($$return.call(iterator, value)).then(function (result) {
|
|
47
|
+
anObject(result);
|
|
48
|
+
resolve({ done: true, value: value });
|
|
49
|
+
}, reject);
|
|
50
|
+
});
|
|
52
51
|
},
|
|
53
|
-
'
|
|
54
|
-
|
|
52
|
+
'throw': function (value) {
|
|
53
|
+
var that = this;
|
|
54
|
+
return new Promise(function (resolve, reject) {
|
|
55
|
+
var state = getInternalState(that);
|
|
56
|
+
var iterator = state.iterator;
|
|
57
|
+
state.done = true;
|
|
58
|
+
var $$throw = iterator['throw'];
|
|
59
|
+
if ($$throw === undefined) return reject(value);
|
|
60
|
+
resolve($$throw.call(iterator, value));
|
|
61
|
+
});
|
|
62
|
+
}
|
|
55
63
|
});
|
|
56
64
|
|
|
57
65
|
if (!IS_ITERATOR) {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
|
|
2
|
+
var aFunction = require('../internals/a-function');
|
|
3
|
+
var anObject = require('../internals/an-object');
|
|
4
|
+
var getIterator = require('../internals/get-iterator');
|
|
5
|
+
var getMethod = require('../internals/get-method');
|
|
6
|
+
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
7
|
+
|
|
8
|
+
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
|
9
|
+
|
|
10
|
+
module.exports = function (it, usingIterator) {
|
|
11
|
+
var method = arguments.length < 2 ? getMethod(it[ASYNC_ITERATOR]) : usingIterator;
|
|
12
|
+
if (method === undefined) {
|
|
13
|
+
return new AsyncFromSyncIterator(getIterator(it));
|
|
14
|
+
} return anObject(aFunction(method).call(it));
|
|
15
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var anObject = require('../internals/an-object');
|
|
2
2
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
3
3
|
|
|
4
|
-
module.exports = function (it) {
|
|
5
|
-
var iteratorMethod = getIteratorMethod(it);
|
|
4
|
+
module.exports = function (it, usingIterator) {
|
|
5
|
+
var iteratorMethod = arguments.length < 2 ? getIteratorMethod(it) : usingIterator;
|
|
6
6
|
if (typeof iteratorMethod != 'function') {
|
|
7
7
|
throw TypeError(String(it) + ' is not iterable');
|
|
8
8
|
} return anObject(iteratorMethod.call(it));
|
package/internals/iterate.js
CHANGED
|
@@ -2,6 +2,7 @@ var anObject = require('../internals/an-object');
|
|
|
2
2
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
3
3
|
var toLength = require('../internals/to-length');
|
|
4
4
|
var bind = require('../internals/function-bind-context');
|
|
5
|
+
var getIterator = require('../internals/get-iterator');
|
|
5
6
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
6
7
|
var iteratorClose = require('../internals/iterator-close');
|
|
7
8
|
|
|
@@ -19,7 +20,7 @@ module.exports = function (iterable, unboundFunction, options) {
|
|
|
19
20
|
var iterator, iterFn, index, length, result, next, step;
|
|
20
21
|
|
|
21
22
|
var stop = function (condition) {
|
|
22
|
-
if (iterator) iteratorClose(iterator);
|
|
23
|
+
if (iterator) iteratorClose(iterator, 'normal', condition);
|
|
23
24
|
return new Result(true, condition);
|
|
24
25
|
};
|
|
25
26
|
|
|
@@ -42,7 +43,7 @@ module.exports = function (iterable, unboundFunction, options) {
|
|
|
42
43
|
if (result && result instanceof Result) return result;
|
|
43
44
|
} return new Result(false);
|
|
44
45
|
}
|
|
45
|
-
iterator =
|
|
46
|
+
iterator = getIterator(iterable, iterFn);
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
next = iterator.next;
|
|
@@ -50,8 +51,7 @@ module.exports = function (iterable, unboundFunction, options) {
|
|
|
50
51
|
try {
|
|
51
52
|
result = callFn(step.value);
|
|
52
53
|
} catch (error) {
|
|
53
|
-
iteratorClose(iterator);
|
|
54
|
-
throw error;
|
|
54
|
+
iteratorClose(iterator, 'throw', error);
|
|
55
55
|
}
|
|
56
56
|
if (typeof result == 'object' && result && result instanceof Result) return result;
|
|
57
57
|
} return new Result(false);
|
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
var anObject = require('../internals/an-object');
|
|
2
2
|
|
|
3
|
-
module.exports = function (iterator) {
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
module.exports = function (iterator, kind, value) {
|
|
4
|
+
var innerResult, innerError;
|
|
5
|
+
anObject(iterator);
|
|
6
|
+
try {
|
|
7
|
+
innerResult = iterator['return'];
|
|
8
|
+
if (innerResult === undefined) {
|
|
9
|
+
if (kind === 'throw') throw value;
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
innerResult = innerResult.call(iterator);
|
|
13
|
+
} catch (error) {
|
|
14
|
+
innerError = true;
|
|
15
|
+
innerResult = error;
|
|
7
16
|
}
|
|
17
|
+
if (kind === 'throw') throw value;
|
|
18
|
+
if (innerError) throw innerResult;
|
|
19
|
+
anObject(innerResult);
|
|
20
|
+
return value;
|
|
8
21
|
};
|
|
@@ -13,34 +13,37 @@ var getInternalState = InternalStateModule.get;
|
|
|
13
13
|
|
|
14
14
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
15
15
|
|
|
16
|
-
var $return = function (value) {
|
|
17
|
-
var iterator = getInternalState(this).iterator;
|
|
18
|
-
var $$return = iterator['return'];
|
|
19
|
-
return $$return === undefined ? { done: true, value: value } : anObject($$return.call(iterator, value));
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
var $throw = function (value) {
|
|
23
|
-
var iterator = getInternalState(this).iterator;
|
|
24
|
-
var $$throw = iterator['throw'];
|
|
25
|
-
if ($$throw === undefined) throw value;
|
|
26
|
-
return $$throw.call(iterator, value);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
16
|
module.exports = function (nextHandler, IS_ITERATOR) {
|
|
30
17
|
var IteratorProxy = function Iterator(state) {
|
|
31
18
|
state.next = aFunction(state.iterator.next);
|
|
32
19
|
state.done = false;
|
|
20
|
+
state.ignoreArg = !IS_ITERATOR;
|
|
33
21
|
setInternalState(this, state);
|
|
34
22
|
};
|
|
35
23
|
|
|
36
24
|
IteratorProxy.prototype = redefineAll(create(path.Iterator.prototype), {
|
|
37
|
-
next: function next() {
|
|
25
|
+
next: function next(arg) {
|
|
38
26
|
var state = getInternalState(this);
|
|
39
|
-
var
|
|
27
|
+
var args = arguments.length ? [state.ignoreArg ? undefined : arg] : IS_ITERATOR ? [] : [undefined];
|
|
28
|
+
state.ignoreArg = false;
|
|
29
|
+
var result = state.done ? undefined : nextHandler.call(state, args);
|
|
40
30
|
return { done: state.done, value: result };
|
|
41
31
|
},
|
|
42
|
-
'return':
|
|
43
|
-
|
|
32
|
+
'return': function (value) {
|
|
33
|
+
var state = getInternalState(this);
|
|
34
|
+
var iterator = state.iterator;
|
|
35
|
+
state.done = true;
|
|
36
|
+
var $$return = iterator['return'];
|
|
37
|
+
return { done: true, value: $$return === undefined ? value : anObject($$return.call(iterator, value)).value };
|
|
38
|
+
},
|
|
39
|
+
'throw': function (value) {
|
|
40
|
+
var state = getInternalState(this);
|
|
41
|
+
var iterator = state.iterator;
|
|
42
|
+
state.done = true;
|
|
43
|
+
var $$throw = iterator['throw'];
|
|
44
|
+
if ($$throw === undefined) throw value;
|
|
45
|
+
return $$throw.call(iterator, value);
|
|
46
|
+
}
|
|
44
47
|
});
|
|
45
48
|
|
|
46
49
|
if (!IS_ITERATOR) {
|
package/internals/shared.js
CHANGED
|
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
|
|
|
4
4
|
(module.exports = function (key, value) {
|
|
5
5
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
6
6
|
})('versions', []).push({
|
|
7
|
-
version: '3.
|
|
7
|
+
version: '3.17.2',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
10
10
|
});
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
var
|
|
1
|
+
var valueOf = 1.0.valueOf;
|
|
2
2
|
|
|
3
3
|
// `thisNumberValue` abstract operation
|
|
4
4
|
// https://tc39.es/ecma262/#sec-thisnumbervalue
|
|
5
5
|
module.exports = function (value) {
|
|
6
|
-
|
|
7
|
-
throw TypeError('Incorrect invocation');
|
|
8
|
-
}
|
|
9
|
-
return +value;
|
|
6
|
+
return valueOf.call(value);
|
|
10
7
|
};
|