arguments-checked-in-order.js |
---
esid: sec-iterator.concat
description: >
Arguments are validated in order.
info: |
Iterator.concat ( ...items )
1. Let iterables be a new empty List.
2. For each element item of items, do
a. If item is not an Object, throw a TypeError exception.
b. Let method be ? GetMethod(item, %Symbol.iterator%).
...
features: [iterator-sequencing]
--- |
1104 |
browser.js |
|
0 |
fresh-iterator-result.js |
---
esid: sec-iterator.concat
description: >
Returns a fresh iterator result object
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
v. Repeat, while innerAlive is true,
1. Let innerValue be ? IteratorStepValue(iteratorRecord).
2. If innerValue is done, then
...
3. Else,
a. Let completion be Completion(Yield(innerValue)).
...
features: [iterator-sequencing]
--- |
1347 |
get-iterator-method-only-once.js |
---
esid: sec-iterator.concat
description: >
Gets the iterator method from the input iterables only once.
info: |
Iterator.concat ( ...items )
1. Let iterables be a new empty List.
2. For each element item of items, do
a. If item is not an Object, throw a TypeError exception.
b. Let method be ? GetMethod(item, %Symbol.iterator%).
c. If method is undefined, throw a TypeError exception.
d. Append the Record { [[OpenMethod]]: method, [[Iterable]]: item } to iterables.
...
features: [iterator-sequencing]
includes: [compareArray.js]
--- |
1502 |
get-iterator-method-throws.js |
---
esid: sec-iterator.concat
description: >
Error thrown when retrieving the iterator method.
info: |
Iterator.concat ( ...items )
1. Let iterables be a new empty List.
2. For each element item of items, do
a. If item is not an Object, throw a TypeError exception.
b. Let method be ? GetMethod(item, %Symbol.iterator%).
...
features: [iterator-sequencing]
--- |
876 |
inner-iterator-created-in-order.js |
---
esid: sec-iterator.concat
description: >
Inner iterators created in order
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
i. Let iter be ? Call(iterable.[[OpenMethod]], iterable.[[Iterable]]).
...
v. Repeat, while innerAlive is true,
...
features: [iterator-sequencing]
includes: [compareArray.js]
--- |
1565 |
is-function.js |
---
esid: sec-iterator.concat
description: >
Iterator.concat is a built-in function
features: [iterator-sequencing]
--- |
576 |
iterable-primitive-wrapper-objects.js |
---
esid: sec-iterator.concat
description: >
Does not throw an error for iterable primitive wrapper objects
info: |
Iterator.concat ( ...items )
1. Let iterables be a new empty List.
2. For each element item of items, do
a. If item is not an Object, throw a TypeError exception.
...
features: [iterator-sequencing]
--- |
1318 |
length.js |
---
esid: sec-iterator.concat
description: >
Iterator.concat has a "length" property whose value is 0.
info: |
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 }.
features: [iterator-sequencing]
includes: [propertyHelper.js]
--- |
853 |
many-arguments.js |
---
esid: sec-iterator.concat
description: >
Iterator.concat when called with many arguments.
info: |
Iterator.concat ( ...items )
1. Let iterables be a new empty List.
2. For each element item of items, do
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
b. Return ReturnCompletion(undefined).
...
6. Return gen.
features: [iterator-sequencing]
--- |
1321 |
name.js |
---
esid: sec-iterator.concat
description: >
The "name" property of Iterator.concat
info: |
17 ECMAScript Standard Built-in Objects
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 }.
features: [iterator-sequencing]
includes: [propertyHelper.js]
--- |
1124 |
next-method-called-with-zero-arguments.js |
---
esid: sec-iterator.concat
description: >
Underlying iterator's next method is called with zero arguments.
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
v. Repeat, while innerAlive is true,
1. Let innerValue be ? IteratorStepValue(iteratorRecord).
...
features: [iterator-sequencing]
--- |
1328 |
next-method-returns-non-object.js |
---
esid: sec-iterator.concat
description: >
Underlying iterator next returns non-object
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
v. Repeat, while innerAlive is true,
1. Let innerValue be ? IteratorStepValue(iteratorRecord).
...
features: [iterator-sequencing]
--- |
1067 |
next-method-returns-throwing-done.js |
---
esid: sec-iterator.concat
description: >
Underlying iterator next returns object with throwing done getter
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
v. Repeat, while innerAlive is true,
1. Let innerValue be ? IteratorStepValue(iteratorRecord).
...
features: [iterator-sequencing]
--- |
1212 |
next-method-returns-throwing-value-done.js |
---
esid: sec-iterator.concat
description: >
Underlying iterator next returns object with throwing value getter, but is already done
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
v. Repeat, while innerAlive is true,
1. Let innerValue be ? IteratorStepValue(iteratorRecord).
...
features: [iterator-sequencing]
--- |
1394 |
next-method-returns-throwing-value.js |
---
esid: sec-iterator.concat
description: >
Underlying iterator next returns object with throwing value getter
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
v. Repeat, while innerAlive is true,
1. Let iteratorResult be ? IteratorStep(iteratorRecord).
2. If iteratorResult is done, then
a. Perform ? IteratorValue(iteratorResult).
b. Set innerAlive to false.
3. Else,
a. Let completion be Completion(GeneratorYield(iteratorResult)).
b. If completion is an abrupt completion, then
i. Return ? IteratorClose(iteratorRecord, completion).
...
features: [iterator-sequencing]
--- |
1606 |
next-method-throws.js |
---
esid: sec-iterator.concat
description: >
Underlying iterator has throwing next method
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
v. Repeat, while innerAlive is true,
1. Let innerValue be ? IteratorStepValue(iteratorRecord).
...
features: [iterator-sequencing]
--- |
1082 |
non-constructible.js |
---
esid: sec-iterator.concat
description: >
Iterator.concat is not constructible.
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: [iterator-sequencing]
--- |
716 |
prop-desc.js |
---
esid: sec-iterator.concat
description: >
Property descriptor of Iterator.concat
info: |
Iterator.concat
is the initial value of the Iterator.concat property of the global object.
17 ECMAScript Standard Built-in Objects
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.
features: [iterator-sequencing]
includes: [propertyHelper.js]
--- |
968 |
proto.js |
---
esid: sec-iterator.concat
description: >
The value of the [[Prototype]] internal slot of Iterator.concat is the
intrinsic object %FunctionPrototype%.
features: [iterator-sequencing]
--- |
703 |
result-is-iterator.js |
---
esid: sec-iterator.concat
description: >
The value of the [[Prototype]] internal slot of the return value of Iterator.concat
is the intrinsic object %IteratorHelperPrototype%.
features: [iterator-sequencing]
--- |
915 |
return-is-forwarded.js |
---
esid: sec-iterator.concat
description: >
Underlying iterator return is called when result iterator is closed
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
v. Repeat, while innerAlive is true,
...
3. Else,
a. Let completion be Completion(Yield(innerValue)).
b. If completion is an abrupt completion, then
i. Return ? IteratorClose(iteratorRecord, completion).
...
features: [iterator-sequencing]
--- |
1568 |
return-is-not-forwarded-after-exhaustion.js |
---
esid: sec-iterator.concat
description: >
Underlying iterator return is not called after result iterator observes that underlying iterator is exhausted
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
v. Repeat, while innerAlive is true,
...
2. If innerValue is done, then
a. Set innerAlive to false.
...
features: [iterator-sequencing]
--- |
1213 |
return-is-not-forwarded-before-initial-start.js |
---
esid: sec-iterator.concat
description: >
Underlying iterator return is not called before initial call to next method
features: [iterator-sequencing]
--- |
810 |
return-method-called-with-zero-arguments.js |
---
esid: sec-iterator.concat
description: >
Underlying iterator's return method is called with zero arguments.
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
v. Repeat, while innerAlive is true,
...
3. Else,
...
b. If completion is an abrupt completion, then
i. Return ? IteratorClose(iteratorRecord, completion).
features: [iterator-sequencing]
--- |
1744 |
shell.js |
|
0 |
single-argument.js |
---
esid: sec-iterator.concat
description: >
Iterator.concat when called with a single argument.
info: |
Iterator.concat ( ...items )
1. Let iterables be a new empty List.
2. For each element item of items, do
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
b. Return ReturnCompletion(undefined).
...
6. Return gen.
features: [iterator-sequencing]
--- |
1217 |
throws-typeerror-when-generator-is-running-next.js |
---
esid: sec-iterator.concat
description: >
Throws a TypeError when the closure generator is already running.
info: |
27.1.2.1.1 %IteratorHelperPrototype%.next ( )
1. Return ? GeneratorResume(this value, undefined, "Iterator Helper").
27.5.3.3 GeneratorResume ( generator, value, generatorBrand )
1. Let state be ? GeneratorValidate(generator, generatorBrand).
...
27.5.3.2 GeneratorValidate ( generator, generatorBrand )
...
6. If state is executing, throw a TypeError exception.
...
features: [iterator-sequencing]
--- |
1264 |
throws-typeerror-when-generator-is-running-return.js |
---
esid: sec-iterator.concat
description: >
Throws a TypeError when the closure generator is already running.
info: |
27.1.2.1.2 %IteratorHelperPrototype%.return ( )
...
6. Return ? GeneratorResumeAbrupt(O, C, "Iterator Helper").
27.5.3.4 GeneratorResumeAbrupt ( generator, abruptCompletion, generatorBrand )
1. Let state be ? GeneratorValidate(generator, generatorBrand).
...
27.5.3.2 GeneratorValidate ( generator, generatorBrand )
...
6. If state is executing, throw a TypeError exception.
...
features: [iterator-sequencing]
--- |
1346 |
throws-typeerror-when-iterable-not-an-object.js |
---
esid: sec-iterator.concat
description: >
Throws a TypeError when the iterable is not an object.
info: |
Iterator.concat ( ...items )
1. Let iterables be a new empty List.
2. For each element item of items, do
a. If item is not an Object, throw a TypeError exception.
...
features: [iterator-sequencing]
--- |
1306 |
throws-typeerror-when-iterator-method-not-callable.js |
---
esid: sec-iterator.concat
description: >
Throws a TypeError when the iterator method is not callable.
info: |
Iterator.concat ( ...items )
1. Let iterables be a new empty List.
2. For each element item of items, do
a. If item is not an Object, throw a TypeError exception.
b. Let method be ? GetMethod(item, %Symbol.iterator%).
c. If method is undefined, throw a TypeError exception.
...
features: [iterator-sequencing]
--- |
1727 |
throws-typeerror-when-iterator-not-an-object.js |
---
esid: sec-iterator.concat
description: >
Throws a TypeError when the iterator is not an object.
info: |
Iterator.concat ( ...items )
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
i. Let iter be ? Call(iterable.[[OpenMethod]], iterable.[[Iterable]]).
ii. If iter is not an Object, throw a TypeError exception.
...
features: [iterator-sequencing]
--- |
1897 |
zero-arguments.js |
---
esid: sec-iterator.concat
description: >
Iterator.concat when called with zero arguments.
info: |
Iterator.concat ( ...items )
1. Let iterables be a new empty List.
2. For each element item of items, do
...
3. Let closure be a new Abstract Closure with no parameters that captures iterables and performs the following steps when called:
a. For each Record iterable of iterables, do
...
b. Return ReturnCompletion(undefined).
...
6. Return gen.
features: [iterator-sequencing]
--- |
1012 |