@hey-api/openapi-ts 0.81.0 → 0.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,10 @@
1
- import { C as Comments, P as PluginHandler, a as Plugin, I as ImportExportItemObject, t as tsNodeToString, S as StringCase, U as UserConfig, L as Logger, b as Client, c as IR } from './types.d-CFCN8diW.js';
2
- export { j as Client, D as DefinePlugin, E as ExpressionTransformer, k as LegacyIR, O as OpenApi, d as OpenApiMetaObject, e as OpenApiOperationObject, f as OpenApiParameterObject, g as OpenApiRequestBodyObject, h as OpenApiResponseObject, i as OpenApiSchemaObject, T as TypeTransformer } from './types.d-CFCN8diW.js';
1
+ import { C as Comments, P as PluginHandler, a as Plugin, I as ImportExportItemObject, t as tsNodeToString, S as StringCase, U as UserConfig, L as Logger, b as Client$6, c as IR } from './types.d-kCNGz4sv.js';
2
+ export { j as Client, D as DefinePlugin, E as ExpressionTransformer, k as LegacyIR, O as OpenApi, d as OpenApiMetaObject, e as OpenApiOperationObject, f as OpenApiParameterObject, g as OpenApiRequestBodyObject, h as OpenApiResponseObject, i as OpenApiSchemaObject, T as TypeTransformer } from './types.d-kCNGz4sv.js';
3
+ import { HttpHeaders, HttpClient, HttpRequest, HttpResponse, HttpErrorResponse } from '@angular/common/http';
4
+ import { Injector } from '@angular/core';
5
+ import { CreateAxiosDefaults, AxiosStatic, AxiosInstance, AxiosRequestHeaders, AxiosResponse, AxiosError } from 'axios';
6
+ import { UseFetchOptions, AsyncDataOptions, useAsyncData, useFetch, useLazyAsyncData, useLazyFetch } from 'nuxt/app';
7
+ import { Ref } from 'vue';
3
8
  import * as typescript from 'typescript';
4
9
  import typescript__default from 'typescript';
5
10
  import 'semver';
@@ -35,6 +40,668 @@ type ObjectValue = {
35
40
  value: any;
36
41
  };
37
42
 
