Skip to content

Commit ef984cf

Browse files
committed
fix: openapi-typescript 7 arg type
1 parent 1782412 commit ef984cf

File tree

5 files changed

+1217
-4
lines changed

5 files changed

+1217
-4
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "openapi-typescript-fetch",
33
"description": "A typed fetch client for openapi-typescript",
4-
"version": "2.2.0",
4+
"version": "2.2.1",
55
"engines": {
66
"node": ">= 12.0.0",
77
"npm": ">= 7.0.0"

src/types.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ export type OpenapiPaths<Paths> = {
1313
}
1414
}
1515

16+
// https://github.com/ajaishankar/openapi-typescript-fetch/issues/71#issuecomment-2847360598
17+
type NonNever<T> = [T] extends [never | undefined] ? unknown : T
18+
1619
export type OpArgType<OP> = OP extends {
1720
parameters?: {
1821
path?: infer P
@@ -28,7 +31,10 @@ export type OpArgType<OP> = OP extends {
2831
}
2932
}
3033
}
31-
? P & Q & (B extends Record<string, unknown> ? B[keyof B] : unknown) & RB
34+
? NonNever<P> &
35+
NonNever<Q> &
36+
(B extends Record<string, unknown> ? NonNever<B[keyof B]> : unknown) &
37+
NonNever<RB>
3238
: Record<string, never>
3339

3440
type OpResponseTypes<OP> = OP extends {

0 commit comments

Comments
 (0)