61 lines
1,013 B
TypeScript
61 lines
1,013 B
TypeScript
//// [iteratorSpreadInCall9.ts]
|
|
new Foo(...new SymbolIterator, ...[...new StringIterator]);
|
|
|
|
class Foo<T> {
|
|
constructor(...s: T[]) { }
|
|
}
|
|
|
|
class SymbolIterator {
|
|
next() {
|
|
return {
|
|
value: Symbol(),
|
|
done: false
|
|
};
|
|
}
|
|
|
|
[Symbol.iterator]() {
|
|
return this;
|
|
}
|
|
}
|
|
|
|
class StringIterator {
|
|
next() {
|
|
return {
|
|
value: "",
|
|
done: false
|
|
};
|
|
}
|
|
|
|
[Symbol.iterator]() {
|
|
return this;
|
|
}
|
|
}
|
|
|
|
//// [iteratorSpreadInCall9.js]
|
|
new Foo(...new SymbolIterator, ...[...new StringIterator]);
|
|
class Foo {
|
|
constructor(...s) {
|
|
}
|
|
}
|
|
class SymbolIterator {
|
|
next() {
|
|
return {
|
|
value: Symbol(),
|
|
done: false
|
|
};
|
|
}
|
|
[Symbol.iterator]() {
|
|
return this;
|
|
}
|
|
}
|
|
class StringIterator {
|
|
next() {
|
|
return {
|
|
value: "",
|
|
done: false
|
|
};
|
|
}
|
|
[Symbol.iterator]() {
|
|
return this;
|
|
}
|
|
}
|