core-js 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/internals/typed-array-from.js +2 -1
- 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.symbol.description.js +2 -2
- package/modules/es.typed-array.at.js +17 -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/esnext.typed-array.at.js +2 -17
- 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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var toObject = require('../internals/to-object');
|
|
2
2
|
var toLength = require('../internals/to-length');
|
|
3
|
+
var getIterator = require('../internals/get-iterator');
|
|
3
4
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
4
5
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
5
6
|
var bind = require('../internals/function-bind-context');
|
|
@@ -13,7 +14,7 @@ module.exports = function from(source /* , mapfn, thisArg */) {
|
|
|
13
14
|
var iteratorMethod = getIteratorMethod(O);
|
|
14
15
|
var i, length, result, step, iterator, next;
|
|
15
16
|
if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {
|
|
16
|
-
iterator =
|
|
17
|
+
iterator = getIterator(O, iteratorMethod);
|
|
17
18
|
next = iterator.next;
|
|
18
19
|
O = [];
|
|
19
20
|
while (!(step = next.call(iterator)).done) {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var toObject = require('../internals/to-object');
|
|
4
|
+
var toLength = require('../internals/to-length');
|
|
5
|
+
var toInteger = require('../internals/to-integer');
|
|
6
|
+
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
7
|
+
|
|
8
|
+
// `Array.prototype.at` method
|
|
9
|
+
// https://github.com/tc39/proposal-relative-indexing-method
|
|
10
|
+
$({ target: 'Array', proto: true }, {
|
|
11
|
+
at: function at(index) {
|
|
12
|
+
var O = toObject(this);
|
|
13
|
+
var len = toLength(O.length);
|
|
14
|
+
var relativeIndex = toInteger(index);
|
|
15
|
+
var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
|
|
16
|
+
return (k < 0 || k >= len) ? undefined : O[k];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
addToUnscopables('at');
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
4
|
+
var toInteger = require('../internals/to-integer');
|
|
5
|
+
var toLength = require('../internals/to-length');
|
|
6
|
+
var toString = require('../internals/to-string');
|
|
7
|
+
var fails = require('../internals/fails');
|
|
8
|
+
|
|
9
|
+
var FORCED = fails(function () {
|
|
10
|
+
return '𠮷'.at(0) !== '\uD842';
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
// `String.prototype.at` method
|
|
14
|
+
// https://github.com/tc39/proposal-relative-indexing-method
|
|
15
|
+
$({ target: 'String', proto: true, forced: FORCED }, {
|
|
16
|
+
at: function at(index) {
|
|
17
|
+
var S = toString(requireObjectCoercible(this));
|
|
18
|
+
var len = toLength(S.length);
|
|
19
|
+
var relativeIndex = toInteger(index);
|
|
20
|
+
var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
|
|
21
|
+
return (k < 0 || k >= len) ? undefined : S.charAt(k);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
@@ -31,7 +31,7 @@ if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in Nati
|
|
|
31
31
|
symbolPrototype.constructor = SymbolWrapper;
|
|
32
32
|
|
|
33
33
|
var symbolToString = symbolPrototype.toString;
|
|
34
|
-
var
|
|
34
|
+
var nativeSymbol = String(NativeSymbol('test')) == 'Symbol(test)';
|
|
35
35
|
var regexp = /^Symbol\((.*)\)[^)]+$/;
|
|
36
36
|
defineProperty(symbolPrototype, 'description', {
|
|
37
37
|
configurable: true,
|
|
@@ -39,7 +39,7 @@ if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in Nati
|
|
|
39
39
|
var symbol = isObject(this) ? this.valueOf() : this;
|
|
40
40
|
var string = symbolToString.call(symbol);
|
|
41
41
|
if (has(EmptyStringDescriptionStore, symbol)) return '';
|
|
42
|
-
var desc =
|
|
42
|
+
var desc = nativeSymbol ? string.slice(7, -1) : string.replace(regexp, '$1');
|
|
43
43
|
return desc === '' ? undefined : desc;
|
|
44
44
|
}
|
|
45
45
|
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
3
|
+
var toLength = require('../internals/to-length');
|
|
4
|
+
var toInteger = require('../internals/to-integer');
|
|
5
|
+
|
|
6
|
+
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
7
|
+
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
8
|
+
|
|
9
|
+
// `%TypedArray%.prototype.at` method
|
|
10
|
+
// https://github.com/tc39/proposal-relative-indexing-method
|
|
11
|
+
exportTypedArrayMethod('at', function at(index) {
|
|
12
|
+
var O = aTypedArray(this);
|
|
13
|
+
var len = toLength(O.length);
|
|
14
|
+
var relativeIndex = toInteger(index);
|
|
15
|
+
var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
|
|
16
|
+
return (k < 0 || k >= len) ? undefined : O[k];
|
|
17
|
+
});
|
|
@@ -1,20 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var toObject = require('../internals/to-object');
|
|
4
|
-
var toLength = require('../internals/to-length');
|
|
5
|
-
var toInteger = require('../internals/to-integer');
|
|
6
|
-
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
7
|
-
|
|
8
|
-
// `Array.prototype.at` method
|
|
9
|
-
// https://github.com/tc39/proposal-relative-indexing-method
|
|
10
|
-
$({ target: 'Array', proto: true }, {
|
|
11
|
-
at: function at(index) {
|
|
12
|
-
var O = toObject(this);
|
|
13
|
-
var len = toLength(O.length);
|
|
14
|
-
var relativeIndex = toInteger(index);
|
|
15
|
-
var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
|
|
16
|
-
return (k < 0 || k >= len) ? undefined : O[k];
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
addToUnscopables('at');
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
2
|
+
require('../modules/es.array.at');
|
|
@@ -4,11 +4,11 @@ var $ = require('../internals/export');
|
|
|
4
4
|
var anObject = require('../internals/an-object');
|
|
5
5
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
6
6
|
|
|
7
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
7
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
8
8
|
var state = this;
|
|
9
9
|
var iterator = state.iterator;
|
|
10
10
|
|
|
11
|
-
return Promise.resolve(anObject(state.next.
|
|
11
|
+
return Promise.resolve(anObject(state.next.apply(iterator, args))).then(function (step) {
|
|
12
12
|
if (anObject(step).done) {
|
|
13
13
|
state.done = true;
|
|
14
14
|
return { done: true, value: undefined };
|
|
@@ -5,14 +5,14 @@ var anObject = require('../internals/an-object');
|
|
|
5
5
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
7
|
|
|
8
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
8
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
9
9
|
var state = this;
|
|
10
10
|
|
|
11
11
|
return new Promise(function (resolve, reject) {
|
|
12
12
|
var loop = function () {
|
|
13
13
|
try {
|
|
14
14
|
Promise.resolve(
|
|
15
|
-
anObject(state.next.
|
|
15
|
+
anObject(state.next.apply(state.iterator, state.remaining ? [] : args))
|
|
16
16
|
).then(function (step) {
|
|
17
17
|
try {
|
|
18
18
|
if (anObject(step).done) {
|
|
@@ -5,14 +5,14 @@ var aFunction = require('../internals/a-function');
|
|
|
5
5
|
var anObject = require('../internals/an-object');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
7
|
|
|
8
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
8
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
9
9
|
var state = this;
|
|
10
10
|
var filterer = state.filterer;
|
|
11
11
|
|
|
12
12
|
return new Promise(function (resolve, reject) {
|
|
13
13
|
var loop = function () {
|
|
14
14
|
try {
|
|
15
|
-
Promise.resolve(anObject(state.next.
|
|
15
|
+
Promise.resolve(anObject(state.next.apply(state.iterator, args))).then(function (step) {
|
|
16
16
|
try {
|
|
17
17
|
if (anObject(step).done) {
|
|
18
18
|
state.done = true;
|
|
@@ -4,17 +4,17 @@ var $ = require('../internals/export');
|
|
|
4
4
|
var aFunction = require('../internals/a-function');
|
|
5
5
|
var anObject = require('../internals/an-object');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
|
-
var
|
|
7
|
+
var getAsyncIterator = require('../internals/get-async-iterator');
|
|
8
8
|
|
|
9
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise
|
|
9
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
10
10
|
var state = this;
|
|
11
11
|
var mapper = state.mapper;
|
|
12
|
-
var innerIterator
|
|
12
|
+
var innerIterator;
|
|
13
13
|
|
|
14
14
|
return new Promise(function (resolve, reject) {
|
|
15
15
|
var outerLoop = function () {
|
|
16
16
|
try {
|
|
17
|
-
Promise.resolve(anObject(state.next.call(state.iterator
|
|
17
|
+
Promise.resolve(anObject(state.next.call(state.iterator))).then(function (step) {
|
|
18
18
|
try {
|
|
19
19
|
if (anObject(step).done) {
|
|
20
20
|
state.done = true;
|
|
@@ -22,12 +22,9 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg) {
|
|
|
22
22
|
} else {
|
|
23
23
|
Promise.resolve(mapper(step.value)).then(function (mapped) {
|
|
24
24
|
try {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
state.innerNext = aFunction(innerIterator.next);
|
|
29
|
-
return innerLoop();
|
|
30
|
-
} reject(TypeError('.flatMap callback should return an iterable object'));
|
|
25
|
+
state.innerIterator = innerIterator = getAsyncIterator(mapped);
|
|
26
|
+
state.innerNext = aFunction(innerIterator.next);
|
|
27
|
+
return innerLoop();
|
|
31
28
|
} catch (error2) { reject(error2); }
|
|
32
29
|
}, reject);
|
|
33
30
|
}
|
|
@@ -1,34 +1,39 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var path = require('../internals/path');
|
|
4
|
-
var aFunction = require('../internals/a-function');
|
|
5
4
|
var anObject = require('../internals/an-object');
|
|
6
5
|
var toObject = require('../internals/to-object');
|
|
7
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
8
|
-
var
|
|
7
|
+
var getAsyncIterator = require('../internals/get-async-iterator');
|
|
8
|
+
var getIterator = require('../internals/get-iterator');
|
|
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
|
+
|
|
14
|
+
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
|
9
15
|
|
|
10
16
|
var AsyncIterator = path.AsyncIterator;
|
|
11
17
|
|
|
12
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
13
|
-
|
|
14
|
-
var done = step.done;
|
|
15
|
-
return Promise.resolve(step.value).then(function (value) {
|
|
16
|
-
return { done: done, value: value };
|
|
17
|
-
});
|
|
18
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
19
|
+
return anObject(this.next.apply(this.iterator, args));
|
|
18
20
|
}, true);
|
|
19
21
|
|
|
20
22
|
$({ target: 'AsyncIterator', stat: true }, {
|
|
21
23
|
from: function from(O) {
|
|
22
24
|
var object = toObject(O);
|
|
23
|
-
var usingIterator =
|
|
25
|
+
var usingIterator = getMethod(object[ASYNC_ITERATOR]);
|
|
24
26
|
var iterator;
|
|
25
|
-
if (usingIterator
|
|
26
|
-
iterator =
|
|
27
|
+
if (usingIterator !== undefined) {
|
|
28
|
+
iterator = getAsyncIterator(object, usingIterator);
|
|
27
29
|
if (iterator instanceof AsyncIterator) return iterator;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
}
|
|
31
|
+
if (iterator === undefined) {
|
|
32
|
+
usingIterator = getIteratorMethod(object);
|
|
33
|
+
if (usingIterator !== undefined) return new AsyncFromSyncIterator(getIterator(object, usingIterator));
|
|
34
|
+
}
|
|
35
|
+
return new AsyncIteratorProxy({
|
|
36
|
+
iterator: iterator !== undefined ? iterator : object
|
|
32
37
|
});
|
|
33
38
|
}
|
|
34
39
|
});
|
|
@@ -5,11 +5,11 @@ var aFunction = require('../internals/a-function');
|
|
|
5
5
|
var anObject = require('../internals/an-object');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
7
|
|
|
8
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
8
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
9
9
|
var state = this;
|
|
10
10
|
var mapper = state.mapper;
|
|
11
11
|
|
|
12
|
-
return Promise.resolve(anObject(state.next.
|
|
12
|
+
return Promise.resolve(anObject(state.next.apply(state.iterator, args))).then(function (step) {
|
|
13
13
|
if (anObject(step).done) {
|
|
14
14
|
state.done = true;
|
|
15
15
|
return { done: true, value: undefined };
|
|
@@ -5,7 +5,7 @@ var anObject = require('../internals/an-object');
|
|
|
5
5
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
7
|
|
|
8
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
8
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
9
9
|
var iterator = this.iterator;
|
|
10
10
|
var returnMethod, result;
|
|
11
11
|
if (!this.remaining--) {
|
|
@@ -18,7 +18,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg) {
|
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
return result;
|
|
21
|
-
} return this.next.
|
|
21
|
+
} return this.next.apply(iterator, args);
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
@@ -4,8 +4,8 @@ var $ = require('../internals/export');
|
|
|
4
4
|
var anObject = require('../internals/an-object');
|
|
5
5
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
6
6
|
|
|
7
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
8
|
-
var result = anObject(this.next.
|
|
7
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
8
|
+
var result = anObject(this.next.apply(this.iterator, args));
|
|
9
9
|
var done = this.done = !!result.done;
|
|
10
10
|
if (!done) return [this.index++, result.value];
|
|
11
11
|
});
|
|
@@ -5,7 +5,7 @@ var anObject = require('../internals/an-object');
|
|
|
5
5
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
6
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
7
|
|
|
8
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
8
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
9
9
|
var iterator = this.iterator;
|
|
10
10
|
var next = this.next;
|
|
11
11
|
var result, done;
|
|
@@ -15,7 +15,7 @@ var IteratorProxy = createIteratorProxy(function (arg) {
|
|
|
15
15
|
done = this.done = !!result.done;
|
|
16
16
|
if (done) return;
|
|
17
17
|
}
|
|
18
|
-
result = anObject(next.
|
|
18
|
+
result = anObject(next.apply(iterator, args));
|
|
19
19
|
done = this.done = !!result.done;
|
|
20
20
|
if (!done) return result.value;
|
|
21
21
|
});
|
|
@@ -6,13 +6,13 @@ var anObject = require('../internals/an-object');
|
|
|
6
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
7
|
var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
|
|
8
8
|
|
|
9
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
9
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
10
10
|
var iterator = this.iterator;
|
|
11
11
|
var filterer = this.filterer;
|
|
12
12
|
var next = this.next;
|
|
13
13
|
var result, done, value;
|
|
14
14
|
while (true) {
|
|
15
|
-
result = anObject(next.
|
|
15
|
+
result = anObject(next.apply(iterator, args));
|
|
16
16
|
done = this.done = !!result.done;
|
|
17
17
|
if (done) return;
|
|
18
18
|
value = result.value;
|
|
@@ -7,7 +7,7 @@ var getIteratorMethod = require('../internals/get-iterator-method');
|
|
|
7
7
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
8
8
|
var iteratorClose = require('../internals/iterator-close');
|
|
9
9
|
|
|
10
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
10
|
+
var IteratorProxy = createIteratorProxy(function () {
|
|
11
11
|
var iterator = this.iterator;
|
|
12
12
|
var mapper = this.mapper;
|
|
13
13
|
var result, mapped, iteratorMethod, innerIterator;
|
|
@@ -20,7 +20,7 @@ var IteratorProxy = createIteratorProxy(function (arg) {
|
|
|
20
20
|
this.innerIterator = this.innerNext = null;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
result = anObject(this.next.call(iterator
|
|
23
|
+
result = anObject(this.next.call(iterator));
|
|
24
24
|
|
|
25
25
|
if (this.done = !!result.done) return;
|
|
26
26
|
|
|
@@ -34,8 +34,7 @@ var IteratorProxy = createIteratorProxy(function (arg) {
|
|
|
34
34
|
this.innerIterator = innerIterator = anObject(iteratorMethod.call(mapped));
|
|
35
35
|
this.innerNext = aFunction(innerIterator.next);
|
|
36
36
|
} catch (error) {
|
|
37
|
-
iteratorClose(iterator);
|
|
38
|
-
throw error;
|
|
37
|
+
iteratorClose(iterator, 'throw', error);
|
|
39
38
|
}
|
|
40
39
|
}
|
|
41
40
|
});
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var path = require('../internals/path');
|
|
4
|
-
var aFunction = require('../internals/a-function');
|
|
5
4
|
var anObject = require('../internals/an-object');
|
|
6
5
|
var toObject = require('../internals/to-object');
|
|
7
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
|
+
var getIterator = require('../internals/get-iterator');
|
|
8
8
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
9
9
|
|
|
10
10
|
var Iterator = path.Iterator;
|
|
11
11
|
|
|
12
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
13
|
-
var result = anObject(this.next.
|
|
12
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
13
|
+
var result = anObject(this.next.apply(this.iterator, args));
|
|
14
14
|
var done = this.done = !!result.done;
|
|
15
15
|
if (!done) return result.value;
|
|
16
16
|
}, true);
|
|
@@ -21,7 +21,7 @@ $({ target: 'Iterator', stat: true }, {
|
|
|
21
21
|
var usingIterator = getIteratorMethod(object);
|
|
22
22
|
var iterator;
|
|
23
23
|
if (usingIterator != null) {
|
|
24
|
-
iterator =
|
|
24
|
+
iterator = getIterator(object, usingIterator);
|
|
25
25
|
if (iterator instanceof Iterator) return iterator;
|
|
26
26
|
} else {
|
|
27
27
|
iterator = object;
|
|
@@ -6,9 +6,9 @@ var anObject = require('../internals/an-object');
|
|
|
6
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
7
|
var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
|
|
8
8
|
|
|
9
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
9
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
10
10
|
var iterator = this.iterator;
|
|
11
|
-
var result = anObject(this.next.
|
|
11
|
+
var result = anObject(this.next.apply(iterator, args));
|
|
12
12
|
var done = this.done = !!result.done;
|
|
13
13
|
if (!done) return callWithSafeIterationClosing(iterator, this.mapper, result.value);
|
|
14
14
|
});
|
|
@@ -6,13 +6,13 @@ var toPositiveInteger = require('../internals/to-positive-integer');
|
|
|
6
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
7
|
var iteratorClose = require('../internals/iterator-close');
|
|
8
8
|
|
|
9
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
9
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
10
10
|
var iterator = this.iterator;
|
|
11
11
|
if (!this.remaining--) {
|
|
12
12
|
this.done = true;
|
|
13
|
-
return iteratorClose(iterator);
|
|
13
|
+
return iteratorClose(iterator, 'normal', undefined);
|
|
14
14
|
}
|
|
15
|
-
var result = anObject(this.next.
|
|
15
|
+
var result = anObject(this.next.apply(iterator, args));
|
|
16
16
|
var done = this.done = !!result.done;
|
|
17
17
|
if (!done) return result.value;
|
|
18
18
|
});
|
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
// `Object.hasOwn` method
|
|
5
|
-
// https://github.com/tc39/proposal-accessible-object-hasownproperty
|
|
6
|
-
$({ target: 'Object', stat: true }, {
|
|
7
|
-
hasOwn: hasOwn
|
|
8
|
-
});
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
2
|
+
require('../modules/es.object.has-own');
|
|
@@ -11,6 +11,7 @@ var defineProperty = require('../internals/object-define-property').f;
|
|
|
11
11
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
12
12
|
var redefineAll = require('../internals/redefine-all');
|
|
13
13
|
var getIterator = require('../internals/get-iterator');
|
|
14
|
+
var getMethod = require('../internals/get-method');
|
|
14
15
|
var iterate = require('../internals/iterate');
|
|
15
16
|
var hostReportErrors = require('../internals/host-report-errors');
|
|
16
17
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
@@ -20,10 +21,6 @@ var OBSERVABLE = wellKnownSymbol('observable');
|
|
|
20
21
|
var getInternalState = InternalStateModule.get;
|
|
21
22
|
var setInternalState = InternalStateModule.set;
|
|
22
23
|
|
|
23
|
-
var getMethod = function (fn) {
|
|
24
|
-
return fn == null ? undefined : aFunction(fn);
|
|
25
|
-
};
|
|
26
|
-
|
|
27
24
|
var cleanupSubscription = function (subscriptionState) {
|
|
28
25
|
var cleanup = subscriptionState.cleanup;
|
|
29
26
|
if (cleanup) {
|
|
@@ -1,24 +1,2 @@
|
|
|
1
|
-
// TODO:
|
|
2
|
-
'
|
|
3
|
-
var $ = require('../internals/export');
|
|
4
|
-
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
|
-
var toInteger = require('../internals/to-integer');
|
|
6
|
-
var toLength = require('../internals/to-length');
|
|
7
|
-
var toString = require('../internals/to-string');
|
|
8
|
-
var fails = require('../internals/fails');
|
|
9
|
-
|
|
10
|
-
var FORCED = fails(function () {
|
|
11
|
-
return '𠮷'.at(0) !== '\uD842';
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
// `String.prototype.at` method
|
|
15
|
-
// https://github.com/tc39/proposal-relative-indexing-method
|
|
16
|
-
$({ target: 'String', proto: true, forced: FORCED }, {
|
|
17
|
-
at: function at(index) {
|
|
18
|
-
var S = toString(requireObjectCoercible(this));
|
|
19
|
-
var len = toLength(S.length);
|
|
20
|
-
var relativeIndex = toInteger(index);
|
|
21
|
-
var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
|
|
22
|
-
return (k < 0 || k >= len) ? undefined : S.charAt(k);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
2
|
+
require('../modules/es.string.at-alternative');
|
|
@@ -1,17 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var toLength = require('../internals/to-length');
|
|
4
|
-
var toInteger = require('../internals/to-integer');
|
|
5
|
-
|
|
6
|
-
var aTypedArray = ArrayBufferViewCore.aTypedArray;
|
|
7
|
-
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
|
|
8
|
-
|
|
9
|
-
// `%TypedArray%.prototype.at` method
|
|
10
|
-
// https://github.com/tc39/proposal-relative-indexing-method
|
|
11
|
-
exportTypedArrayMethod('at', function at(index) {
|
|
12
|
-
var O = aTypedArray(this);
|
|
13
|
-
var len = toLength(O.length);
|
|
14
|
-
var relativeIndex = toInteger(index);
|
|
15
|
-
var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
|
|
16
|
-
return (k < 0 || k >= len) ? undefined : O[k];
|
|
17
|
-
});
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
2
|
+
require('../modules/es.typed-array.at');
|
|
@@ -143,7 +143,7 @@ var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
|
|
|
143
143
|
if (isObject(init)) {
|
|
144
144
|
iteratorMethod = getIteratorMethod(init);
|
|
145
145
|
if (typeof iteratorMethod === 'function') {
|
|
146
|
-
iterator =
|
|
146
|
+
iterator = getIterator(init, iteratorMethod);
|
|
147
147
|
next = iterator.next;
|
|
148
148
|
while (!(step = next.call(iterator)).done) {
|
|
149
149
|
entryIterator = getIterator(anObject(step.value));
|