async-iterable-async-mapped-awaits-once.js |
---
esid: sec-array.fromasync
description: >
Async-iterable awaits each input once with mapping callback
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
778 |
async-iterable-input-does-not-await-input.js |
---
esid: sec-array.fromasync
description: Async-iterable input does not await input values.
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
977 |
async-iterable-input-iteration-err.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync promise rejects if iteration of input fails.
flags: [async]
features: [Array.fromAsync]
includes: [asyncHelpers.js]
--- |
618 |
async-iterable-input.js |
---
esid: sec-array.fromasync
description: >
Async-iterable input is transferred to the output array.
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
599 |
asyncitems-array-add-to-empty.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync respects array mutation
info: |
Array.fromAsync
3.j.ii.3. Let next be ? Await(IteratorStep(iteratorRecord)).
IteratorStep
1. Let result be ? IteratorNext(iteratorRecord).
IteratorNext
1.a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]).
%AsyncFromSyncIteratorPrototype%.next
6.a. Let result be Completion(IteratorNext(syncIteratorRecord)).
IteratorNext
1.a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]).
Array.prototype [ @@iterator ] ( )
Array.prototype.values ( )
2. Return CreateArrayIterator(O, value).
CreateArrayIterator
1.b.iii. If index ≥ len, return NormalCompletion(undefined).
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
1435 |
asyncitems-array-add-to-singleton.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync respects array mutation
info: |
Array.fromAsync
3.j.ii.3. Let next be ? Await(IteratorStep(iteratorRecord)).
IteratorStep
1. Let result be ? IteratorNext(iteratorRecord).
IteratorNext
1.a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]).
%AsyncFromSyncIteratorPrototype%.next
6.a. Let result be Completion(IteratorNext(syncIteratorRecord)).
IteratorNext
1.a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]).
Array.prototype [ @@iterator ] ( )
Array.prototype.values ( )
2. Return CreateArrayIterator(O, value).
CreateArrayIterator
1.b.iii. If index ≥ len, return NormalCompletion(undefined).
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
1326 |
asyncitems-array-add.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync respects array mutation
info: |
Array.fromAsync
3.j.ii.3. Let next be ? Await(IteratorStep(iteratorRecord)).
IteratorStep
1. Let result be ? IteratorNext(iteratorRecord).
IteratorNext
1.a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]).
%AsyncFromSyncIteratorPrototype%.next
6.a. Let result be Completion(IteratorNext(syncIteratorRecord)).
IteratorNext
1.a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]).
Array.prototype [ @@iterator ] ( )
Array.prototype.values ( )
2. Return CreateArrayIterator(O, value).
CreateArrayIterator
1.b.iii. If index ≥ len, return NormalCompletion(undefined).
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
1338 |
asyncitems-array-mutate.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync respects array mutation
info: |
Array.fromAsync
3.j.ii.3. Let next be ? Await(IteratorStep(iteratorRecord)).
IteratorStep
1. Let result be ? IteratorNext(iteratorRecord).
IteratorNext
1.a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]).
%AsyncFromSyncIteratorPrototype%.next
6.a. Let result be Completion(IteratorNext(syncIteratorRecord)).
IteratorNext
1.a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]).
Array.prototype [ @@iterator ] ( )
Array.prototype.values ( )
2. Return CreateArrayIterator(O, value).
CreateArrayIterator
1.b.iii. If index ≥ len, return NormalCompletion(undefined).
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
1350 |
asyncitems-array-remove.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync respects array mutation
info: |
Array.fromAsync
3.j.ii.3. Let next be ? Await(IteratorStep(iteratorRecord)).
IteratorStep
1. Let result be ? IteratorNext(iteratorRecord).
IteratorNext
1.a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]).
%AsyncFromSyncIteratorPrototype%.next
6.a. Let result be Completion(IteratorNext(syncIteratorRecord)).
IteratorNext
1.a. Let result be ? Call(iteratorRecord.[[NextMethod]], iteratorRecord.[[Iterator]]).
Array.prototype [ @@iterator ] ( )
Array.prototype.values ( )
2. Return CreateArrayIterator(O, value).
CreateArrayIterator
1.b.iii. If index ≥ len, return NormalCompletion(undefined).
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
1330 |
asyncitems-arraybuffer.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync doesn't special-case ArrayBuffer
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
492 |
asyncitems-arraylike-holes.js |
---
esid: sec-array.fromasync
description: Array-like object with holes treats the holes as undefined
info: |
3.k.vii.2. Let _kValue_ be ? Get(_arrayLike_, _Pk_).
features: [Array.fromAsync]
flags: [async]
includes: [asyncHelpers.js, compareArray.js]
--- |
738 |
asyncitems-arraylike-length-accessor-throws.js |
---
esid: sec-array.fromasync
description: Rejects on array-like object whose length cannot be gotten
info: |
3.k.iii. Let _len_ be ? LengthOfArrayLike(_arrayLike_).
features: [Array.fromAsync]
flags: [async]
includes: [asyncHelpers.js]
--- |
833 |
asyncitems-arraylike-promise.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync tries the various properties in order and awaits promises
includes: [asyncHelpers.js, compareArray.js, temporalHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
912 |
asyncitems-arraylike-too-long.js |
---
esid: sec-array.fromasync
description: >
Promise is rejected if the length of the array-like to copy is out of range
info: |
j. If _iteratorRecord_ is not *undefined*, then
...
k. Else,
...
iv. If IsConstructor(_C_) is *true*, then
...
v. Else,
1. Let _A_ be ? ArrayCreate(_len_).
ArrayCreate, step 1:
1. If _length_ > 2³² - 1, throw a *RangeError* exception.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
858 |
asyncitems-asynciterator-exists.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync tries the various properties in order
includes: [asyncHelpers.js, compareArray.js, temporalHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1102 |
asyncitems-asynciterator-not-callable.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync rejects if the @@asyncIterator property is not callable
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
577 |
asyncitems-asynciterator-null.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync tries the various properties in order
includes: [asyncHelpers.js, compareArray.js, temporalHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1077 |
asyncitems-asynciterator-sync.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync handles a sync iterator returned from @@asyncIterator
includes: [asyncHelpers.js, compareArray.js, temporalHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1093 |
asyncitems-asynciterator-throws.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync rejects if getting the @@asyncIterator property throws
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
511 |
asyncitems-bigint.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync treats a BigInt as an array-like
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
543 |
asyncitems-boolean.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync treats a boolean as an array-like
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
549 |
asyncitems-function.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync treats a function as an array-like, reading elements up to fn.length
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
565 |
asyncitems-iterator-exists.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync handles a sync iterator returned from @@iterator
includes: [asyncHelpers.js, compareArray.js, temporalHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1122 |
asyncitems-iterator-not-callable.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync rejects if the @@iterator property is not callable
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
562 |
asyncitems-iterator-null.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync tries the various properties in order
includes: [asyncHelpers.js, compareArray.js, temporalHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1077 |
asyncitems-iterator-promise.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync handles an async iterator returned from @@iterator
includes: [asyncHelpers.js, compareArray.js, temporalHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1143 |
asyncitems-iterator-throws.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync rejects if getting the @@iterator property throws
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
501 |
asyncitems-null-undefined.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync rejects with a TypeError if the asyncItems argument is null or undefined
info: |
3.c. Let usingAsyncIterator be ? GetMethod(asyncItems, @@asyncIterator).
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
664 |
asyncitems-number.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync treats a Number as an array-like
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
542 |
asyncitems-object-not-arraylike.js |
---
esid: sec-array.fromasync
description: >
Treats an asyncItems object that isn't an array-like as a 0-length array-like
info: |
3.k.iii. Let _len_ be ? LengthOfArrayLike(_arrayLike_).
features: [Array.fromAsync]
flags: [async]
includes: [asyncHelpers.js, compareArray.js]
--- |
729 |
asyncitems-operations.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync tries the various properties in order
includes: [asyncHelpers.js, compareArray.js, temporalHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1082 |
asyncitems-string.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync iterates over a string
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
465 |
asyncitems-symbol.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync treats a Symbol as an array-like
includes: [asyncHelpers.js, compareArray.js]
flags: [async]
features: [Array.fromAsync]
--- |
549 |
asyncitems-uses-intrinsic-iterator-symbols.js |
---
esid: sec-array.fromasync
description: >
Use the intrinsic @@iterator and @@asyncIterator to check iterability
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1204 |
browser.js |
|
0 |
builtin.js |
---
esid: sec-array.fromasync
description: Array.fromAsync meets the requirements for built-in objects
info: |
Unless specified otherwise, a built-in object that is callable as a function
is a built-in function object with the characteristics described in 10.3.
Unless specified otherwise, the [[Extensible]] internal slot of a built-in
object initially has the value *true*.
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 (20.2.3), as the value of its [[Prototype]]
internal slot.
Built-in functions that are not constructors do not have a "prototype"
property unless otherwise specified in the description of a particular
function.
features: [Array.fromAsync]
--- |
1349 |
length.js |
---
esid: sec-array.fromasync
description: Value and property descriptor of Array.fromAsync.length
info: |
Every built-in function object, including constructors, has a *"length"*
property whose value is a non-negative integral Number. Unless otherwise
specified, this value is equal to the number of required parameters shown in
the subclause heading for the function description. Optional parameters and
rest parameters are not included in the parameter count.
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: [Array.fromAsync]
--- |
998 |
mapfn-async-arraylike.js |
---
esid: sec-array.fromasync
description: >
An asynchronous mapping function is applied to each (awaited) item of an
arraylike.
info: |
3.k.vii.4. If _mapping_ is *true*, then
a. Let _mappedValue_ be ? Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
b. Let _mappedValue_ be ? Await(_mappedValue_).
...
6. Perform ? CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
flags: [async]
includes: [asyncHelpers.js, compareArray.js]
features: [Array.fromAsync]
--- |
980 |
mapfn-async-iterable-async.js |
---
esid: sec-array.fromasync
description: >
An asynchronous mapping function is applied to each item yielded by an
asynchronous iterable.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
...
c. Set _mappedValue_ to Await(_mappedValue_).
...
...
8. Let _defineStatus_ be CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
flags: [async]
includes: [asyncHelpers.js, compareArray.js]
features: [Array.fromAsync]
--- |
1061 |
mapfn-async-iterable-sync.js |
---
esid: sec-array.fromasync
description: >
An asynchronous mapping function is applied to each item yielded by a
synchronous iterable.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
...
c. Set _mappedValue_ to Await(_mappedValue_).
...
...
8. Let _defineStatus_ be CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
flags: [async]
includes: [asyncHelpers.js, compareArray.js]
features: [Array.fromAsync]
--- |
1028 |
mapfn-async-throws-close-async-iterator.js |
---
esid: sec-array.fromasync
description: >
The iterator of an asynchronous iterable is closed when the asynchronous
mapping function throws.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
...
c. Set _mappedValue_ to Await(_mappedValue_).
d. IfAbruptCloseAsyncIterator(_mappedValue_, _iteratorRecord_).
flags: [async]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
1222 |
mapfn-async-throws-close-sync-iterator.js |
---
esid: sec-array.fromasync
description: >
The iterator of a synchronous iterable is closed when the asynchronous mapping
function throws.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
...
c. Set _mappedValue_ to Await(_mappedValue_).
d. IfAbruptCloseAsyncIterator(_mappedValue_, _iteratorRecord_).
flags: [async]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
1181 |
mapfn-async-throws.js |
---
esid: sec-array.fromasync
description: >
The output promise rejects if the asynchronous mapping function rejects.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
...
c. Set _mappedValue_ to Await(_mappedValue_).
d. IfAbruptCloseAsyncIterator(_mappedValue_, _iteratorRecord_).
flags: [async]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
831 |
mapfn-not-callable.js |
---
esid: sec-array.fromasync
description: >
A TypeError is thrown if the mapfn argument to Array.fromAsync is not callable
info: |
3.a. If _mapfn_ is *undefined*, let _mapping_ be *false*.
b. Else,
i. If IsCallable(_mapfn_) is *false*, throw a *TypeError* exception.
flags: [async]
includes: [asyncHelpers.js]
features: [Array.fromAsync, BigInt, Symbol]
--- |
1188 |
mapfn-result-awaited-once-per-iteration.js |
---
esid: sec-array.fromasync
description: >
The returned value from each invocation of the asynchronous mapping function
is awaited exactly once.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
...
c. Set _mappedValue_ to Await(_mappedValue_).
flags: [async]
includes: [asyncHelpers.js, compareArray.js, temporalHelpers.js]
features: [Array.fromAsync]
--- |
1357 |
mapfn-sync-arraylike.js |
---
esid: sec-array.fromasync
description: >
A synchronous mapping function is applied to each (awaited) item of an
arraylike.
info: |
3.k.vii.4. If _mapping_ is *true*, then
a. Let _mappedValue_ be ? Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
...
...
6. Perform ? CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
flags: [async]
includes: [asyncHelpers.js, compareArray.js]
features: [Array.fromAsync]
--- |
908 |
mapfn-sync-iterable-async.js |
---
esid: sec-array.fromasync
description: >
A synchronous mapping function is applied to each item yielded by an
asynchronous iterable.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
...
...
8. Let _defineStatus_ be CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
flags: [async]
includes: [asyncHelpers.js, compareArray.js]
features: [Array.fromAsync]
--- |
975 |
mapfn-sync-iterable-sync.js |
---
esid: sec-array.fromasync
description: >
A synchronous mapping function is applied to each item yielded by a
synchronous iterable.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
...
...
8. Let _defineStatus_ be CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
flags: [async]
includes: [asyncHelpers.js, compareArray.js]
features: [Array.fromAsync]
--- |
942 |
mapfn-sync-throws-close-async-iterator.js |
---
esid: sec-array.fromasync
description: >
The iterator of an asynchronous iterable is closed when the synchronous
mapping function throws.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
b. IfAbruptCloseAsyncIterator(_mappedValue_, _iteratorRecord_).
...
flags: [async]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
1161 |
mapfn-sync-throws-close-sync-iterator.js |
---
esid: sec-array.fromasync
description: >
The iterator of a synchronous iterable is closed when the synchronous mapping
function throws.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
b. IfAbruptCloseAsyncIterator(_mappedValue_, _iteratorRecord_).
...
flags: [async]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
1120 |
mapfn-sync-throws.js |
---
esid: sec-array.fromasync
description: >
The output promise rejects if the synchronous mapping function throws.
info: |
3.j.ii.6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
b. IfAbruptCloseAsyncIterator(_mappedValue_, _iteratorRecord_).
...
flags: [async]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
771 |
name.js |
---
esid: sec-array.fromasync
description: Value and property descriptor of Array.fromAsync.name
info: |
Every built-in function object, including constructors, 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. [...]
For functions that are specified as properties of objects, the name value is
the property name string used to access the function.
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: [Array.fromAsync]
--- |
990 |
non-iterable-input-does-not-use-array-prototype.js |
---
esid: sec-array.fromasync
description: Non-iterable input does not use Array.prototype
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1284 |
non-iterable-input-element-access-err.js |
---
esid: sec-array.fromasync
description: Result promise rejects if element access fails
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
546 |
non-iterable-input-with-thenable-async-mapped-awaits-callback-result-once.js |
---
esid: sec-array.fromasync
description: Non-iterable input with thenable result with async mapped awaits each callback result once.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
887 |
non-iterable-input-with-thenable-async-mapped-callback-err.js |
---
esid: sec-array.fromasync
description: Non-iterable input with thenable result promise rejects if async map function callback throws.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
736 |
non-iterable-input-with-thenable-element-rejects.js |
---
esid: sec-array.fromasync
description: Non-iterable input with thenable result promise rejects if thenable element rejects.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
711 |
non-iterable-input-with-thenable-sync-mapped-callback-err.js |
---
esid: sec-array.fromasync
description: Non iterable result promise rejects if sync map function callback throws.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
571 |
non-iterable-input-with-thenable.js |
---
esid: sec-array.fromasync
description: >
Non iterable input with thenables is transferred to the output array.
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
688 |
non-iterable-input.js |
---
esid: sec-array.fromasync
description: >
Non iterable input without thenables is transferred to the output array.
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
640 |
non-iterable-sync-mapped-callback-err.js |
---
esid: sec-array.fromasync
description: Non iterable input with thenables awaits each input once without mapping callback
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
722 |
non-iterable-with-non-promise-thenable.js |
---
esid: sec-array.fromasync
description: Non iterable input with non-promise thenables works.
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
685 |
non-iterable-with-thenable-async-mapped-awaits-once.js |
---
esid: sec-array.fromasync
description: >
Non-iterable input with thenables awaits each input once without mapping callback
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
742 |
non-iterable-with-thenable-awaits-once.js |
---
esid: sec-array.fromasync
description: Non-iterable with thenables awaits each input value once without mapping callback.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
686 |
non-iterable-with-thenable-sync-mapped-awaits-once.js |
---
esid: sec-array.fromasync
description: >
Non-iterable input with thenables awaits each input once with mapping callback
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
695 |
non-iterable-with-thenable-then-method-err.js |
---
esid: sec-array.fromasync
description: Non-iterable input with thenable result promise is rejected if element's then method throws.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
659 |
not-a-constructor.js |
---
esid: sec-array.fromasync
description: Array.fromAsync is not a constructor
info: |
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.
includes: [isConstructor.js]
features: [Array.fromAsync, Reflect.construct]
--- |
698 |
prop-desc.js |
---
esid: sec-array.fromasync
description: Type and property descriptor of Array.fromAsync
info: |
Every other data property described in clauses 19 through 28 and in Annex B.2
has the attributes { [[Writable]]: *true*, [[Enumerable]]: *false*,
[[Configurable]]: *true* } unless otherwise specified.
includes: [propertyHelper.js]
features: [Array.fromAsync]
--- |
711 |
returned-promise-resolves-to-array.js |
---
esid: sec-array.fromasync
description: >
Array.fromAsync returns a Promise that resolves to an Array in the normal case
info: |
1. Let _C_ be the *this* value.
...
3.e. If IsConstructor(_C_) is *true*, then
i. Let _A_ be ? Construct(_C_).
features: [Array.fromAsync]
flags: [async]
includes: [asyncHelpers.js]
--- |
688 |
returns-promise.js |
---
esid: sec-array.fromasync
description: Array.fromAsync returns a Promise
info: |
5. Return _promiseCapability_.[[Promise]].
flags: [async]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
1093 |
shell.js |
---
description: |
A collection of assertion and wrapper functions for testing asynchronous built-ins.
defines: [asyncTest, assert.throwsAsync]
--- |
50799 |
sync-iterable-input-with-non-promise-thenable.js |
---
esid: sec-array.fromasync
description: Sync-iterable input with non-promise thenables works.
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
670 |
sync-iterable-input-with-thenable.js |
---
esid: sec-array.fromasync
description: Sync-iterable input with thenables is transferred to the output array.
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
585 |
sync-iterable-input.js |
---
esid: sec-array.fromasync
description: Sync-iterable input with no promises is transferred to the output array.
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
552 |
sync-iterable-iteration-err.js |
---
esid: sec-array.fromasync
description: Sync iterable result promise rejects if iteration of input fails.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
577 |
sync-iterable-with-thenable-async-mapped-awaits-once.js |
---
esid: sec-array.fromasync
description: >
Sync-iterable input with thenables awaits each input once with async mapping callback.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
693 |
sync-iterable-with-thenable-async-mapped-callback-err.js |
---
esid: sec-array.fromasync
description: Sync-iterable input with thenable result promise rejects if async map function callback throws.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
607 |
sync-iterable-with-thenable-awaits-once.js |
---
esid: sec-array.fromasync
description: >
Sync-iterable input with thenables awaits each input once without mapping callback
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
675 |
sync-iterable-with-thenable-element-rejects.js |
---
esid: sec-array.fromasync
description: Result promise rejects if then method of input fails.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
599 |
sync-iterable-with-thenable-sync-mapped-awaits-once.js |
---
esid: sec-array.fromasync
description: >
Sync-iterable input with mapfn awaits each input once with sync mapping callback
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
681 |
sync-iterable-with-thenable-sync-mapped-callback-err.js |
---
esid: sec-array.fromasync
description: Sync-iterable input with thenable result promise rejects if sync map function callback throws.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
600 |
sync-iterable-with-thenable-then-method-err.js |
---
esid: sec-array.fromasync
description: Result promise rejects if then method of input fails.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
665 |
this-constructor-operations.js |
---
esid: sec-array.fromasync
description: >
Order of user-observable operations on a custom this-value and its instances
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
2305 |
this-constructor-with-bad-length-setter.js |
---
esid: sec-array.fromasync
description: >
Rejects the promise if setting the length fails on an instance of a custom
this-value
info: |
3.j.ii.4.a. Perform ? Set(_A_, *"length"*, 𝔽(_k_), *true*).
...
3.k.viii. Perform ? Set(_A_, *"length"*, 𝔽(_len_), *true*)
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
978 |
this-constructor-with-readonly-elements.js |
---
esid: sec-array.fromasync
description: >
Overwrites non-writable element properties on an instance of a custom
this-value
info: |
3.j.ii.8. Let _defineStatus_ be CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
...
3.k.vii.6. Perform ? CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1712 |
this-constructor-with-readonly-length.js |
---
esid: sec-array.fromasync
description: >
Promise is rejected if length property on an instance of a custom this-value
is non-writable
info: |
3.j.ii.4.a. Perform ? Set(_A_, *"length"*, 𝔽(_k_), *true*).
...
3.k.viii. Perform ? Set(_A_, *"length"*, 𝔽(_len_), *true*).
Note that there is no difference between strict mode and sloppy mode, because
we are not following runtime evaluation semantics.
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1151 |
this-constructor-with-unsettable-element-closes-async-iterator.js |
---
esid: sec-array.fromasync
description: >
Closes an async iterator if setting an element fails on an instance of a
custom this-value
info: |
3.j.ii.8. Let _defineStatus_ be CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
9. If _defineStatus_ is an abrupt completion, return ? AsyncIteratorClose(_iteratorRecord_, _defineStatus_).
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1236 |
this-constructor-with-unsettable-element-closes-sync-iterator.js |
---
esid: sec-array.fromasync
description: >
Closes a sync iterator if setting an element fails on an instance of a custom
this-value
info: |
3.j.ii.8. Let _defineStatus_ be CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
9. If _defineStatus_ is an abrupt completion, return ? AsyncIteratorClose(_iteratorRecord_, _defineStatus_).
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1195 |
this-constructor-with-unsettable-element.js |
---
esid: sec-array.fromasync
description: >
Rejects the promise if setting an element fails on an instance of a custom
this-value
info: |
3.j.ii.8. Let _defineStatus_ be CreateDataPropertyOrThrow(_A_, _Pk_, _mappedValue_).
9. If _defineStatus_ is an abrupt completion, return ? AsyncIteratorClose(_iteratorRecord_, _defineStatus_).
includes: [asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
896 |
this-constructor.js |
---
esid: sec-array.fromasync
description: >
Constructs the this-value once if asyncItems is iterable, twice if not, and
length and element properties are set correctly on the result
info: |
3.e. If IsConstructor(_C_) is *true*, then
i. Let _A_ be ? Construct(_C_).
...
j. If _iteratorRecord_ is not *undefined*, then
...
k. Else,
...
iv. If IsConstructor(_C_) is *true*, then
1. Let _A_ be ? Construct(_C_, « 𝔽(_len_) »).
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1945 |
this-non-constructor.js |
---
esid: sec-array.fromasync
description: >
Constructs an intrinsic Array if this-value is not a constructor, and length
and element properties are set accordingly.
info: |
3.e. If IsConstructor(_C_) is *true*, then
...
f. Else,
i. Let _A_ be ! ArrayCreate(0).
...
j. If _iteratorRecord_ is not *undefined*, then
...
k. Else,
...
iv. If IsConstructor(_C_) is *true*, then
...
v. Else,
1. Let _A_ be ? ArrayCreate(_len_).
includes: [compareArray.js, asyncHelpers.js]
flags: [async]
features: [Array.fromAsync]
--- |
1302 |
thisarg-object.js |
---
esid: sec-array.fromasync
description: If thisArg is an object, it's bound to mapfn as the this-value
info: |
6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
flags: [async]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
683 |
thisarg-omitted-sloppy.js |
---
esid: sec-array.fromasync
description: >
If thisArg is omitted, mapfn is called with the global object as the
this-value in sloppy mode
info: |
6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
OrdinaryCallBindThis, when _F_.[[ThisMode]] is ~global~, where _F_ is the
function object:
6. Else,
a. If _thisArgument_ is *undefined* or *null*, then
i. Let _globalEnv_ be _calleeRealm_.[[GlobalEnv]].
ii. Assert: _globalEnv_ is a Global Environment Record.
iii. Let _thisValue_ be _globalEnv_.[[GlobalThisValue]].
flags: [async, noStrict]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
1086 |
thisarg-omitted-strict-strict.js |
---
esid: sec-array.fromasync
description: >
If thisArg is omitted, mapfn is called with undefined as the this-value in
strict mode
info: |
6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
In OrdinaryCallBindThis, _thisArgument_ is always bound as the this-value in
strict mode (_F_.[[ThisMode]] is ~strict~, where _F_ is the function object.)
flags: [async, onlyStrict]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
907 |
thisarg-primitive-sloppy.js |
---
esid: sec-array.fromasync
description: >
If thisArg is a primitive, mapfn is called with a wrapper this-value or the
global, according to the usual rules of sloppy mode
info: |
6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
OrdinaryCallBindThis, when _F_.[[ThisMode]] is ~global~, where _F_ is the
function object:
6. Else,
a. If _thisArgument_ is *undefined* or *null*, then
i. Let _globalEnv_ be _calleeRealm_.[[GlobalEnv]].
ii. Assert: _globalEnv_ is a Global Environment Record.
iii. Let _thisValue_ be _globalEnv_.[[GlobalThisValue]].
b. Else,
i. Let _thisValue_ be ! ToObject(_thisArgument_).
ii. NOTE: ToObject produces wrapper objects using _calleeRealm_.
flags: [async, noStrict]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
3688 |
thisarg-primitive-strict-strict.js |
---
esid: sec-array.fromasync
description: >
If thisArg is a primitive, mapfn is called with it as the this-value in strict
mode
info: |
6. If _mapping_ is *true*, then
a. Let _mappedValue_ be Call(_mapfn_, _thisArg_, « _nextValue_, 𝔽(_k_) »).
In OrdinaryCallBindThis, _thisArgument_ is always bound as the this-value in
strict mode (_F_.[[ThisMode]] is ~strict~, where _F_ is the function object.)
flags: [async, onlyStrict]
includes: [asyncHelpers.js]
features: [Array.fromAsync]
--- |
1913 |