| arg-is-function.js |
---
esid: sec-promise.allsettledkeyed
description: >
Promise.allSettledKeyed accepts a function argument with enumerable own properties
info: |
Promise.allSettledKeyed ( promises )
...
5. If promises is not an Object, then
a. ...Reject...
...
Functions are objects, so they pass the type check. Only own enumerable
properties are traversed; built-in function properties (name, length,
prototype) are non-enumerable by default and should be excluded.
includes: [asyncHelpers.js]
flags: [async]
features: [await-dictionary]
--- |
1377 |
- |
| arg-not-object-reject-bigint.js |
---
esid: sec-promise.allsettledkeyed
description: >
Promise.allSettledKeyed rejects when the promises argument is a BigInt
info: |
Promise.allSettledKeyed ( promises )
...
5. If promises is not an Object, then
a. Let error be a newly created TypeError object.
b. Perform ? Call(promiseCapability.[[Reject]], undefined, « error »).
c. Return promiseCapability.[[Promise]].
includes: [asyncHelpers.js]
flags: [async]
features: [await-dictionary, BigInt]
--- |
765 |
- |
| arg-not-object-reject.js |
---
esid: sec-promise.allsettledkeyed
description: >
Promise.allSettledKeyed rejects when the promises argument is not an Object
info: |
Promise.allSettledKeyed ( promises )
...
5. If promises is not an Object, then
a. Let error be a newly created TypeError object.
b. Perform ? Call(promiseCapability.[[Reject]], undefined, « error »).
c. Return promiseCapability.[[Promise]].
includes: [asyncHelpers.js]
flags: [async]
features: [await-dictionary, Symbol]
--- |
1135 |
- |
| ctx-non-ctor.js |
---
esid: sec-promise.allsettledkeyed
description: >
Promise.allSettledKeyed invoked on a non-constructor value
info: |
Promise.allSettledKeyed ( promises )
1. Let C be the this value.
2. Let promiseCapability be ? NewPromiseCapability(C).
NewPromiseCapability ( C )
1. If IsConstructor(C) is false, throw a TypeError exception.
features: [await-dictionary]
--- |
607 |
- |
| extensible.js |
---
esid: sec-promise.allsettledkeyed
description: >
Promise.allSettledKeyed is initially extensible.
info: |
Unless specified otherwise, the [[Extensible]] internal slot
of a built-in object initially has the value true.
features: [await-dictionary]
--- |
465 |
- |
| key-order-preserved.js |
---
esid: sec-performpromiseallkeyed
description: >
Promise.allSettledKeyed result key order matches property key order, not settlement order
info: |
PerformPromiseAllKeyed ( variant, promises, constructor, resultCapability, promiseResolve )
...
1. Let allKeys be ? promises.[[OwnPropertyKeys]]().
...
6. For each element key of allKeys, do
...
b. If desc is not undefined and desc.[[Enumerable]] is true, then
...
ii. Append key to keys.
...
...
...
8. If remainingElementsCount.[[Value]] = 0, then
...
b. Let result be CreateKeyedPromiseCombinatorResultObject(keys, values).
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [await-dictionary]
--- |
1829 |
- |
| length.js |
---
esid: sec-promise.allsettledkeyed
description: Promise.allSettledKeyed `length` property
info: |
ES Section 17:
Every built-in Function object, including constructors, has a length
property whose value is an integer. Unless otherwise specified, this value
is equal to the largest number of named arguments shown in the subclause
headings for the function description, including optional parameters.
[...]
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
features: [await-dictionary]
--- |
941 |
- |
| name.js |
---
esid: sec-promise.allsettledkeyed
description: Promise.allSettledKeyed `name` property
info: |
ES Section 17:
Every built-in Function object, including constructors, that is not
identified as an anonymous function has a name property whose value is a
String. Unless otherwise specified, this value is the name that is given to
the function in this specification.
[...]
Unless otherwise specified, the name property of a built-in Function
object, if it exists, has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
features: [await-dictionary]
--- |
933 |
- |
| non-enumerable-properties-ignored.js |
---
esid: sec-performpromiseallkeyed
description: >
Promise.allSettledKeyed ignores non-enumerable own properties
info: |
PerformPromiseAllKeyed ( variant, promises, constructor, resultCapability, promiseResolve )
...
6. For each element key of allKeys, do
a. Let desc be ? promises.[[GetOwnProperty]](key).
b. If desc is not undefined and desc.[[Enumerable]] is true, then
...
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [await-dictionary]
--- |
1192 |
- |
| not-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
Promise.allSettledKeyed does not implement [[Construct]], is not new-able
info: |
ECMAScript Function Objects
Built-in function objects that are not identified as constructors do not
implement the [[Construct]] internal method unless otherwise specified in
the description of a particular function.
sec-evaluatenew
...
7. If IsConstructor(constructor) is false, throw a TypeError exception.
...
includes: [isConstructor.js]
features: [Reflect.construct, await-dictionary, arrow-function]
--- |
935 |
- |
| prop-desc.js |
---
esid: sec-promise.allsettledkeyed
description: Promise.allSettledKeyed property descriptor
info: |
ES Section 17
Every other data property described in clauses 18 through 26 and in Annex
B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false,
[[Configurable]]: true } unless otherwise specified.
includes: [propertyHelper.js]
features: [await-dictionary]
--- |
644 |
- |
| proto.js |
---
esid: sec-promise.allsettledkeyed
description: >
The value of the [[Prototype]] internal slot of Promise.allSettledKeyed is the
intrinsic object %FunctionPrototype%.
features: [await-dictionary]
--- |
545 |
- |
| prototype-keys-ignored.js |
---
esid: sec-performpromiseallkeyed
description: >
Promise.allSettledKeyed ignores inherited prototype properties
info: |
PerformPromiseAllKeyed ( variant, promises, constructor, resultCapability, promiseResolve )
...
1. Let allKeys be ? promises.[[OwnPropertyKeys]]().
...
6. For each element key of allKeys, do
a. Let desc be ? promises.[[GetOwnProperty]](key).
b. If desc is not undefined and desc.[[Enumerable]] is true, then
...
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [await-dictionary]
--- |
1228 |
- |
| resolve-not-callable-reject-with-typeerror.js |
---
esid: sec-promise.allsettledkeyed
description: >
If the constructor's `resolve` method is not callable, reject with a TypeError.
info: |
Promise.allSettledKeyed ( promises )
...
3. Let promiseResolve be Completion(GetPromiseResolve(C)).
4. IfAbruptRejectPromise(promiseResolve, promiseCapability).
...
GetPromiseResolve ( promiseConstructor )
...
3. If IsCallable(promiseResolve) is false, throw a TypeError exception.
includes: [asyncHelpers.js]
flags: [async]
features: [await-dictionary]
--- |
828 |
- |
| resolved-all-fulfilled.js |
---
esid: sec-performpromiseallkeyed
description: >
Resolution is a collection of all the settled keyed values (all fulfilled)
info: |
PerformPromiseAllKeyed ( variant, promises, constructor, resultCapability, promiseResolve )
...
If variant is all-settled, then
Let onRejected be a new Abstract Closure ...
...
The onFulfilled closure for all-settled:
Let obj be OrdinaryObjectCreate(%Object.prototype%).
Perform ! CreateDataPropertyOrThrow(obj, "status", "fulfilled").
Perform ! CreateDataPropertyOrThrow(obj, "value", x).
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [await-dictionary]
--- |
1485 |
- |
| resolved-all-mixed.js |
---
esid: sec-performpromiseallkeyed
description: >
Resolution is a collection of all the settled keyed values (fulfilled and rejected)
info: |
PerformPromiseAllKeyed ( variant, promises, constructor, resultCapability, promiseResolve )
...
6. For each element key of allKeys, do
...
b. If desc is not undefined and desc.[[Enumerable]] is true, then
...
11. Perform ? Invoke(nextPromise, "then", « onFulfilled, onRejected »).
...
8. If remainingElementsCount.[[Value]] = 0, then
...
b. Let result be CreateKeyedPromiseCombinatorResultObject(keys, values).
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [await-dictionary]
--- |
2032 |
- |
| resolved-all-rejected.js |
---
esid: sec-performpromiseallkeyed
description: >
Resolution is a collection of all the settled keyed values (all rejected)
info: |
PerformPromiseAllKeyed ( variant, promises, constructor, resultCapability, promiseResolve )
...
If variant is all-settled, then
Let onRejected be a new Abstract Closure ...
...
The onRejected closure:
Let obj be OrdinaryObjectCreate(%Object.prototype%).
Perform ! CreateDataPropertyOrThrow(obj, "status", "rejected").
Perform ! CreateDataPropertyOrThrow(obj, "reason", x).
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [await-dictionary]
--- |
1464 |
- |
| resolves-empty-object.js |
---
esid: sec-performpromiseallkeyed
description: >
Promise.allSettledKeyed resolves an empty object to an empty null-prototype object
info: |
PerformPromiseAllKeyed ( variant, promises, constructor, resultCapability, promiseResolve )
...
1. Let allKeys be ? promises.[[OwnPropertyKeys]]().
...
7. Set remainingElementsCount.[[Value]] to remainingElementsCount.[[Value]] - 1.
8. If remainingElementsCount.[[Value]] = 0, then
a. Let result be CreateKeyedPromiseCombinatorResultObject(keys, values).
b. Perform ? Call(resultCapability.[[Resolve]], undefined, « result »).
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [await-dictionary]
--- |
1101 |
- |
| symbol-keys.js |
---
esid: sec-performpromiseallkeyed
description: >
Promise.allSettledKeyed includes enumerable symbol-keyed properties and ignores non-enumerable ones
info: |
PerformPromiseAllKeyed ( variant, promises, constructor, resultCapability, promiseResolve )
...
1. Let allKeys be ? promises.[[OwnPropertyKeys]]().
...
6. For each element key of allKeys, do
a. Let desc be ? promises.[[GetOwnProperty]](key).
b. If desc is not undefined and desc.[[Enumerable]] is true, then
...
includes: [asyncHelpers.js]
flags: [async]
features: [await-dictionary, Symbol]
--- |
1552 |
- |