browser.js |
|
0 |
call-resolve-element-after-return.js |
---
esid: sec-promise.allsettled-resolve-element-functions
description: >
Cannot change result value of resolved Promise.allSettled element after Promise.allSettled() returned.
info: |
Promise.allSettled Resolve Element Functions
1. Let F be the active function object.
2. Let alreadyCalled be F.[[AlreadyCalled]].
3. If alreadyCalled.[[Value]] is true, return undefined.
4. Set alreadyCalled.[[Value]] to true.
...
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
1609 |
call-resolve-element-items.js |
---
esid: sec-promise.allsettled-resolve-element-functions
description: >
Cannot change result value of resolved Promise.allSettled elements.
info: |
Promise.allSettled Resolve Element Functions
1. Let F be the active function object.
2. Let alreadyCalled be F.[[AlreadyCalled]].
3. If alreadyCalled.[[Value]] is true, return undefined.
4. Set alreadyCalled.[[Value]] to true.
...
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
1467 |
call-resolve-element.js |
---
esid: sec-promise.allsettled-resolve-element-functions
description: >
Cannot change result value of resolved Promise.allSettled element.
info: |
Promise.allSettled Resolve Element Functions
1. Let F be the active function object.
2. Let alreadyCalled be F.[[AlreadyCalled]].
3. If alreadyCalled.[[Value]] is true, return undefined.
4. Set alreadyCalled.[[Value]] to true.
...
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
1245 |
capability-executor-called-twice.js |
---
esid: sec-promise.allsettled
description: >
Throws a TypeError if capabilities executor already called with non-undefined values.
info: |
Promise.allSettled ( iterable )
...
3. Let promiseCapability be ? NewPromiseCapability(C).
...
GetCapabilitiesExecutor Functions
...
4. If promiseCapability.[[Resolve]] is not undefined, throw a TypeError exception.
5. If promiseCapability.[[Reject]] is not undefined, throw a TypeError exception.
6. Set promiseCapability.[[Resolve]] to resolve.
7. Set promiseCapability.[[Reject]] to reject.
...
features: [Promise.allSettled]
--- |
2961 |
capability-executor-not-callable.js |
---
esid: sec-promise.allsettled
description: >
Throws a TypeError if either resolve or reject capability is not callable.
info: |
Promise.allSettled ( iterable )
...
3. Let promiseCapability be ? NewPromiseCapability(C).
...
NewPromiseCapability ( C )
...
5. Let executor be CreateBuiltinFunction(steps, « [[Capability]] »).
6. Set executor.[[Capability]] to promiseCapability.
7. Let promise be ? Construct(C, « executor »).
8. If IsCallable(promiseCapability.[[Resolve]]) is false, throw a TypeError exception.
9. If IsCallable(promiseCapability.[[Reject]]) is false, throw a TypeError exception.
...
features: [Promise.allSettled]
--- |
3157 |
capability-resolve-throws-no-close.js |
---
esid: sec-promise.allsettled
description: >
Iterator is not closed when the "resolve" capability returns an abrupt
completion.
info: |
...
3. Let promiseCapability be ? NewPromiseCapability(C).
...
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
8. Return Completion(result).
Runtime Semantics: PerformPromiseAllSettled
...
6. Repeat
...
d. If next is false, then
...
iii. If remainingElementsCount.[[Value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
IfAbruptRejectPromise
1. IfAbruptRejectPromise(value, capability).
features: [Promise.allSettled, Symbol.iterator]
--- |
1621 |
capability-resolve-throws-reject.js |
---
esid: sec-promise.allsettled
description: >
Promise is rejected when the "resolve" capability returns an abrupt
completion.
info: |
...
3. Let promiseCapability be ? NewPromiseCapability(C).
...
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
8. Return Completion(result).
Runtime Semantics: PerformPromiseAllSettled
...
6. Repeat
...
d. If next is false, then
...
iii. If remainingElementsCount.[[Value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
IfAbruptRejectPromise
1. IfAbruptRejectPromise(value, capability).
flags: [async]
features: [Promise.allSettled]
--- |
1596 |
ctx-ctor-throws.js |
---
description: >
Promise.allSettled invoked on a constructor value that throws an error
esid: sec-promise.allsettled
info: |
3. Let promiseCapability be ? NewPromiseCapability(C).
NewPromiseCapability
...
7. Let promise be ? Construct(C, « executor »).
features: [Promise.allSettled]
--- |
610 |
ctx-ctor.js |
---
description: >
Promise.allSettled invoked on a constructor value
esid: sec-promise.allsettled
info: |
3. Let promiseCapability be ? NewPromiseCapability(C).
...
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
...
8. Return Completion(result).
features: [Promise.allSettled, class]
--- |
887 |
ctx-non-ctor.js |
---
description: >
Promise.allSettled invoked on a non-constructor value
esid: sec-promise.allsettled
info: |
...
3. Let promiseCapability be ? NewPromiseCapability(C).
NewPromiseCapability ( C )
1. If IsConstructor(C) is false, throw a TypeError exception.
features: [Promise.allSettled]
--- |
534 |
ctx-non-object.js |
---
description: >
Promise.allSettled invoked on a non-object value
esid: sec-promise.allsettled
info: |
1. Let C be the this value.
2. If Type(C) is not Object, throw a TypeError exception.
features: [Promise.allSettled, Symbol]
--- |
884 |
does-not-invoke-array-setters.js |
---
esid: sec-performpromiseallsettled
description: >
Indexed setter properties on Array.prototype are not invoked.
info: |
Promise.allSettled ( iterable )
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b, IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
...
4. Let remainingElementsCount be a new Record { [[value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0,
1. Let valuesArray be CreateArrayFromList(values).
...
...
7.3.16 CreateArrayFromList (elements)
...
4. For each element e of elements
a. Let status be CreateDataProperty(array, ToString(n), e).
b. Assert: status is true.
...
flags: [async]
features: [Promise.allSettled]
--- |
1428 |
invoke-resolve-error-close.js |
---
description: >
Explicit iterator closing in response to error
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
...
i. Let nextPromise be ? Invoke(constructor, "resolve", « nextValue »).
features: [Promise.allSettled, Symbol.iterator]
--- |
1093 |
invoke-resolve-error-reject.js |
---
description: Promise rejection in response to error
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
...
i. Let nextPromise be ? Invoke(constructor, "resolve", « nextValue »).
flags: [async]
features: [Promise.allSettled]
--- |
1095 |
invoke-resolve-get-error-reject.js |
---
description: >
Error retrieving the constructor's `resolve` method (rejecting promise)
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
...
i. Let nextPromise be ? Invoke(constructor, "resolve", « nextValue »).
flags: [async]
features: [Promise.allSettled]
--- |
1077 |
invoke-resolve-get-error.js |
---
esid: sec-promise.allsettled
description: >
Promise.resolve is retrieved before GetIterator call (abrupt lookup).
info: |
Promise.allSettled ( iterable )
[...]
3. Let promiseResolve be GetPromiseResolve(C).
4. IfAbruptRejectPromise(promiseResolve, promiseCapability).
GetPromiseResolve ( promiseConstructor )
[...]
2. Let promiseResolve be ? Get(promiseConstructor, "resolve").
flags: [async]
features: [Promise.allSettled, Symbol.iterator]
--- |
1045 |
invoke-resolve-get-once-multiple-calls.js |
---
description: >
Gets constructor's `resolve` method once from zero to many invocations.
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Let promiseResolve be ? Get(constructor, `"resolve"`).
7. 1. If IsCallable(promiseResolve) is false, throw a TypeError exception.
8. Repeat
...
i. Let nextPromise be ? Call(promiseResolve, constructor, « nextValue »).
features: [Promise.allSettled]
--- |
1287 |
invoke-resolve-get-once-no-calls.js |
---
description: >
Gets constructor's `resolve` method once from zero to many invocations.
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Let promiseResolve be ? Get(constructor, `"resolve"`).
7. 1. If IsCallable(promiseResolve) is false, throw a TypeError exception.
8. Repeat
...
i. Let nextPromise be ? Call(promiseResolve, constructor, « nextValue »).
features: [Promise.allSettled]
--- |
1151 |
invoke-resolve-on-promises-every-iteration-of-custom.js |
---
description: >
Invocation of the constructor's `resolve` method for iterable with promise values
esid: sec-promise.allSettled
info: |
7. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
7. Repeat
...
i. Let nextPromise be ? Call(promiseResolve, constructor, « nextValue »).
flags: [async]
features: [Promise.allSettled, class, arrow-function]
--- |
1306 |
invoke-resolve-on-promises-every-iteration-of-promise.js |
---
description: >
Invocation of the constructor's `resolve` method for iterable with promise values
esid: sec-promise.allSettled
info: |
7. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
7. Repeat
...
i. Let nextPromise be ? Call(promiseResolve, constructor, « nextValue »).
flags: [async]
features: [Promise.allSettled, arrow-function]
--- |
948 |
invoke-resolve-on-values-every-iteration-of-promise.js |
---
description: >
Invocation of the constructor's `resolve` method for iterable with non-promise values
esid: sec-promise.allSettled
info: |
5. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
8. Repeat
...
i. Let nextPromise be ? Call(promiseResolve, constructor, « nextValue »).
flags: [async]
features: [Promise.allSettled, arrow-function]
--- |
963 |
invoke-resolve-return.js |
---
description: Use of the value returned by the constructor's `resolve` method.
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
...
i. Let nextPromise be ? Invoke(constructor, "resolve", « nextValue »).
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
features: [Promise.allSettled]
--- |
1137 |
invoke-resolve.js |
---
description: >
Invocation of the constructor's `resolve` method
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
...
i. Let nextPromise be ? Invoke(constructor, "resolve", « nextValue »).
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
features: [Promise.allSettled]
--- |
1375 |
invoke-then-error-close.js |
---
description: >
Error thrown when invoking the instance's `then` method (closing iterator)
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
features: [Promise.allSettled, Symbol.iterator]
--- |
1155 |
invoke-then-error-reject.js |
---
description: >
Error thrown when invoking the instance's `then` method (rejecting Promise)
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
flags: [async]
features: [Promise.allSettled]
--- |
1056 |
invoke-then-get-error-close.js |
---
description: >
Error thrown when accesing the instance's `then` method (closing iterator)
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
features: [Promise.allSettled, Symbol.iterator]
--- |
1185 |
invoke-then-get-error-reject.js |
---
description: >
Error thrown when accessing the instance's `then` method (rejecting Promise)
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
flags: [async]
features: [Promise.allSettled]
--- |
1086 |
invoke-then.js |
---
description: >
Invocation of the instance's `then` method
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
features: [Promise.allSettled]
--- |
1646 |
is-function.js |
---
esid: sec-promise.allsettled
description: Promise.allSettled is callable
features: [Promise.allSettled]
--- |
323 |
iter-arg-is-false-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument is `false`
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
#sec-getiterator
GetIterator ( obj [ , hint [ , method ] ] )
...
Let iterator be ? Call(method, obj).
If Type(iterator) is not Object, throw a TypeError exception.
...
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1031 |
iter-arg-is-null-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument is `null`
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
#sec-getiterator
GetIterator ( obj [ , hint [ , method ] ] )
...
Let iterator be ? Call(method, obj).
If Type(iterator) is not Object, throw a TypeError exception.
...
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1029 |
iter-arg-is-number-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument is a number
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
#sec-getiterator
GetIterator ( obj [ , hint [ , method ] ] )
...
Let iterator be ? Call(method, obj).
If Type(iterator) is not Object, throw a TypeError exception.
...
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1028 |
iter-arg-is-poisoned.js |
---
esid: sec-promise.allsettled
description: >
Reject with abrupt completion from GetIterator
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
#sec-getiterator
GetIterator ( obj [ , hint [ , method ] ] )
...
Let iterator be ? Call(method, obj).
...
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1036 |
iter-arg-is-string-resolve.js |
---
esid: sec-promise.allsettled
description: >
Resolve when argument is a string
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
#sec-getiterator
GetIterator ( obj [ , hint [ , method ] ] )
...
Let iterator be ? Call(method, obj).
If Type(iterator) is not Object, throw a TypeError exception.
...
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
948 |
iter-arg-is-symbol-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument is a symbol
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1428 |
iter-arg-is-true-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument is `true`
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1422 |
iter-arg-is-undefined-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument is `undefined`
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1432 |
iter-assigned-false-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator property has the value false
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
i. Set method to ? GetMethod(obj, @@asyncIterator).
ii. If method is undefined, then
1. Let syncMethod be ? GetMethod(obj, @@iterator).
2. Let syncIteratorRecord be ? GetIterator(obj, sync, syncMethod).
...
4. Let iterator be ? Call(method, obj).
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1593 |
iter-assigned-null-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator property has the value null
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1487 |
iter-assigned-number-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator property has the value 1
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1481 |
iter-assigned-string-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator property has the value ""
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1483 |
iter-assigned-symbol-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator property has the value Symbol()
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1495 |
iter-assigned-true-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator property has the value true
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1487 |
iter-assigned-undefined-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator property has the value undefined
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1497 |
iter-next-err-reject.js |
---
esid: sec-promise.allsettled
description: >
Error when call an iterator next step (rejecting promise)
info: |
Promise.allSettled ( iterable )
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
...
6. Repeat
a. Let next be IteratorStep(iteratorRecord).
b. If next is an abrupt completion, set iteratorRecord.[[Done]] to true.
c. ReturnIfAbrupt(next).
...
IteratorStep ( iteratorRecord )
1. Let result be ? IteratorNext(iteratorRecord).
IteratorNext ( iteratorRecord [ , value ] )
1. If value is not present, then
a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]], « »).
2. Else,
a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]], « value »).
...
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1613 |
iter-next-val-err-no-close.js |
---
esid: sec-promise.allsettled
description: >
Error when accessing an iterator result's `value` property (not closing
iterator)
info: |
Promise.allSettled ( iterable )
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
...
6. Repeat
...
e. Let nextValue be IteratorValue(next).
f. If nextValue is an abrupt completion, set iteratorRecord.[[Done]] to true.
g. ReturnIfAbrupt(nextValue).
features: [Promise.allSettled, Symbol.iterator]
--- |
1424 |
iter-next-val-err-reject.js |
---
esid: sec-promise.allsettled
description: >
Error when accessing an iterator result's `value` property (rejecting promise)
info: |
Promise.allSettled ( iterable )
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
...
6. Repeat
...
e. Let nextValue be IteratorValue(next).
f. If nextValue is an abrupt completion, set iteratorRecord.[[Done]] to true.
g. ReturnIfAbrupt(nextValue).
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1380 |
iter-returns-false-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator returns false
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1497 |
iter-returns-null-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator returns null
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1495 |
iter-returns-number-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator returns a number
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1496 |
iter-returns-string-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator returns a string
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1497 |
iter-returns-symbol-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator returns a symbol
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1503 |
iter-returns-true-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator returns true
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1495 |
iter-returns-undefined-reject.js |
---
esid: sec-promise.allsettled
description: >
Reject when argument's Symbol.iterator returns undefined
info: |
Promise.allSettled ( iterable )
...
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
...
GetIterator ( obj [ , hint [ , method ] ] )
...
3. If method is not present, then
a. If hint is async, then
...
b. Otherwise, set method to ? GetMethod(obj, @@iterator).
4. Let iterator be ? Call(method, obj).
5. If Type(iterator) is not Object, throw a TypeError exception.
...
GetMethod
2. Let func be ? GetV(V, P).
3. If func is either undefined or null, return undefined.
4. If IsCallable(func) is false, throw a TypeError exception.
Call ( F, V [ , argumentsList ] )
2. If IsCallable(F) is false, throw a TypeError exception.
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1505 |
iter-step-err-no-close.js |
---
esid: sec-promise.allsettled
description: >
Error when advancing the provided iterable (not closing iterator)
info: |
Promise.allSettled ( iterable )
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
a. Let next be IteratorStep(iteratorRecord).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
features: [Promise.allSettled, Symbol.iterator]
--- |
1354 |
iter-step-err-reject.js |
---
esid: sec-promise.allsettled
description: >
Error when advancing the provided iterable (rejecting promise)
info: |
Promise.allSettled ( iterable )
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
a. Let next be IteratorStep(iteratorRecord).
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
features: [Promise.allSettled, Symbol.iterator]
flags: [async]
--- |
1447 |
length.js |
---
esid: sec-promise.allsettled
description: Promise.allSettled `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: [Promise.allSettled]
--- |
932 |
name.js |
---
esid: sec-promise.allsettled
description: Promise.allSettled `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: [Promise.allSettled]
--- |
919 |
new-reject-function.js |
---
esid: sec-performpromiseallsettled
description: >
Each Promise.allSettled element is called with a new Promise.allSettled Reject Element function.
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
...
features: [Promise.allSettled]
--- |
1294 |
new-resolve-function.js |
---
esid: sec-performpromiseallsettled
description: >
Each Promise.allSettled element is called with a new Promise.allSettled Resolve Element function.
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
...
k Let resolveElement be ! CreateBuiltinFunction(steps, « [[AlreadyCalled]], [[Index]], [[Values]], [[Capability]], [[RemainingElements]] »).
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
...
features: [Promise.allSettled]
--- |
1479 |
not-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
Promise.allSettled 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, Promise.allSettled, arrow-function]
--- |
914 |
prop-desc.js |
---
esid: sec-promise.allsettled
description: Promise.allSettled 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: [Promise.allSettled]
--- |
635 |
reject-deferred.js |
---
description: Rejecting through deferred invocation of the provided resolving function
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
Promise.allSettled Reject Element Functions
9. Let obj be ! ObjectCreate(%ObjectPrototype%).
10. Perform ! CreateDataProperty(obj, "status", "rejected").
11. Perform ! CreateDataProperty(obj, "reason", x).
12. Set values[index] to be obj.
13. Set remainingElementsCount.[[Value]] to remainingElementsCount.[[Value]] - 1.
14. If remainingElementsCount.[[Value]] is 0, then
a. Let valuesArray be CreateArrayFromList(values).
b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
flags: [async]
features: [Promise.allSettled]
--- |
1512 |
reject-element-function-extensible.js |
---
esid: sec-promise.allsettled-reject-element-functions
description: The [[Extensible]] slot of Promise.allSettled Reject Element functions
info: |
17 ECMAScript Standard Built-in Objects:
Unless specified otherwise, the [[Extensible]] internal slot
of a built-in object initially has the value true.
features: [Promise.allSettled]
--- |
838 |
reject-element-function-length.js |
---
esid: sec-promise.allsettled-reject-element-functions
description: The `length` property of Promise.allSettled Reject Element functions
info: |
The length property of a Promise.allSettled Reject Element function is 1.
17 ECMAScript Standard Built-in Objects:
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: [Promise.allSettled]
--- |
1132 |
reject-element-function-multiple-calls.js |
---
esid: sec-performpromiseallsettled
description: >
Cannot tamper with remainingElementsCount when Promise.allSettled reject element function is called multiple times.
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability, )
If alreadyCalled.[[Value]] is true, return undefined.
features: [Promise.allSettled]
--- |
1463 |
reject-element-function-name.js |
---
esid: sec-promise.allsettled-reject-element-functions
description: The `name` property of Promise.allSettled Reject Element functions
info: |
A promise resolve function is an anonymous built-in function.
17 ECMAScript Standard Built-in Objects:
Every built-in function object, including constructors, has a `name`
property whose value is a String. Functions that are identified as
anonymous functions use the empty string as the value of the `name`
property.
Unless otherwise specified, the `name` property of a built-in function
object has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*,
[[Configurable]]: *true* }.
includes: [propertyHelper.js]
features: [Promise.allSettled]
--- |
1294 |
reject-element-function-nonconstructor.js |
---
esid: sec-promise.allsettled-reject-element-functions
description: Promise.allSettled Reject Element functions are not constructors
info: |
17 ECMAScript Standard Built-in 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.
features: [Promise.allSettled]
--- |
1033 |
reject-element-function-property-order.js |
---
esid: sec-createbuiltinfunction
description: Promise.allSettled reject element function property order
info: |
Set order: "length", "name"
features: [Promise.allSettled]
--- |
924 |
reject-element-function-prototype.js |
---
esid: sec-promise.allsettled-reject-element-functions
description: The [[Prototype]] of Promise.allSettled Reject Element functions
info: |
17 ECMAScript Standard Built-in Objects:
Unless otherwise specified every built-in function and every built-in
constructor has the Function prototype object, which is the initial
value of the expression Function.prototype (19.2.3), as the value of
its [[Prototype]] internal slot.
features: [Promise.allSettled]
--- |
1000 |
reject-ignored-deferred.js |
---
description: >
Resolved promises ignore rejections through deferred invocation of the
provided resolving function
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
flags: [async]
features: [Promise.allSettled]
--- |
1321 |
reject-ignored-immed.js |
---
description: >
Resolved promises ignore rejections through immediate invocation of the
provided resolving function
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
flags: [async]
features: [Promise.allSettled]
--- |
1121 |
reject-immed.js |
---
description: Rejecting through immediate invocation of the provided resolving function
esid: sec-promise.allsettled
info: |
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
6. Repeat
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
846 |
resolve-before-loop-exit-from-same.js |
---
esid: sec-performpromiseallsettled
description: >
Cannot tamper remainingElementsCount when Promise.allSettled resolve element function is called twice in a row.
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
4. Let remainingElementsCount be a new Record { [[Value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
...
Promise.allSettled Resolve Element Functions
2. Let alreadyCalled be F.[[AlreadyCalled]].
3. If alreadyCalled.[[Value]] is true, return undefined.
4. Set alreadyCalled.[[Value]] to true.
...
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
2139 |
resolve-before-loop-exit.js |
---
esid: sec-performpromiseallsettled
description: >
Cannot tamper remainingElementsCount when two Promise.allSettled resolve element functions are called in succession.
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
4. Let remainingElementsCount be a new Record { [[Value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
...
Promise.allSettled Resolve Element Functions
2. Let alreadyCalled be F.[[AlreadyCalled]].
3. If alreadyCalled.[[Value]] is true, return undefined.
4. Set alreadyCalled.[[Value]] to true.
...
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
2040 |
resolve-element-function-extensible.js |
---
esid: sec-promise.allsettled-resolve-element-functions
description: The [[Extensible]] slot of Promise.allSettled Resolve Element functions
info: |
17 ECMAScript Standard Built-in Objects:
Unless specified otherwise, the [[Extensible]] internal slot
of a built-in object initially has the value true.
features: [Promise.allSettled]
--- |
842 |
resolve-element-function-length.js |
---
esid: sec-promise.allsettled-resolve-element-functions
description: The `length` property of Promise.allSettled Resolve Element functions
info: |
The length property of a Promise.allSettled resolve element function is 1.
17 ECMAScript Standard Built-in Objects:
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: [Promise.allSettled]
--- |
1085 |
resolve-element-function-name.js |
---
esid: sec-promise.allsettled-resolve-element-functions
description: The `name` property of Promise.allSettled Resolve Element functions
info: |
A promise resolve function is an anonymous built-in function.
17 ECMAScript Standard Built-in Objects:
Every built-in function object, including constructors, has a `name`
property whose value is a String. Functions that are identified as
anonymous functions use the empty string as the value of the `name`
property.
Unless otherwise specified, the `name` property of a built-in function
object has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*,
[[Configurable]]: *true* }.
includes: [propertyHelper.js]
features: [Promise.allSettled]
--- |
1298 |
resolve-element-function-nonconstructor.js |
---
esid: sec-promise.allsettled-resolve-element-functions
description: Promise.allSettled Resolve Element functions are not constructors
info: |
17 ECMAScript Standard Built-in 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.
features: [Promise.allSettled]
--- |
1038 |
resolve-element-function-property-order.js |
---
esid: sec-createbuiltinfunction
description: Promise.allSettled resolve element function property order
info: |
Set order: "length", "name"
features: [Promise.allSettled]
--- |
927 |
resolve-element-function-prototype.js |
---
esid: sec-promise.allsettled-resolve-element-functions
description: The [[Prototype]] of Promise.allSettled Resolve Element functions
info: |
17 ECMAScript Standard Built-in Objects:
Unless otherwise specified every built-in function and every built-in
constructor has the Function prototype object, which is the initial
value of the expression Function.prototype (19.2.3), as the value of
its [[Prototype]] internal slot.
features: [Promise.allSettled]
--- |
1004 |
resolve-from-same-thenable.js |
---
esid: sec-performpromiseallsettled
description: >
Cannot tamper remainingElementsCount when Promise.allSettled resolve element function is called multiple times.
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
4. Let remainingElementsCount be a new Record { [[Value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
...
Promise.allSettled Resolve Element Functions
2. Let alreadyCalled be F.[[AlreadyCalled]].
3. If alreadyCalled.[[Value]] is true, return undefined.
4. Set alreadyCalled.[[Value]] to true.
...
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
2363 |
resolve-ignores-late-rejection-deferred.js |
---
description: >
Resolved promises ignore rejections through deferred invocation of the
provided resolving function
esid: sec-promise.allSettled
info: |
Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
Repeat
...
r. Perform ? Invoke(nextPromise, "then", « resultCapability.[[Resolve]], rejectElement »).
flags: [async]
features: [Promise.allSettled, arrow-function]
--- |
1218 |
resolve-ignores-late-rejection.js |
---
description: >
Resolved promises ignore rejections through immediate invocation of the
provided resolving function
esid: sec-promise.allSettled
info: |
Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
Repeat
...
r. Perform ? Invoke(nextPromise, "then", « resultCapability.[[Resolve]], rejectElement »).
flags: [async]
features: [Promise.allSettled, arrow-function]
--- |
1088 |
resolve-non-callable.js |
---
esid: sec-promise.allsettled
description: >
Promise.resolve is retrieved before GetIterator call (non-callable).
info: |
Promise.allSettled ( iterable )
[...]
3. Let promiseResolve be GetPromiseResolve(C).
4. IfAbruptRejectPromise(promiseResolve, promiseCapability).
GetPromiseResolve ( promiseConstructor )
[...]
2. Let promiseResolve be ? Get(promiseConstructor, "resolve").
3. If IsCallable(promiseResolve) is false, throw a TypeError exception.
flags: [async]
features: [Promise.allSettled, Symbol.iterator]
--- |
1044 |
resolve-non-thenable.js |
---
description: Resolving with a non-thenable object value
esid: sec-promise.allsettled
info: |
Promise.allSettled Resolve Element Functions
14. If remainingElementsCount.[[Value]] is 0, then
a. Let valuesArray be ! CreateArrayFromList(values).
b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
1004 |
resolve-not-callable-reject-with-typeerror.js |
---
esid: sec-promise.allSettled
description: >
If the constructor's `resolve` method is not callable, reject with a TypeError.
info: |
Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
Runtime Semantics: PerformPromiseAllSettled
Let promiseResolve be ? Get(constructor, "resolve").
If ! IsCallable(promiseResolve) is false, throw a TypeError exception.
flags: [async]
features: [Promise.allSettled, arrow-function]
--- |
815 |
resolve-poisoned-then.js |
---
description: Resolving with an object with a "poisoned" `then` property
esid: sec-promise.allsettled
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
4. Let remainingElementsCount be a new Record { [[Value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
...
flags: [async]
features: [Promise.allSettled]
--- |
1240 |
resolve-thenable.js |
---
description: Resolving with a thenable object value
esid: sec-promise.allsettled
info: |
Let promiseCapability be NewPromiseCapability(C).
flags: [async]
features: [Promise.allSettled]
--- |
682 |
resolved-all-fulfilled.js |
---
esid: sec-promise.allsettled
description: >
Resolution is a collection of all the settled values (all fulfilled)
info: |
Runtime Semantics: PerformPromiseAllSettled
6. Repeat,
...
j. Let steps be the algorithm steps defined in Promise.allSettled Resolve Element Functions.
k. Let resolveElement be ! CreateBuiltinFunction(steps, « [[AlreadyCalled]], [[Index]], [[Values]], [[Capability]], [[RemainingElements]] »).
...
r. Let rejectSteps be the algorithm steps defined in Promise.allSettled Reject Element Functions.
s. Let rejectElement be ! CreateBuiltinFunction(rejectSteps, « [[AlreadyCalled]], [[Index]], [[Values]], [[Capability]], [[RemainingElements]] »).
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
Promise.allSettled Resolve Element Functions
9. Let obj be ! ObjectCreate(%ObjectPrototype%).
10. Perform ! CreateDataProperty(obj, "status", "fulfilled").
11. Perform ! CreateDataProperty(obj, "value", x).
12. Set values[index] to be obj.
13. Set remainingElementsCount.[[Value]] to remainingElementsCount.[[Value]] - 1.
14. If remainingElementsCount.[[Value]] is 0, then
a. Let valuesArray be ! CreateArrayFromList(values).
b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
Promise.allSettled Reject Element Functions
9. Let obj be ! ObjectCreate(%ObjectPrototype%).
10. Perform ! CreateDataProperty(obj, "status", "rejected").
11. Perform ! CreateDataProperty(obj, "reason", x).
12. Set values[index] to be obj.
13. Set remainingElementsCount.[[Value]] to remainingElementsCount.[[Value]] - 1.
14. If remainingElementsCount.[[Value]] is 0, then
a. Let valuesArray be CreateArrayFromList(values).
b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
2539 |
resolved-all-mixed.js |
---
esid: sec-promise.allsettled
description: >
Resolution is a collection of all the settled values (fulfilled and rejected)
info: |
Runtime Semantics: PerformPromiseAllSettled
6. Repeat,
...
j. Let steps be the algorithm steps defined in Promise.allSettled Resolve Element Functions.
k. Let resolveElement be ! CreateBuiltinFunction(steps, « [[AlreadyCalled]], [[Index]], [[Values]], [[Capability]], [[RemainingElements]] »).
...
r. Let rejectSteps be the algorithm steps defined in Promise.allSettled Reject Element Functions.
s. Let rejectElement be ! CreateBuiltinFunction(rejectSteps, « [[AlreadyCalled]], [[Index]], [[Values]], [[Capability]], [[RemainingElements]] »).
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
Promise.allSettled Resolve Element Functions
9. Let obj be ! ObjectCreate(%ObjectPrototype%).
10. Perform ! CreateDataProperty(obj, "status", "fulfilled").
11. Perform ! CreateDataProperty(obj, "value", x).
12. Set values[index] to be obj.
13. Set remainingElementsCount.[[Value]] to remainingElementsCount.[[Value]] - 1.
14. If remainingElementsCount.[[Value]] is 0, then
a. Let valuesArray be ! CreateArrayFromList(values).
b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
Promise.allSettled Reject Element Functions
9. Let obj be ! ObjectCreate(%ObjectPrototype%).
10. Perform ! CreateDataProperty(obj, "status", "rejected").
11. Perform ! CreateDataProperty(obj, "reason", x).
12. Set values[index] to be obj.
13. Set remainingElementsCount.[[Value]] to remainingElementsCount.[[Value]] - 1.
14. If remainingElementsCount.[[Value]] is 0, then
a. Let valuesArray be CreateArrayFromList(values).
b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
2891 |
resolved-all-rejected.js |
---
esid: sec-promise.allsettled
description: >
Resolution is a collection of all the settled values (fulfiled and rejected promises)
info: |
Runtime Semantics: PerformPromiseAllSettled
6. Repeat,
...
j. Let steps be the algorithm steps defined in Promise.allSettled Resolve Element Functions.
k. Let resolveElement be ! CreateBuiltinFunction(steps, « [[AlreadyCalled]], [[Index]], [[Values]], [[Capability]], [[RemainingElements]] »).
...
r. Let rejectSteps be the algorithm steps defined in Promise.allSettled Reject Element Functions.
s. Let rejectElement be ! CreateBuiltinFunction(rejectSteps, « [[AlreadyCalled]], [[Index]], [[Values]], [[Capability]], [[RemainingElements]] »).
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
Promise.allSettled Resolve Element Functions
9. Let obj be ! ObjectCreate(%ObjectPrototype%).
10. Perform ! CreateDataProperty(obj, "status", "fulfilled").
11. Perform ! CreateDataProperty(obj, "value", x).
12. Set values[index] to be obj.
13. Set remainingElementsCount.[[Value]] to remainingElementsCount.[[Value]] - 1.
14. If remainingElementsCount.[[Value]] is 0, then
a. Let valuesArray be ! CreateArrayFromList(values).
b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
Promise.allSettled Reject Element Functions
9. Let obj be ! ObjectCreate(%ObjectPrototype%).
10. Perform ! CreateDataProperty(obj, "status", "rejected").
11. Perform ! CreateDataProperty(obj, "reason", x).
12. Set values[index] to be obj.
13. Set remainingElementsCount.[[Value]] to remainingElementsCount.[[Value]] - 1.
14. If remainingElementsCount.[[Value]] is 0, then
a. Let valuesArray be CreateArrayFromList(values).
b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
2559 |
resolved-immed.js |
---
esid: sec-promise.allsettled
description: Promise.allSettled([]) returns immediately
includes: [promiseHelper.js]
flags: [async]
features: [Promise.allSettled]
--- |
666 |
resolved-sequence-extra-ticks.js |
---
esid: sec-promise.allsettled
description: Resolution ticks are set in a predictable sequence with extra then calls
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
4. Let remainingElementsCount be a new Record { [[Value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
...
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
1468 |
resolved-sequence-mixed.js |
---
esid: sec-promise.allsettled
description: >
Resolution ticks are set in a predictable sequence of mixed fulfilled and rejected promises
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
4. Let remainingElementsCount be a new Record { [[Value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
...
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
1724 |
resolved-sequence-with-rejections.js |
---
esid: sec-promise.allsettled
description: Resolution ticks are set in a predictable sequence
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
4. Let remainingElementsCount be a new Record { [[Value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
...
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
1501 |
resolved-sequence.js |
---
esid: sec-promise.allsettled
description: Resolution ticks are set in a predictable sequence
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
4. Let remainingElementsCount be a new Record { [[Value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
...
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
1489 |
resolved-then-catch-finally.js |
---
esid: sec-promise.allsettled
description: >
Resolution is a collection of all the settled values (all fulfilled)
info: |
Runtime Semantics: PerformPromiseAllSettled
6. Repeat,
...
j. Let steps be the algorithm steps defined in Promise.allSettled Resolve Element Functions.
k. Let resolveElement be ! CreateBuiltinFunction(steps, « [[AlreadyCalled]], [[Index]], [[Values]], [[Capability]], [[RemainingElements]] »).
...
r. Let rejectSteps be the algorithm steps defined in Promise.allSettled Reject Element Functions.
s. Let rejectElement be ! CreateBuiltinFunction(rejectSteps, « [[AlreadyCalled]], [[Index]], [[Values]], [[Capability]], [[RemainingElements]] »).
...
z. Perform ? Invoke(nextPromise, "then", « resolveElement, rejectElement »).
Promise.allSettled Resolve Element Functions
9. Let obj be ! ObjectCreate(%ObjectPrototype%).
10. Perform ! CreateDataProperty(obj, "status", "fulfilled").
11. Perform ! CreateDataProperty(obj, "value", x).
12. Set values[index] to be obj.
13. Set remainingElementsCount.[[Value]] to remainingElementsCount.[[Value]] - 1.
14. If remainingElementsCount.[[Value]] is 0, then
a. Let valuesArray be ! CreateArrayFromList(values).
b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
Promise.allSettled Reject Element Functions
9. Let obj be ! ObjectCreate(%ObjectPrototype%).
10. Perform ! CreateDataProperty(obj, "status", "rejected").
11. Perform ! CreateDataProperty(obj, "reason", x).
12. Set values[index] to be obj.
13. Set remainingElementsCount.[[Value]] to remainingElementsCount.[[Value]] - 1.
14. If remainingElementsCount.[[Value]] is 0, then
a. Let valuesArray be CreateArrayFromList(values).
b. Return ? Call(promiseCapability.[[Resolve]], undefined, « valuesArray »).
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
3183 |
resolves-empty-array.js |
---
esid: sec-promise.allsettled
description: Promise.allSettled([]) returns a Promise for an empty array
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
4. Let remainingElementsCount be a new Record { [[Value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
...
flags: [async]
includes: [promiseHelper.js]
features: [Promise.allSettled]
--- |
937 |
resolves-to-array.js |
---
esid: sec-promise.allsettled
description: Promise.allSettled returned a promise resolves into an array
info: |
Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
4. Let remainingElementsCount be a new Record { [[Value]]: 1 }.
...
6.d ...
ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
iii. If remainingElementsCount.[[value]] is 0, then
1. Let valuesArray be CreateArrayFromList(values).
2. Perform ? Call(resultCapability.[[Resolve]], undefined, « valuesArray »).
...
flags: [async]
features: [Promise.allSettled]
--- |
1046 |
returns-promise.js |
---
esid: sec-promise.allsettled
description: Promise.allSettled returns a Promise
info: |
Promise.allSettled ( iterable )
3. Let promiseCapability be ? NewPromiseCapability(C).
4. Let iteratorRecord be GetIterator(iterable).
5. IfAbruptRejectPromise(iteratorRecord, promiseCapability).
6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
7. If result is an abrupt completion, then
a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
b. IfAbruptRejectPromise(result, promiseCapability).
8. Return Completion(result).
features: [Promise.allSettled]
--- |
925 |
shell.js |
|
0 |
species-get-error.js |
---
description: >
Promise.allSettled() does not retrieve `Symbol.species` property of the `this` value
esid: sec-promise.allsettled
info: |
1. Let C be the this value.
2. If Type(C) is not Object, throw a TypeError exception.
3. Let promiseCapability be ? NewPromiseCapability(C).
...
features: [Promise.allSettled, Symbol.species]
--- |
783 |