| arg-is-function.js |
---
esid: sec-promise.allkeyed
description: >
Promise.allKeyed accepts a function argument with enumerable own properties
info: |
Promise.allKeyed ( 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]
--- |
1289 |
- |
| arg-not-object-reject-bigint.js |
---
esid: sec-promise.allkeyed
description: >
Promise.allKeyed rejects when the promises argument is a BigInt
info: |
Promise.allKeyed ( 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]
--- |
737 |
- |
| arg-not-object-reject.js |
---
esid: sec-promise.allkeyed
description: >
Promise.allKeyed rejects when the promises argument is not an Object
info: |
Promise.allKeyed ( 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]
--- |
1107 |
- |
| ctx-non-ctor.js |
---
esid: sec-promise.allkeyed
description: >
Promise.allKeyed invoked on a non-constructor value
info: |
Promise.allKeyed ( 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]
--- |
579 |
- |
| extensible.js |
---
esid: sec-promise.allkeyed
description: >
Promise.allKeyed is initially extensible.
info: |
Unless specified otherwise, the [[Extensible]] internal slot
of a built-in object initially has the value true.
features: [await-dictionary]
--- |
444 |
- |
| key-order-preserved.js |
---
esid: sec-performpromiseallkeyed
description: >
Promise.allKeyed 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]
--- |
1628 |
- |
| length.js |
---
esid: sec-promise.allkeyed
description: Promise.allKeyed `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]
--- |
920 |
- |
| name.js |
---
esid: sec-promise.allkeyed
description: Promise.allKeyed `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]
--- |
905 |
- |
| non-enumerable-properties-ignored.js |
---
esid: sec-performpromiseallkeyed
description: >
Promise.allKeyed 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]
--- |
1114 |
- |
| not-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
Promise.allKeyed 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]
--- |
907 |
- |
| prop-desc.js |
---
esid: sec-promise.allkeyed
description: Promise.allKeyed 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]
--- |
623 |
- |
| proto.js |
---
esid: sec-promise.allkeyed
description: >
The value of the [[Prototype]] internal slot of Promise.allKeyed is the
intrinsic object %FunctionPrototype%.
features: [await-dictionary]
--- |
517 |
- |
| prototype-keys-ignored.js |
---
esid: sec-performpromiseallkeyed
description: >
Promise.allKeyed 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]
--- |
1154 |
- |
| reject-deferred.js |
---
esid: sec-performpromiseallkeyed
description: Rejecting from an asynchronously rejected input promise
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
...
8. If variant is all, then
a. Let onRejected be resultCapability.[[Reject]].
...
11. Perform ? Invoke(nextPromise, "then", « onFulfilled, onRejected »).
includes: [asyncHelpers.js]
flags: [async]
features: [await-dictionary]
--- |
1112 |
- |
| reject-immed.js |
---
esid: sec-performpromiseallkeyed
description: Rejecting from a synchronously rejected input promise
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
...
8. If variant is all, then
a. Let onRejected be resultCapability.[[Reject]].
...
11. Perform ? Invoke(nextPromise, "then", « onFulfilled, onRejected »).
includes: [asyncHelpers.js]
flags: [async]
features: [await-dictionary]
--- |
1064 |
- |
| resolve-not-callable-reject-with-typeerror.js |
---
esid: sec-promise.allkeyed
description: >
If the constructor's `resolve` method is not callable, reject with a TypeError.
info: |
Promise.allKeyed ( 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]
--- |
807 |
- |
| resolves-empty-object.js |
---
esid: sec-performpromiseallkeyed
description: >
Promise.allKeyed 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]
--- |
1087 |
- |
| symbol-keys.js |
---
esid: sec-performpromiseallkeyed
description: >
Promise.allKeyed 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]
--- |
1417 |
- |