diff --git a/.changeset/implicit-fetch.md b/.changeset/implicit-fetch.md new file mode 100644 index 0000000000..468fecb4da --- /dev/null +++ b/.changeset/implicit-fetch.md @@ -0,0 +1,5 @@ +--- +"@hey-api/openapi-ts": patch +--- + +feat(pinia-colada): implicit `$fetch` for `client-nuxt` (hide `composable`) diff --git a/docs/openapi-ts/clients/nuxt.md b/docs/openapi-ts/clients/nuxt.md index 75280bf965..333914f493 100644 --- a/docs/openapi-ts/clients/nuxt.md +++ b/docs/openapi-ts/clients/nuxt.md @@ -175,6 +175,10 @@ Interceptors (middleware) can be used to modify requests before they're sent or You can pass any Nuxt/ofetch arguments to the client instance. +::: tip +If you omit `composable`, `$fetch` is used by default. +::: + ```js import { client } from 'client/client.gen'; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/client/client.gen.ts index 60ad3b2284..3dbbcd1267 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/client/client.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/client/client.gen.ts @@ -61,7 +61,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/client/types.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/client/types.gen.ts index c7c5399ca8..ac663764dd 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/client/types.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/client/types.gen.ts @@ -64,7 +64,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -89,7 +89,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -119,7 +119,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -128,7 +128,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -137,7 +137,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -181,7 +181,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/client/client.gen.ts index 60ad3b2284..3dbbcd1267 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/client/client.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/client/client.gen.ts @@ -61,7 +61,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/client/types.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/client/types.gen.ts index c7c5399ca8..ac663764dd 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/client/types.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/client/types.gen.ts @@ -64,7 +64,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -89,7 +89,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -119,7 +119,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -128,7 +128,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -137,7 +137,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -181,7 +181,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/client/client.gen.ts index 60ad3b2284..3dbbcd1267 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/client/client.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/client/client.gen.ts @@ -61,7 +61,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/client/types.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/client/types.gen.ts index c7c5399ca8..ac663764dd 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/client/types.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/client/types.gen.ts @@ -64,7 +64,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -89,7 +89,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -119,7 +119,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -128,7 +128,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -137,7 +137,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -181,7 +181,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/client/client.gen.ts index 60ad3b2284..3dbbcd1267 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/client/client.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/client/client.gen.ts @@ -61,7 +61,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/client/types.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/client/types.gen.ts index c7c5399ca8..ac663764dd 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/client/types.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/client/types.gen.ts @@ -64,7 +64,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -89,7 +89,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -119,7 +119,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -128,7 +128,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -137,7 +137,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -181,7 +181,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/client/client.gen.ts index 60ad3b2284..3dbbcd1267 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/client/client.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/client/client.gen.ts @@ -61,7 +61,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/client/types.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/client/types.gen.ts index c7c5399ca8..ac663764dd 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/client/types.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/client/types.gen.ts @@ -64,7 +64,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -89,7 +89,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -119,7 +119,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -128,7 +128,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -137,7 +137,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -181,7 +181,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/sdk.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/sdk.gen.ts index 06ac368061..44a4ecdf54 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/sdk.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/clean-false/sdk.gen.ts @@ -4,7 +4,7 @@ import { type Options as ClientOptions, type Composable, type TDataShape, type C import type { ExportData, PatchApiVbyApiVersionNoTagData, ImportResponse, ImportData, FooWowData, ApiVVersionODataControllerCountResponse, ApiVVersionODataControllerCountData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostCallWithOptionalParamData, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseResponse, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseResponse, CallWithResponseAndNoContentResponseData, DummyAResponse, DummyAData, DummyBResponse, DummyBData, CallWithResponseResponse, CallWithResponseData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesError, CallWithResponsesResponse, CallWithResponsesData, CallWithResponsesError, CollectionFormatData, TypesResponse, TypesData, UploadFileResponse, UploadFileData, FileResponseResponse, FileResponseData, ComplexTypesResponse, ComplexTypesData, MultipartResponseResponse, MultipartResponseData, MultipartRequestData, ComplexParamsResponse, ComplexParamsData, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Response, NonAsciiæøåÆøÅöôêÊ字符串Data, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; -export type Options = ClientOptions & { +export type Options = ClientOptions & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a @@ -18,21 +18,21 @@ export type Options; }; -export const export_ = (options: Options) => { +export const export_ = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const patchApiVbyApiVersionNoTag = (options: Options) => { +export const patchApiVbyApiVersionNoTag = (options: Options) => { return (options.client ?? _heyApiClient).patch({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const import_ = (options: Options) => { +export const import_ = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no+tag', ...options, @@ -43,84 +43,84 @@ export const import_ = (options: Options) => { +export const fooWow = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const apiVVersionODataControllerCount = (options: Options) => { +export const apiVVersionODataControllerCount = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple/$count', ...options }); }; -export const getApiVbyApiVersionSimpleOperation = (options: Options) => { +export const getApiVbyApiVersionSimpleOperation = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); }; -export const deleteCallWithoutParametersAndResponse = (options: Options) => { +export const deleteCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/simple', ...options }); }; -export const getCallWithoutParametersAndResponse = (options: Options) => { +export const getCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple', ...options }); }; -export const headCallWithoutParametersAndResponse = (options: Options) => { +export const headCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).head({ url: '/api/v{api-version}/simple', ...options }); }; -export const optionsCallWithoutParametersAndResponse = (options: Options) => { +export const optionsCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).options({ url: '/api/v{api-version}/simple', ...options }); }; -export const patchCallWithoutParametersAndResponse = (options: Options) => { +export const patchCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).patch({ url: '/api/v{api-version}/simple', ...options }); }; -export const postCallWithoutParametersAndResponse = (options: Options) => { +export const postCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/simple', ...options }); }; -export const putCallWithoutParametersAndResponse = (options: Options) => { +export const putCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/simple', ...options }); }; -export const deleteFoo = (options: Options) => { +export const deleteFoo = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); }; -export const callWithDescriptions = (options: Options) => { +export const callWithDescriptions = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/descriptions', ...options @@ -130,14 +130,14 @@ export const callWithDescriptions = (options: Options) => { +export const deprecatedCall = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; -export const callWithParameters = (options: Options) => { +export const callWithParameters = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, @@ -148,7 +148,7 @@ export const callWithParameters = (options: Options) => { +export const callWithWeirdParameterNames = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, @@ -159,7 +159,7 @@ export const callWithWeirdParameterNames = (options: Options) => { +export const getCallWithOptionalParam = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, @@ -170,7 +170,7 @@ export const getCallWithOptionalParam = (options: Options) => { +export const postCallWithOptionalParam = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, @@ -181,7 +181,7 @@ export const postCallWithOptionalParam = (options: Options) => { +export const postApiVbyApiVersionRequestBody = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/requestBody', ...options, @@ -192,7 +192,7 @@ export const postApiVbyApiVersionRequestBody = (options: Options) => { +export const postApiVbyApiVersionFormData = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/formData', @@ -204,119 +204,119 @@ export const postApiVbyApiVersionFormData = (options: Options) => { +export const callWithDefaultParameters = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); }; -export const callWithDefaultOptionalParameters = (options: Options) => { +export const callWithDefaultOptionalParameters = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/defaults', ...options }); }; -export const callToTestOrderOfParams = (options: Options) => { +export const callToTestOrderOfParams = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); }; -export const duplicateName = (options: Options) => { +export const duplicateName = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName2 = (options: Options) => { +export const duplicateName2 = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName3 = (options: Options) => { +export const duplicateName3 = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName4 = (options: Options) => { +export const duplicateName4 = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const callWithNoContentResponse = (options: Options) => { +export const callWithNoContentResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-content', ...options }); }; -export const callWithResponseAndNoContentResponse = (options: Options) => { +export const callWithResponseAndNoContentResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/response-and-no-content', ...options }); }; -export const dummyA = (options: Options) => { +export const dummyA = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/a', ...options }); }; -export const dummyB = (options: Options) => { +export const dummyB = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/b', ...options }); }; -export const callWithResponse = (options: Options) => { +export const callWithResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/response', ...options }); }; -export const callWithDuplicateResponses = (options: Options) => { +export const callWithDuplicateResponses = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/response', ...options }); }; -export const callWithResponses = (options: Options) => { +export const callWithResponses = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/response', ...options }); }; -export const collectionFormat = (options: Options) => { +export const collectionFormat = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; -export const types = (options: Options) => { +export const types = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; -export const uploadFile = (options: Options) => { +export const uploadFile = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', @@ -328,28 +328,28 @@ export const uploadFile = (options: Options) => { +export const fileResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; -export const complexTypes = (options: Options) => { +export const complexTypes = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); }; -export const multipartResponse = (options: Options) => { +export const multipartResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multipart', ...options }); }; -export const multipartRequest = (options: Options) => { +export const multipartRequest = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/multipart', @@ -361,7 +361,7 @@ export const multipartRequest = (options: Options) => { +export const complexParams = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, @@ -372,21 +372,21 @@ export const complexParams = (options: Options) => { +export const callWithResultFromHeader = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/header', ...options }); }; -export const testErrorCode = (options: Options) => { +export const testErrorCode = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; -export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { +export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options @@ -396,7 +396,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { +export const putWithFormUrlEncoded = (options: Options) => { return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/client/client.gen.ts index 60ad3b2284..3dbbcd1267 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/client/client.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/client/client.gen.ts @@ -61,7 +61,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/client/types.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/client/types.gen.ts index c7c5399ca8..ac663764dd 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/client/types.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/client/types.gen.ts @@ -64,7 +64,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -89,7 +89,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -119,7 +119,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -128,7 +128,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -137,7 +137,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -181,7 +181,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/sdk.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/sdk.gen.ts index 06ac368061..44a4ecdf54 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/sdk.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/sdk.gen.ts @@ -4,7 +4,7 @@ import { type Options as ClientOptions, type Composable, type TDataShape, type C import type { ExportData, PatchApiVbyApiVersionNoTagData, ImportResponse, ImportData, FooWowData, ApiVVersionODataControllerCountResponse, ApiVVersionODataControllerCountData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostCallWithOptionalParamData, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseResponse, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseResponse, CallWithResponseAndNoContentResponseData, DummyAResponse, DummyAData, DummyBResponse, DummyBData, CallWithResponseResponse, CallWithResponseData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesError, CallWithResponsesResponse, CallWithResponsesData, CallWithResponsesError, CollectionFormatData, TypesResponse, TypesData, UploadFileResponse, UploadFileData, FileResponseResponse, FileResponseData, ComplexTypesResponse, ComplexTypesData, MultipartResponseResponse, MultipartResponseData, MultipartRequestData, ComplexParamsResponse, ComplexParamsData, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Response, NonAsciiæøåÆøÅöôêÊ字符串Data, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; -export type Options = ClientOptions & { +export type Options = ClientOptions & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a @@ -18,21 +18,21 @@ export type Options; }; -export const export_ = (options: Options) => { +export const export_ = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const patchApiVbyApiVersionNoTag = (options: Options) => { +export const patchApiVbyApiVersionNoTag = (options: Options) => { return (options.client ?? _heyApiClient).patch({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const import_ = (options: Options) => { +export const import_ = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no+tag', ...options, @@ -43,84 +43,84 @@ export const import_ = (options: Options) => { +export const fooWow = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const apiVVersionODataControllerCount = (options: Options) => { +export const apiVVersionODataControllerCount = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple/$count', ...options }); }; -export const getApiVbyApiVersionSimpleOperation = (options: Options) => { +export const getApiVbyApiVersionSimpleOperation = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); }; -export const deleteCallWithoutParametersAndResponse = (options: Options) => { +export const deleteCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/simple', ...options }); }; -export const getCallWithoutParametersAndResponse = (options: Options) => { +export const getCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple', ...options }); }; -export const headCallWithoutParametersAndResponse = (options: Options) => { +export const headCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).head({ url: '/api/v{api-version}/simple', ...options }); }; -export const optionsCallWithoutParametersAndResponse = (options: Options) => { +export const optionsCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).options({ url: '/api/v{api-version}/simple', ...options }); }; -export const patchCallWithoutParametersAndResponse = (options: Options) => { +export const patchCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).patch({ url: '/api/v{api-version}/simple', ...options }); }; -export const postCallWithoutParametersAndResponse = (options: Options) => { +export const postCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/simple', ...options }); }; -export const putCallWithoutParametersAndResponse = (options: Options) => { +export const putCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/simple', ...options }); }; -export const deleteFoo = (options: Options) => { +export const deleteFoo = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); }; -export const callWithDescriptions = (options: Options) => { +export const callWithDescriptions = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/descriptions', ...options @@ -130,14 +130,14 @@ export const callWithDescriptions = (options: Options) => { +export const deprecatedCall = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; -export const callWithParameters = (options: Options) => { +export const callWithParameters = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, @@ -148,7 +148,7 @@ export const callWithParameters = (options: Options) => { +export const callWithWeirdParameterNames = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, @@ -159,7 +159,7 @@ export const callWithWeirdParameterNames = (options: Options) => { +export const getCallWithOptionalParam = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, @@ -170,7 +170,7 @@ export const getCallWithOptionalParam = (options: Options) => { +export const postCallWithOptionalParam = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, @@ -181,7 +181,7 @@ export const postCallWithOptionalParam = (options: Options) => { +export const postApiVbyApiVersionRequestBody = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/requestBody', ...options, @@ -192,7 +192,7 @@ export const postApiVbyApiVersionRequestBody = (options: Options) => { +export const postApiVbyApiVersionFormData = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/formData', @@ -204,119 +204,119 @@ export const postApiVbyApiVersionFormData = (options: Options) => { +export const callWithDefaultParameters = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); }; -export const callWithDefaultOptionalParameters = (options: Options) => { +export const callWithDefaultOptionalParameters = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/defaults', ...options }); }; -export const callToTestOrderOfParams = (options: Options) => { +export const callToTestOrderOfParams = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); }; -export const duplicateName = (options: Options) => { +export const duplicateName = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName2 = (options: Options) => { +export const duplicateName2 = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName3 = (options: Options) => { +export const duplicateName3 = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName4 = (options: Options) => { +export const duplicateName4 = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const callWithNoContentResponse = (options: Options) => { +export const callWithNoContentResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-content', ...options }); }; -export const callWithResponseAndNoContentResponse = (options: Options) => { +export const callWithResponseAndNoContentResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/response-and-no-content', ...options }); }; -export const dummyA = (options: Options) => { +export const dummyA = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/a', ...options }); }; -export const dummyB = (options: Options) => { +export const dummyB = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/b', ...options }); }; -export const callWithResponse = (options: Options) => { +export const callWithResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/response', ...options }); }; -export const callWithDuplicateResponses = (options: Options) => { +export const callWithDuplicateResponses = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/response', ...options }); }; -export const callWithResponses = (options: Options) => { +export const callWithResponses = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/response', ...options }); }; -export const collectionFormat = (options: Options) => { +export const collectionFormat = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; -export const types = (options: Options) => { +export const types = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; -export const uploadFile = (options: Options) => { +export const uploadFile = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', @@ -328,28 +328,28 @@ export const uploadFile = (options: Options) => { +export const fileResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; -export const complexTypes = (options: Options) => { +export const complexTypes = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); }; -export const multipartResponse = (options: Options) => { +export const multipartResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multipart', ...options }); }; -export const multipartRequest = (options: Options) => { +export const multipartRequest = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/multipart', @@ -361,7 +361,7 @@ export const multipartRequest = (options: Options) => { +export const complexParams = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, @@ -372,21 +372,21 @@ export const complexParams = (options: Options) => { +export const callWithResultFromHeader = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/header', ...options }); }; -export const testErrorCode = (options: Options) => { +export const testErrorCode = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; -export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { +export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options @@ -396,7 +396,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { +export const putWithFormUrlEncoded = (options: Options) => { return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/client/client.gen.ts index 60ad3b2284..3dbbcd1267 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/client/client.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/client/client.gen.ts @@ -61,7 +61,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/client/types.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/client/types.gen.ts index c7c5399ca8..ac663764dd 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/client/types.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/client/types.gen.ts @@ -64,7 +64,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -89,7 +89,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -119,7 +119,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -128,7 +128,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -137,7 +137,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -181,7 +181,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/sdk.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/sdk.gen.ts index 06ac368061..44a4ecdf54 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/sdk.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/sdk.gen.ts @@ -4,7 +4,7 @@ import { type Options as ClientOptions, type Composable, type TDataShape, type C import type { ExportData, PatchApiVbyApiVersionNoTagData, ImportResponse, ImportData, FooWowData, ApiVVersionODataControllerCountResponse, ApiVVersionODataControllerCountData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostCallWithOptionalParamData, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseResponse, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseResponse, CallWithResponseAndNoContentResponseData, DummyAResponse, DummyAData, DummyBResponse, DummyBData, CallWithResponseResponse, CallWithResponseData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesError, CallWithResponsesResponse, CallWithResponsesData, CallWithResponsesError, CollectionFormatData, TypesResponse, TypesData, UploadFileResponse, UploadFileData, FileResponseResponse, FileResponseData, ComplexTypesResponse, ComplexTypesData, MultipartResponseResponse, MultipartResponseData, MultipartRequestData, ComplexParamsResponse, ComplexParamsData, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Response, NonAsciiæøåÆøÅöôêÊ字符串Data, PutWithFormUrlEncodedData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; -export type Options = ClientOptions & { +export type Options = ClientOptions & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a @@ -18,21 +18,21 @@ export type Options; }; -export const export_ = (options: Options) => { +export const export_ = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const patchApiVbyApiVersionNoTag = (options: Options) => { +export const patchApiVbyApiVersionNoTag = (options: Options) => { return (options.client ?? _heyApiClient).patch({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const import_ = (options: Options) => { +export const import_ = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no+tag', ...options, @@ -43,84 +43,84 @@ export const import_ = (options: Options) => { +export const fooWow = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const apiVVersionODataControllerCount = (options: Options) => { +export const apiVVersionODataControllerCount = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple/$count', ...options }); }; -export const getApiVbyApiVersionSimpleOperation = (options: Options) => { +export const getApiVbyApiVersionSimpleOperation = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); }; -export const deleteCallWithoutParametersAndResponse = (options: Options) => { +export const deleteCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/simple', ...options }); }; -export const getCallWithoutParametersAndResponse = (options: Options) => { +export const getCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple', ...options }); }; -export const headCallWithoutParametersAndResponse = (options: Options) => { +export const headCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).head({ url: '/api/v{api-version}/simple', ...options }); }; -export const optionsCallWithoutParametersAndResponse = (options: Options) => { +export const optionsCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).options({ url: '/api/v{api-version}/simple', ...options }); }; -export const patchCallWithoutParametersAndResponse = (options: Options) => { +export const patchCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).patch({ url: '/api/v{api-version}/simple', ...options }); }; -export const postCallWithoutParametersAndResponse = (options: Options) => { +export const postCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/simple', ...options }); }; -export const putCallWithoutParametersAndResponse = (options: Options) => { +export const putCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/simple', ...options }); }; -export const deleteFoo = (options: Options) => { +export const deleteFoo = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); }; -export const callWithDescriptions = (options: Options) => { +export const callWithDescriptions = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/descriptions', ...options @@ -130,14 +130,14 @@ export const callWithDescriptions = (options: Options) => { +export const deprecatedCall = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; -export const callWithParameters = (options: Options) => { +export const callWithParameters = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, @@ -148,7 +148,7 @@ export const callWithParameters = (options: Options) => { +export const callWithWeirdParameterNames = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, @@ -159,7 +159,7 @@ export const callWithWeirdParameterNames = (options: Options) => { +export const getCallWithOptionalParam = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, @@ -170,7 +170,7 @@ export const getCallWithOptionalParam = (options: Options) => { +export const postCallWithOptionalParam = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, @@ -181,7 +181,7 @@ export const postCallWithOptionalParam = (options: Options) => { +export const postApiVbyApiVersionRequestBody = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/requestBody', ...options, @@ -192,7 +192,7 @@ export const postApiVbyApiVersionRequestBody = (options: Options) => { +export const postApiVbyApiVersionFormData = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/formData', @@ -204,119 +204,119 @@ export const postApiVbyApiVersionFormData = (options: Options) => { +export const callWithDefaultParameters = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); }; -export const callWithDefaultOptionalParameters = (options: Options) => { +export const callWithDefaultOptionalParameters = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/defaults', ...options }); }; -export const callToTestOrderOfParams = (options: Options) => { +export const callToTestOrderOfParams = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); }; -export const duplicateName = (options: Options) => { +export const duplicateName = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName2 = (options: Options) => { +export const duplicateName2 = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName3 = (options: Options) => { +export const duplicateName3 = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName4 = (options: Options) => { +export const duplicateName4 = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const callWithNoContentResponse = (options: Options) => { +export const callWithNoContentResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-content', ...options }); }; -export const callWithResponseAndNoContentResponse = (options: Options) => { +export const callWithResponseAndNoContentResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/response-and-no-content', ...options }); }; -export const dummyA = (options: Options) => { +export const dummyA = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/a', ...options }); }; -export const dummyB = (options: Options) => { +export const dummyB = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/b', ...options }); }; -export const callWithResponse = (options: Options) => { +export const callWithResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/response', ...options }); }; -export const callWithDuplicateResponses = (options: Options) => { +export const callWithDuplicateResponses = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/response', ...options }); }; -export const callWithResponses = (options: Options) => { +export const callWithResponses = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/response', ...options }); }; -export const collectionFormat = (options: Options) => { +export const collectionFormat = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; -export const types = (options: Options) => { +export const types = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; -export const uploadFile = (options: Options) => { +export const uploadFile = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', @@ -328,28 +328,28 @@ export const uploadFile = (options: Options) => { +export const fileResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; -export const complexTypes = (options: Options) => { +export const complexTypes = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); }; -export const multipartResponse = (options: Options) => { +export const multipartResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multipart', ...options }); }; -export const multipartRequest = (options: Options) => { +export const multipartRequest = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/multipart', @@ -361,7 +361,7 @@ export const multipartRequest = (options: Options) => { +export const complexParams = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, @@ -372,21 +372,21 @@ export const complexParams = (options: Options) => { +export const callWithResultFromHeader = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/header', ...options }); }; -export const testErrorCode = (options: Options) => { +export const testErrorCode = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; -export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { +export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options @@ -396,7 +396,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { +export const putWithFormUrlEncoded = (options: Options) => { return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/client/client.gen.ts index 60ad3b2284..3dbbcd1267 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/client/client.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/client/client.gen.ts @@ -61,7 +61,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/client/types.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/client/types.gen.ts index c7c5399ca8..ac663764dd 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/client/types.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/client/types.gen.ts @@ -64,7 +64,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -89,7 +89,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -119,7 +119,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -128,7 +128,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -137,7 +137,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -181,7 +181,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/sdk.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/sdk.gen.ts index ea28cfbc7c..072f4f2124 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/sdk.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/sdk.gen.ts @@ -3,7 +3,7 @@ import { type Options as ClientOptions, type Composable, type TDataShape, type Client, formDataBodySerializer, urlSearchParamsBodySerializer } from './client'; import type { ExportData, PatchApiVbyApiVersionNoTagData, ImportResponse, ImportData, FooWowData, ApiVVersionODataControllerCountResponse, ApiVVersionODataControllerCountData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostCallWithOptionalParamData, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseResponse, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseResponse, CallWithResponseAndNoContentResponseData, DummyAResponse, DummyAData, DummyBResponse, DummyBData, CallWithResponseResponse, CallWithResponseData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesError, CallWithResponsesResponse, CallWithResponsesData, CallWithResponsesError, CollectionFormatData, TypesResponse, TypesData, UploadFileResponse, UploadFileData, FileResponseResponse, FileResponseData, ComplexTypesResponse, ComplexTypesData, MultipartResponseResponse, MultipartResponseData, MultipartRequestData, ComplexParamsResponse, ComplexParamsData, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Response, NonAsciiæøåÆøÅöôêÊ字符串Data, PutWithFormUrlEncodedData } from './types.gen'; -export type Options = ClientOptions & { +export type Options = ClientOptions & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a @@ -17,21 +17,21 @@ export type Options; }; -export const export_ = (options: Options) => { +export const export_ = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const patchApiVbyApiVersionNoTag = (options: Options) => { +export const patchApiVbyApiVersionNoTag = (options: Options) => { return options.client.patch({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const import_ = (options: Options) => { +export const import_ = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/no+tag', ...options, @@ -42,84 +42,84 @@ export const import_ = (options: Options) => { +export const fooWow = (options: Options) => { return options.client.put({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const apiVVersionODataControllerCount = (options: Options) => { +export const apiVVersionODataControllerCount = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/simple/$count', ...options }); }; -export const getApiVbyApiVersionSimpleOperation = (options: Options) => { +export const getApiVbyApiVersionSimpleOperation = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/simple:operation', ...options }); }; -export const deleteCallWithoutParametersAndResponse = (options: Options) => { +export const deleteCallWithoutParametersAndResponse = (options: Options) => { return options.client.delete({ url: '/api/v{api-version}/simple', ...options }); }; -export const getCallWithoutParametersAndResponse = (options: Options) => { +export const getCallWithoutParametersAndResponse = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/simple', ...options }); }; -export const headCallWithoutParametersAndResponse = (options: Options) => { +export const headCallWithoutParametersAndResponse = (options: Options) => { return options.client.head({ url: '/api/v{api-version}/simple', ...options }); }; -export const optionsCallWithoutParametersAndResponse = (options: Options) => { +export const optionsCallWithoutParametersAndResponse = (options: Options) => { return options.client.options({ url: '/api/v{api-version}/simple', ...options }); }; -export const patchCallWithoutParametersAndResponse = (options: Options) => { +export const patchCallWithoutParametersAndResponse = (options: Options) => { return options.client.patch({ url: '/api/v{api-version}/simple', ...options }); }; -export const postCallWithoutParametersAndResponse = (options: Options) => { +export const postCallWithoutParametersAndResponse = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/simple', ...options }); }; -export const putCallWithoutParametersAndResponse = (options: Options) => { +export const putCallWithoutParametersAndResponse = (options: Options) => { return options.client.put({ url: '/api/v{api-version}/simple', ...options }); }; -export const deleteFoo = (options: Options) => { +export const deleteFoo = (options: Options) => { return options.client.delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); }; -export const callWithDescriptions = (options: Options) => { +export const callWithDescriptions = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/descriptions', ...options @@ -129,14 +129,14 @@ export const callWithDescriptions = (options: Options) => { +export const deprecatedCall = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; -export const callWithParameters = (options: Options) => { +export const callWithParameters = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, @@ -147,7 +147,7 @@ export const callWithParameters = (options: Options) => { +export const callWithWeirdParameterNames = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, @@ -158,7 +158,7 @@ export const callWithWeirdParameterNames = (options: Options) => { +export const getCallWithOptionalParam = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/parameters', ...options, @@ -169,7 +169,7 @@ export const getCallWithOptionalParam = (options: Options) => { +export const postCallWithOptionalParam = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/parameters', ...options, @@ -180,7 +180,7 @@ export const postCallWithOptionalParam = (options: Options) => { +export const postApiVbyApiVersionRequestBody = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/requestBody', ...options, @@ -191,7 +191,7 @@ export const postApiVbyApiVersionRequestBody = (options: Options) => { +export const postApiVbyApiVersionFormData = (options: Options) => { return options.client.post({ ...formDataBodySerializer, url: '/api/v{api-version}/formData', @@ -203,119 +203,119 @@ export const postApiVbyApiVersionFormData = (options: Options) => { +export const callWithDefaultParameters = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/defaults', ...options }); }; -export const callWithDefaultOptionalParameters = (options: Options) => { +export const callWithDefaultOptionalParameters = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/defaults', ...options }); }; -export const callToTestOrderOfParams = (options: Options) => { +export const callToTestOrderOfParams = (options: Options) => { return options.client.put({ url: '/api/v{api-version}/defaults', ...options }); }; -export const duplicateName = (options: Options) => { +export const duplicateName = (options: Options) => { return options.client.delete({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName2 = (options: Options) => { +export const duplicateName2 = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName3 = (options: Options) => { +export const duplicateName3 = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName4 = (options: Options) => { +export const duplicateName4 = (options: Options) => { return options.client.put({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const callWithNoContentResponse = (options: Options) => { +export const callWithNoContentResponse = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/no-content', ...options }); }; -export const callWithResponseAndNoContentResponse = (options: Options) => { +export const callWithResponseAndNoContentResponse = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/multiple-tags/response-and-no-content', ...options }); }; -export const dummyA = (options: Options) => { +export const dummyA = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/multiple-tags/a', ...options }); }; -export const dummyB = (options: Options) => { +export const dummyB = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/multiple-tags/b', ...options }); }; -export const callWithResponse = (options: Options) => { +export const callWithResponse = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/response', ...options }); }; -export const callWithDuplicateResponses = (options: Options) => { +export const callWithDuplicateResponses = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/response', ...options }); }; -export const callWithResponses = (options: Options) => { +export const callWithResponses = (options: Options) => { return options.client.put({ url: '/api/v{api-version}/response', ...options }); }; -export const collectionFormat = (options: Options) => { +export const collectionFormat = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; -export const types = (options: Options) => { +export const types = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/types', ...options }); }; -export const uploadFile = (options: Options) => { +export const uploadFile = (options: Options) => { return options.client.post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', @@ -327,28 +327,28 @@ export const uploadFile = (options: Options) => { +export const fileResponse = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/file/{id}', ...options }); }; -export const complexTypes = (options: Options) => { +export const complexTypes = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/complex', ...options }); }; -export const multipartResponse = (options: Options) => { +export const multipartResponse = (options: Options) => { return options.client.get({ url: '/api/v{api-version}/multipart', ...options }); }; -export const multipartRequest = (options: Options) => { +export const multipartRequest = (options: Options) => { return options.client.post({ ...formDataBodySerializer, url: '/api/v{api-version}/multipart', @@ -360,7 +360,7 @@ export const multipartRequest = (options: Options) => { +export const complexParams = (options: Options) => { return options.client.put({ url: '/api/v{api-version}/complex/{id}', ...options, @@ -371,21 +371,21 @@ export const complexParams = (options: Options) => { +export const callWithResultFromHeader = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/header', ...options }); }; -export const testErrorCode = (options: Options) => { +export const testErrorCode = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/error', ...options }); }; -export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { +export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { return options.client.post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options @@ -395,7 +395,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { +export const putWithFormUrlEncoded = (options: Options) => { return options.client.put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/client/client.gen.ts index 6d493327e6..5bb268ce46 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/client/client.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/client/client.gen.ts @@ -61,7 +61,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/client/types.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/client/types.gen.ts index 8f2449bf25..588c13b499 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/client/types.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/client/types.gen.ts @@ -64,7 +64,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -89,7 +89,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -119,7 +119,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -128,7 +128,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -137,7 +137,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -181,7 +181,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/sdk.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/sdk.gen.ts index c864e7df47..e8f4ff3c2c 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/sdk.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/sdk.gen.ts @@ -4,7 +4,7 @@ import { type Options as ClientOptions, type Composable, type TDataShape, type C import type { ExportData, PatchApiVbyApiVersionNoTagData, ImportResponse, ImportData, FooWowData, ApiVVersionODataControllerCountResponse, ApiVVersionODataControllerCountData, GetApiVbyApiVersionSimpleOperationResponse, GetApiVbyApiVersionSimpleOperationData, GetApiVbyApiVersionSimpleOperationError, DeleteCallWithoutParametersAndResponseData, GetCallWithoutParametersAndResponseData, HeadCallWithoutParametersAndResponseData, OptionsCallWithoutParametersAndResponseData, PatchCallWithoutParametersAndResponseData, PostCallWithoutParametersAndResponseData, PutCallWithoutParametersAndResponseData, DeleteFooData3, CallWithDescriptionsData, DeprecatedCallData, CallWithParametersData, CallWithWeirdParameterNamesData, GetCallWithOptionalParamData, PostCallWithOptionalParamResponse, PostCallWithOptionalParamData, PostApiVbyApiVersionRequestBodyData, PostApiVbyApiVersionFormDataData, CallWithDefaultParametersData, CallWithDefaultOptionalParametersData, CallToTestOrderOfParamsData, DuplicateNameData, DuplicateName2Data, DuplicateName3Data, DuplicateName4Data, CallWithNoContentResponseResponse, CallWithNoContentResponseData, CallWithResponseAndNoContentResponseResponse, CallWithResponseAndNoContentResponseData, DummyAResponse, DummyAData, DummyBResponse, DummyBData, CallWithResponseResponse, CallWithResponseData, CallWithDuplicateResponsesResponse, CallWithDuplicateResponsesData, CallWithDuplicateResponsesError, CallWithResponsesResponse, CallWithResponsesData, CallWithResponsesError, CollectionFormatData, TypesResponse, TypesData, UploadFileResponse, UploadFileData, FileResponseResponse, FileResponseData, ComplexTypesResponse, ComplexTypesData, MultipartResponseResponse, MultipartResponseData, MultipartRequestData, ComplexParamsResponse, ComplexParamsData, CallWithResultFromHeaderData, TestErrorCodeData, NonAsciiæøåÆøÅöôêÊ字符串Response, NonAsciiæøåÆøÅöôêÊ字符串Data, PutWithFormUrlEncodedData } from './types.gen.js'; import { client as _heyApiClient } from './client.gen.js'; -export type Options = ClientOptions & { +export type Options = ClientOptions & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a @@ -18,21 +18,21 @@ export type Options; }; -export const export_ = (options: Options) => { +export const export_ = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const patchApiVbyApiVersionNoTag = (options: Options) => { +export const patchApiVbyApiVersionNoTag = (options: Options) => { return (options.client ?? _heyApiClient).patch({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const import_ = (options: Options) => { +export const import_ = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/no+tag', ...options, @@ -43,84 +43,84 @@ export const import_ = (options: Options) => { +export const fooWow = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/no+tag', ...options }); }; -export const apiVVersionODataControllerCount = (options: Options) => { +export const apiVVersionODataControllerCount = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple/$count', ...options }); }; -export const getApiVbyApiVersionSimpleOperation = (options: Options) => { +export const getApiVbyApiVersionSimpleOperation = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple:operation', ...options }); }; -export const deleteCallWithoutParametersAndResponse = (options: Options) => { +export const deleteCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/simple', ...options }); }; -export const getCallWithoutParametersAndResponse = (options: Options) => { +export const getCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/simple', ...options }); }; -export const headCallWithoutParametersAndResponse = (options: Options) => { +export const headCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).head({ url: '/api/v{api-version}/simple', ...options }); }; -export const optionsCallWithoutParametersAndResponse = (options: Options) => { +export const optionsCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).options({ url: '/api/v{api-version}/simple', ...options }); }; -export const patchCallWithoutParametersAndResponse = (options: Options) => { +export const patchCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).patch({ url: '/api/v{api-version}/simple', ...options }); }; -export const postCallWithoutParametersAndResponse = (options: Options) => { +export const postCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/simple', ...options }); }; -export const putCallWithoutParametersAndResponse = (options: Options) => { +export const putCallWithoutParametersAndResponse = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/simple', ...options }); }; -export const deleteFoo = (options: Options) => { +export const deleteFoo = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/foo/{foo_param}/bar/{BarParam}', ...options }); }; -export const callWithDescriptions = (options: Options) => { +export const callWithDescriptions = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/descriptions', ...options @@ -130,14 +130,14 @@ export const callWithDescriptions = (options: Options) => { +export const deprecatedCall = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/deprecated', ...options }); }; -export const callWithParameters = (options: Options) => { +export const callWithParameters = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameterPath}', ...options, @@ -148,7 +148,7 @@ export const callWithParameters = (options: Options) => { +export const callWithWeirdParameterNames = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', ...options, @@ -159,7 +159,7 @@ export const callWithWeirdParameterNames = (options: Options) => { +export const getCallWithOptionalParam = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/parameters', ...options, @@ -170,7 +170,7 @@ export const getCallWithOptionalParam = (options: Options) => { +export const postCallWithOptionalParam = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/parameters', ...options, @@ -181,7 +181,7 @@ export const postCallWithOptionalParam = (options: Options) => { +export const postApiVbyApiVersionRequestBody = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/requestBody', ...options, @@ -192,7 +192,7 @@ export const postApiVbyApiVersionRequestBody = (options: Options) => { +export const postApiVbyApiVersionFormData = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/formData', @@ -204,119 +204,119 @@ export const postApiVbyApiVersionFormData = (options: Options) => { +export const callWithDefaultParameters = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/defaults', ...options }); }; -export const callWithDefaultOptionalParameters = (options: Options) => { +export const callWithDefaultOptionalParameters = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/defaults', ...options }); }; -export const callToTestOrderOfParams = (options: Options) => { +export const callToTestOrderOfParams = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/defaults', ...options }); }; -export const duplicateName = (options: Options) => { +export const duplicateName = (options: Options) => { return (options.client ?? _heyApiClient).delete({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName2 = (options: Options) => { +export const duplicateName2 = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName3 = (options: Options) => { +export const duplicateName3 = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const duplicateName4 = (options: Options) => { +export const duplicateName4 = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/duplicate', ...options }); }; -export const callWithNoContentResponse = (options: Options) => { +export const callWithNoContentResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/no-content', ...options }); }; -export const callWithResponseAndNoContentResponse = (options: Options) => { +export const callWithResponseAndNoContentResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/response-and-no-content', ...options }); }; -export const dummyA = (options: Options) => { +export const dummyA = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/a', ...options }); }; -export const dummyB = (options: Options) => { +export const dummyB = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multiple-tags/b', ...options }); }; -export const callWithResponse = (options: Options) => { +export const callWithResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/response', ...options }); }; -export const callWithDuplicateResponses = (options: Options) => { +export const callWithDuplicateResponses = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/response', ...options }); }; -export const callWithResponses = (options: Options) => { +export const callWithResponses = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/response', ...options }); }; -export const collectionFormat = (options: Options) => { +export const collectionFormat = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/collectionFormat', ...options }); }; -export const types = (options: Options) => { +export const types = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/types', ...options }); }; -export const uploadFile = (options: Options) => { +export const uploadFile = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/upload', @@ -328,28 +328,28 @@ export const uploadFile = (options: Options) => { +export const fileResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/file/{id}', ...options }); }; -export const complexTypes = (options: Options) => { +export const complexTypes = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/complex', ...options }); }; -export const multipartResponse = (options: Options) => { +export const multipartResponse = (options: Options) => { return (options.client ?? _heyApiClient).get({ url: '/api/v{api-version}/multipart', ...options }); }; -export const multipartRequest = (options: Options) => { +export const multipartRequest = (options: Options) => { return (options.client ?? _heyApiClient).post({ ...formDataBodySerializer, url: '/api/v{api-version}/multipart', @@ -361,7 +361,7 @@ export const multipartRequest = (options: Options) => { +export const complexParams = (options: Options) => { return (options.client ?? _heyApiClient).put({ url: '/api/v{api-version}/complex/{id}', ...options, @@ -372,21 +372,21 @@ export const complexParams = (options: Options) => { +export const callWithResultFromHeader = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/header', ...options }); }; -export const testErrorCode = (options: Options) => { +export const testErrorCode = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/error', ...options }); }; -export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { +export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { return (options.client ?? _heyApiClient).post({ url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', ...options @@ -396,7 +396,7 @@ export const nonAsciiæøåÆøÅöôêÊ字符串 = (options: Options) => { +export const putWithFormUrlEncoded = (options: Options) => { return (options.client ?? _heyApiClient).put({ ...urlSearchParamsBodySerializer, url: '/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串', diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/client/client.gen.ts index 60ad3b2284..3dbbcd1267 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/client/client.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/client/client.gen.ts @@ -61,7 +61,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/client/types.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/client/types.gen.ts index c7c5399ca8..ac663764dd 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/client/types.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/client/types.gen.ts @@ -64,7 +64,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -89,7 +89,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -119,7 +119,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -128,7 +128,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -137,7 +137,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -181,7 +181,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/sdk.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/sdk.gen.ts index 7f13d88c60..8ea786ea5c 100644 --- a/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/sdk.gen.ts +++ b/packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/sse-nuxt/sdk.gen.ts @@ -4,7 +4,7 @@ import type { Options as ClientOptions, Composable, TDataShape, Client } from '. import type { EventSubscribeResponse, EventSubscribeData } from './types.gen'; import { client as _heyApiClient } from './client.gen'; -export type Options = ClientOptions & { +export type Options = ClientOptions & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a @@ -21,7 +21,7 @@ export type Options(options: Options) => { +export const eventSubscribe = (options: Options) => { return (options.client ?? _heyApiClient).sse.get({ url: '/event', ...options diff --git a/packages/openapi-ts/src/plugins/@hey-api/client-nuxt/bundle/client.ts b/packages/openapi-ts/src/plugins/@hey-api/client-nuxt/bundle/client.ts index 636fad0643..432ffbd407 100644 --- a/packages/openapi-ts/src/plugins/@hey-api/client-nuxt/bundle/client.ts +++ b/packages/openapi-ts/src/plugins/@hey-api/client-nuxt/bundle/client.ts @@ -59,7 +59,7 @@ export const createClient = (config: Config = {}): Client => { const request: Client['request'] = ({ asyncDataOptions, - composable, + composable = '$fetch', ...options }) => { const key = options.key; diff --git a/packages/openapi-ts/src/plugins/@hey-api/client-nuxt/bundle/types.ts b/packages/openapi-ts/src/plugins/@hey-api/client-nuxt/bundle/types.ts index 5d12b5c525..0290d9ec40 100644 --- a/packages/openapi-ts/src/plugins/@hey-api/client-nuxt/bundle/types.ts +++ b/packages/openapi-ts/src/plugins/@hey-api/client-nuxt/bundle/types.ts @@ -62,7 +62,7 @@ export interface Config } export interface RequestOptions< - TComposable extends Composable = Composable, + TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string, @@ -87,7 +87,7 @@ export interface RequestOptions< | 'sseMaxRetryDelay' > { asyncDataOptions?: AsyncDataOptions, DefaultT>; - composable: TComposable; + composable?: TComposable; key?: string; /** * Security mechanism(s) to use for the request. @@ -117,7 +117,7 @@ export interface ClientOptions { } type MethodFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -126,7 +126,7 @@ type MethodFn = < ) => RequestResult; type SseFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -135,7 +135,7 @@ type SseFn = < ) => Promise>>; type RequestFn = < - TComposable extends Composable, + TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined, @@ -179,7 +179,7 @@ export type Client = CoreClient; type OmitKeys = Pick>; export type Options< - TComposable extends Composable, + TComposable extends Composable = '$fetch', TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined, diff --git a/packages/openapi-ts/src/plugins/@hey-api/sdk/plugin.ts b/packages/openapi-ts/src/plugins/@hey-api/sdk/plugin.ts index 5466af08c5..9673e225f9 100644 --- a/packages/openapi-ts/src/plugins/@hey-api/sdk/plugin.ts +++ b/packages/openapi-ts/src/plugins/@hey-api/sdk/plugin.ts @@ -205,7 +205,7 @@ const generateClassSdk = ({ types: isNuxtClient ? [ { - // default: tsc.ots.string('$fetch'), + default: tsc.ots.string('$fetch'), extends: tsc.typeNode('Composable'), name: nuxtTypeComposable, }, @@ -379,7 +379,7 @@ const generateFlatSdk = ({ types: isNuxtClient ? [ { - // default: tsc.ots.string('$fetch'), + default: tsc.ots.string('$fetch'), extends: tsc.typeNode('Composable'), name: nuxtTypeComposable, }, diff --git a/packages/openapi-ts/src/plugins/@hey-api/sdk/typeOptions.ts b/packages/openapi-ts/src/plugins/@hey-api/sdk/typeOptions.ts index 50be94f182..64cfc8dee9 100644 --- a/packages/openapi-ts/src/plugins/@hey-api/sdk/typeOptions.ts +++ b/packages/openapi-ts/src/plugins/@hey-api/sdk/typeOptions.ts @@ -86,6 +86,7 @@ export const createTypeOptions = ({ ? [ tsc.typeParameterDeclaration({ constraint: tsc.typeReferenceNode({ typeName: 'Composable' }), + defaultType: tsc.typeNode("'$fetch'"), name: 'TComposable', }), tsc.typeParameterDeclaration({ diff --git a/packages/openapi-ts/src/plugins/@pinia/colada/mutationOptions.ts b/packages/openapi-ts/src/plugins/@pinia/colada/mutationOptions.ts index 0b34c9b30e..d8d684b51c 100644 --- a/packages/openapi-ts/src/plugins/@pinia/colada/mutationOptions.ts +++ b/packages/openapi-ts/src/plugins/@pinia/colada/mutationOptions.ts @@ -7,7 +7,12 @@ import { createOperationComment } from '../../shared/utils/operation'; import { handleMeta } from './meta'; import type { PluginState } from './state'; import type { PiniaColadaPlugin } from './types'; -import { useTypeData, useTypeError, useTypeResponse } from './utils'; +import { + getPublicTypeData, + useTypeData, + useTypeError, + useTypeResponse, +} from './utils'; const mutationOptionsType = 'UseMutationOptions'; @@ -46,6 +51,10 @@ export const createMutationOptions = ({ const typeData = useTypeData({ file, operation, plugin }); const typeError = useTypeError({ file, operation, plugin }); const typeResponse = useTypeResponse({ file, operation, plugin }); + const { isNuxtClient, strippedTypeData } = getPublicTypeData({ + plugin, + typeData, + }); const identifierMutationOptions = file.identifier({ $ref: `#/pinia-colada-mutation-options/${operation.id}`, @@ -108,9 +117,12 @@ export const createMutationOptions = ({ async: true, multiLine: true, parameters: [ - { - name: fnOptions, - }, + isNuxtClient + ? { + name: fnOptions, + type: `Partial<${strippedTypeData}>`, + } + : { name: fnOptions }, ], statements, }), @@ -136,11 +148,12 @@ export const createMutationOptions = ({ { isRequired: false, name: 'options', - type: `Partial<${typeData}>`, + type: `Partial<${strippedTypeData}>`, }, ], - // TODO: better types syntax - returnType: `${mutationOptionsType}<${typeResponse}, ${typeData}, ${typeError.name}>`, + returnType: isNuxtClient + ? `${mutationOptionsType}<${typeResponse}, ${strippedTypeData}, ${typeError.name}>` + : `${mutationOptionsType}<${typeResponse}, ${typeData}, ${typeError.name}>`, statements: [ tsc.returnStatement({ expression: tsc.objectExpression({ diff --git a/packages/openapi-ts/src/plugins/@pinia/colada/queryKey.ts b/packages/openapi-ts/src/plugins/@pinia/colada/queryKey.ts index 2209a813a8..7d41ad3fe1 100644 --- a/packages/openapi-ts/src/plugins/@pinia/colada/queryKey.ts +++ b/packages/openapi-ts/src/plugins/@pinia/colada/queryKey.ts @@ -7,7 +7,7 @@ import type { IR } from '../../../ir/types'; import { type Property, tsc } from '../../../tsc'; import { getClientBaseUrlKey } from '../../@hey-api/client-core/utils'; import type { PiniaColadaPlugin } from './types'; -import { useTypeData } from './utils'; +import { getPublicTypeData, useTypeData } from './utils'; const createQueryKeyFn = 'createQueryKey'; const queryKeyName = 'QueryKey'; @@ -352,6 +352,7 @@ export const queryKeyStatement = ({ plugin: PiniaColadaPlugin['Instance']; }) => { const typeData = useTypeData({ file, operation, plugin }); + const { strippedTypeData } = getPublicTypeData({ plugin, typeData }); const identifier = file.identifier({ // TODO: refactor for better cross-plugin compatibility $ref: `#/pinia-colada-query-key/${operation.id}`, @@ -367,7 +368,7 @@ export const queryKeyStatement = ({ { isRequired: hasOperationDataRequired(operation), name: 'options', - type: typeData, + type: strippedTypeData, }, ], statements: createQueryKeyLiteral({ diff --git a/packages/openapi-ts/src/plugins/@pinia/colada/queryOptions.ts b/packages/openapi-ts/src/plugins/@pinia/colada/queryOptions.ts index 78bf9fe0b8..64dd6af39f 100644 --- a/packages/openapi-ts/src/plugins/@pinia/colada/queryOptions.ts +++ b/packages/openapi-ts/src/plugins/@pinia/colada/queryOptions.ts @@ -16,7 +16,12 @@ import { } from './queryKey'; import type { PluginState } from './state'; import type { PiniaColadaPlugin } from './types'; -import { useTypeData, useTypeError, useTypeResponse } from './utils'; +import { + getPublicTypeData, + useTypeData, + useTypeError, + useTypeResponse, +} from './utils'; const queryOptionsType = 'UseQueryOptions'; const optionsParamName = 'options'; @@ -75,6 +80,10 @@ export const createQueryOptions = ({ const typeData = useTypeData({ file, operation, plugin }); const typeError = useTypeError({ file, operation, plugin }); const typeResponse = useTypeResponse({ file, operation, plugin }); + const { isNuxtClient, strippedTypeData } = getPublicTypeData({ + plugin, + typeData, + }); const identifierQueryOptions = file.identifier({ $ref: `#/pinia-colada-query-options/${operation.id}`, @@ -152,9 +161,12 @@ export const createQueryOptions = ({ async: true, multiLine: true, parameters: [ - { - name: fnOptions, - }, + isNuxtClient + ? { + name: fnOptions, + type: strippedTypeData, + } + : { name: fnOptions }, ], statements, }), @@ -180,11 +192,12 @@ export const createQueryOptions = ({ { isRequired: isRequiredOptions, name: optionsParamName, - type: typeData, + type: strippedTypeData, }, ], - // TODO: better types syntax - returnType: `${queryOptionsType}<${typeResponse}, ${typeError.name}>`, + returnType: isNuxtClient + ? `${queryOptionsType}<${typeResponse}, ${strippedTypeData}, ${typeError.name}>` + : `${queryOptionsType}<${typeResponse}, ${typeError.name}>`, statements: [ tsc.returnStatement({ expression: tsc.objectExpression({ diff --git a/packages/openapi-ts/src/plugins/@pinia/colada/utils.ts b/packages/openapi-ts/src/plugins/@pinia/colada/utils.ts index 1856d8aab1..f3fea95056 100644 --- a/packages/openapi-ts/src/plugins/@pinia/colada/utils.ts +++ b/packages/openapi-ts/src/plugins/@pinia/colada/utils.ts @@ -49,6 +49,22 @@ export const getFileForOperation = ({ }; }; +export const getPublicTypeData = ({ + plugin, + typeData, +}: { + plugin: PiniaColadaPlugin['Instance']; + typeData: string; +}) => { + const client = getClientPlugin(plugin.context.config); + const isNuxtClient = client.name === '@hey-api/client-nuxt'; + const strippedTypeData = isNuxtClient + ? `Omit<${typeData}, 'composable'>` + : typeData; + + return { isNuxtClient, strippedTypeData }; +}; + export const useTypeData = ({ file, operation, @@ -59,8 +75,7 @@ export const useTypeData = ({ plugin: PiniaColadaPlugin['Instance']; }) => { const pluginSdk = plugin.getPlugin('@hey-api/sdk')!; - const typeData = operationOptionsType({ file, operation, plugin: pluginSdk }); - return typeData; + return operationOptionsType({ file, operation, plugin: pluginSdk }); }; export const useTypeError = ({