Skip to content

Commit 4aebc38

Browse files
committed
fix: update type parameters in Gen interface for correct type infer
1 parent 377a9e6 commit 4aebc38

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

src/option/helpers/gen.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ import type { InferSomeType } from "../types";
88
import type { Fn } from "@/types";
99

1010
export interface Gen {
11-
<T, This>(body: (this: This) => Iterator<Option<never>, Option<T> | T>, self?: This): Option<T>;
12-
<YieldNone extends Option<never>, ReturnOption extends Option, This>(
11+
<T, This>(body: (this: This) => Iterator<Option, Option<T> | T>, self?: This): Option<T>;
12+
<YieldNone extends Option, ReturnOption extends Option, This>(
1313
body: (this: This) => Iterator<YieldNone, ReturnOption>,
1414
self?: This,
1515
): Option<ReturnOption extends Option ? InferSomeType<ReturnOption> : ReturnOption>;
1616

1717
<T, This>(
18-
body: (this: This) => AsyncIterator<Option<never>, Option<T> | T>,
18+
body: (this: This) => AsyncIterator<Option, Option<T> | T>,
1919
self?: This,
2020
): Promise<Option<T>>;
21-
<YieldNone extends Option<never>, ReturnOption extends Option, This>(
21+
<YieldNone extends Option, ReturnOption extends Option, This>(
2222
body: (this: This) => AsyncIterator<YieldNone, ReturnOption>,
2323
self?: This,
2424
): Promise<Option<ReturnOption extends Option ? InferSomeType<ReturnOption> : ReturnOption>>;

src/result/helpers/gen.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ import type { Fn } from "@/types";
99

1010
export interface Gen {
1111
<T, E, This>(
12-
body: (this: This) => Iterator<Result<never, E>, Result<T, E> | T>,
12+
body: (this: This) => Iterator<Result<unknown, E>, Result<T, E> | T>,
1313
self?: This,
1414
): Result<T, E>;
15-
<YieldErr extends Result<never>, ReturnResult extends Result, This>(
15+
<YieldErr extends Result, ReturnResult extends Result, This>(
1616
body: (this: This) => Iterator<YieldErr, ReturnResult>,
1717
self?: This,
1818
): Result<
@@ -21,10 +21,10 @@ export interface Gen {
2121
>;
2222

2323
<T, E, This>(
24-
body: (this: This) => AsyncIterator<Result<never, E>, Result<T, E> | T>,
24+
body: (this: This) => AsyncIterator<Result<unknown, E>, Result<T, E> | T>,
2525
self?: This,
2626
): Promise<Result<T, E>>;
27-
<YieldErr extends Result<never>, ReturnResult extends Result, This>(
27+
<YieldErr extends Result, ReturnResult extends Result, This>(
2828
body: (this: This) => AsyncIterator<YieldErr, ReturnResult>,
2929
self?: This,
3030
): Promise<

0 commit comments

Comments
 (0)