43
+ type AuthToken = string | undefined;
44
+ interface Auth {
45
+ /**
46
+ * Which part of the request do we use to send the auth?
47
+ *
48
+ * @default 'header'
49
+ */
50
+ in?: 'header' | 'query' | 'cookie';
51
+ /**
52
+ * Header or query parameter name.
53
+ *
54
+ * @default 'Authorization'
55
+ */
56
+ name?: string;
57
+ scheme?: 'basic' | 'bearer';
58
+ type: 'apiKey' | 'http';
59
+ }
60
+
61
+ interface SerializerOptions<T> {
62
+ /**
63
+ * @default true
64
+ */
65
+ explode: boolean;
66
+ style: T;
67
+ }
68
+ type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited';
69
+ type ObjectStyle = 'form' | 'deepObject';
70
+
71
+ type QuerySerializer$1 = (query: Record<string, unknown>) => string;
72
+ type BodySerializer = (body: any) => any;
73
+ interface QuerySerializerOptions {
74
+ allowReserved?: boolean;
75
+ array?: SerializerOptions<ArrayStyle>;
76
+ object?: SerializerOptions<ObjectStyle>;
77
+ }
78
+
79
+ type HttpMethod = 'connect' | 'delete' | 'get' | 'head' | 'options' | 'patch' | 'post' | 'put' | 'trace';
80
+ type Client$5<RequestFn = never, Config = unknown, MethodFn = never, BuildUrlFn = never, SseFn = never> = {
81
+ /**
82
+ * Returns the final request URL.
83
+ */
84
+ buildUrl: BuildUrlFn;
85
+ getConfig: () => Config;
86
+ request: RequestFn;
87
+ setConfig: (config: Config) => Config;
88
+ } & {
89
+ [K in HttpMethod]: MethodFn;
90
+ } & ([SseFn] extends [never] ? {
91
+ sse?: never;
92
+ } : {
93
+ sse: {
94
+ [K in HttpMethod]: SseFn;
95
+ };
96
+ });
97
+ interface Config$5 {
98
+ /**
99
+ * Auth token or a function returning auth token. The resolved value will be
100
+ * added to the request payload as defined by its `security` array.
101
+ */
102
+ auth?: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken;
103
+ /**
104
+ * A function for serializing request body parameter. By default,
105
+ * {@link JSON.stringify()} will be used.
106
+ */
107
+ bodySerializer?: BodySerializer | null;
108
+ /**
109
+ * An object containing any HTTP headers that you want to pre-populate your
110
+ * `Headers` object with.
111
+ *
112
+ * {@link https://developer.mozilla.org/docs/Web/API/Headers/Headers#init See more}
113
+ */
114
+ headers?: RequestInit['headers'] | Record<string, string | number | boolean | (string | number | boolean)[] | null | undefined | unknown>;
115
+ /**
116
+ * The request method.
117
+ *
118
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#method See more}
119
+ */
120
+ method?: Uppercase<HttpMethod>;
121
+ /**
122
+ * A function for serializing request query parameters. By default, arrays
123
+ * will be exploded in form style, objects will be exploded in deepObject
124
+ * style, and reserved characters are percent-encoded.
125
+ *
126
+ * This method will have no effect if the native `paramsSerializer()` Axios
127
+ * API function is used.
128
+ *
129
+ * {@link https://swagger.io/docs/specification/serialization/#query View examples}
130
+ */
131
+ querySerializer?: QuerySerializer$1 | QuerySerializerOptions;
132
+ /**
133
+ * A function validating request data. This is useful if you want to ensure
134
+ * the request conforms to the desired shape, so it can be safely sent to
135
+ * the server.
136
+ */
137
+ requestValidator?: (data: unknown) => Promise<unknown>;
138
+ /**
139
+ * A function transforming response data before it's returned. This is useful
140
+ * for post-processing data, e.g. converting ISO strings into Date objects.
141
+ */
142
+ responseTransformer?: (data: unknown) => Promise<unknown>;
143
+ /**
144
+ * A function validating response data. This is useful if you want to ensure
145
+ * the response conforms to the desired shape, so it can be safely passed to
146
+ * the transformers and returned to the user.
147
+ */
148
+ responseValidator?: (data: unknown) => Promise<unknown>;
149
+ }
150
+
151
+ type ServerSentEventsOptions<TData = unknown> = Omit<RequestInit, 'method'> & Pick<Config$5, 'method' | 'responseTransformer' | 'responseValidator'> & {
152
+ /**
153
+ * Fetch API implementation. You can use this option to provide a custom
154
+ * fetch instance.
155
+ *
156
+ * @default globalThis.fetch
157
+ */
158
+ fetch?: typeof fetch;
159
+ /**
160
+ * Implementing clients can call request interceptors inside this hook.
161
+ */
162
+ onRequest?: (url: string, init: RequestInit) => Promise<Request>;
163
+ /**
164
+ * Callback invoked when a network or parsing error occurs during streaming.
165
+ *
166
+ * This option applies only if the endpoint returns a stream of events.
167
+ *
168
+ * @param error The error that occurred.
169
+ */
170
+ onSseError?: (error: unknown) => void;
171
+ /**
172
+ * Callback invoked when an event is streamed from the server.
173
+ *
174
+ * This option applies only if the endpoint returns a stream of events.
175
+ *
176
+ * @param event Event streamed from the server.
177
+ * @returns Nothing (void).
178
+ */
179
+ onSseEvent?: (event: StreamEvent<TData>) => void;
180
+ serializedBody?: RequestInit['body'];
181
+ /**
182
+ * Default retry delay in milliseconds.
183
+ *
184
+ * This option applies only if the endpoint returns a stream of events.
185
+ *
186
+ * @default 3000
187
+ */
188
+ sseDefaultRetryDelay?: number;
189
+ /**
190
+ * Maximum number of retry attempts before giving up.
191
+ */
192
+ sseMaxRetryAttempts?: number;
193
+ /**
194
+ * Maximum retry delay in milliseconds.
195
+ *
196
+ * Applies only when exponential backoff is used.
197
+ *
198
+ * This option applies only if the endpoint returns a stream of events.
199
+ *
200
+ * @default 30000
201
+ */
202
+ sseMaxRetryDelay?: number;
203
+ /**
204
+ * Optional sleep function for retry backoff.
205
+ *
206
+ * Defaults to using `setTimeout`.
207
+ */
208
+ sseSleepFn?: (ms: number) => Promise<void>;
209
+ url: string;
210
+ };
211
+ interface StreamEvent<TData = unknown> {
212
+ data: TData;
213
+ event?: string;
214
+ id?: string;
215
+ retry?: number;
216
+ }
217
+ type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {
218
+ stream: AsyncGenerator<TData extends Record<string, unknown> ? TData[keyof TData] : TData, TReturn, TNext>;
219
+ };
220
+
221
+ type ErrInterceptor$2<Err, Res, Req, Options> = (error: Err, response: Res, request: Req, options: Options) => Err | Promise<Err>;
222
+ type ReqInterceptor$2<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
223
+ type ResInterceptor$2<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
224
+ declare class Interceptors$2<Interceptor> {
225
+ _fns: (Interceptor | null)[];
226
+ constructor();
227
+ clear(): void;
228
+ getInterceptorIndex(id: number | Interceptor): number;
229
+ exists(id: number | Interceptor): boolean;
230
+ eject(id: number | Interceptor): void;
231
+ update(id: number | Interceptor, fn: Interceptor): number | false | Interceptor;
232
+ use(fn: Interceptor): number;
233
+ }
234
+ interface Middleware$2<Req, Res, Err, Options> {
235
+ error: Pick<Interceptors$2<ErrInterceptor$2<Err, Res, Req, Options>>, 'eject' | 'use'>;
236
+ request: Pick<Interceptors$2<ReqInterceptor$2<Req, Options>>, 'eject' | 'use'>;
237
+ response: Pick<Interceptors$2<ResInterceptor$2<Res, Req, Options>>, 'eject' | 'use'>;
238
+ }
239
+
240
+ type ResponseStyle$1 = 'data' | 'fields';
241
+ interface Config$4<T extends ClientOptions$4 = ClientOptions$4> extends Omit<RequestInit, 'body' | 'headers' | 'method'>, Omit<Config$5, 'headers'> {
242
+ /**
243
+ * Base URL for all requests made by this client.
244
+ */
245
+ baseUrl?: T['baseUrl'];
246
+ /**
247
+ * An object containing any HTTP headers that you want to pre-populate your
248
+ * `HttpHeaders` object with.
249
+ *
250
+ * {@link https://angular.dev/api/common/http/HttpHeaders#constructor See more}
251
+ */
252
+ headers?: HttpHeaders | Record<string, string | number | boolean | (string | number | boolean)[] | null | undefined | unknown>;
253
+ /**
254
+ * The HTTP client to use for making requests.
255
+ */
256
+ httpClient?: HttpClient;
257
+ /**
258
+ * Should we return only data or multiple fields (data, error, response, etc.)?
259
+ *
260
+ * @default 'fields'
261
+ */
262
+ responseStyle?: ResponseStyle$1;
263
+ /**
264
+ * Throw an error instead of returning it in the response?
265
+ *
266
+ * @default false
267
+ */
268
+ throwOnError?: T['throwOnError'];
269
+ }
270
+ interface RequestOptions$4<TData = unknown, TResponseStyle extends ResponseStyle$1 = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends Config$4<{
271
+ responseStyle: TResponseStyle;
272
+ throwOnError: ThrowOnError;
273
+ }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
274
+ /**
275
+ * Any body that you want to add to your request.
276
+ *
277
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
278
+ */
279
+ body?: unknown;
280
+ /**
281
+ * Optional custom injector for dependency resolution if you don't implicitly or explicitly provide one.
282
+ */
283
+ injector?: Injector;
284
+ path?: Record<string, unknown>;
285
+ query?: Record<string, unknown>;
286
+ /**
287
+ * Security mechanism(s) to use for the request.
288
+ */
289
+ security?: ReadonlyArray<Auth>;
290
+ url: Url;
291
+ }
292
+ interface ResolvedRequestOptions$2<TResponseStyle extends ResponseStyle$1 = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions$4<unknown, TResponseStyle, ThrowOnError, Url> {
293
+ serializedBody?: string;
294
+ }
295
+ type RequestResult$4<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle$1 = 'fields'> = Promise<ThrowOnError extends true ? TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
296
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
297
+ request: HttpRequest<unknown>;
298
+ response: HttpResponse<TData>;
299
+ } : TResponseStyle extends 'data' ? (TData extends Record<string, unknown> ? TData[keyof TData] : TData) | undefined : {
300
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
301
+ error: undefined;
302
+ request: HttpRequest<unknown>;
303
+ response: HttpResponse<TData>;
304
+ } | {
305
+ data: undefined;
306
+ error: TError[keyof TError];
307
+ request: HttpRequest<unknown>;
308
+ response: HttpErrorResponse & {
309
+ error: TError[keyof TError] | null;
310
+ };
311
+ }>;
312
+ interface ClientOptions$4 {
313
+ baseUrl?: string;
314
+ responseStyle?: ResponseStyle$1;
315
+ throwOnError?: boolean;
316
+ }
317
+ type MethodFn$4 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$1 = 'fields'>(options: Omit<RequestOptions$4<TData, TResponseStyle, ThrowOnError>, 'method'>) => RequestResult$4<TData, TError, ThrowOnError, TResponseStyle>;
318
+ type SseFn$4 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$1 = 'fields'>(options: Omit<RequestOptions$4<TData, TResponseStyle, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
319
+ type RequestFn$4 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$1 = 'fields'>(options: Omit<RequestOptions$4<TData, TResponseStyle, ThrowOnError>, 'method'> & Pick<Required<RequestOptions$4<TData, TResponseStyle, ThrowOnError>>, 'method'>) => RequestResult$4<TData, TError, ThrowOnError, TResponseStyle>;
320
+ type RequestOptionsFn = <ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$1 = 'fields'>(options: RequestOptions$4<unknown, TResponseStyle, ThrowOnError>) => HttpRequest<unknown>;
321
+ type BuildUrlFn$4 = <TData extends {
322
+ body?: unknown;
323
+ path?: Record<string, unknown>;
324
+ query?: Record<string, unknown>;
325
+ url: string;
326
+ }>(options: Pick<TData, 'url'> & Options$4<TData>) => string;
327
+ type Client$4 = Client$5<RequestFn$4, Config$4, MethodFn$4, BuildUrlFn$4, SseFn$4> & {
328
+ interceptors: Middleware$2<HttpRequest<unknown>, HttpResponse<unknown>, unknown, ResolvedRequestOptions$2>;
329
+ requestOptions: RequestOptionsFn;
330
+ };
331
+ interface TDataShape$4 {
332
+ body?: unknown;
333
+ headers?: unknown;
334
+ path?: unknown;
335
+ query?: unknown;
336
+ url: string;
337
+ }
338
+ type OmitKeys$4<T, K> = Pick<T, Exclude<keyof T, K>>;
339
+ type Options$4<TData extends TDataShape$4 = TDataShape$4, ThrowOnError extends boolean = boolean, TResponse = unknown, TResponseStyle extends ResponseStyle$1 = 'fields'> = OmitKeys$4<RequestOptions$4<TResponse, TResponseStyle, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & Omit<TData, 'url'>;
340
+
341
+ interface Config$3<T extends ClientOptions$3 = ClientOptions$3> extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, Config$5 {
342
+ /**
343
+ * Axios implementation. You can use this option to provide either an
344
+ * `AxiosStatic` or an `AxiosInstance`.
345
+ *
346
+ * @default axios
347
+ */
348
+ axios?: AxiosStatic | AxiosInstance;
349
+ /**
350
+ * Base URL for all requests made by this client.
351
+ */
352
+ baseURL?: T['baseURL'];
353
+ /**
354
+ * An object containing any HTTP headers that you want to pre-populate your
355
+ * `Headers` object with.
356
+ *
357
+ * {@link https://developer.mozilla.org/docs/Web/API/Headers/Headers#init See more}
358
+ */
359
+ headers?: AxiosRequestHeaders | Record<string, string | number | boolean | (string | number | boolean)[] | null | undefined | unknown>;
360
+ /**
361
+ * Throw an error instead of returning it in the response?
362
+ *
363
+ * @default false
364
+ */
365
+ throwOnError?: T['throwOnError'];
366
+ }
367
+ interface RequestOptions$3<TData = unknown, ThrowOnError extends boolean = boolean, Url extends string = string> extends Config$3<{
368
+ throwOnError: ThrowOnError;
369
+ }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
370
+ /**
371
+ * Any body that you want to add to your request.
372
+ *
373
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
374
+ */
375
+ body?: unknown;
376
+ path?: Record<string, unknown>;
377
+ query?: Record<string, unknown>;
378
+ /**
379
+ * Security mechanism(s) to use for the request.
380
+ */
381
+ security?: ReadonlyArray<Auth>;
382
+ url: Url;
383
+ }
384
+ interface ClientOptions$3 {
385
+ baseURL?: string;
386
+ throwOnError?: boolean;
387
+ }
388
+ type RequestResult$3<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean> = ThrowOnError extends true ? Promise<AxiosResponse<TData extends Record<string, unknown> ? TData[keyof TData] : TData>> : Promise<(AxiosResponse<TData extends Record<string, unknown> ? TData[keyof TData] : TData> & {
389
+ error: undefined;
390
+ }) | (AxiosError<TError extends Record<string, unknown> ? TError[keyof TError] : TError> & {
391
+ data: undefined;
392
+ error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
393
+ })>;
394
+ type MethodFn$3 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$3<TData, ThrowOnError>, 'method'>) => RequestResult$3<TData, TError, ThrowOnError>;
395
+ type SseFn$3 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$3<TData, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
396
+ type RequestFn$3 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$3<TData, ThrowOnError>, 'method'> & Pick<Required<RequestOptions$3<TData, ThrowOnError>>, 'method'>) => RequestResult$3<TData, TError, ThrowOnError>;
397
+ type BuildUrlFn$3 = <TData extends {
398
+ body?: unknown;
399
+ path?: Record<string, unknown>;
400
+ query?: Record<string, unknown>;
401
+ url: string;
402
+ }>(options: Pick<TData, 'url'> & Omit<Options$3<TData>, 'axios'>) => string;
403
+ type Client$3 = Client$5<RequestFn$3, Config$3, MethodFn$3, BuildUrlFn$3, SseFn$3> & {
404
+ instance: AxiosInstance;
405
+ };
406
+ interface TDataShape$3 {
407
+ body?: unknown;
408
+ headers?: unknown;
409
+ path?: unknown;
410
+ query?: unknown;
411
+ url: string;
412
+ }
413
+ type OmitKeys$3<T, K> = Pick<T, Exclude<keyof T, K>>;
414
+ type Options$3<TData extends TDataShape$3 = TDataShape$3, ThrowOnError extends boolean = boolean, TResponse = unknown> = OmitKeys$3<RequestOptions$3<TResponse, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & Omit<TData, 'url'>;
415
+
416
+ type ErrInterceptor$1<Err, Res, Req, Options> = (error: Err, response: Res, request: Req, options: Options) => Err | Promise<Err>;
417
+ type ReqInterceptor$1<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
418
+ type ResInterceptor$1<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
419
+ declare class Interceptors$1<Interceptor> {
420
+ _fns: (Interceptor | null)[];
421
+ constructor();
422
+ clear(): void;
423
+ getInterceptorIndex(id: number | Interceptor): number;
424
+ exists(id: number | Interceptor): boolean;
425
+ eject(id: number | Interceptor): void;
426
+ update(id: number | Interceptor, fn: Interceptor): number | false | Interceptor;
427
+ use(fn: Interceptor): number;
428
+ }
429
+ interface Middleware$1<Req, Res, Err, Options> {
430
+ error: Pick<Interceptors$1<ErrInterceptor$1<Err, Res, Req, Options>>, 'eject' | 'use'>;
431
+ request: Pick<Interceptors$1<ReqInterceptor$1<Req, Options>>, 'eject' | 'use'>;
432
+ response: Pick<Interceptors$1<ResInterceptor$1<Res, Req, Options>>, 'eject' | 'use'>;
433
+ }
434
+
435
+ type ResponseStyle = 'data' | 'fields';
436
+ interface Config$2<T extends ClientOptions$2 = ClientOptions$2> extends Omit<RequestInit, 'body' | 'headers' | 'method'>, Config$5 {
437
+ /**
438
+ * Base URL for all requests made by this client.
439
+ */
440
+ baseUrl?: T['baseUrl'];
441
+ /**
442
+ * Fetch API implementation. You can use this option to provide a custom
443
+ * fetch instance.
444
+ *
445
+ * @default globalThis.fetch
446
+ */
447
+ fetch?: typeof fetch;
448
+ /**
449
+ * Please don't use the Fetch client for Next.js applications. The `next`
450
+ * options won't have any effect.
451
+ *
452
+ * Install {@link https://www.npmjs.com/package/@hey-api/client-next `@hey-api/client-next`} instead.
453
+ */
454
+ next?: never;
455
+ /**
456
+ * Return the response data parsed in a specified format. By default, `auto`
457
+ * will infer the appropriate method from the `Content-Type` response header.
458
+ * You can override this behavior with any of the {@link Body} methods.
459
+ * Select `stream` if you don't want to parse response data at all.
460
+ *
461
+ * @default 'auto'
462
+ */
463
+ parseAs?: 'arrayBuffer' | 'auto' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
464
+ /**
465
+ * Should we return only data or multiple fields (data, error, response, etc.)?
466
+ *
467
+ * @default 'fields'
468
+ */
469
+ responseStyle?: ResponseStyle;
470
+ /**
471
+ * Throw an error instead of returning it in the response?
472
+ *
473
+ * @default false
474
+ */
475
+ throwOnError?: T['throwOnError'];
476
+ }
477
+ interface RequestOptions$2<TData = unknown, TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends Config$2<{
478
+ responseStyle: TResponseStyle;
479
+ throwOnError: ThrowOnError;
480
+ }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
481
+ /**
482
+ * Any body that you want to add to your request.
483
+ *
484
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
485
+ */
486
+ body?: unknown;
487
+ path?: Record<string, unknown>;
488
+ query?: Record<string, unknown>;
489
+ /**
490
+ * Security mechanism(s) to use for the request.
491
+ */
492
+ security?: ReadonlyArray<Auth>;
493
+ url: Url;
494
+ }
495
+ interface ResolvedRequestOptions$1<TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions$2<unknown, TResponseStyle, ThrowOnError, Url> {
496
+ serializedBody?: string;
497
+ }
498
+ type RequestResult$2<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle = 'fields'> = ThrowOnError extends true ? Promise<TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
499
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
500
+ request: Request;
501
+ response: Response;
502
+ }> : Promise<TResponseStyle extends 'data' ? (TData extends Record<string, unknown> ? TData[keyof TData] : TData) | undefined : ({
503
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
504
+ error: undefined;
505
+ } | {
506
+ data: undefined;
507
+ error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
508
+ }) & {
509
+ request: Request;
510
+ response: Response;
511
+ }>;
512
+ interface ClientOptions$2 {
513
+ baseUrl?: string;
514
+ responseStyle?: ResponseStyle;
515
+ throwOnError?: boolean;
516
+ }
517
+ type MethodFn$2 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions$2<TData, TResponseStyle, ThrowOnError>, 'method'>) => RequestResult$2<TData, TError, ThrowOnError, TResponseStyle>;
518
+ type SseFn$2 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions$2<TData, TResponseStyle, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
519
+ type RequestFn$2 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions$2<TData, TResponseStyle, ThrowOnError>, 'method'> & Pick<Required<RequestOptions$2<TData, TResponseStyle, ThrowOnError>>, 'method'>) => RequestResult$2<TData, TError, ThrowOnError, TResponseStyle>;
520
+ type BuildUrlFn$2 = <TData extends {
521
+ body?: unknown;
522
+ path?: Record<string, unknown>;
523
+ query?: Record<string, unknown>;
524
+ url: string;
525
+ }>(options: Pick<TData, 'url'> & Options$2<TData>) => string;
526
+ type Client$2 = Client$5<RequestFn$2, Config$2, MethodFn$2, BuildUrlFn$2, SseFn$2> & {
527
+ interceptors: Middleware$1<Request, Response, unknown, ResolvedRequestOptions$1>;
528
+ };
529
+ interface TDataShape$2 {
530
+ body?: unknown;
531
+ headers?: unknown;
532
+ path?: unknown;
533
+ query?: unknown;
534
+ url: string;
535
+ }
536
+ type OmitKeys$2<T, K> = Pick<T, Exclude<keyof T, K>>;
537
+ type Options$2<TData extends TDataShape$2 = TDataShape$2, ThrowOnError extends boolean = boolean, TResponse = unknown, TResponseStyle extends ResponseStyle = 'fields'> = OmitKeys$2<RequestOptions$2<TResponse, TResponseStyle, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & Omit<TData, 'url'>;
538
+
539
+ type ErrInterceptor<Err, Res, Options> = (error: Err, response: Res, options: Options) => Err | Promise<Err>;
540
+ type ReqInterceptor<Options> = (options: Options) => void | Promise<void>;
541
+ type ResInterceptor<Res, Options> = (response: Res, options: Options) => Res | Promise<Res>;
542
+ declare class Interceptors<Interceptor> {
543
+ _fns: (Interceptor | null)[];
544
+ constructor();
545
+ clear(): void;
546
+ getInterceptorIndex(id: number | Interceptor): number;
547
+ exists(id: number | Interceptor): boolean;
548
+ eject(id: number | Interceptor): void;
549
+ update(id: number | Interceptor, fn: Interceptor): number | false | Interceptor;
550
+ use(fn: Interceptor): number;
551
+ }
552
+ interface Middleware<Res, Err, Options> {
553
+ error: Pick<Interceptors<ErrInterceptor<Err, Res, Options>>, 'eject' | 'use'>;
554
+ request: Pick<Interceptors<ReqInterceptor<Options>>, 'eject' | 'use'>;
555
+ response: Pick<Interceptors<ResInterceptor<Res, Options>>, 'eject' | 'use'>;
556
+ }
557
+
558
+ interface Config$1<T extends ClientOptions$1 = ClientOptions$1> extends Omit<RequestInit, 'body' | 'headers' | 'method'>, Config$5 {
559
+ /**
560
+ * Base URL for all requests made by this client.
561
+ */
562
+ baseUrl?: T['baseUrl'];
563
+ /**
564
+ * Fetch API implementation. You can use this option to provide a custom
565
+ * fetch instance.
566
+ *
567
+ * @default globalThis.fetch
568
+ */
569
+ fetch?: typeof fetch;
570
+ /**
571
+ * Return the response data parsed in a specified format. By default, `auto`
572
+ * will infer the appropriate method from the `Content-Type` response header.
573
+ * You can override this behavior with any of the {@link Body} methods.
574
+ * Select `stream` if you don't want to parse response data at all.
575
+ *
576
+ * @default 'auto'
577
+ */
578
+ parseAs?: 'arrayBuffer' | 'auto' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
579
+ /**
580
+ * Throw an error instead of returning it in the response?
581
+ *
582
+ * @default false
583
+ */
584
+ throwOnError?: T['throwOnError'];
585
+ }
586
+ interface RequestOptions$1<TData = unknown, ThrowOnError extends boolean = boolean, Url extends string = string> extends Config$1<{
587
+ throwOnError: ThrowOnError;
588
+ }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
589
+ /**
590
+ * Any body that you want to add to your request.
591
+ *
592
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
593
+ */
594
+ body?: unknown;
595
+ path?: Record<string, unknown>;
596
+ query?: Record<string, unknown>;
597
+ /**
598
+ * Security mechanism(s) to use for the request.
599
+ */
600
+ security?: ReadonlyArray<Auth>;
601
+ url: Url;
602
+ }
603
+ interface ResolvedRequestOptions<ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions$1<unknown, ThrowOnError, Url> {
604
+ serializedBody?: string;
605
+ }
606
+ type RequestResult$1<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean> = ThrowOnError extends true ? Promise<{
607
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
608
+ response: Response;
609
+ }> : Promise<({
610
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
611
+ error: undefined;
612
+ } | {
613
+ data: undefined;
614
+ error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
615
+ }) & {
616
+ response: Response;
617
+ }>;
618
+ interface ClientOptions$1 {
619
+ baseUrl?: string;
620
+ throwOnError?: boolean;
621
+ }
622
+ type MethodFn$1 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$1<TData, ThrowOnError>, 'method'>) => RequestResult$1<TData, TError, ThrowOnError>;
623
+ type SseFn$1 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$1<TData, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
624
+ type RequestFn$1 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$1<TData, ThrowOnError>, 'method'> & Pick<Required<RequestOptions$1<TData, ThrowOnError>>, 'method'>) => RequestResult$1<TData, TError, ThrowOnError>;
625
+ type BuildUrlFn$1 = <TData extends {
626
+ body?: unknown;
627
+ path?: Record<string, unknown>;
628
+ query?: Record<string, unknown>;
629
+ url: string;
630
+ }>(options: Pick<TData, 'url'> & Options$1<TData>) => string;
631
+ type Client$1 = Client$5<RequestFn$1, Config$1, MethodFn$1, BuildUrlFn$1, SseFn$1> & {
632
+ interceptors: Middleware<Response, unknown, ResolvedRequestOptions>;
633
+ };
634
+ interface TDataShape$1 {
635
+ body?: unknown;
636
+ headers?: unknown;
637
+ path?: unknown;
638
+ query?: unknown;
639
+ url: string;
640
+ }
641
+ type OmitKeys$1<T, K> = Pick<T, Exclude<keyof T, K>>;
642
+ type Options$1<TData extends TDataShape$1 = TDataShape$1, ThrowOnError extends boolean = boolean, TResponse = unknown> = OmitKeys$1<RequestOptions$1<TResponse, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & Omit<TData, 'url'>;
643
+
644
+ type QuerySerializer = (query: Parameters<Client['buildUrl']>[0]['query']) => string;
645
+ type WithRefs<TData> = {
646
+ [K in keyof TData]: NonNullable<TData[K]> extends object ? WithRefs<NonNullable<TData[K]>> | Ref<NonNullable<TData[K]>> : NonNullable<TData[K]> | Ref<NonNullable<TData[K]>>;
647
+ };
648
+ type KeysOf<T> = Array<T extends T ? (keyof T extends string ? keyof T : never) : never>;
649
+ interface Config<T extends ClientOptions = ClientOptions> extends Omit<FetchOptions<unknown>, 'baseURL' | 'body' | 'headers' | 'method' | 'query'>, WithRefs<Pick<FetchOptions<unknown>, 'query'>>, Omit<Config$5, 'querySerializer'> {
650
+ /**
651
+ * Base URL for all requests made by this client.
652
+ */
653
+ baseURL?: T['baseURL'];
654
+ /**
655
+ * A function for serializing request query parameters. By default, arrays
656
+ * will be exploded in form style, objects will be exploded in deepObject
657
+ * style, and reserved characters are percent-encoded.
658
+ *
659
+ * {@link https://swagger.io/docs/specification/serialization/#query View examples}
660
+ */
661
+ querySerializer?: QuerySerializer | QuerySerializerOptions;
662
+ }
663
+ interface RequestOptions<TComposable extends Composable = Composable, ResT = unknown, DefaultT = undefined, Url extends string = string> extends Config, WithRefs<{
664
+ /**
665
+ * Any body that you want to add to your request.
666
+ *
667
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
668
+ */
669
+ body?: unknown;
670
+ path?: FetchOptions<unknown>['query'];
671
+ query?: FetchOptions<unknown>['query'];
672
+ rawBody?: unknown;
673
+ }>, Pick<ServerSentEventsOptions<ResT>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
674
+ asyncDataOptions?: AsyncDataOptions<ResT, ResT, KeysOf<ResT>, DefaultT>;
675
+ composable: TComposable;
676
+ key?: string;
677
+ /**
678
+ * Security mechanism(s) to use for the request.
679
+ */
680
+ security?: ReadonlyArray<Auth>;
681
+ url: Url;
682
+ }
683
+ type RequestResult<TComposable extends Composable, ResT, TError> = TComposable extends '$fetch' ? ReturnType<typeof $fetch<ResT>> : TComposable extends 'useAsyncData' ? ReturnType<typeof useAsyncData<ResT | null, TError>> : TComposable extends 'useFetch' ? ReturnType<typeof useFetch<ResT | null, TError>> : TComposable extends 'useLazyAsyncData' ? ReturnType<typeof useLazyAsyncData<ResT | null, TError>> : TComposable extends 'useLazyFetch' ? ReturnType<typeof useLazyFetch<ResT | null, TError>> : never;
684
+ interface ClientOptions {
685
+ baseURL?: string;
686
+ }
687
+ type MethodFn = <TComposable extends Composable, ResT = unknown, TError = unknown, DefaultT = undefined>(options: Omit<RequestOptions<TComposable, ResT, DefaultT>, 'method'>) => RequestResult<TComposable, ResT, TError>;
688
+ type SseFn = <TComposable extends Composable, ResT = unknown, TError = unknown, DefaultT = undefined>(options: Omit<RequestOptions<TComposable, ResT, DefaultT>, 'method'>) => Promise<ServerSentEventsResult<RequestResult<TComposable, ResT, TError>>>;
689
+ type RequestFn = <TComposable extends Composable, ResT = unknown, TError = unknown, DefaultT = undefined>(options: Omit<RequestOptions<TComposable, ResT, DefaultT>, 'method'> & Pick<Required<RequestOptions<TComposable, ResT, DefaultT>>, 'method'>) => RequestResult<TComposable, ResT, TError>;
690
+ interface TDataShape {
691
+ body?: unknown;
692
+ headers?: unknown;
693
+ path?: FetchOptions<unknown>['query'];
694
+ query?: FetchOptions<unknown>['query'];
695
+ url: string;
696
+ }
697
+ type BuildUrlOptions<TData extends Omit<TDataShape, 'headers'> = Omit<TDataShape, 'headers'>> = Pick<WithRefs<TData>, 'path' | 'query'> & Pick<TData, 'url'> & Pick<Options<'$fetch', TData>, 'baseURL' | 'querySerializer'>;
698
+ type BuildUrlFn = <TData extends Omit<TDataShape, 'headers'>>(options: BuildUrlOptions<TData>) => string;
699
+ type Client = Client$5<RequestFn, Config, MethodFn, BuildUrlFn, SseFn>;
700
+ type OmitKeys<T, K> = Pick<T, Exclude<keyof T, K>>;
701
+ type Options<TComposable extends Composable, TData extends TDataShape = TDataShape, ResT = unknown, DefaultT = undefined> = OmitKeys<RequestOptions<TComposable, ResT, DefaultT>, 'body' | 'path' | 'query' | 'url'> & WithRefs<Omit<TData, 'url'>>;
702
+ type FetchOptions<TData> = Omit<UseFetchOptions<TData, TData>, keyof AsyncDataOptions<TData>>;
703
+ type Composable = '$fetch' | 'useAsyncData' | 'useFetch' | 'useLazyAsyncData' | 'useLazyFetch';
704
+
38
705
  declare const defaultPaginationKeywords: readonly ["after", "before", "cursor", "offset", "page", "start"];
