Skip to content

Commit

Permalink
feat: support required client in SDK using sdk.client = false
Browse files Browse the repository at this point in the history
  • Loading branch information
mrlubos committed Jan 30, 2025
1 parent 93039cc commit 40f8c5f
Show file tree
Hide file tree
Showing 217 changed files with 26,238 additions and 7,416 deletions.
1 change: 0 additions & 1 deletion .changeset/dry-eggs-begin.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
'@hey-api/client-axios': patch
'@hey-api/client-fetch': patch
'@hey-api/client-next': patch
'@hey-api/client-nuxt': patch
'@hey-api/openapi-ts': patch
---
Expand Down
8 changes: 8 additions & 0 deletions .changeset/orange-bags-hope.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@hey-api/client-axios': patch
'@hey-api/client-fetch': patch
'@hey-api/client-next': patch
'@hey-api/client-nuxt': patch
---

fix: remove client from Options interface
5 changes: 5 additions & 0 deletions .changeset/thin-impalas-tell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@hey-api/openapi-ts': patch
---

feat: support required client in SDK using sdk.client = false
8 changes: 8 additions & 0 deletions .changeset/tiny-kings-reflect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@hey-api/client-axios': patch
'@hey-api/client-fetch': patch
'@hey-api/client-next': patch
'@hey-api/client-nuxt': patch
---

fix: export TDataShape interface
70 changes: 42 additions & 28 deletions examples/openapi-ts-axios/src/client/sdk.gen.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// This file is auto-generated by @hey-api/openapi-ts

import type { Options } from '@hey-api/client-axios';
import type {
Client,
Options as ClientOptions,
TDataShape,
} from '@hey-api/client-axios';

