Search Terms
Suggestion
- Correct return type on
yield operator
- Correct return type on
yield* operator
- Correct type for generator function return
Use Cases
better type safety
redux-saga
koa.js
Example
now:
function* f() { // :IterableIterator<number>
const x = yield 0; // x is any
const y = yield* [2, 3, 4]; // y is any
}
desired:
function* f1(): TypedIterableIterator<number, number> {
const x = yield 0; // x is number
const y = yield* [2, 3, 4]; // y is number
yield x + y;
}
function* f2() { // :IterableIterator<number, number>
const x: number = yield 0;
const y: number = yield* [2, 3, 4];
yield x + y;
}
function* f3(): TypedIterableIterator<number> {
const x = yield 0; // x is number
const y = yield* [2, 3, 4]; // y is number
yield x + y;
}
interface TypedIterableIterator<T, N = any> {
next(value: N): T;
}
Checklist
My suggestion meets these guidelines:
Search Terms
Suggestion
yieldoperatoryield*operatorUse Cases
better type safety
redux-saga
koa.js
Example
now:
desired:
Checklist
My suggestion meets these guidelines: