Skip to content

Commit 9cf80c7

Browse files
committed
refactoring
1 parent 5cc3f7a commit 9cf80c7

File tree

4 files changed

+30
-31
lines changed

4 files changed

+30
-31
lines changed

packages/core-js/internals/iterator-create-proxy.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ var iteratorCloseAll = require('./iterator-close-all');
1414
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1515
var ITERATOR_HELPER = 'IteratorHelper';
1616
var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator';
17+
var NORMAL = 'normal';
18+
var THROW = 'throw';
1719
var setInternalState = InternalStateModule.set;
1820

1921
var createIteratorProxyPrototype = function (IS_ITERATOR) {
@@ -44,16 +46,16 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
4446
return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);
4547
}
4648
if (state.inner) try {
47-
iteratorClose(state.inner.iterator, 'normal');
49+
iteratorClose(state.inner.iterator, NORMAL);
4850
} catch (error) {
49-
return iteratorClose(iterator, 'throw', error);
51+
return iteratorClose(iterator, THROW, error);
5052
}
5153
if (state.openIters) try {
52-
iteratorCloseAll(state.openIters, 'normal');
54+
iteratorCloseAll(state.openIters, NORMAL);
5355
} catch (error) {
54-
return iteratorClose(iterator, 'throw', error);
56+
return iteratorClose(iterator, THROW, error);
5557
}
56-
if (iterator) iteratorClose(iterator, 'normal');
58+
if (iterator) iteratorClose(iterator, NORMAL);
5759
return createIterResultObject(undefined, true);
5860
}
5961
});

packages/core-js/internals/iterator-zip.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
'use strict';
22
var call = require('../internals/function-call');
3+
var uncurryThis = require('../internals/function-uncurry-this');
34
var createIteratorProxy = require('../internals/iterator-create-proxy');
45
var iteratorCloseAll = require('../internals/iterator-close-all');
5-
var uncurryThis = require('../internals/function-uncurry-this');
66

77
var $TypeError = TypeError;
88
var slice = uncurryThis([].slice);
99
var push = uncurryThis([].push);
1010
var ITERATOR_IS_EXHAUSTED = 'Iterator is exhausted';
11+
var THROW = 'throw';
1112