import { client as _heyApiClient } from './client.gen';
import type {
Expand Down Expand Up @@ -38,32 +42,42 @@ import type {
UploadFileResponse,
} from './types.gen';

type Options<
TData extends TDataShape = TDataShape,
ThrowOnError extends boolean = boolean,
> = ClientOptions<TData, ThrowOnError> & {
/**
* You can provide a client instance returned by `createClient()` instead of
* individual options. This might be also useful if you want to implement a
* custom client.
*/
client?: Client;
};

/**
* Add a new pet to the store
* Add a new pet to the store
*/
export const addPet = <ThrowOnError extends boolean = false>(
options: Options<AddPetData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).post<
AddPetResponse,
unknown,
ThrowOnError
>({
responseType: 'blob',
security: [
{
scheme: 'bearer',
type: 'http',
(options.client ?? _heyApiClient).post<AddPetResponse, unknown, ThrowOnError>(
{
responseType: 'blob',
security: [
{
scheme: 'bearer',
type: 'http',
},
],
url: '/pet',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers,
},
],
url: '/pet',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers,
},
});
);

/**
* Update an existing pet
Expand All @@ -72,7 +86,7 @@ export const addPet = <ThrowOnError extends boolean = false>(
export const updatePet = <ThrowOnError extends boolean = false>(
options: Options<UpdatePetData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).put<
(options.client ?? _heyApiClient).put<
UpdatePetResponse,
unknown,
ThrowOnError
Expand Down Expand Up @@ -144,7 +158,7 @@ export const findPetsByTags = <ThrowOnError extends boolean = false>(
export const deletePet = <ThrowOnError extends boolean = false>(
options: Options<DeletePetData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
(options.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
security: [
{
scheme: 'bearer',
Expand All @@ -162,7 +176,7 @@ export const deletePet = <ThrowOnError extends boolean = false>(
export const getPetById = <ThrowOnError extends boolean = false>(
options: Options<GetPetByIdData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).get<
(options.client ?? _heyApiClient).get<
GetPetByIdResponse,
unknown,
ThrowOnError
Expand All @@ -188,7 +202,7 @@ export const getPetById = <ThrowOnError extends boolean = false>(
export const updatePetWithForm = <ThrowOnError extends boolean = false>(
options: Options<UpdatePetWithFormData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).post<unknown, unknown, ThrowOnError>({
(options.client ?? _heyApiClient).post<unknown, unknown, ThrowOnError>({
security: [
{
scheme: 'bearer',
Expand All @@ -205,7 +219,7 @@ export const updatePetWithForm = <ThrowOnError extends boolean = false>(
export const uploadFile = <ThrowOnError extends boolean = false>(
options: Options<UploadFileData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).post<
(options.client ?? _heyApiClient).post<
UploadFileResponse,
unknown,
ThrowOnError
Expand Down Expand Up @@ -273,7 +287,7 @@ export const placeOrder = <ThrowOnError extends boolean = false>(
export const deleteOrder = <ThrowOnError extends boolean = false>(
options: Options<DeleteOrderData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
(options.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
url: '/store/order/{orderId}',
...options,
});
Expand All @@ -285,7 +299,7 @@ export const deleteOrder = <ThrowOnError extends boolean = false>(
export const getOrderById = <ThrowOnError extends boolean = false>(
options: Options<GetOrderByIdData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).get<
(options.client ?? _heyApiClient).get<
GetOrderByIdResponse,
unknown,
ThrowOnError
Expand Down Expand Up @@ -370,7 +384,7 @@ export const logoutUser = <ThrowOnError extends boolean = false>(
export const deleteUser = <ThrowOnError extends boolean = false>(
options: Options<DeleteUserData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
(options.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
url: '/user/{username}',
...options,
});
Expand All @@ -381,7 +395,7 @@ export const deleteUser = <ThrowOnError extends boolean = false>(
export const getUserByName = <ThrowOnError extends boolean = false>(
options: Options<GetUserByNameData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).get<
(options.client ?? _heyApiClient).get<
GetUserByNameResponse,
unknown,
ThrowOnError
Expand All @@ -398,7 +412,7 @@ export const getUserByName = <ThrowOnError extends boolean = false>(
export const updateUser = <ThrowOnError extends boolean = false>(
options: Options<UpdateUserData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).put<unknown, unknown, ThrowOnError>({
(options.client ?? _heyApiClient).put<unknown, unknown, ThrowOnError>({
url: '/user/{username}',
...options,
headers: {
Expand Down
20 changes: 18 additions & 2 deletions examples/openapi-ts-fastify/src/client/sdk.gen.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// This file is auto-generated by @hey-api/openapi-ts

import type { Options } from '@hey-api/client-fetch';
import type {
Client,
Options as ClientOptions,
TDataShape,
} from '@hey-api/client-fetch';

import { client as _heyApiClient } from './client.gen';
import type {
Expand All @@ -14,6 +18,18 @@ import type {
ShowPetByIdResponse,
} from './types.gen';

type Options<
TData extends TDataShape = TDataShape,
ThrowOnError extends boolean = boolean,
> = ClientOptions<TData, ThrowOnError> & {
/**
* You can provide a client instance returned by `createClient()` instead of
* individual options. This might be also useful if you want to implement a
* custom client.
*/
client?: Client;
};