39
706
 
40
707
  /**
@@ -697,10 +1364,10 @@ type Configs = UserConfig | (() => UserConfig) | (() => Promise<UserConfig>);
697
1364
  *
698
1365
  * @param userConfig User provided {@link UserConfig} configuration.
699
1366
  */
700
- declare const createClient: (userConfig?: Configs, logger?: Logger) => Promise<ReadonlyArray<Client | IR.Context>>;
1367
+ declare const createClient: (userConfig?: Configs, logger?: Logger) => Promise<ReadonlyArray<Client$6 | IR.Context>>;
701
1368
  /**
702
1369
  * Type helper for openapi-ts.config.ts, returns {@link UserConfig} object
703
1370
  */
704
1371
  declare const defineConfig: (config: Configs) => Promise<UserConfig>;
705
1372
 
706
- export { IR, Logger, Plugin, UserConfig, clientDefaultConfig, clientDefaultMeta, clientPluginHandler, compiler, createClient, defaultPaginationKeywords, defaultPlugins, defineConfig, definePluginConfig, tsc, utils };
1373
+ export { type Client$4 as AngularClient, type Client$3 as AxiosClient, type Client$2 as FetchClient, IR, Logger, type Client$1 as NextClient, type Client as NuxtClient, Plugin, UserConfig, clientDefaultConfig, clientDefaultMeta, clientPluginHandler, compiler, createClient, defaultPaginationKeywords, defaultPlugins, defineConfig, definePluginConfig, tsc, utils };