1213
// eslint-disable-next-line max-statements -- specification case
1314
var IteratorProxy = createIteratorProxy(function () {
@@ -35,7 +36,7 @@ var IteratorProxy = createIteratorProxy(function () {
3536
result = result.value;
3637
} catch (error) {
3738
openIters[i] = undefined;
38-
return iteratorCloseAll(openIters, 'throw', error);
39+
return iteratorCloseAll(openIters, THROW, error);
3940
}
4041
if (done) {
4142
openIters[i] = undefined;
@@ -46,8 +47,7 @@ var IteratorProxy = createIteratorProxy(function () {
4647
}
4748
if (mode === 'strict') {
4849
if (i) {
49-
this.done = true;
50-
return iteratorCloseAll(openIters, 'throw', new $TypeError(ITERATOR_IS_EXHAUSTED));
50+
return iteratorCloseAll(openIters, THROW, new $TypeError(ITERATOR_IS_EXHAUSTED));
5151
}
5252

5353
var open, openDone;
@@ -59,15 +59,14 @@ var IteratorProxy = createIteratorProxy(function () {
5959
open = open.value;
6060
} catch (error) {
6161
openIters[k] = undefined;
62-
return iteratorCloseAll(openIters, 'throw', open);
62+
return iteratorCloseAll(openIters, THROW, open);
6363
}
6464
// eslint-disable-next-line max-depth -- specification case
6565
if (openDone) {
6666
openIters[k] = undefined;
6767
this.openItersCount--;
6868
} else {
69-
this.done = true;
70-
return iteratorCloseAll(openIters, 'throw', new $TypeError(ITERATOR_IS_EXHAUSTED));
69+
return iteratorCloseAll(openIters, THROW, new $TypeError(ITERATOR_IS_EXHAUSTED));
7170
}
7271
}
7372
this.done = true;

packages/core-js/modules/esnext.iterator.zip-keyed.js

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,26 @@ var $ = require('../internals/export');
33
var anObject = require('../internals/an-object');
44
var anObjectOrUndefined = require('../internals/an-object-or-undefined');
55
var call = require('../internals/function-call');
6+
var uncurryThis = require('../internals/function-uncurry-this');
67
var getBuiltIn = require('../internals/get-built-in');
78
var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
89
var getIteratorFlattenable = require('../internals/get-iterator-flattenable');
910
var getModeOption = require('../internals/get-mode-option');
1011
var isDataDescriptor = require('../internals/is-data-descriptor');
1112
var iteratorCloseAll = require('../internals/iterator-close-all');
1213
var iteratorZip = require('../internals/iterator-zip');
13-
var uncurryThis = require('../internals/function-uncurry-this');
1414

1515
var create = getBuiltIn('Object', 'create');
1616
var ownKeys = getBuiltIn('Reflect', 'ownKeys');
1717
var push = uncurryThis([].push);
18+
var THROW = 'throw';
1819

1920
// `Iterator.zipKeyed` method
2021
// https://github.com/tc39/proposal-joint-iteration
2122
$({ target: 'Iterator', stat: true, forced: true }, {
2223
zipKeyed: function zipKeyed(iterables /* , options */) {
2324
anObject(iterables);
24-
var options = arguments.length > 1 ? arguments[1] : undefined;
25-
anObjectOrUndefined(options);
25+
var options = arguments.length > 1 ? anObjectOrUndefined(arguments[1]) : undefined;
2626
var mode = getModeOption(options);
2727
var paddingOption = mode === 'longest' ? anObjectOrUndefined(options && options.padding) : undefined;
2828

@@ -36,7 +36,7 @@ $({ target: 'Iterator', stat: true, forced: true }, {
3636
try {
3737
desc = getOwnPropertyDescriptor(iterables, key);
3838
} catch (error) {
39-
return iteratorCloseAll(iters, 'throw', error);
39+
return iteratorCloseAll(iters, THROW, error);
4040
}
4141
if (!desc || !desc.enumerable) continue;
4242
value = undefined;
@@ -48,7 +48,7 @@ $({ target: 'Iterator', stat: true, forced: true }, {
4848
try {
4949
value = call(getter, iterables);
5050
} catch (error) {
51-
return iteratorCloseAll(iters, 'throw', error);
51+
return iteratorCloseAll(iters, THROW, error);
5252
}
5353
}
5454
}
@@ -58,7 +58,7 @@ $({ target: 'Iterator', stat: true, forced: true }, {
5858
try {
5959
iter = getIteratorFlattenable(value, true);
6060
} catch (error) {
61-
return iteratorCloseAll(iters, 'throw', error);
61+
return iteratorCloseAll(iters, THROW, error);
6262
}
6363
push(iters, iter);
6464
}
@@ -73,21 +73,19 @@ $({ target: 'Iterator', stat: true, forced: true }, {
7373
try {
7474
value = paddingOption[keys[i]];
7575
} catch (error) {
76-
return iteratorCloseAll(iters, 'throw', error);
76+
return iteratorCloseAll(iters, THROW, error);
7777
}
7878
push(padding, value);
7979
}
8080
}
8181
}
8282

83-
var finishResults = function (results) {
83+
return iteratorZip(iters, mode, padding, function (results) {
8484
var obj = create(null);
8585
for (var j = 0; j < iterCount; j++) {
8686
obj[keys[j]] = results[j];
8787
}
8888
return obj;
89-
};
90-
91-
return iteratorZip(iters, mode, padding, finishResults);
89+
});
9290
}
9391
});

packages/core-js/modules/esnext.iterator.zip.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,24 @@ var $ = require('../internals/export');
33
var anObject = require('../internals/an-object');
44
var anObjectOrUndefined = require('../internals/an-object-or-undefined');
55
var call = require('../internals/function-call');
6+
var uncurryThis = require('../internals/function-uncurry-this');
67
var getIteratorRecord = require('../internals/get-iterator-record');
78
var getIteratorFlattenable = require('../internals/get-iterator-flattenable');
89
var getModeOption = require('../internals/get-mode-option');
910
var iteratorClose = require('../internals/iterator-close');
1011
var iteratorCloseAll = require('../internals/iterator-close-all');
1112
var iteratorZip = require('../internals/iterator-zip');
12-
var uncurryThis = require('../internals/function-uncurry-this');
1313

1414
var concat = uncurryThis([].concat);
1515
var push = uncurryThis([].push);
16+
var THROW = 'throw';
1617

1718
// `Iterator.zip` method
1819
// https://github.com/tc39/proposal-joint-iteration
1920
$({ target: 'Iterator', stat: true, forced: true }, {
2021
zip: function zip(iterables /* , options */) {
2122
anObject(iterables);
22-
var options = arguments.length > 1 ? arguments[1] : undefined;
23-
anObjectOrUndefined(options);
23+
var options = arguments.length > 1 ? anObjectOrUndefined(arguments[1]) : undefined;
2424
var mode = getModeOption(options);
2525
var paddingOption = mode === 'longest' ? anObjectOrUndefined(options && options.padding) : undefined;
2626

@@ -33,13 +33,13 @@ $({ target: 'Iterator', stat: true, forced: true }, {
3333
next = anObject(call(inputIter.next, inputIter.iterator));
3434
done = next.done;
3535
} catch (error) {
36-
return iteratorCloseAll(iters, 'throw', error);
36+
return iteratorCloseAll(iters, THROW, error);
3737
}
3838
if (!done) {
3939
try {
4040
iter = getIteratorFlattenable(next.value, true);
4141
} catch (error) {
42-
return iteratorCloseAll(concat([inputIter.iterator], iters), 'throw', error);
42+
return iteratorCloseAll(concat([inputIter.iterator], iters), THROW, error);
4343
}
4444
push(iters, iter);
4545
}
@@ -54,7 +54,7 @@ $({ target: 'Iterator', stat: true, forced: true }, {
5454
try {
5555
paddingIter = getIteratorRecord(paddingOption);
5656
} catch (error) {
57-
return iteratorCloseAll(iters, 'throw', error);
57+
return iteratorCloseAll(iters, THROW, error);
5858
}
5959
var usingIterator = true;
6060
for (i = 0; i < iterCount; i++) {
@@ -64,7 +64,7 @@ $({ target: 'Iterator', stat: true, forced: true }, {
6464
paddingDone = next.done;
6565
next = next.value;
6666
} catch (error) {
67-
return iteratorCloseAll(iters, 'throw', error);
67+
return iteratorCloseAll(iters, THROW, error);
6868
}
6969
if (paddingDone) {
7070
usingIterator = false;
@@ -80,7 +80,7 @@ $({ target: 'Iterator', stat: true, forced: true }, {
8080
try {
8181
iteratorClose(paddingIter.iterator, 'normal');
8282
} catch (error) {
83-
return iteratorCloseAll(iters, 'throw', error);
83+
return iteratorCloseAll(iters, THROW, error);
8484
}
8585
}
8686
}

0 commit comments

Comments
 (0)