/**
* List all pets
*/
Expand Down Expand Up @@ -50,7 +66,7 @@ export const createPets = <ThrowOnError extends boolean = false>(
export const showPetById = <ThrowOnError extends boolean = false>(
options: Options<ShowPetByIdData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).get<
(options.client ?? _heyApiClient).get<
ShowPetByIdResponse,
ShowPetByIdError,
ThrowOnError
Expand Down
68 changes: 41 additions & 27 deletions examples/openapi-ts-fetch/src/client/sdk.gen.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// This file is auto-generated by @hey-api/openapi-ts

import type { Options } from '@hey-api/client-fetch';
import type {
Client,
Options as ClientOptions,
TDataShape,
} from '@hey-api/client-fetch';

import { client as _heyApiClient } from './client.gen';
import type {
Expand Down Expand Up @@ -38,31 +42,41 @@ import type {
UploadFileResponse,
} from './types.gen';

type Options<
TData extends TDataShape = TDataShape,
ThrowOnError extends boolean = boolean,
> = ClientOptions<TData, ThrowOnError> & {
/**
* You can provide a client instance returned by `createClient()` instead of
* individual options. This might be also useful if you want to implement a
* custom client.
*/
client?: Client;
};

/**
* Add a new pet to the store
* Add a new pet to the store
*/
export const addPet = <ThrowOnError extends boolean = false>(
options: Options<AddPetData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).post<
AddPetResponse,
unknown,
ThrowOnError
>({
security: [
{
scheme: 'bearer',
type: 'http',
(options.client ?? _heyApiClient).post<AddPetResponse, unknown, ThrowOnError>(
{
security: [
{
scheme: 'bearer',
type: 'http',
},
],
url: '/pet',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers,
},
],
url: '/pet',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers,
},
});
);

/**
* Update an existing pet
Expand All @@ -71,7 +85,7 @@ export const addPet = <ThrowOnError extends boolean = false>(
export const updatePet = <ThrowOnError extends boolean = false>(
options: Options<UpdatePetData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).put<
(options.client ?? _heyApiClient).put<
UpdatePetResponse,
unknown,
ThrowOnError
Expand Down Expand Up @@ -140,7 +154,7 @@ export const findPetsByTags = <ThrowOnError extends boolean = false>(
export const deletePet = <ThrowOnError extends boolean = false>(
options: Options<DeletePetData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
(options.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
security: [
{
scheme: 'bearer',
Expand All @@ -158,7 +172,7 @@ export const deletePet = <ThrowOnError extends boolean = false>(
export const getPetById = <ThrowOnError extends boolean = false>(
options: Options<GetPetByIdData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).get<
(options.client ?? _heyApiClient).get<
GetPetByIdResponse,
unknown,
ThrowOnError
Expand All @@ -183,7 +197,7 @@ export const getPetById = <ThrowOnError extends boolean = false>(
export const updatePetWithForm = <ThrowOnError extends boolean = false>(
options: Options<UpdatePetWithFormData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).post<unknown, unknown, ThrowOnError>({
(options.client ?? _heyApiClient).post<unknown, unknown, ThrowOnError>({
security: [
{
scheme: 'bearer',
Expand All @@ -200,7 +214,7 @@ export const updatePetWithForm = <ThrowOnError extends boolean = false>(
export const uploadFile = <ThrowOnError extends boolean = false>(
options: Options<UploadFileData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).post<
(options.client ?? _heyApiClient).post<
UploadFileResponse,
unknown,
ThrowOnError
Expand Down Expand Up @@ -268,7 +282,7 @@ export const placeOrder = <ThrowOnError extends boolean = false>(
export const deleteOrder = <ThrowOnError extends boolean = false>(
options: Options<DeleteOrderData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
(options.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
url: '/store/order/{orderId}',
...options,
});
Expand All @@ -280,7 +294,7 @@ export const deleteOrder = <ThrowOnError extends boolean = false>(
export const getOrderById = <ThrowOnError extends boolean = false>(
options: Options<GetOrderByIdData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).get<
(options.client ?? _heyApiClient).get<
GetOrderByIdResponse,
unknown,
ThrowOnError
Expand Down Expand Up @@ -362,7 +376,7 @@ export const logoutUser = <ThrowOnError extends boolean = false>(
export const deleteUser = <ThrowOnError extends boolean = false>(
options: Options<DeleteUserData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
(options.client ?? _heyApiClient).delete<unknown, unknown, ThrowOnError>({
url: '/user/{username}',
...options,
});
Expand All @@ -373,7 +387,7 @@ export const deleteUser = <ThrowOnError extends boolean = false>(
export const getUserByName = <ThrowOnError extends boolean = false>(
options: Options<GetUserByNameData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).get<
(options.client ?? _heyApiClient).get<
GetUserByNameResponse,
unknown,
ThrowOnError
Expand All @@ -389,7 +403,7 @@ export const getUserByName = <ThrowOnError extends boolean = false>(
export const updateUser = <ThrowOnError extends boolean = false>(
options: Options<UpdateUserData, ThrowOnError>,
) =>
(options?.client ?? _heyApiClient).put<unknown, unknown, ThrowOnError>({
(options.client ?? _heyApiClient).put<unknown, unknown, ThrowOnError>({
url: '/user/{username}',
...options,
headers: {
Expand Down
Loading

0 comments on commit 40f8c5f

Please sign in to comment.