Skip to content

Commit 929bab9

Browse files
authored
Merge pull request #3131 from rigtigeEmil/fix/client-nuxt-withrefs-nullable
2 parents 63f8633 + 3935034 commit 929bab9

File tree

14 files changed

+200
-117
lines changed

14 files changed

+200
-117
lines changed

.changeset/thin-pugs-provide.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@hey-api/openapi-ts": patch
3+
---
4+
5+
**plugin(@hey-api/client-nuxt)**: preserve null in `WithRefs` type for nullable fields

packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/client/types.gen.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ export type QuerySerializer = (
3333

3434
type WithRefs<TData> = {
3535
[K in keyof TData]: NonNullable<TData[K]> extends object
36-
? WithRefs<NonNullable<TData[K]>> | Ref<NonNullable<TData[K]>>
37-
: NonNullable<TData[K]> | Ref<NonNullable<TData[K]>>;
36+
?
37+
| WithRefs<NonNullable<TData[K]>>
38+
| Ref<NonNullable<TData[K]>>
39+
| Extract<TData[K], null>
40+
:
41+
| NonNullable<TData[K]>
42+
| Ref<NonNullable<TData[K]>>
43+
| Extract<TData[K], null>;
3844
};
3945

4046
// copied from Nuxt
@@ -70,15 +76,8 @@ export interface RequestOptions<
7076
Url extends string = string,
7177
> extends Config,
7278
WithRefs<{
73-
/**
74-
* Any body that you want to add to your request.
75-
*
76-
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
77-
*/
78-
body?: unknown;
7979
path?: FetchOptions<unknown>['query'];
8080
query?: FetchOptions<unknown>['query'];
81-
rawBody?: unknown;
8281
}>,
8382
Pick<
8483
ServerSentEventsOptions<ResT>,
@@ -89,8 +88,15 @@ export interface RequestOptions<
8988
| 'sseMaxRetryDelay'
9089
> {
9190
asyncDataOptions?: AsyncDataOptions<ResT, ResT, KeysOf<ResT>, DefaultT>;
91+
/**
92+
* Any body that you want to add to your request.
93+
*
94+
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
95+
*/
96+
body?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
9297
composable?: TComposable;
9398
key?: string;
99+
rawBody?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
94100
/**
95101
* Security mechanism(s) to use for the request.
96102
*/

packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/client/types.gen.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ export type QuerySerializer = (
3333

3434
type WithRefs<TData> = {
3535
[K in keyof TData]: NonNullable<TData[K]> extends object
36-
? WithRefs<NonNullable<TData[K]>> | Ref<NonNullable<TData[K]>>
37-
: NonNullable<TData[K]> | Ref<NonNullable<TData[K]>>;
36+
?
37+
| WithRefs<NonNullable<TData[K]>>
38+
| Ref<NonNullable<TData[K]>>
39+
| Extract<TData[K], null>
40+
:
41+
| NonNullable<TData[K]>
42+
| Ref<NonNullable<TData[K]>>
43+
| Extract<TData[K], null>;
3844
};
3945

4046
// copied from Nuxt
@@ -70,15 +76,8 @@ export interface RequestOptions<
7076
Url extends string = string,
7177
> extends Config,
7278
WithRefs<{
73-
/**
74-
* Any body that you want to add to your request.
75-
*
76-
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
77-
*/
78-
body?: unknown;
7979
path?: FetchOptions<unknown>['query'];
8080
query?: FetchOptions<unknown>['query'];
81-
rawBody?: unknown;
8281
}>,
8382
Pick<
8483
ServerSentEventsOptions<ResT>,
@@ -89,8 +88,15 @@ export interface RequestOptions<
8988
| 'sseMaxRetryDelay'
9089
> {
9190
asyncDataOptions?: AsyncDataOptions<ResT, ResT, KeysOf<ResT>, DefaultT>;
91+
/**
92+
* Any body that you want to add to your request.
93+
*
94+
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
95+
*/
96+
body?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
9297
composable?: TComposable;
9398
key?: string;
99+
rawBody?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
94100
/**
95101
* Security mechanism(s) to use for the request.
96102
*/

packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/client/types.gen.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ export type QuerySerializer = (
3333

3434
type WithRefs<TData> = {
3535
[K in keyof TData]: NonNullable<TData[K]> extends object
36-
? WithRefs<NonNullable<TData[K]>> | Ref<NonNullable<TData[K]>>
37-
: NonNullable<TData[K]> | Ref<NonNullable<TData[K]>>;
36+
?
37+
| WithRefs<NonNullable<TData[K]>>
38+
| Ref<NonNullable<TData[K]>>
39+
| Extract<TData[K], null>
40+
:
41+
| NonNullable<TData[K]>
42+
| Ref<NonNullable<TData[K]>>
43+
| Extract<TData[K], null>;
3844
};
3945

4046
// copied from Nuxt
@@ -70,15 +76,8 @@ export interface RequestOptions<
7076
Url extends string = string,
7177
> extends Config,
7278
WithRefs<{
73-
/**
74-
* Any body that you want to add to your request.
75-
*
76-
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
77-
*/
78-
body?: unknown;
7979
path?: FetchOptions<unknown>['query'];
8080
query?: FetchOptions<unknown>['query'];
81-
rawBody?: unknown;
8281
}>,
8382
Pick<
8483
ServerSentEventsOptions<ResT>,
@@ -89,8 +88,15 @@ export interface RequestOptions<
8988
| 'sseMaxRetryDelay'
9089
> {
9190
asyncDataOptions?: AsyncDataOptions<ResT, ResT, KeysOf<ResT>, DefaultT>;
91+
/**
92+
* Any body that you want to add to your request.
93+
*
94+
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
95+
*/
96+
body?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
9297
composable?: TComposable;
9398
key?: string;
99+
rawBody?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
94100
/**
95101
* Security mechanism(s) to use for the request.
96102
*/

packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/client/types.gen.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ export type QuerySerializer = (
3333

3434
type WithRefs<TData> = {
3535
[K in keyof TData]: NonNullable<TData[K]> extends object
36-
? WithRefs<NonNullable<TData[K]>> | Ref<NonNullable<TData[K]>>
37-
: NonNullable<TData[K]> | Ref<NonNullable<TData[K]>>;
36+
?
37+
| WithRefs<NonNullable<TData[K]>>
38+
| Ref<NonNullable<TData[K]>>
39+
| Extract<TData[K], null>
40+
:
41+
| NonNullable<TData[K]>
42+
| Ref<NonNullable<TData[K]>>
43+
| Extract<TData[K], null>;
3844
};
3945

4046
// copied from Nuxt
@@ -70,15 +76,8 @@ export interface RequestOptions<
7076
Url extends string = string,
7177
> extends Config,
7278
WithRefs<{
73-
/**
74-
* Any body that you want to add to your request.
75-
*
76-
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
77-
*/
78-
body?: unknown;
7979
path?: FetchOptions<unknown>['query'];
8080
query?: FetchOptions<unknown>['query'];
81-
rawBody?: unknown;
8281
}>,
8382
Pick<
8483
ServerSentEventsOptions<ResT>,
@@ -89,8 +88,15 @@ export interface RequestOptions<
8988
| 'sseMaxRetryDelay'
9089
> {
9190
asyncDataOptions?: AsyncDataOptions<ResT, ResT, KeysOf<ResT>, DefaultT>;
91+
/**
92+
* Any body that you want to add to your request.
93+
*
94+
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
95+
*/
96+
body?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
9297
composable?: TComposable;
9398
key?: string;
99+
rawBody?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
94100
/**
95101
* Security mechanism(s) to use for the request.
96102
*/

packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/client/types.gen.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ export type QuerySerializer = (
3333

3434
type WithRefs<TData> = {
3535
[K in keyof TData]: NonNullable<TData[K]> extends object
36-
? WithRefs<NonNullable<TData[K]>> | Ref<NonNullable<TData[K]>>
37-
: NonNullable<TData[K]> | Ref<NonNullable<TData[K]>>;
36+
?
37+
| WithRefs<NonNullable<TData[K]>>
38+
| Ref<NonNullable<TData[K]>>
39+
| Extract<TData[K], null>
40+
:
41+
| NonNullable<TData[K]>
42+
| Ref<NonNullable<TData[K]>>
43+
| Extract<TData[K], null>;
3844
};
3945

4046
// copied from Nuxt
@@ -70,15 +76,8 @@ export interface RequestOptions<
7076
Url extends string = string,
7177
> extends Config,
7278
WithRefs<{
73-
/**
74-
* Any body that you want to add to your request.
75-
*
76-
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
77-
*/
78-
body?: unknown;
7979
path?: FetchOptions<unknown>['query'];
8080
query?: FetchOptions<unknown>['query'];
81-
rawBody?: unknown;
8281
}>,
8382
Pick<
8483
ServerSentEventsOptions<ResT>,
@@ -89,8 +88,15 @@ export interface RequestOptions<
8988
| 'sseMaxRetryDelay'
9089
> {
9190
asyncDataOptions?: AsyncDataOptions<ResT, ResT, KeysOf<ResT>, DefaultT>;
91+
/**
92+
* Any body that you want to add to your request.
93+
*
94+
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
95+
*/
96+
body?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
9297
composable?: TComposable;
9398
key?: string;
99+
rawBody?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
94100
/**
95101
* Security mechanism(s) to use for the request.
96102
*/

packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/client/types.gen.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ export type QuerySerializer = (
3333

3434
type WithRefs<TData> = {
3535
[K in keyof TData]: NonNullable<TData[K]> extends object
36-
? WithRefs<NonNullable<TData[K]>> | Ref<NonNullable<TData[K]>>
37-
: NonNullable<TData[K]> | Ref<NonNullable<TData[K]>>;
36+
?
37+
| WithRefs<NonNullable<TData[K]>>
38+
| Ref<NonNullable<TData[K]>>
39+
| Extract<TData[K], null>
40+
:
41+
| NonNullable<TData[K]>
42+
| Ref<NonNullable<TData[K]>>
43+
| Extract<TData[K], null>;
3844
};
3945

4046
// copied from Nuxt
@@ -70,15 +76,8 @@ export interface RequestOptions<
7076
Url extends string = string,
7177
> extends Config,
7278
WithRefs<{
73-
/**
74-
* Any body that you want to add to your request.
75-
*
76-
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
77-
*/
78-
body?: unknown;
7979
path?: FetchOptions<unknown>['query'];
8080
query?: FetchOptions<unknown>['query'];
81-
rawBody?: unknown;
8281
}>,
8382
Pick<
8483
ServerSentEventsOptions<ResT>,
@@ -89,8 +88,15 @@ export interface RequestOptions<
8988
| 'sseMaxRetryDelay'
9089
> {
9190
asyncDataOptions?: AsyncDataOptions<ResT, ResT, KeysOf<ResT>, DefaultT>;
91+
/**
92+
* Any body that you want to add to your request.
93+
*
94+
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
95+
*/
96+
body?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
9297
composable?: TComposable;
9398
key?: string;
99+
rawBody?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
94100
/**
95101
* Security mechanism(s) to use for the request.
96102
*/

packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/import-file-extension-ts/client/types.gen.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ export type QuerySerializer = (
3333

3434
type WithRefs<TData> = {
3535
[K in keyof TData]: NonNullable<TData[K]> extends object
36-
? WithRefs<NonNullable<TData[K]>> | Ref<NonNullable<TData[K]>>
37-
: NonNullable<TData[K]> | Ref<NonNullable<TData[K]>>;
36+
?
37+
| WithRefs<NonNullable<TData[K]>>
38+
| Ref<NonNullable<TData[K]>>
39+
| Extract<TData[K], null>
40+
:
41+
| NonNullable<TData[K]>
42+
| Ref<NonNullable<TData[K]>>
43+
| Extract<TData[K], null>;
3844
};
3945

4046
// copied from Nuxt
@@ -70,15 +76,8 @@ export interface RequestOptions<
7076
Url extends string = string,
7177
> extends Config,
7278
WithRefs<{
73-
/**
74-
* Any body that you want to add to your request.
75-
*
76-
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
77-
*/
78-
body?: unknown;
7979
path?: FetchOptions<unknown>['query'];
8080
query?: FetchOptions<unknown>['query'];
81-
rawBody?: unknown;
8281
}>,
8382
Pick<
8483
ServerSentEventsOptions<ResT>,
@@ -89,8 +88,15 @@ export interface RequestOptions<
8988
| 'sseMaxRetryDelay'
9089
> {
9190
asyncDataOptions?: AsyncDataOptions<ResT, ResT, KeysOf<ResT>, DefaultT>;
91+
/**
92+
* Any body that you want to add to your request.
93+
*
94+
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
95+
*/
96+
body?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
9297
composable?: TComposable;
9398
key?: string;
99+
rawBody?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
94100
/**
95101
* Security mechanism(s) to use for the request.
96102
*/

packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/client/types.gen.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ export type QuerySerializer = (
3333

3434
type WithRefs<TData> = {
3535
[K in keyof TData]: NonNullable<TData[K]> extends object
36-
? WithRefs<NonNullable<TData[K]>> | Ref<NonNullable<TData[K]>>
37-
: NonNullable<TData[K]> | Ref<NonNullable<TData[K]>>;
36+
?
37+
| WithRefs<NonNullable<TData[K]>>
38+
| Ref<NonNullable<TData[K]>>
39+
| Extract<TData[K], null>
40+
:
41+
| NonNullable<TData[K]>
42+
| Ref<NonNullable<TData[K]>>
43+
| Extract<TData[K], null>;
3844
};
3945

4046
// copied from Nuxt
@@ -70,15 +76,8 @@ export interface RequestOptions<
7076
Url extends string = string,
7177
> extends Config,
7278
WithRefs<{
73-
/**
74-
* Any body that you want to add to your request.
75-
*
76-
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
77-
*/
78-
body?: unknown;
7979
path?: FetchOptions<unknown>['query'];
8080
query?: FetchOptions<unknown>['query'];
81-
rawBody?: unknown;
8281
}>,
8382
Pick<
8483
ServerSentEventsOptions<ResT>,
@@ -89,8 +88,15 @@ export interface RequestOptions<
8988
| 'sseMaxRetryDelay'
9089
> {
9190
asyncDataOptions?: AsyncDataOptions<ResT, ResT, KeysOf<ResT>, DefaultT>;
91+
/**
92+
* Any body that you want to add to your request.
93+
*
94+
* {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
95+
*/
96+
body?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
9297
composable?: TComposable;
9398
key?: string;
99+
rawBody?: NonNullable<unknown> | Ref<NonNullable<unknown>> | null;
94100
/**
95101
* Security mechanism(s) to use for the request.
96102
*/

0 commit comments

Comments
 (0)