Skip to content

Commit a672950

Browse files
committed
some tweaks
1 parent a160d76 commit a672950

File tree

4 files changed

+21
-26
lines changed

4 files changed

+21
-26
lines changed

packages/core-js/modules/esnext.promise.all-keyed.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ $({ target: 'Promise', stat: true, forced: true }, {
4949
--remaining;
5050
if (remaining === 0) {
5151
var res = create(null);
52-
forEach(keys, function (k, idx) {
53-
createProperty(res, k, values[idx]);
52+
forEach(keys, function (k, i) {
53+
createProperty(res, k, values[i]);
5454
});
5555
resolve(res);
5656
}

packages/core-js/modules/esnext.promise.all-settled-keyed.js

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,6 @@ $({ target: 'Promise', stat: true, forced: true }, {
2828
var resolve = capability.resolve;
2929
var reject = capability.reject;
3030
var result = perform(function () {
31-
var wrapResolve = function () {
32-
var res = create(null);
33-
forEach(keys, function (k, idx) {
34-
createProperty(res, k, values[idx]);
35-
});
36-
resolve(res);
37-
};
3831
var promiseResolve = aCallable(C.resolve);
3932
var allKeys = ownKeys(anObject(promises));
4033
var keys = [];
@@ -44,26 +37,31 @@ $({ target: 'Promise', stat: true, forced: true }, {
4437
forEach(allKeys, function (key) {
4538
var desc = getOwnPropertyDescriptor.f(promises, key);
4639
if (desc && desc.enumerable) {
40+
var createElementResolver = function (rejection) {
41+
return function (value) {
42+
if (alreadyCalled) return;
43+
alreadyCalled = true;
44+
values[index] = rejection
45+
? { status: 'rejected', reason: value }
46+
: { status: 'fulfilled', value: value };
47+
if (--remaining) return;
48+
var res = create(null);
49+
forEach(keys, function (k, i) {
50+
createProperty(res, k, values[i]);
51+
});
52+
resolve(res);
53+
};
54+
};
4755
var index = counter;
4856
var alreadyCalled = false;
4957
remaining++;
5058
keys[index] = key;
5159
values[index] = undefined;
52-
call(promiseResolve, C, promises[key]).then(function (value) {
53-
if (alreadyCalled) return;
54-
alreadyCalled = true;
55-
values[index] = { status: 'fulfilled', value: value };
56-
--remaining || wrapResolve();
57-
}, function (error) {
58-
if (alreadyCalled) return;
59-
alreadyCalled = true;
60-
values[index] = { status: 'rejected', reason: error };
61-
--remaining || wrapResolve();
62-
});
60+
call(promiseResolve, C, promises[key]).then(createElementResolver(false), createElementResolver(true));
6361
counter++;
6462
}
6563
});
66-
--remaining || wrapResolve();
64+
--remaining || resolve(create(null));
6765
});
6866
if (result.error) reject(result.value);
6967
return capability.promise;

tests/unit-pure/esnext.promise.all-keyed.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import $allKeyed from '@core-js/pure/full/promise/all-keyed';
22
import Promise from '@core-js/pure/full/promise';
3-
import Symbol from '@core-js/pure/full/symbol';
4-
import Object from '@core-js/pure/full/object';
3+
import Symbol from '@core-js/pure/es/symbol';
54

65
QUnit.test('Promise.allKeyed', assert => {
76
assert.isFunction(Promise.allKeyed);

tests/unit-pure/esnext.promise.all-settled-keyed.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import $allSettledKeyed from '@core-js/pure/full/promise/all-settled-keyed';
22
import Promise from '@core-js/pure/full/promise';
3-
import Symbol from '@core-js/pure/full/symbol';
4-
import Object from '@core-js/pure/full/object';
3+
import Symbol from '@core-js/pure/es/symbol';
54

65
QUnit.test('Promise.allSettledKeyed', assert => {
76
const { allSettledKeyed } = Promise;
@@ -38,7 +37,6 @@ QUnit.test('Promise.allSettledKeyed, resolved with rejection', assert => {
3837
});
3938

4039
QUnit.test('Promise.allSettledKeyed, rejected', assert => {
41-
// eslint-disable-next-line promise/valid-params -- required for testing
4240
return Promise.allSettledKeyed().then(() => {
4341
assert.avoid();
4442
}, () => {

0 commit comments

Comments
 (0)