-
Notifications
You must be signed in to change notification settings - Fork 7
Closed
Description
When trying to yield*
any Result or Result returning function, we get Type must have a '[Symbol.iterator]()' method that returns an iterator.(2488)
.
Example
import { Result } from "typescript-result";
class IllegalArgumentError extends Error {
readonly type = "illegal-argument-error";
}
function divide(a: number, b: number) {
if (b === 0) {
return Result.error(
new IllegalArgumentError("Division by zero is not allowed.")
);
}
return Result.ok(a / b);
}
const result = Result.gen(function* () {
const r = yield* divide(10, 0); // Type 'Error<IllegalArgumentError> | Ok<number>' must have a '[Symbol.iterator]()' method that returns an iterator.(2488)
return r;
});
Playground
Metadata
Metadata
Assignees
Labels
No labels