@hey-api/openapi-ts 0.86.11 → 0.87.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.
Files changed (39) hide show
  1. package/README.md +8 -14
  2. package/dist/clients/angular/types.ts +2 -2
  3. package/dist/clients/axios/types.ts +2 -2
  4. package/dist/clients/core/params.ts +34 -11
  5. package/dist/clients/fetch/types.ts +2 -2
  6. package/dist/clients/next/types.ts +2 -2
  7. package/dist/clients/nuxt/types.ts +1 -1
  8. package/dist/clients/ofetch/types.ts +2 -2
  9. package/dist/{types-CFT9BYmF.d.ts → config-B2o9ax_a.d.cts} +1607 -3076
  10. package/dist/{types-Bxdq98WE.d.cts → config-oAoGatJ7.d.ts} +1770 -2369
  11. package/dist/index.cjs +1 -1
  12. package/dist/index.d.cts +575 -140
  13. package/dist/index.d.ts +439 -878
  14. package/dist/index.js +1 -1
  15. package/dist/internal.cjs +1 -1
  16. package/dist/internal.d.cts +38 -1
  17. package/dist/internal.d.ts +38 -1
  18. package/dist/internal.js +1 -1
  19. package/dist/openApi-BWD76jue.cjs +21 -0
  20. package/dist/openApi-BWD76jue.cjs.map +1 -0
  21. package/dist/openApi-DXfWYPpF.js +21 -0
  22. package/dist/openApi-DXfWYPpF.js.map +1 -0
  23. package/dist/run.cjs +1 -1
  24. package/dist/run.cjs.map +1 -1
  25. package/dist/run.js +1 -1
  26. package/dist/run.js.map +1 -1
  27. package/dist/src-CTUbY-zd.js +11 -0
  28. package/dist/src-CTUbY-zd.js.map +1 -0
  29. package/dist/src-H1fIt1p4.cjs +19 -0
  30. package/dist/src-H1fIt1p4.cjs.map +1 -0
  31. package/package.json +2 -5
  32. package/dist/getSpec-NJ6vig64.js +0 -25
  33. package/dist/getSpec-NJ6vig64.js.map +0 -1
  34. package/dist/getSpec-ekNG3x72.cjs +0 -25
  35. package/dist/getSpec-ekNG3x72.cjs.map +0 -1
  36. package/dist/src-C4Q2-7Ic.js +0 -1310
  37. package/dist/src-C4Q2-7Ic.js.map +0 -1
  38. package/dist/src-Cu5Xi-FZ.cjs +0 -1318
  39. package/dist/src-Cu5Xi-FZ.cjs.map +0 -1
@@ -1,11 +1,13 @@
1
1
  import { IProject, Project, Symbol, SymbolIdentifier, SymbolIn, SymbolMeta } from "@hey-api/codegen-core";
2
- import fs from "node:fs";
3
2
  import ts from "typescript";
4
3
  import { RangeOptions, SemVer } from "semver";
4
+ import { HttpClient, HttpErrorResponse, HttpHeaders, HttpRequest, HttpResponse } from "@angular/common/http";
5
+ import { Injector } from "@angular/core";
6
+ import { AxiosError, AxiosInstance, AxiosRequestHeaders, AxiosResponse, AxiosStatic, CreateAxiosDefaults } from "axios";
7
+ import { AsyncDataOptions, UseFetchOptions, useAsyncData, useFetch, useLazyAsyncData, useLazyFetch } from "nuxt/app";
8
+ import { Ref } from "vue";
9
+ import { FetchOptions, ResponseType, ofetch } from "ofetch";
5
10
 
6
- //#region rolldown:runtime
7
-
8
- //#endregion
9
11
  //#region src/plugins/shared/types/refs.d.ts
10
12
  /**
11
13
  * Ref wrapper which ensures a stable reference for a value.
@@ -17,8 +19,8 @@ import { RangeOptions, SemVer } from "semver";
17
19
  * console.log(num.value); // 42
18
20
  * ```
19
21
  */
20
- type Ref<T$1> = {
21
- value: T$1;
22
+ type Ref$1<T> = {
23
+ value: T;
22
24
  };
23
25
 
24
26
  /**
@@ -41,7 +43,7 @@ type Ref<T$1> = {
41
43
  * console.log(refs.a.value, refs.b.value); // 1 'x'
42
44
  * ```
43
45
  */
44
- type ToRefs<T$1> = { [K in keyof T$1]: Ref<T$1[K]> };
46
+ type ToRefs<T> = { [K in keyof T]: Ref$1<T[K]> };
45
47
  //#endregion
46
48
  //#region src/openApi/shared/types/openapi-spec-extensions.d.ts
47
49
  interface EnumExtensions {
@@ -58,514 +60,16 @@ interface EnumExtensions {
58
60
  */
59
61
  'x-enumNames'?: ReadonlyArray<string>;
60
62
  }
61
- declare namespace types_d_exports {
62
- export { AccessLevel, FunctionParameter, FunctionTypeParameter, ObjectValue, SyntaxKindKeyword, createAnonymousFunction, createArrayLiteralExpression, createArrowFunction, createAsExpression, createAssignment, createAwaitExpression, createBlock, createConditionalExpression, createEnumDeclaration, createForOfStatement, createFunctionTypeNode, createGetAccessorDeclaration, createIndexedAccessTypeNode, createKeywordTypeNode, createLiteralTypeNode, createMappedTypeNode, createNamespaceDeclaration, createNewExpression, createNull, createObjectType, createParameterDeclaration, createPropertyAccessChain, createPropertyAccessExpression, createPropertyAssignment, createRegularExpressionLiteral, createStringLiteral, createTemplateLiteralType, createTypeAliasDeclaration, createTypeNode, createTypeOfExpression, createTypeOperatorNode, createTypeParameterDeclaration, createTypeParenthesizedNode, createTypeReferenceNode, syntaxKindKeyword, toExpression, toParameterDeclarations, toTypeParameters };
63
- }
64
- type AccessLevel = 'private' | 'protected' | 'public';
65
- type FunctionParameter = {
66
- accessLevel?: AccessLevel;
67
- default?: any;
68
- isReadOnly?: boolean;
69
- isRequired?: boolean;
70
- name: string;
71
- type?: any | ts.TypeNode;
72
- } | {
73
- destructure: ReadonlyArray<FunctionParameter>;
74
- type?: any | ts.TypeNode;
75
- };
76
- interface FunctionTypeParameter {
77
- default?: any;
78
- extends?: string | ts.TypeNode;
79
- name: string | ts.Identifier;
80
- }
81
- declare const createTypeNode: (base: any | ts.TypeNode, args?: (any | ts.TypeNode)[]) => ts.TypeNode;
82
- declare const createPropertyAccessChain: ({
83
- expression,
84
- name
85
- }: {
86
- expression: ts.Expression;
87
- name: string | ts.MemberName;
88
- }) => ts.PropertyAccessChain;
89
- declare const createPropertyAccessExpression: ({
90
- expression,
91
- isOptional,
92
- name
93
- }: {
94
- expression: string | ts.Expression;
95
- isOptional?: boolean;
96
- name: string | number | ts.MemberName;
97
- }) => ts.PropertyAccessChain | ts.PropertyAccessExpression | ts.ElementAccessExpression;
98
- declare const createNull: () => ts.NullLiteral;
99
- /**
100
- * Convert an unknown value to an expression.
101
- * @param identifiers - list of keys that are treated as identifiers.
102
- * @param shorthand - if shorthand syntax is allowed.
103
- * @param unescape - if string should be unescaped.
104
- * @param value - the unknown value.
105
- * @returns ts.Expression
106
- */
107
- declare const toExpression: <T = unknown>({
108
- identifiers,
109
- isValueAccess,
110
- shorthand,
111
- unescape,
112
- value
113
- }: {
114
- identifiers?: string[];
115
- isValueAccess?: boolean;
116
- shorthand?: boolean;
117
- unescape?: boolean;
118
- value: T;
119
- }) => ts.Expression | undefined;
120
- /**
121
- * Convert parameters to the declaration array expected by TypeScript
122
- * Compiler API.
123
- * @param parameters - the parameters to convert to declarations
124
- * @returns ts.ParameterDeclaration[]
125
- */
126
- declare const toParameterDeclarations: (parameters: ReadonlyArray<FunctionParameter>) => ts.ParameterDeclaration[];
127
- type SyntaxKindKeyword = 'any' | 'async' | 'boolean' | 'export' | 'never' | 'number' | 'private' | 'protected' | 'public' | 'readonly' | 'static' | 'string' | 'undefined' | 'unknown' | 'void';
128
- declare const syntaxKindKeyword: <T extends SyntaxKindKeyword>({
129
- keyword
130
- }: {
131
- keyword: T;
132
- }) => T extends "protected" ? ts.SyntaxKind.ProtectedKeyword : T extends "public" ? ts.SyntaxKind.PublicKeyword : T extends "private" ? ts.SyntaxKind.PrivateKeyword : T extends "export" ? ts.SyntaxKind.ExportKeyword : T extends "async" ? ts.SyntaxKind.ExportKeyword : T extends "readonly" ? ts.SyntaxKind.ExportKeyword : T extends "static" ? ts.SyntaxKind.ExportKeyword : ts.SyntaxKind.AnyKeyword | ts.SyntaxKind.BooleanKeyword | ts.SyntaxKind.NeverKeyword | ts.SyntaxKind.NumberKeyword | ts.SyntaxKind.StringKeyword | ts.SyntaxKind.UndefinedKeyword | ts.SyntaxKind.UnknownKeyword | ts.SyntaxKind.VoidKeyword;
133
- declare const createKeywordTypeNode: ({
134
- keyword
135
- }: {
136
- keyword: Extract<SyntaxKindKeyword, "any" | "boolean" | "never" | "number" | "string" | "undefined" | "unknown" | "void">;
137
- }) => ts.KeywordTypeNode<ts.SyntaxKind.VoidKeyword | ts.SyntaxKind.AnyKeyword | ts.SyntaxKind.BooleanKeyword | ts.SyntaxKind.NeverKeyword | ts.SyntaxKind.NumberKeyword | ts.SyntaxKind.StringKeyword | ts.SyntaxKind.UndefinedKeyword | ts.SyntaxKind.UnknownKeyword>;
138
- declare const toTypeParameters: (types: (FunctionTypeParameter | ts.TypeParameterDeclaration)[]) => ts.TypeParameterDeclaration[];
139
- declare const createTypeOperatorNode: ({
140
- operator,
141
- type
142
- }: {
143
- operator: "keyof" | "readonly" | "unique";
144
- type: ts.TypeNode;
145
- }) => ts.TypeOperatorNode;
146
- declare const createTypeParameterDeclaration: ({
147
- constraint,
148
- defaultType,
149
- modifiers,
150
- name
151
- }: {
152
- constraint?: ts.TypeNode;
153
- defaultType?: ts.TypeNode;
154
- modifiers?: Array<ts.Modifier>;
155
- name: string | ts.Identifier;
156
- }) => ts.TypeParameterDeclaration;
157
- declare const createMappedTypeNode: ({
158
- members,
159
- nameType,
160
- questionToken,
161
- readonlyToken,
162
- type,
163
- typeParameter
164
- }: {
165
- members?: ts.NodeArray<ts.TypeElement>;
166
- nameType?: ts.TypeNode;
167
- questionToken?: ts.QuestionToken | ts.PlusToken | ts.MinusToken;
168
- readonlyToken?: ts.ReadonlyKeyword | ts.PlusToken | ts.MinusToken;
169
- type?: ts.TypeNode;
170
- typeParameter: ts.TypeParameterDeclaration;
171
- }) => ts.MappedTypeNode;
172
- declare const createLiteralTypeNode: ({
173
- literal
174
- }: {
175
- literal: ts.LiteralTypeNode["literal"];
176
- }) => ts.LiteralTypeNode;
177
- /**
178
- * Create arrow function type expression.
179
- */
180
- declare const createArrowFunction: ({
181
- async,
182
- comment,
183
- multiLine,
184
- parameters,
185
- returnType,
186
- statements,
187
- types
188
- }: {
189
- async?: boolean;
190
- comment?: Comments;
191
- multiLine?: boolean;
192
- parameters?: ReadonlyArray<FunctionParameter>;
193
- returnType?: string | ts.TypeNode;
194
- statements?: ts.Statement[] | ts.Expression;
195
- types?: FunctionTypeParameter[];
196
- }) => ts.ArrowFunction;
197
- /**
198
- * Create anonymous function type expression.
199
- */
200
- declare const createAnonymousFunction: ({
201
- async,
202
- comment,
203
- multiLine,
204
- parameters,
205
- returnType,
206
- statements,
207
- types
208
- }: {
209
- async?: boolean;
210
- comment?: Comments;
211
- multiLine?: boolean;
212
- parameters?: FunctionParameter[];
213
- returnType?: string | ts.TypeNode;
214
- statements?: ReadonlyArray<ts.Statement>;
215
- types?: FunctionTypeParameter[];
216
- }) => ts.FunctionExpression;
217
- /**
218
- * Create Array type expression.
219
- */
220
- declare const createArrayLiteralExpression: <T>({
221
- elements,
222
- multiLine
223
- }: {
224
- /**
225
- * The array to create.
226
- */
227
- elements: T[];
228
- /**
229
- * Should the array be multi line?
230
- *
231
- * @default false
232
- */
233
- multiLine?: boolean;
234
- }) => ts.ArrayLiteralExpression;
235
- declare const createAwaitExpression: ({
236
- expression
237
- }: {
238
- expression: ts.Expression;
239
- }) => ts.AwaitExpression;
240
- declare const createFunctionTypeNode: ({
241
- parameters,
242
- returnType,
243
- typeParameters
244
- }: {
245
- parameters?: ts.ParameterDeclaration[];
246
- returnType: ts.TypeNode;
247
- typeParameters?: ts.TypeParameterDeclaration[];
248
- }) => ts.FunctionTypeNode;
249
- type ObjectValue = {
250
- assertion?: 'any' | ts.TypeNode;
251
- comments?: Comments;
252
- spread: string;
253
- } | {
254
- comments?: Comments;
255
- isValueAccess?: boolean;
256
- key: string;
257
- shorthand?: boolean;
258
- value: any;
259
- };
260
- /**
261
- * Create Object type expression.
262
- * @param comments - comments to add to each property.
263
- * @param identifier - keys that should be treated as identifiers.
264
- * @param multiLine - if the object should be multiline.
265
- * @param obj - the object to create expression with.
266
- * @param shorthand - if shorthand syntax should be used.
267
- * @param unescape - if properties strings should be unescaped.
268
- * @returns ts.ObjectLiteralExpression
269
- */
270
- declare const createObjectType: <T extends Record<string, any> | Array<ObjectValue>>({
271
- comments,
272
- identifiers,
273
- multiLine,
274
- obj,
275
- shorthand,
276
- unescape
277
- }: {
278
- comments?: Comments;
279
- identifiers?: string[];
280
- multiLine?: boolean;
281
- obj: T;
282
- shorthand?: boolean;
283
- unescape?: boolean;
284
- }) => ts.ObjectLiteralExpression;
285
- /**
286
- * Create enum declaration. Example `export enum T = { X, Y };`
287
- * @param asConst - whether to use const enums.
288
- * @param comments - comments to add to each property.
289
- * @param leadingComment - leading comment to add to enum.
290
- * @param name - the name of the enum.
291
- * @param obj - the object representing the enum.
292
- * @returns ts.EnumDeclaration
293
- */
294
- declare const createEnumDeclaration: <T extends Record<string, any> | Array<ObjectValue>>({
295
- asConst,
296
- comments: enumMemberComments,
297
- leadingComment: comments,
298
- name,
299
- obj
300
- }: {
301
- asConst: boolean;
302
- comments?: Record<string | number, Comments>;
303
- leadingComment?: Comments;
304
- name: string | ts.TypeReferenceNode;
305
- obj: T;
306
- }) => ts.EnumDeclaration;
307
- /**
308
- * Create namespace declaration. Example `export namespace MyNamespace { ... }`
309
- * @param name - the name of the namespace.
310
- * @param nodes - the nodes in the namespace.
311
- * @returns
312
- */
313
- declare const createNamespaceDeclaration: ({
314
- name,
315
- statements
316
- }: {
317
- name: string;
318
- statements: Array<ts.Statement>;
319
- }) => ts.ModuleDeclaration;
320
- declare const createIndexedAccessTypeNode: ({
321
- indexType,
322
- objectType
323
- }: {
324
- indexType: ts.TypeNode;
325
- objectType: ts.TypeNode;
326
- }) => ts.IndexedAccessTypeNode;
327
- declare const createGetAccessorDeclaration: ({
328
- name,
329
- returnType,
330
- statements
331
- }: {
332
- name: string | ts.PropertyName;
333
- returnType?: string | ts.Identifier;
334
- statements: ReadonlyArray<ts.Statement>;
335
- }) => ts.GetAccessorDeclaration;
336
- declare const createStringLiteral: ({
337
- isSingleQuote,
338
- text
339
- }: {
340
- isSingleQuote?: boolean;
341
- text: string;
342
- }) => ts.StringLiteral;
343
- declare const createConditionalExpression: ({
344
- condition,
345
- whenFalse,
346
- whenTrue
347
- }: {
348
- condition: ts.Expression;
349
- whenFalse: ts.Expression;
350
- whenTrue: ts.Expression;
351
- }) => ts.ConditionalExpression;
352
- declare const createTypeOfExpression: ({
353
- text
354
- }: {
355
- text: string | ts.Identifier;
356
- }) => ts.TypeOfExpression;
357
- /**
358
- * Create a type alias declaration. Example `export type X = Y;`.
359
- * @param comment (optional) comments to add
360
- * @param name the name of the type
361
- * @param type the type
362
- * @returns ts.TypeAliasDeclaration
363
- */
364
- declare const createTypeAliasDeclaration: ({
365
- comment,
366
- exportType,
367
- name,
368
- type,
369
- typeParameters
370
- }: {
371
- comment?: Comments;
372
- exportType?: boolean;
373
- name: string | ts.TypeReferenceNode;
374
- type: string | ts.TypeNode | ts.Identifier;
375
- typeParameters?: FunctionTypeParameter[];
376
- }) => ts.TypeAliasDeclaration;
377
- declare const createTypeReferenceNode: ({
378
- typeArguments,
379
- typeName
380
- }: {
381
- typeArguments?: ts.TypeNode[];
382
- typeName: string | ts.EntityName;
383
- }) => ts.TypeReferenceNode;
384
- declare const createTypeParenthesizedNode: ({
385
- type
386
- }: {
387
- type: ts.TypeNode;
388
- }) => ts.ParenthesizedTypeNode;
389
- declare const createParameterDeclaration: ({
390
- initializer,
391
- modifiers,
392
- name,
393
- required,
394
- type
395
- }: {
396
- initializer?: ts.Expression;
397
- modifiers?: ReadonlyArray<ts.ModifierLike>;
398
- name: string | ts.BindingName;
399
- required?: boolean;
400
- type?: ts.TypeNode;
401
- }) => ts.ParameterDeclaration;
402
- declare const createNewExpression: ({
403
- argumentsArray,
404
- expression,
405
- typeArguments
406
- }: {
407
- argumentsArray?: Array<ts.Expression>;
408
- expression: ts.Expression;
409
- typeArguments?: Array<ts.TypeNode>;
410
- }) => ts.NewExpression;
411
- declare const createForOfStatement: ({
412
- awaitModifier,
413
- expression,
414
- initializer,
415
- statement
416
- }: {
417
- awaitModifier?: ts.AwaitKeyword;
418
- expression: ts.Expression;
419
- initializer: ts.ForInitializer;
420
- statement: ts.Statement;
421
- }) => ts.ForOfStatement;
422
- declare const createAssignment: ({
423
- left,
424
- right
425
- }: {
426
- left: ts.Expression;
427
- right: ts.Expression;
428
- }) => ts.AssignmentExpression<ts.EqualsToken>;
429
- declare const createBlock: ({
430
- multiLine,
431
- statements
432
- }: {
433
- multiLine?: boolean;
434
- statements: ReadonlyArray<ts.Statement>;
435
- }) => ts.Block;
436
- declare const createPropertyAssignment: ({
437
- initializer,
438
- name
439
- }: {
440
- initializer: ts.Expression;
441
- name: string | ts.PropertyName;
442
- }) => ts.PropertyAssignment;
443
- declare const createRegularExpressionLiteral: ({
444
- flags,
445
- text
446
- }: {
447
- flags?: ReadonlyArray<"g" | "i" | "m" | "s" | "u" | "y">;
448
- text: string;
449
- }) => ts.RegularExpressionLiteral;
450
- declare const createAsExpression: ({
451
- expression,
452
- type
453
- }: {
454
- expression: ts.Expression;
455
- type: ts.TypeNode;
456
- }) => ts.AsExpression;
457
- declare const createTemplateLiteralType: ({
458
- value
459
- }: {
460
- value: ReadonlyArray<string | ts.TypeNode>;
461
- }) => ts.TemplateLiteralTypeNode;
462
- //#endregion
463
- //#region src/tsc/utils.d.ts
464
- interface ImportExportItemObject<Name$1 extends string | undefined = string | undefined, Alias$1 extends string | undefined = undefined> {
465
- alias?: Alias$1;
466
- asType?: boolean;
467
- name: Name$1;
468
- }
469
- /**
470
- * Print a TypeScript node to a string.
471
- * @param node the node to print
472
- * @returns string
473
- */
474
- declare function tsNodeToString({
475
- node,
476
- unescape
477
- }: {
478
- node: ts.Node;
479
- unescape?: boolean;
480
- }): string;
481
- type CommentLines = Array<string | null | false | undefined>;
482
- type CommentObject = {
483
- jsdoc?: boolean;
484
- lines: CommentLines;
485
- };
486
- type Comments = CommentLines | Array<CommentObject>;
487
- //#endregion
488
- //#region src/generate/file.d.ts
489
- type FileImportResult<Name$1 extends string | undefined = string | undefined, Alias$1 extends string | undefined = undefined> = {
490
- asType?: boolean;
491
- name: Alias$1 extends string ? Alias$1 : Name$1;
492
- };
493
- /**
494
- * TODO: remove, it's used by legacy plugins
495
- *
496
- * @deprecated
497
- */
498
- declare class GeneratedFile {
499
- /**
500
- * Should the exports from this file be re-exported in the index barrel file?
501
- */
502
- private _exportFromIndex;
503
- private _headers;
504
- private _id;
505
- private _imports;
506
- private _items;
507
- private _name;
508
- private _path;
509
- constructor({
510
- dir,
511
- exportFromIndex,
512
- header,
513
- id,
514
- name
515
- }: {
516
- dir: string;
517
- /**
518
- * Should the exports from this file be re-exported in the index barrel file?
519
- */
520
- exportFromIndex?: boolean;
521
- header?: boolean;
522
- /**
523
- * Unique file ID. Used to generate correct relative paths to the file.
524
- * This should be refactored later as it's basically the file name unless
525
- * nested inside another folder.
526
- */
527
- id: string;
528
- name: string;
529
- });
530
- add(...nodes: Array<ts.Node | string>): void;
531
- get exportFromIndex(): boolean;
532
- get id(): string;
533
- /**
534
- * Adds an import to the provided module. Handles duplication, returns added
535
- * import. Returns the imported name. If we import an aliased export, `name`
536
- * will be equal to the specified `alias`.
537
- */
538
- import<Name extends string | undefined = string | undefined, Alias extends string | undefined = undefined>({
539
- module,
540
- ...importedItem
541
- }: ImportExportItemObject<Name, Alias> & {
542
- module: string;
543
- }): FileImportResult<Name, Alias>;
544
- isEmpty(): boolean;
545
- nameWithoutExtension(): string;
546
- remove(options?: Parameters<typeof fs.rmSync>[1]): void;
547
- /**
548
- * Removes last node form the stack. Works as undo.
549
- *
550
- * @deprecated
551
- */
552
- removeNode_LEGACY(): void;
553
- private _setName;
554
- private _toString;
555
- write(separator?: string, tsConfig?: ts.ParsedCommandLine | null): void;
556
- }
557
63
  //#endregion
558
64
  //#region src/types/utils.d.ts
559
- /** @deprecated */
560
- type Files = Record<string, GeneratedFile>;
561
65
  /**
562
66
  * Accepts a value, a function returning a value, or a function returning a promise of a value.
563
67
  */
564
- type LazyOrAsync<T$1> = T$1 | (() => T$1) | (() => Promise<T$1>);
68
+ type LazyOrAsync<T> = T | (() => T) | (() => Promise<T>);
565
69
  /**
566
70
  * Accepts a value or a readonly array of values of type T.
567
71
  */
568
- type MaybeArray<T$1> = T$1 | ReadonlyArray<T$1>;
72
+ type MaybeArray<T> = T | ReadonlyArray<T>;
569
73
  //#endregion
570
74
  //#region src/openApi/3.1.x/types/spec.d.ts
571
75
  /**
@@ -605,7 +109,7 @@ interface OpenApiV3_1_X {
605
109
  /**
606
110
  * An array of Server Objects, which provide connectivity information to a target server. If the `servers` property is not provided, or is an empty array, the default value would be a {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#server-object Server Object} with a {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#serverUrl url} value of `/`.
607
111
  */
608
- servers?: ReadonlyArray<ServerObject>;
112
+ servers?: ReadonlyArray<ServerObject$1>;
609
113
  /**
610
114
  * A list of tags used by the document with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#operation-object Operation Object} must be declared. The tags that are not declared MAY be organized randomly or based on the tools' logic. Each tag name in the list MUST be unique.
611
115
  */
@@ -831,7 +335,7 @@ interface ComponentsObject$1 {
831
335
  /**
832
336
  * An object to hold reusable {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#security-scheme-object Security Scheme Objects}.
833
337
  */
834
- securitySchemes?: Record<string, SecuritySchemeObject | ReferenceObject$1>;
338
+ securitySchemes?: Record<string, SecuritySchemeObject$2 | ReferenceObject$1>;
835
339
  }
836
340
  /**
837
341
  * Contact information for the exposed API.
@@ -1425,7 +929,7 @@ interface LinkObject$1 {
1425
929
  /**
1426
930
  * A server object to be used by the target operation.
1427
931
  */
1428
- server?: ServerObject;
932
+ server?: ServerObject$1;
1429
933
  }
1430
934
  /**
1431
935
  * Each Media Type Object provides schema and examples for the media type identified by its key.
@@ -1460,7 +964,7 @@ interface LinkObject$1 {
1460
964
  * $ref: "#/components/examples/frog-example"
1461
965
  * ```
1462
966
  */
1463
- interface MediaTypeObject$2 {
967
+ interface MediaTypeObject$1 {
1464
968
  /**
1465
969
  * A map between a property name and its encoding information. The key, being the property name, MUST exist in the schema as a property. The encoding object SHALL only apply to `requestBody` objects when the media type is `multipart` or `application/x-www-form-urlencoded`.
1466
970
  */
@@ -1631,7 +1135,7 @@ interface OperationObject {
1631
1135
  /**
1632
1136
  * An alternative `server` array to service this operation. If an alternative `server` object is specified at the Path Item Object or Root level, it will be overridden by this value.
1633
1137
  */
1634
- servers?: ReadonlyArray<ServerObject>;
1138
+ servers?: ReadonlyArray<ServerObject$1>;
1635
1139
  /**
1636
1140
  * A short summary of what the operation does.
1637
1141
  */
@@ -1750,7 +1254,7 @@ interface ParameterObject {
1750
1254
  /**
1751
1255
  * A map containing the representations for the parameter. The key is the media type and the value describes it. The map MUST only contain one entry.
1752
1256
  */
1753
- content?: Record<string, MediaTypeObject$2>;
1257
+ content?: Record<string, MediaTypeObject$1>;
1754
1258
  /**
1755
1259
  * Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is `false`.
1756
1260
  */
@@ -1877,7 +1381,7 @@ interface PathItemObject$2 {
1877
1381
  /**
1878
1382
  * An alternative `server` array to service all operations in this path.
1879
1383
  */
1880
- servers?: ReadonlyArray<ServerObject>;
1384
+ servers?: ReadonlyArray<ServerObject$1>;
1881
1385
  /**
1882
1386
  * An optional, string summary, intended to apply to all operations in this path.
1883
1387
  */
@@ -2039,7 +1543,7 @@ interface RequestBodyObject {
2039
1543
  /**
2040
1544
  * **REQUIRED**. The content of the request body. The key is a media type or {@link https://tools.ietf.org/html/rfc7231#appendix-D media type range} and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*
2041
1545
  */
2042
- content: Record<string, MediaTypeObject$2>;
1546
+ content: Record<string, MediaTypeObject$1>;
2043
1547
  /**
2044
1548
  * A brief description of the request body. This could contain examples of use. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
2045
1549
  */
@@ -2114,7 +1618,7 @@ interface ResponseObject {
2114
1618
  /**
2115
1619
  * A map containing descriptions of potential response payloads. The key is a media type or {@link https://datatracker.ietf.org/doc/html/rfc7231#appendix-D media type range} and the value describes it. For responses that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*
2116
1620
  */
2117
- content?: Record<string, MediaTypeObject$2>;
1621
+ content?: Record<string, MediaTypeObject$1>;
2118
1622
  /**
2119
1623
  * **REQUIRED**. A description of the response. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
2120
1624
  */
@@ -2276,7 +1780,7 @@ interface SecurityRequirementObject$2 {
2276
1780
  * read:pets: read your pets
2277
1781
  * ```
2278
1782
  */
2279
- type SecuritySchemeObject = {
1783
+ type SecuritySchemeObject$2 = {
2280
1784
  /**
2281
1785
  * A description for security scheme. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
2282
1786
  */
@@ -2342,7 +1846,7 @@ type SecuritySchemeObject = {
2342
1846
  * description: Development server
2343
1847
  * ```
2344
1848
  */
2345
- interface ServerObject {
1849
+ interface ServerObject$1 {
2346
1850
  /**
2347
1851
  * An optional string describing the host designated by the URL. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
2348
1852
  */
@@ -2960,101 +2464,300 @@ interface StringKeywords {
2960
2464
  type JsonSchemaFormats$2 = 'date' | 'date-time' | 'duration' | 'email' | 'hostname' | 'idn-email' | 'idn-hostname' | 'ipv4' | 'ipv6' | 'iri' | 'iri-reference' | 'json-pointer' | 'regex' | 'relative-json-pointer' | 'time' | 'uri' | 'uri-reference' | 'uri-template' | 'uuid' | (string & {});
2961
2465
  type JsonSchemaTypes$1 = 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string';
2962
2466
  //#endregion
2963
- //#region src/config/utils/package.d.ts
2964
- type Package = {
2467
+ //#region src/ir/mediaType.d.ts
2468
+ type IRMediaType = 'form-data' | 'json' | 'text' | 'url-search-params' | 'octet-stream';
2469
+ //#endregion
2470
+ //#region src/ir/types.d.ts
2471
+ interface IRBodyObject {
2472
+ mediaType: string;
2965
2473
  /**
2966
- * Get the installed version of a package.
2967
- * @param name The name of the package to get the version for.
2968
- * @returns A SemVer object containing version information, or undefined if the package is not installed
2969
- * or the version string is invalid.
2474
+ * Does body control pagination? We handle only simple values
2475
+ * for now, up to 1 nested field.
2970
2476
  */
2971
- getVersion: (name: string) => SemVer | undefined;
2477
+ pagination?: boolean | string;
2478
+ required?: boolean;
2479
+ schema: IRSchemaObject;
2480
+ type?: IRMediaType;
2481
+ }
2482
+ interface IRComponentsObject {
2483
+ parameters?: Record<string, IRParameterObject>;
2484
+ requestBodies?: Record<string, IRRequestBodyObject>;
2485
+ schemas?: Record<string, IRSchemaObject>;
2486
+ }
2487
+ interface IROperationObject {
2488
+ body?: IRBodyObject;
2489
+ deprecated?: boolean;
2490
+ description?: string;
2491
+ id: string;
2492
+ method: keyof IRPathItemObject;
2493
+ operationId?: string;
2494
+ parameters?: IRParametersObject;
2495
+ path: keyof IRPathsObject;
2496
+ responses?: IRResponsesObject;
2497
+ security?: ReadonlyArray<IRSecurityObject>;
2498
+ servers?: ReadonlyArray<IRServerObject>;
2499
+ summary?: string;
2500
+ tags?: ReadonlyArray<string>;
2501
+ }
2502
+ interface IRParametersObject {
2503
+ cookie?: Record<string, IRParameterObject>;
2504
+ header?: Record<string, IRParameterObject>;
2505
+ path?: Record<string, IRParameterObject>;
2506
+ query?: Record<string, IRParameterObject>;
2507
+ }
2508
+ interface IRParameterObject extends Pick<JsonSchemaDraft2020_12, 'deprecated' | 'description'> {
2972
2509
  /**
2973
- * Check if a given package is installed in the project.
2974
- * @param name The name of the package to check.
2510
+ * Determines whether the parameter value SHOULD allow reserved characters, as defined by RFC3986 `:/?#[]@!$&'()*+,;=` to be included without percent-encoding. The default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded` or `multipart/form-data`. If a value is explicitly defined, then the value of `contentType` (implicit or explicit) SHALL be ignored.
2975
2511
  */
2976
- isInstalled: (name: string) => boolean;
2512
+ allowReserved?: boolean;
2977
2513
  /**
2978
- * Check if the installed version of a package or a given SemVer object satisfies a semver range.
2979
- * @param nameOrVersion The name of the package to check, or a SemVer object.
2980
- * @param range The semver range to check against.
2981
- * @returns True if the version satisfies the range, false otherwise.
2514
+ * When this is true, property values of type `array` or `object` generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When `style` is `form`, the default value is `true`. For all other styles, the default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded` or `multipart/form-data`. If a value is explicitly defined, then the value of `contentType` (implicit or explicit) SHALL be ignored.
2982
2515
  */
2983
- satisfies: (nameOrVersion: string | SemVer, range: string, optionsOrLoose?: boolean | RangeOptions) => boolean;
2984
- };
2985
- //#endregion
2986
- //#region src/graph/types/graph.d.ts
2987
- /**
2988
- * The main graph structure for OpenAPI node analysis.
2989
- *
2990
- * @property nodeDependencies - For each node with at least one dependency, the set of normalized JSON Pointers it references via $ref. Nodes with no dependencies are omitted.
2991
- * @property nodes - Map from normalized JSON Pointer to NodeInfo for every node in the spec.
2992
- * @property reverseNodeDependencies - For each node with at least one dependent, the set of nodes that reference it via $ref. Nodes with no dependents are omitted.
2993
- */
2994
- type Graph = {
2516
+ explode: boolean;
2995
2517
  /**
2996
- * For each node with at least one dependency, the set of normalized JSON Pointers it references via $ref.
2997
- * Nodes with no dependencies are omitted from this map.
2518
+ * Endpoint parameters must specify their location.
2998
2519
  */
2999
- nodeDependencies: Map<string, Set<string>>;
2520
+ location: 'cookie' | 'header' | 'path' | 'query';
2521
+ name: string;
3000
2522
  /**
3001
- * Map from normalized JSON Pointer to NodeInfo for every node in the spec.
2523
+ * Does this parameter control pagination? We handle only simple values
2524
+ * for now, up to 1 nested field.
3002
2525
  */
3003
- nodes: Map<string, NodeInfo>;
2526
+ pagination?: boolean | string;
2527
+ required?: boolean;
2528
+ schema: IRSchemaObject;
3004
2529
  /**
3005
- * For each node with at least one dependent, the set of nodes that reference it via $ref.
3006
- * Nodes with no dependents are omitted from this map.
2530
+ * Describes how the parameter value will be serialized depending on the type of the parameter value. Default values (based on value of `in`): for `query` - `form`; for `path` - `simple`; for `header` - `simple`; for `cookie` - `form`.
3007
2531
  */
3008
- reverseNodeDependencies: Map<string, Set<string>>;
2532
+ style: 'deepObject' | 'form' | 'label' | 'matrix' | 'pipeDelimited' | 'simple' | 'spaceDelimited';
2533
+ }
2534
+ interface IRPathsObject {
2535
+ [path: `/${string}`]: IRPathItemObject;
2536
+ }
2537
+ interface IRPathItemObject {
2538
+ delete?: IROperationObject;
2539
+ get?: IROperationObject;
2540
+ head?: IROperationObject;
2541
+ options?: IROperationObject;
2542
+ patch?: IROperationObject;
2543
+ post?: IROperationObject;
2544
+ put?: IROperationObject;
2545
+ trace?: IROperationObject;
2546
+ }
2547
+ interface IRRequestBodyObject extends Pick<JsonSchemaDraft2020_12, 'description'> {
2548
+ required?: boolean;
2549
+ schema: IRSchemaObject;
2550
+ }
2551
+ interface IRResponsesObject {
3009
2552
  /**
3010
- * For each node, the set of direct $ref targets that appear anywhere inside the node's
3011
- * subtree (the node itself and its children). This is populated during graph construction
3012
- * and is used to compute top-level dependency relationships where $ref may be attached to
3013
- * child pointers instead of the parent.
2553
+ * Any {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#http-status-codes HTTP status code} can be used as the property name, but only one property per code, to describe the expected response for that HTTP status code. This field MUST be enclosed in quotation marks (for example, "200") for compatibility between JSON and YAML. To define a range of response codes, this field MAY contain the uppercase wildcard character `X`. For example, `2XX` represents all response codes between `[200-299]`. Only the following range definitions are allowed: `1XX`, `2XX`, `3XX`, `4XX`, and `5XX`. If a response is defined using an explicit code, the explicit code definition takes precedence over the range definition for that code.
3014
2554
  */
3015
- subtreeDependencies: Map<string, Set<string>>;
2555
+ [statusCode: string]: IRResponseObject | undefined;
3016
2556
  /**
3017
- * For each node, the set of all (transitive) normalized JSON Pointers it references via $ref anywhere in its subtree.
3018
- * This includes both direct and indirect dependencies, making it useful for filtering, codegen, and tree-shaking.
2557
+ * The documentation of responses other than the ones declared for specific HTTP response codes. Use this field to cover undeclared responses.
3019
2558
  */
3020
- transitiveDependencies: Map<string, Set<string>>;
3021
- };
3022
- /**
3023
- * Information about a node in the OpenAPI graph.
3024
- *
3025
- * @property deprecated - Whether the node is deprecated. Optional.
3026
- * @property key - The property name or array index in the parent, or null for root.
3027
- * @property node - The actual object at this pointer in the spec.
3028
- * @property parentPointer - The JSON Pointer of the parent node, or null for root.
3029
- * @property scopes - The set of access scopes for this node, if any. Optional.
3030
- * @property tags - The set of tags for this node, if any. Optional.
3031
- */
3032
- type NodeInfo = {
3033
- /** Whether the node is deprecated. Optional. */
3034
- deprecated?: boolean;
3035
- /** The property name or array index in the parent, or null for root. */
3036
- key: string | number | null;
3037
- /** The actual object at this pointer in the spec. */
3038
- node: unknown;
3039
- /** The JSON Pointer of the parent node, or null for root. */
3040
- parentPointer: string | null;
3041
- /** The set of access scopes for this node, if any. Optional. */
3042
- scopes?: Set<Scope>;
3043
- /** The set of tags for this node, if any. Optional. */
3044
- tags?: Set<string>;
3045
- };
3046
- //#endregion
3047
- //#region src/graph/types/walk.d.ts
3048
- type GetPointerPriorityFn = (pointer: string) => number;
3049
- type MatchPointerToGroupFn<T$1 extends string = string> = (pointer: string, kind?: T$1) => PointerGroupMatch<T$1>;
3050
- type PointerGroupMatch<T$1 extends string = string> = {
3051
- kind: T$1;
2559
+ default?: IRResponseObject;
2560
+ }
2561
+ interface IRResponseObject {
2562
+ // TODO: parser - handle headers, links, and possibly other media types?
2563
+ mediaType?: string;
2564
+ schema: IRSchemaObject;
2565
+ }
2566
+ interface IRSchemaObject extends Pick<JsonSchemaDraft2020_12, '$ref' | 'const' | 'default' | 'deprecated' | 'description' | 'exclusiveMaximum' | 'exclusiveMinimum' | 'maximum' | 'maxItems' | 'maxLength' | 'minimum' | 'minItems' | 'minLength' | 'pattern' | 'required' | 'title' | 'example'> {
2567
+ /**
2568
+ * If the schema is intended to be used as an object property, it can be
2569
+ * marked as read-only or write-only. This value controls whether the schema
2570
+ * receives the "readonly" TypeScript keyword.
2571
+ */
2572
+ accessScope?: 'read' | 'write';
2573
+ /**
2574
+ * If type is `object`, `additionalProperties` can be used to either define
2575
+ * a schema for properties not included in `properties` or disallow such
2576
+ * properties altogether.
2577
+ */
2578
+ additionalProperties?: IRSchemaObject | false;
2579
+ /**
2580
+ * Any string value is accepted as `format`.
2581
+ */
2582
+ format?: JsonSchemaDraft2020_12['format'] | 'binary' | 'integer';
2583
+ /**
2584
+ * If schema resolves into multiple items instead of a simple `type`, they
2585
+ * will be included in `items` array.
2586
+ */
2587
+ items?: ReadonlyArray<IRSchemaObject>;
2588
+ /**
2589
+ * When resolving a list of items, we need to know the relationship between
2590
+ * them. `logicalOperator` specifies this logical relationship.
2591
+ *
2592
+ * @default 'or'
2593
+ */
2594
+ logicalOperator?: 'and' | 'or';
2595
+ /**
2596
+ * When type is `object`, `patternProperties` can be used to define a schema
2597
+ * for properties that match a specific regex pattern.
2598
+ */
2599
+ patternProperties?: Record<string, IRSchemaObject>;
2600
+ /**
2601
+ * When type is `object`, `properties` will contain a map of its properties.
2602
+ */
2603
+ properties?: Record<string, IRSchemaObject>;
2604
+ /**
2605
+ * The names of `properties` can be validated against a schema, irrespective
2606
+ * of their values. This can be useful if you don't want to enforce specific
2607
+ * properties, but you want to make sure that the names of those properties
2608
+ * follow a specific convention.
2609
+ */
2610
+ propertyNames?: IRSchemaObject;
2611
+ /**
2612
+ * Each schema eventually resolves into `type`.
2613
+ */
2614
+ type?: 'array' | 'boolean' | 'enum' | 'integer' | 'never' | 'null' | 'number' | 'object' | 'string' | 'tuple' | 'undefined' | 'unknown' | 'void';
2615
+ }
2616
+ type IRSecurityObject = SecuritySchemeObject$2;
2617
+ type IRServerObject = ServerObject$1;
2618
+ type IRWebhookObject = IRPathItemObject;
2619
+ interface IRModel {
2620
+ components?: IRComponentsObject;
2621
+ paths?: IRPathsObject;
2622
+ servers?: ReadonlyArray<IRServerObject>;
2623
+ webhooks?: Record<string, IRWebhookObject>;
2624
+ }
2625
+ declare namespace IR$1 {
2626
+ export type BodyObject = IRBodyObject;
2627
+ export type ComponentsObject = IRComponentsObject;
2628
+ export type Model = IRModel;
2629
+ export type OperationObject = IROperationObject;
2630
+ export type ParameterObject = IRParameterObject;
2631
+ export type ParametersObject = IRParametersObject;
2632
+ export type PathItemObject = IRPathItemObject;
2633
+ export type PathsObject = IRPathsObject;
2634
+ export type ReferenceObject = ReferenceObject;
2635
+ export type RequestBodyObject = IRRequestBodyObject;
2636
+ export type ResponseObject = IRResponseObject;
2637
+ export type ResponsesObject = IRResponsesObject;
2638
+ export type SchemaObject = IRSchemaObject;
2639
+ export type SecurityObject = IRSecurityObject;
2640
+ export type ServerObject = IRServerObject;
2641
+ export type WebhookObject = IRWebhookObject;
2642
+ }
2643
+ //#endregion
2644
+ //#region src/config/utils/config.d.ts
2645
+ type ObjectType<T> = Extract<T, Record<string, any>> extends never ? Record<string, any> : Extract<T, Record<string, any>>;
2646
+ type NotArray<T> = T extends any[] ? never : T;
2647
+ type NotFunction<T> = T extends ((...args: any[]) => any) ? never : T;
2648
+ type PlainObject<T> = T extends object ? NotFunction<T> extends never ? never : NotArray<T> extends never ? never : T : never;
2649
+ type MappersType<T> = {
2650
+ boolean: T extends boolean ? (value: boolean) => Partial<ObjectType<T>> : never;
2651
+ function: T extends ((...args: any[]) => any) ? (value: (...args: any[]) => any) => Partial<ObjectType<T>> : never;
2652
+ number: T extends number ? (value: number) => Partial<ObjectType<T>> : never;
2653
+ object?: PlainObject<T> extends never ? never : (value: Partial<PlainObject<T>>, defaultValue: PlainObject<T>) => Partial<ObjectType<T>>;
2654
+ string: T extends string ? (value: string) => Partial<ObjectType<T>> : never;
2655
+ } extends infer U ? { [K in keyof U as U[K] extends never ? never : K]: U[K] } : never;
2656
+ type IsObjectOnly<T> = T extends Record<string, any> | undefined ? Extract<T, string | boolean | number | ((...args: any[]) => any)> extends never ? true : false : false;
2657
+ type ValueToObject = <T extends undefined | string | boolean | number | ((...args: any[]) => any) | Record<string, any>>(args: {
2658
+ defaultValue: ObjectType<T>;
2659
+ value: T;
2660
+ } & (IsObjectOnly<T> extends true ? {
2661
+ mappers?: MappersType<T>;
2662
+ } : {
2663
+ mappers: MappersType<T>;
2664
+ })) => PlainObject<T>;
2665
+ //#endregion
2666
+ //#region src/config/utils/package.d.ts
2667
+ type Package = {
2668
+ /**
2669
+ * Get the installed version of a package.
2670
+ * @param name The name of the package to get the version for.
2671
+ * @returns A SemVer object containing version information, or undefined if the package is not installed
2672
+ * or the version string is invalid.
2673
+ */
2674
+ getVersion: (name: string) => SemVer | undefined;
2675
+ /**
2676
+ * Check if a given package is installed in the project.
2677
+ * @param name The name of the package to check.
2678
+ */
2679
+ isInstalled: (name: string) => boolean;
2680
+ /**
2681
+ * Check if the installed version of a package or a given SemVer object satisfies a semver range.
2682
+ * @param nameOrVersion The name of the package to check, or a SemVer object.
2683
+ * @param range The semver range to check against.
2684
+ * @returns True if the version satisfies the range, false otherwise.
2685
+ */
2686
+ satisfies: (nameOrVersion: string | SemVer, range: string, optionsOrLoose?: boolean | RangeOptions) => boolean;
2687
+ };
2688
+ //#endregion
2689
+ //#region src/graph/types/graph.d.ts
2690
+ /**
2691
+ * The main graph structure for OpenAPI node analysis.
2692
+ *
2693
+ * @property nodeDependencies - For each node with at least one dependency, the set of normalized JSON Pointers it references via $ref. Nodes with no dependencies are omitted.
2694
+ * @property nodes - Map from normalized JSON Pointer to NodeInfo for every node in the spec.
2695
+ * @property reverseNodeDependencies - For each node with at least one dependent, the set of nodes that reference it via $ref. Nodes with no dependents are omitted.
2696
+ */
2697
+ type Graph = {
2698
+ /**
2699
+ * For each node with at least one dependency, the set of normalized JSON Pointers it references via $ref.
2700
+ * Nodes with no dependencies are omitted from this map.
2701
+ */
2702
+ nodeDependencies: Map<string, Set<string>>;
2703
+ /**
2704
+ * Map from normalized JSON Pointer to NodeInfo for every node in the spec.
2705
+ */
2706
+ nodes: Map<string, NodeInfo>;
2707
+ /**
2708
+ * For each node with at least one dependent, the set of nodes that reference it via $ref.
2709
+ * Nodes with no dependents are omitted from this map.
2710
+ */
2711
+ reverseNodeDependencies: Map<string, Set<string>>;
2712
+ /**
2713
+ * For each node, the set of direct $ref targets that appear anywhere inside the node's
2714
+ * subtree (the node itself and its children). This is populated during graph construction
2715
+ * and is used to compute top-level dependency relationships where $ref may be attached to
2716
+ * child pointers instead of the parent.
2717
+ */
2718
+ subtreeDependencies: Map<string, Set<string>>;
2719
+ /**
2720
+ * For each node, the set of all (transitive) normalized JSON Pointers it references via $ref anywhere in its subtree.
2721
+ * This includes both direct and indirect dependencies, making it useful for filtering, codegen, and tree-shaking.
2722
+ */
2723
+ transitiveDependencies: Map<string, Set<string>>;
2724
+ };
2725
+ /**
2726
+ * Information about a node in the OpenAPI graph.
2727
+ *
2728
+ * @property deprecated - Whether the node is deprecated. Optional.
2729
+ * @property key - The property name or array index in the parent, or null for root.
2730
+ * @property node - The actual object at this pointer in the spec.
2731
+ * @property parentPointer - The JSON Pointer of the parent node, or null for root.
2732
+ * @property scopes - The set of access scopes for this node, if any. Optional.
2733
+ * @property tags - The set of tags for this node, if any. Optional.
2734
+ */
2735
+ type NodeInfo = {
2736
+ /** Whether the node is deprecated. Optional. */
2737
+ deprecated?: boolean;
2738
+ /** The property name or array index in the parent, or null for root. */
2739
+ key: string | number | null;
2740
+ /** The actual object at this pointer in the spec. */
2741
+ node: unknown;
2742
+ /** The JSON Pointer of the parent node, or null for root. */
2743
+ parentPointer: string | null;
2744
+ /** The set of access scopes for this node, if any. Optional. */
2745
+ scopes?: Set<Scope>;
2746
+ /** The set of tags for this node, if any. Optional. */
2747
+ tags?: Set<string>;
2748
+ };
2749
+ //#endregion
2750
+ //#region src/graph/types/walk.d.ts
2751
+ type GetPointerPriorityFn = (pointer: string) => number;
2752
+ type MatchPointerToGroupFn<T extends string = string> = (pointer: string, kind?: T) => PointerGroupMatch<T>;
2753
+ type PointerGroupMatch<T extends string = string> = {
2754
+ kind: T;
3052
2755
  matched: true;
3053
2756
  } | {
3054
2757
  kind?: undefined;
3055
2758
  matched: false;
3056
2759
  };
3057
- type WalkOptions<T$1 extends string = string> = {
2760
+ type WalkOptions<T extends string = string> = {
3058
2761
  /**
3059
2762
  * Optional priority function used to compute a numeric priority for each
3060
2763
  * pointer. Lower values are emitted earlier. Useful to customize ordering
@@ -3067,7 +2770,7 @@ type WalkOptions<T$1 extends string = string> = {
3067
2770
  * @param pointer The pointer string
3068
2771
  * @returns The group name, or undefined if no match
3069
2772
  */
3070
- matchPointerToGroup?: MatchPointerToGroupFn<T$1>;
2773
+ matchPointerToGroup?: MatchPointerToGroupFn<T>;
3071
2774
  /**
3072
2775
  * Order of walking schemas.
3073
2776
  *
@@ -3090,7 +2793,7 @@ type WalkOptions<T$1 extends string = string> = {
3090
2793
  * to do so (it will only apply the preference when doing so does not
3091
2794
  * violate dependency ordering).
3092
2795
  */
3093
- preferGroups?: ReadonlyArray<T$1>;
2796
+ preferGroups?: ReadonlyArray<T>;
3094
2797
  };
3095
2798
  //#endregion
3096
2799
  //#region src/types/case.d.ts
@@ -3101,7 +2804,7 @@ type StringName = string | ((name: string) => string);
3101
2804
  type IApi$20 = any;
3102
2805
  //#endregion
3103
2806
  //#region src/plugins/@angular/common/types.d.ts
3104
- type UserConfig$27 = Plugin.Name<'@angular/common'> & Plugin.Hooks & {
2807
+ type UserConfig$22 = Plugin.Name<'@angular/common'> & Plugin.Hooks & {
3105
2808
  /**
3106
2809
  * Should the exports from the generated files be re-exported in the index
3107
2810
  * barrel file?
@@ -3169,7 +2872,7 @@ type UserConfig$27 = Plugin.Name<'@angular/common'> & Plugin.Hooks & {
3169
2872
  methodNameBuilder?: (operation: IR.OperationObject) => string;
3170
2873
  };
3171
2874
  };
3172
- type Config$14 = Plugin.Name<'@angular/common'> & Plugin.Hooks & {
2875
+ type Config$20 = Plugin.Name<'@angular/common'> & Plugin.Hooks & {
3173
2876
  /**
3174
2877
  * Should the exports from the generated files be re-exported in the index
3175
2878
  * barrel file?
@@ -3232,1057 +2935,1017 @@ type Config$14 = Plugin.Name<'@angular/common'> & Plugin.Hooks & {
3232
2935
  methodNameBuilder: (operation: IR.OperationObject) => string;
3233
2936
  };
3234
2937
  };
3235
- type AngularCommonPlugin = DefinePlugin<UserConfig$27, Config$14, IApi$20>;
2938
+ type AngularCommonPlugin = DefinePlugin<UserConfig$22, Config$20, IApi$20>;
3236
2939
  //#endregion
3237
- //#region src/plugins/@hey-api/client-axios/api.d.ts
3238
- type IApi$19 = any;
3239
- //#endregion
3240
- //#region src/plugins/@hey-api/client-axios/types.d.ts
3241
- type UserConfig$26 = Plugin.Name<'@hey-api/client-axios'> & Client$2.Config & {
2940
+ //#region src/plugins/@hey-api/client-core/bundle/auth.d.ts
2941
+ type AuthToken = string | undefined;
2942
+ interface Auth {
3242
2943
  /**
3243
- * Throw an error instead of returning it in the response?
2944
+ * Which part of the request do we use to send the auth?
3244
2945
  *
3245
- * @default false
2946
+ * @default 'header'
3246
2947
  */
3247
- throwOnError?: boolean;
3248
- };
3249
- type HeyApiClientAxiosPlugin = DefinePlugin<UserConfig$26, UserConfig$26, IApi$19>;
3250
- //#endregion
3251
- //#region src/plugins/@hey-api/client-fetch/api.d.ts
3252
- type IApi$18 = any;
3253
- //#endregion
3254
- //#region src/plugins/@hey-api/client-fetch/types.d.ts
3255
- type UserConfig$25 = Plugin.Name<'@hey-api/client-fetch'> & Client$2.Config & {
2948
+ in?: 'header' | 'query' | 'cookie';
3256
2949
  /**
3257
- * Throw an error instead of returning it in the response?
2950
+ * Header or query parameter name.
3258
2951
  *
3259
- * @default false
2952
+ * @default 'Authorization'
3260
2953
  */
3261
- throwOnError?: boolean;
3262
- };
3263
- type HeyApiClientFetchPlugin = DefinePlugin<UserConfig$25, UserConfig$25, IApi$18>;
2954
+ name?: string;
2955
+ scheme?: 'basic' | 'bearer';
2956
+ type: 'apiKey' | 'http';
2957
+ }
3264
2958
  //#endregion
3265
- //#region src/plugins/@hey-api/client-next/api.d.ts
3266
- type IApi$17 = any;
2959
+ //#region src/plugins/@hey-api/client-core/bundle/pathSerializer.d.ts
2960
+ interface SerializerOptions<T> {
2961
+ /**
2962
+ * @default true
2963
+ */
2964
+ explode: boolean;
2965
+ style: T;
2966
+ }
2967
+ type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited';
2968
+ type ObjectStyle = 'form' | 'deepObject';
3267
2969
  //#endregion
3268
- //#region src/plugins/@hey-api/client-next/types.d.ts
3269
- type UserConfig$24 = Plugin.Name<'@hey-api/client-next'> & Client$2.Config & {
2970
+ //#region src/plugins/@hey-api/client-core/bundle/bodySerializer.d.ts
2971
+ type QuerySerializer$1 = (query: Record<string, unknown>) => string;
2972
+ type BodySerializer = (body: any) => any;
2973
+ type QuerySerializerOptionsObject = {
2974
+ allowReserved?: boolean;
2975
+ array?: Partial<SerializerOptions<ArrayStyle>>;
2976
+ object?: Partial<SerializerOptions<ObjectStyle>>;
2977
+ };
2978
+ type QuerySerializerOptions = QuerySerializerOptionsObject & {
3270
2979
  /**
3271
- * Throw an error instead of returning it in the response?
3272
- *
3273
- * @default false
2980
+ * Per-parameter serialization overrides. When provided, these settings
2981
+ * override the global array/object settings for specific parameter names.
3274
2982
  */
3275
- throwOnError?: boolean;
2983
+ parameters?: Record<string, QuerySerializerOptionsObject>;
3276
2984
  };
3277
- type HeyApiClientNextPlugin = DefinePlugin<UserConfig$24, UserConfig$24, IApi$17>;
3278
- //#endregion
3279
- //#region src/plugins/@hey-api/client-nuxt/api.d.ts
3280
- type IApi$16 = any;
3281
2985
  //#endregion
3282
- //#region src/plugins/@hey-api/client-nuxt/types.d.ts
3283
- type UserConfig$23 = Plugin.Name<'@hey-api/client-nuxt'> & Client$2.Config;
3284
- type HeyApiClientNuxtPlugin = DefinePlugin<UserConfig$23, UserConfig$23, IApi$16>;
3285
- //#endregion
3286
- //#region src/plugins/@hey-api/client-ofetch/api.d.ts
3287
- type IApi$15 = any;
3288
- //#endregion
3289
- //#region src/plugins/@hey-api/client-ofetch/types.d.ts
3290
- type UserConfig$22 = Plugin.Name<'@hey-api/client-ofetch'> & Client$2.Config & {
2986
+ //#region src/plugins/@hey-api/client-core/bundle/types.d.ts
2987
+ type HttpMethod = 'connect' | 'delete' | 'get' | 'head' | 'options' | 'patch' | 'post' | 'put' | 'trace';
2988
+ type Client$1<RequestFn$6 = never, Config$21 = unknown, MethodFn$6 = never, BuildUrlFn$6 = never, SseFn$6 = never> = {
3291
2989
  /**
3292
- * Throw an error instead of returning it in the response?
2990
+ * Returns the final request URL.
2991
+ */
2992
+ buildUrl: BuildUrlFn$6;
2993
+ getConfig: () => Config$21;
2994
+ request: RequestFn$6;
2995
+ setConfig: (config: Config$21) => Config$21;
2996
+ } & { [K in HttpMethod]: MethodFn$6 } & ([SseFn$6] extends [never] ? {
2997
+ sse?: never;
2998
+ } : {
2999
+ sse: { [K in HttpMethod]: SseFn$6 };
3000
+ });
3001
+ interface Config$13 {
3002
+ /**
3003
+ * Auth token or a function returning auth token. The resolved value will be
3004
+ * added to the request payload as defined by its `security` array.
3005
+ */
3006
+ auth?: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken;
3007
+ /**
3008
+ * A function for serializing request body parameter. By default,
3009
+ * {@link JSON.stringify()} will be used.
3010
+ */
3011
+ bodySerializer?: BodySerializer | null;
3012
+ /**
3013
+ * An object containing any HTTP headers that you want to pre-populate your
3014
+ * `Headers` object with.
3293
3015
  *
3294
- * @default false
3016
+ * {@link https://developer.mozilla.org/docs/Web/API/Headers/Headers#init See more}
3295
3017
  */
3296
- throwOnError?: boolean;
3297
- };
3298
- type HeyApiClientOfetchPlugin = DefinePlugin<UserConfig$22, UserConfig$22, IApi$15>;
3299
- //#endregion
3300
- //#region src/plugins/@hey-api/client-core/types.d.ts
3301
- interface PluginHandler {
3302
- (...args: Parameters<HeyApiClientAngularPlugin['Handler']>): void;
3303
- (...args: Parameters<HeyApiClientAxiosPlugin['Handler']>): void;
3304
- (...args: Parameters<HeyApiClientFetchPlugin['Handler']>): void;
3305
- (...args: Parameters<HeyApiClientNextPlugin['Handler']>): void;
3306
- (...args: Parameters<HeyApiClientNuxtPlugin['Handler']>): void;
3307
- (...args: Parameters<HeyApiClientOfetchPlugin['Handler']>): void;
3308
- }
3309
- /**
3310
- * Public Client API.
3311
- */
3312
- declare namespace Client$2 {
3313
- export type Config = Plugin.Hooks & {
3314
- /**
3315
- * Set a default base URL when creating the client? You can set `baseUrl`
3316
- * to a string which will be used as the base URL. If your input defines
3317
- * server(s), you can set `baseUrl` to a number to pick a specific server
3318
- * to use as the base URL. You can disable setting the base URL by setting
3319
- * `baseUrl` to `false`. By default, `baseUrl` is `true` and it will try to
3320
- * use the first defined server value. If there's none, we won't set a
3321
- * base URL.
3322
- *
3323
- * If the matched URL contains template literals, it will be ignored.
3324
- *
3325
- * @default true
3326
- */
3327
- baseUrl?: string | number | boolean;
3328
- /**
3329
- * Bundle the client module? When `true`, the client module will be copied
3330
- * from the client plugin and bundled with the generated output.
3331
- *
3332
- * @default true
3333
- */
3334
- bundle?: boolean;
3335
- /**
3336
- * Should the exports from the generated files be re-exported in the index
3337
- * barrel file?
3338
- *
3339
- * @default false
3340
- */
3341
- exportFromIndex?: boolean;
3342
- /**
3343
- * Relative path to the runtime configuration file. This file must export
3344
- * a `createClientConfig()` function. The `createClientConfig()` function
3345
- * will be called on client initialization and the returned object will
3346
- * become the client's initial configuration.
3347
- *
3348
- * You may want to initialize your client this way instead of calling
3349
- * `setConfig()`. This is useful for example if you're using Next.js
3350
- * to ensure your client always has the correct values.
3351
- */
3352
- runtimeConfigPath?: string;
3353
- /**
3354
- * Should the type helper for base URL allow only values matching the
3355
- * server(s) defined in the input? By default, `strictBaseUrl` is `false`
3356
- * which will provide type hints and allow you to pass any string.
3357
- *
3358
- * Note that setting `strictBaseUrl` to `true` can produce an invalid
3359
- * build if you specify `baseUrl` which doesn't conform to the type helper.
3360
- *
3361
- * @default false
3362
- */
3363
- strictBaseUrl?: boolean;
3364
- };
3018
+ headers?: RequestInit['headers'] | Record<string, string | number | boolean | (string | number | boolean)[] | null | undefined | unknown>;
3019
+ /**
3020
+ * The request method.
3021
+ *
3022
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#method See more}
3023
+ */
3024
+ method?: Uppercase<HttpMethod>;
3025
+ /**
3026
+ * A function for serializing request query parameters. By default, arrays
3027
+ * will be exploded in form style, objects will be exploded in deepObject
3028
+ * style, and reserved characters are percent-encoded.
3029
+ *
3030
+ * This method will have no effect if the native `paramsSerializer()` Axios
3031
+ * API function is used.
3032
+ *
3033
+ * {@link https://swagger.io/docs/specification/serialization/#query View examples}
3034
+ */
3035
+ querySerializer?: QuerySerializer$1 | QuerySerializerOptions;
3036
+ /**
3037
+ * A function validating request data. This is useful if you want to ensure
3038
+ * the request conforms to the desired shape, so it can be safely sent to
3039
+ * the server.
3040
+ */
3041
+ requestValidator?: (data: unknown) => Promise<unknown>;
3042
+ /**
3043
+ * A function transforming response data before it's returned. This is useful
3044
+ * for post-processing data, e.g. converting ISO strings into Date objects.
3045
+ */
3046
+ responseTransformer?: (data: unknown) => Promise<unknown>;
3047
+ /**
3048
+ * A function validating response data. This is useful if you want to ensure
3049
+ * the response conforms to the desired shape, so it can be safely passed to
3050
+ * the transformers and returned to the user.
3051
+ */
3052
+ responseValidator?: (data: unknown) => Promise<unknown>;
3365
3053
  }
3366
3054
  //#endregion
3367
- //#region src/plugins/@hey-api/client-angular/api.d.ts
3368
- type IApi$14 = any;
3369
- //#endregion
3370
- //#region src/plugins/@hey-api/client-angular/types.d.ts
3371
- type UserConfig$21 = Plugin.Name<'@hey-api/client-angular'> & Client$2.Config & {
3055
+ //#region src/plugins/@hey-api/client-core/bundle/serverSentEvents.d.ts
3056
+ type ServerSentEventsOptions<TData = unknown> = Omit<RequestInit, 'method'> & Pick<Config$13, 'method' | 'responseTransformer' | 'responseValidator'> & {
3372
3057
  /**
3373
- * Throw an error instead of returning it in the response?
3058
+ * Fetch API implementation. You can use this option to provide a custom
3059
+ * fetch instance.
3374
3060
  *
3375
- * @default false
3061
+ * @default globalThis.fetch
3376
3062
  */
3377
- throwOnError?: boolean;
3063
+ fetch?: typeof fetch;
3064
+ /**
3065
+ * Implementing clients can call request interceptors inside this hook.
3066
+ */
3067
+ onRequest?: (url: string, init: RequestInit) => Promise<Request>;
3068
+ /**
3069
+ * Callback invoked when a network or parsing error occurs during streaming.
3070
+ *
3071
+ * This option applies only if the endpoint returns a stream of events.
3072
+ *
3073
+ * @param error The error that occurred.
3074
+ */
3075
+ onSseError?: (error: unknown) => void;
3076
+ /**
3077
+ * Callback invoked when an event is streamed from the server.
3078
+ *
3079
+ * This option applies only if the endpoint returns a stream of events.
3080
+ *
3081
+ * @param event Event streamed from the server.
3082
+ * @returns Nothing (void).
3083
+ */
3084
+ onSseEvent?: (event: StreamEvent<TData>) => void;
3085
+ serializedBody?: RequestInit['body'];
3086
+ /**
3087
+ * Default retry delay in milliseconds.
3088
+ *
3089
+ * This option applies only if the endpoint returns a stream of events.
3090
+ *
3091
+ * @default 3000
3092
+ */
3093
+ sseDefaultRetryDelay?: number;
3094
+ /**
3095
+ * Maximum number of retry attempts before giving up.
3096
+ */
3097
+ sseMaxRetryAttempts?: number;
3098
+ /**
3099
+ * Maximum retry delay in milliseconds.
3100
+ *
3101
+ * Applies only when exponential backoff is used.
3102
+ *
3103
+ * This option applies only if the endpoint returns a stream of events.
3104
+ *
3105
+ * @default 30000
3106
+ */
3107
+ sseMaxRetryDelay?: number;
3108
+ /**
3109
+ * Optional sleep function for retry backoff.
3110
+ *
3111
+ * Defaults to using `setTimeout`.
3112
+ */
3113
+ sseSleepFn?: (ms: number) => Promise<void>;
3114
+ url: string;
3115
+ };
3116
+ interface StreamEvent<TData = unknown> {
3117
+ data: TData;
3118
+ event?: string;
3119
+ id?: string;
3120
+ retry?: number;
3121
+ }
3122
+ type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {
3123
+ stream: AsyncGenerator<TData extends Record<string, unknown> ? TData[keyof TData] : TData, TReturn, TNext>;
3378
3124
  };
3379
- type HeyApiClientAngularPlugin = DefinePlugin<UserConfig$21, UserConfig$21, IApi$14>;
3380
- //#endregion
3381
- //#region src/plugins/@hey-api/legacy-angular/types.d.ts
3382
- type UserConfig$20 = Plugin.Name<'legacy/angular'> & Pick<Client$2.Config, 'output'>;
3383
- type HeyApiClientLegacyAngularPlugin = DefinePlugin<UserConfig$20>;
3384
- //#endregion
3385
- //#region src/plugins/@hey-api/legacy-axios/types.d.ts
3386
- type UserConfig$19 = Plugin.Name<'legacy/axios'> & Pick<Client$2.Config, 'output'>;
3387
- type HeyApiClientLegacyAxiosPlugin = DefinePlugin<UserConfig$19>;
3388
- //#endregion
3389
- //#region src/plugins/@hey-api/legacy-fetch/types.d.ts
3390
- type UserConfig$18 = Plugin.Name<'legacy/fetch'> & Pick<Client$2.Config, 'output'>;
3391
- type HeyApiClientLegacyFetchPlugin = DefinePlugin<UserConfig$18>;
3392
- //#endregion
3393
- //#region src/plugins/@hey-api/legacy-node/types.d.ts
3394
- type UserConfig$17 = Plugin.Name<'legacy/node'> & Pick<Client$2.Config, 'output'>;
3395
- type HeyApiClientLegacyNodePlugin = DefinePlugin<UserConfig$17>;
3396
- //#endregion
3397
- //#region src/plugins/@hey-api/legacy-xhr/types.d.ts
3398
- type UserConfig$16 = Plugin.Name<'legacy/xhr'> & Pick<Client$2.Config, 'output'>;
3399
- type HeyApiClientLegacyXhrPlugin = DefinePlugin<UserConfig$16>;
3400
3125
  //#endregion
3401
- //#region src/openApi/common/interfaces/Dictionary.d.ts
3402
- interface Dictionary<T$1 = unknown> {
3403
- [key: string]: T$1;
3126
+ //#region src/plugins/@hey-api/client-angular/bundle/utils.d.ts
3127
+ type ErrInterceptor$3<Err, Res, Req, Options$6> = (error: Err, response: Res, request: Req, options: Options$6) => Err | Promise<Err>;
3128
+ type ReqInterceptor$3<Req, Options$6> = (request: Req, options: Options$6) => Req | Promise<Req>;
3129
+ type ResInterceptor$3<Res, Req, Options$6> = (response: Res, request: Req, options: Options$6) => Res | Promise<Res>;
3130
+ declare class Interceptors$3<Interceptor> {
3131
+ fns: Array<Interceptor | null>;
3132
+ clear(): void;
3133
+ eject(id: number | Interceptor): void;
3134
+ exists(id: number | Interceptor): boolean;
3135
+ getInterceptorIndex(id: number | Interceptor): number;
3136
+ update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false;
3137
+ use(fn: Interceptor): number;
3404
3138
  }
3405
- //#endregion
3406
- //#region src/openApi/v3/interfaces/OpenApiReference.d.ts
3407
- /**
3408
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#reference-object
3409
- */
3410
- interface OpenApiReference {
3411
- $ref?: string;
3139
+ interface Middleware$3<Req, Res, Err, Options$6> {
3140
+ error: Interceptors$3<ErrInterceptor$3<Err, Res, Req, Options$6>>;
3141
+ request: Interceptors$3<ReqInterceptor$3<Req, Options$6>>;
3142
+ response: Interceptors$3<ResInterceptor$3<Res, Req, Options$6>>;
3412
3143
  }
3413
3144
  //#endregion
3414
- //#region src/openApi/v3/interfaces/OpenApiExample.d.ts
3415
- /**
3416
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#example-object
3417
- */
3418
- interface OpenApiExample extends OpenApiReference {
3419
- description?: string;
3420
- externalValue?: string;
3421
- summary?: string;
3422
- value?: unknown;
3145
+ //#region src/plugins/@hey-api/client-angular/bundle/types.d.ts
3146
+ type ResponseStyle$2 = 'data' | 'fields';
3147
+ interface Config$19<T extends ClientOptions$5 = ClientOptions$5> extends Omit<RequestInit, 'body' | 'headers' | 'method'>, Omit<Config$13, 'headers'> {
3148
+ /**
3149
+ * Base URL for all requests made by this client.
3150
+ */
3151
+ baseUrl?: T['baseUrl'];
3152
+ /**
3153
+ * An object containing any HTTP headers that you want to pre-populate your
3154
+ * `HttpHeaders` object with.
3155
+ *
3156
+ * {@link https://angular.dev/api/common/http/HttpHeaders#constructor See more}
3157
+ */
3158
+ headers?: HttpHeaders | Record<string, string | number | boolean | (string | number | boolean)[] | null | undefined | unknown>;
3159
+ /**
3160
+ * The HTTP client to use for making requests.
3161
+ */
3162
+ httpClient?: HttpClient;
3163
+ /**
3164
+ * Should we return only data or multiple fields (data, error, response, etc.)?
3165
+ *
3166
+ * @default 'fields'
3167
+ */
3168
+ responseStyle?: ResponseStyle$2;
3169
+ /**
3170
+ * Throw an error instead of returning it in the response?
3171
+ *
3172
+ * @default false
3173
+ */
3174
+ throwOnError?: T['throwOnError'];
3423
3175
  }
3424
- //#endregion
3425
- //#region src/openApi/common/interfaces/WithEnumExtension.d.ts
3426
- interface WithEnumExtension {
3427
- 'x-enum-descriptions'?: ReadonlyArray<string>;
3428
- 'x-enum-varnames'?: ReadonlyArray<string>;
3429
- 'x-enumNames'?: ReadonlyArray<string>;
3176
+ interface RequestOptions$5<TData = unknown, TResponseStyle extends ResponseStyle$2 = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends Config$19<{
3177
+ responseStyle: TResponseStyle;
3178
+ throwOnError: ThrowOnError;
3179
+ }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
3180
+ /**
3181
+ * Any body that you want to add to your request.
3182
+ *
3183
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
3184
+ */
3185
+ body?: unknown;
3186
+ /**
3187
+ * Optional custom injector for dependency resolution if you don't implicitly or explicitly provide one.
3188
+ */
3189
+ injector?: Injector;
3190
+ path?: Record<string, unknown>;
3191
+ query?: Record<string, unknown>;
3192
+ /**
3193
+ * Security mechanism(s) to use for the request.
3194
+ */
3195
+ security?: ReadonlyArray<Auth>;
3196
+ url: Url;
3430
3197
  }
3431
- //#endregion
3432
- //#region src/openApi/v3/interfaces/OpenApiDiscriminator.d.ts
3433
- /**
3434
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#discriminator-object
3435
- */
3436
- interface OpenApiDiscriminator {
3437
- mapping?: Dictionary<string>;
3438
- propertyName: string;
3198
+ interface ResolvedRequestOptions$3<TResponseStyle extends ResponseStyle$2 = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions$5<unknown, TResponseStyle, ThrowOnError, Url> {
3199
+ serializedBody?: string;
3439
3200
  }
3440
- //#endregion
3441
- //#region src/openApi/v3/interfaces/OpenApiExternalDocs.d.ts
3442
- /**
3443
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#external-documentation-object
3444
- */
3445
- interface OpenApiExternalDocs {
3446
- description?: string;
3201
+ type RequestResult$5<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle$2 = 'fields'> = Promise<ThrowOnError extends true ? TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
3202
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
3203
+ request: HttpRequest<unknown>;
3204
+ response: HttpResponse<TData>;
3205
+ } : TResponseStyle extends 'data' ? (TData extends Record<string, unknown> ? TData[keyof TData] : TData) | undefined : {
3206
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
3207
+ error: undefined;
3208
+ request: HttpRequest<unknown>;
3209
+ response: HttpResponse<TData>;
3210
+ } | {
3211
+ data: undefined;
3212
+ error: TError[keyof TError];
3213
+ request: HttpRequest<unknown>;
3214
+ response: HttpErrorResponse & {
3215
+ error: TError[keyof TError] | null;
3216
+ };
3217
+ }>;
3218
+ interface ClientOptions$5 {
3219
+ baseUrl?: string;
3220
+ responseStyle?: ResponseStyle$2;
3221
+ throwOnError?: boolean;
3222
+ }
3223
+ type MethodFn$5 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$2 = 'fields'>(options: Omit<RequestOptions$5<TData, TResponseStyle, ThrowOnError>, 'method'>) => RequestResult$5<TData, TError, ThrowOnError, TResponseStyle>;
3224
+ type SseFn$5 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$2 = 'fields'>(options: Omit<RequestOptions$5<TData, TResponseStyle, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
3225
+ type RequestFn$5 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$2 = 'fields'>(options: Omit<RequestOptions$5<TData, TResponseStyle, ThrowOnError>, 'method'> & Pick<Required<RequestOptions$5<TData, TResponseStyle, ThrowOnError>>, 'method'>) => RequestResult$5<TData, TError, ThrowOnError, TResponseStyle>;
3226
+ type RequestOptionsFn = <ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$2 = 'fields'>(options: RequestOptions$5<unknown, TResponseStyle, ThrowOnError>) => HttpRequest<unknown>;
3227
+ type BuildUrlFn$5 = <TData extends {
3228
+ body?: unknown;
3229
+ path?: Record<string, unknown>;
3230
+ query?: Record<string, unknown>;
3231
+ url: string;
3232
+ }>(options: TData & Options$5<TData>) => string;
3233
+ type Client$7 = Client$1<RequestFn$5, Config$19, MethodFn$5, BuildUrlFn$5, SseFn$5> & {
3234
+ interceptors: Middleware$3<HttpRequest<unknown>, HttpResponse<unknown>, unknown, ResolvedRequestOptions$3>;
3235
+ requestOptions: RequestOptionsFn;
3236
+ };
3237
+ interface TDataShape$5 {
3238
+ body?: unknown;
3239
+ headers?: unknown;
3240
+ path?: unknown;
3241
+ query?: unknown;
3447
3242
  url: string;
3448
3243
  }
3244
+ type OmitKeys$5<T, K$1> = Pick<T, Exclude<keyof T, K$1>>;
3245
+ type Options$5<TData extends TDataShape$5 = TDataShape$5, ThrowOnError extends boolean = boolean, TResponse = unknown, TResponseStyle extends ResponseStyle$2 = 'fields'> = OmitKeys$5<RequestOptions$5<TResponse, TResponseStyle, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & ([TData] extends [never] ? unknown : Omit<TData, 'url'>);
3449
3246
  //#endregion
3450
- //#region src/openApi/v3/interfaces/OpenApiXml.d.ts
3451
- /**
3452
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#xml-object
3453
- */
3454
- interface OpenApiXml$1 {
3455
- attribute?: boolean;
3456
- name?: string;
3457
- namespace?: string;
3458
- prefix?: string;
3459
- wrapped?: boolean;
3247
+ //#region src/plugins/@hey-api/client-axios/bundle/types.d.ts
3248
+ interface Config$18<T extends ClientOptions$4 = ClientOptions$4> extends Omit<CreateAxiosDefaults, 'auth' | 'baseURL' | 'headers' | 'method'>, Config$13 {
3249
+ /**
3250
+ * Axios implementation. You can use this option to provide either an
3251
+ * `AxiosStatic` or an `AxiosInstance`.
3252
+ *
3253
+ * @default axios
3254
+ */
3255
+ axios?: AxiosStatic | AxiosInstance;
3256
+ /**
3257
+ * Base URL for all requests made by this client.
3258
+ */
3259
+ baseURL?: T['baseURL'];
3260
+ /**
3261
+ * An object containing any HTTP headers that you want to pre-populate your
3262
+ * `Headers` object with.
3263
+ *
3264
+ * {@link https://developer.mozilla.org/docs/Web/API/Headers/Headers#init See more}
3265
+ */
3266
+ headers?: AxiosRequestHeaders | Record<string, string | number | boolean | (string | number | boolean)[] | null | undefined | unknown>;
3267
+ /**
3268
+ * Throw an error instead of returning it in the response?
3269
+ *
3270
+ * @default false
3271
+ */
3272
+ throwOnError?: T['throwOnError'];
3460
3273
  }
3461
- //#endregion
3462
- //#region src/openApi/v3/interfaces/OpenApiSchema.d.ts
3463
- /**
3464
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schema-object
3465
- */
3466
- interface OpenApiSchema$1 extends OpenApiReference, WithEnumExtension {
3467
- additionalProperties?: boolean | OpenApiSchema$1;
3468
- allOf?: OpenApiSchema$1[];
3469
- anyOf?: OpenApiSchema$1[];
3470
- const?: string | number | boolean | null;
3471
- default?: unknown;
3472
- deprecated?: boolean;
3473
- description?: string;
3474
- discriminator?: OpenApiDiscriminator;
3475
- enum?: (string | number)[];
3476
- example?: unknown;
3477
- exclusiveMaximum?: boolean;
3478
- exclusiveMinimum?: boolean;
3479
- externalDocs?: OpenApiExternalDocs;
3480
- format?: 'binary' | 'boolean' | 'byte' | 'date-time' | 'date' | 'double' | 'float' | 'int32' | 'int64' | 'password' | 'string';
3481
- items?: OpenApiSchema$1;
3482
- maxItems?: number;
3483
- maxLength?: number;
3484
- maxProperties?: number;
3485
- maximum?: number;
3486
- minItems?: number;
3487
- minLength?: number;
3488
- minProperties?: number;
3489
- minimum?: number;
3490
- multipleOf?: number;
3491
- not?: OpenApiSchema$1[];
3492
- nullable?: boolean;
3493
- oneOf?: OpenApiSchema$1[];
3494
- pattern?: string;
3495
- prefixItems?: OpenApiSchema$1[];
3496
- properties?: Dictionary<OpenApiSchema$1>;
3497
- readOnly?: boolean;
3498
- required?: string[];
3499
- title?: string;
3500
- type?: string | string[];
3501
- uniqueItems?: boolean;
3502
- writeOnly?: boolean;
3503
- xml?: OpenApiXml$1;
3274
+ interface RequestOptions$4<TData = unknown, ThrowOnError extends boolean = boolean, Url extends string = string> extends Config$18<{
3275
+ throwOnError: ThrowOnError;
3276
+ }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
3277
+ /**
3278
+ * Any body that you want to add to your request.
3279
+ *
3280
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
3281
+ */
3282
+ body?: unknown;
3283
+ path?: Record<string, unknown>;
3284
+ query?: Record<string, unknown>;
3285
+ /**
3286
+ * Security mechanism(s) to use for the request.
3287
+ */
3288
+ security?: ReadonlyArray<Auth>;
3289
+ url: Url;
3504
3290
  }
3505
- //#endregion
3506
- //#region src/openApi/v3/interfaces/OpenApiParameter.d.ts
3507
- /**
3508
- * add only one type for now as that's needed to resolve the reported issue,
3509
- * more types should be added though
3510
- * {@link https://github.com/hey-api/openapi-ts/issues/612}
3511
- */
3512
- type MediaType = 'application/json';
3513
- /**
3514
- * encoding interface should be added, not adding it for now as it's not needed
3515
- * to resolve the issue reported
3516
- * {@link https://github.com/hey-api/openapi-ts/issues/612}
3517
- */
3518
- interface MediaTypeObject$1 {
3519
- example?: unknown;
3520
- examples?: Dictionary<OpenApiExample>;
3521
- schema: OpenApiSchema$1;
3291
+ interface ClientOptions$4 {
3292
+ baseURL?: string;
3293
+ throwOnError?: boolean;
3522
3294
  }
3523
- /**
3524
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameter-object
3525
- */
3526
- interface OpenApiParameter extends OpenApiReference {
3527
- allowEmptyValue?: boolean;
3528
- allowReserved?: boolean;
3529
- content?: Record<MediaType, MediaTypeObject$1>;
3530
- deprecated?: boolean;
3531
- description?: string;
3532
- example?: unknown;
3533
- examples?: Dictionary<OpenApiExample>;
3534
- explode?: boolean;
3535
- in: 'cookie' | 'formData' | 'header' | 'path' | 'query';
3536
- name: string;
3537
- nullable?: boolean;
3538
- required?: boolean;
3539
- schema?: OpenApiSchema$1;
3540
- style?: string;
3295
+ type RequestResult$4<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> & {
3296
+ error: undefined;
3297
+ }) | (AxiosError<TError extends Record<string, unknown> ? TError[keyof TError] : TError> & {
3298
+ data: undefined;
3299
+ error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
3300
+ })>;
3301
+ type MethodFn$4 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$4<TData, ThrowOnError>, 'method'>) => RequestResult$4<TData, TError, ThrowOnError>;
3302
+ type SseFn$4 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$4<TData, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
3303
+ type RequestFn$4 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$4<TData, ThrowOnError>, 'method'> & Pick<Required<RequestOptions$4<TData, ThrowOnError>>, 'method'>) => RequestResult$4<TData, TError, ThrowOnError>;
3304
+ type BuildUrlFn$4 = <TData extends {
3305
+ body?: unknown;
3306
+ path?: Record<string, unknown>;
3307
+ query?: Record<string, unknown>;
3308
+ url: string;
3309
+ }>(options: TData & Options$4<TData>) => string;
3310
+ type Client$6 = Client$1<RequestFn$4, Config$18, MethodFn$4, BuildUrlFn$4, SseFn$4> & {
3311
+ instance: AxiosInstance;
3312
+ };
3313
+ interface TDataShape$4 {
3314
+ body?: unknown;
3315
+ headers?: unknown;
3316
+ path?: unknown;
3317
+ query?: unknown;
3318
+ url: string;
3541
3319
  }
3320
+ type OmitKeys$4<T, K$1> = Pick<T, Exclude<keyof T, K$1>>;
3321
+ type Options$4<TData extends TDataShape$4 = TDataShape$4, ThrowOnError extends boolean = boolean, TResponse = unknown> = OmitKeys$4<RequestOptions$4<TResponse, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & ([TData] extends [never] ? unknown : Omit<TData, 'url'>);
3542
3322
  //#endregion
3543
- //#region src/openApi/common/interfaces/client.d.ts
3544
- interface Enum {
3545
- customDescription?: string;
3546
- customName?: string;
3547
- description?: string;
3548
- value: string | number;
3549
- }
3550
- interface OperationParameter extends Model {
3551
- in: 'body' | 'cookie' | 'formData' | 'header' | 'path' | 'query';
3552
- mediaType: string | null;
3553
- prop: string;
3554
- }
3555
- interface OperationParameters extends Pick<Model, '$refs' | 'imports'> {
3556
- parameters: OperationParameter[];
3557
- parametersBody: OperationParameter | null;
3558
- parametersCookie: OperationParameter[];
3559
- parametersForm: OperationParameter[];
3560
- parametersHeader: OperationParameter[];
3561
- parametersPath: OperationParameter[];
3562
- parametersQuery: OperationParameter[];
3563
- }
3564
- interface OperationResponse extends Model {
3565
- code: number | 'default' | '1XX' | '2XX' | '3XX' | '4XX' | '5XX';
3566
- in: 'header' | 'response';
3567
- responseTypes: Array<'error' | 'success'>;
3568
- }
3569
- type Method = 'CONNECT' | 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'PATCH' | 'POST' | 'PUT' | 'TRACE';
3570
- interface Operation$1 extends OperationParameters {
3571
- deprecated: boolean;
3572
- description: string | null;
3573
- /**
3574
- * The operationId from OpenAPI specification.
3575
- */
3576
- id: string | null;
3577
- method: Method;
3578
- name: string;
3579
- path: string;
3580
- responseHeader: string | null;
3323
+ //#region src/plugins/@hey-api/client-axios/api.d.ts
3324
+ type IApi$19 = any;
3325
+ //#endregion
3326
+ //#region src/plugins/@hey-api/client-axios/types.d.ts
3327
+ type UserConfig$21 = Plugin.Name<'@hey-api/client-axios'> & Client.Config & {
3581
3328
  /**
3582
- * All operation responses defined in OpenAPI specification.
3583
- * Sorted by status code.
3329
+ * Throw an error instead of returning it in the response?
3330
+ *
3331
+ * @default false
3584
3332
  */
3585
- responses: OperationResponse[];
3586
- summary: string | null;
3587
- tags: string[] | null;
3333
+ throwOnError?: boolean;
3334
+ };
3335
+ type HeyApiClientAxiosPlugin = DefinePlugin<UserConfig$21, UserConfig$21, IApi$19>;
3336
+ //#endregion
3337
+ //#region src/plugins/@hey-api/client-fetch/bundle/utils.d.ts
3338
+ type ErrInterceptor$2<Err, Res, Req, Options$6> = (error: Err, response: Res, request: Req, options: Options$6) => Err | Promise<Err>;
3339
+ type ReqInterceptor$2<Req, Options$6> = (request: Req, options: Options$6) => Req | Promise<Req>;
3340
+ type ResInterceptor$2<Res, Req, Options$6> = (response: Res, request: Req, options: Options$6) => Res | Promise<Res>;
3341
+ declare class Interceptors$2<Interceptor> {
3342
+ fns: Array<Interceptor | null>;
3343
+ clear(): void;
3344
+ eject(id: number | Interceptor): void;
3345
+ exists(id: number | Interceptor): boolean;
3346
+ getInterceptorIndex(id: number | Interceptor): number;
3347
+ update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false;
3348
+ use(fn: Interceptor): number;
3588
3349
  }
3589
- interface Schema {
3590
- default?: unknown;
3591
- exclusiveMaximum?: boolean;
3592
- exclusiveMinimum?: boolean;
3593
- format?: 'binary' | 'boolean' | 'byte' | 'date-time' | 'date' | 'double' | 'float' | 'int32' | 'int64' | 'password' | 'string';
3594
- isDefinition: boolean;
3595
- isNullable: boolean;
3596
- isReadOnly: boolean;
3597
- isRequired: boolean;
3598
- maxItems?: number;
3599
- maxLength?: number;
3600
- maxProperties?: number;
3601
- maximum?: number;
3602
- minItems?: number;
3603
- minLength?: number;
3604
- minProperties?: number;
3605
- minimum?: number;
3606
- multipleOf?: number;
3607
- pattern?: string;
3608
- uniqueItems?: boolean;
3350
+ interface Middleware$2<Req, Res, Err, Options$6> {
3351
+ error: Interceptors$2<ErrInterceptor$2<Err, Res, Req, Options$6>>;
3352
+ request: Interceptors$2<ReqInterceptor$2<Req, Options$6>>;
3353
+ response: Interceptors$2<ResInterceptor$2<Res, Req, Options$6>>;
3609
3354
  }
3610
- interface ModelMeta {
3355
+ //#endregion
3356
+ //#region src/plugins/@hey-api/client-fetch/bundle/types.d.ts
3357
+ type ResponseStyle$1 = 'data' | 'fields';
3358
+ interface Config$17<T extends ClientOptions$3 = ClientOptions$3> extends Omit<RequestInit, 'body' | 'headers' | 'method'>, Config$13 {
3611
3359
  /**
3612
- * Ref to the type in OpenAPI specification.
3360
+ * Base URL for all requests made by this client.
3613
3361
  */
3614
- $ref: string;
3362
+ baseUrl?: T['baseUrl'];
3615
3363
  /**
3616
- * Name passed to the initial `getModel()` call.
3364
+ * Fetch API implementation. You can use this option to provide a custom
3365
+ * fetch instance.
3366
+ *
3367
+ * @default globalThis.fetch
3617
3368
  */
3618
- name: string;
3619
- }
3620
- interface Model extends Schema {
3369
+ fetch?: typeof fetch;
3621
3370
  /**
3622
- * **Experimental.** Contains list of original refs so they can be used
3623
- * to access the schema from anywhere instead of relying on string name.
3624
- * This allows us to do things like detect type of ref.
3371
+ * Please don't use the Fetch client for Next.js applications. The `next`
3372
+ * options won't have any effect.
3373
+ *
3374
+ * Install {@link https://www.npmjs.com/package/@hey-api/client-next `@hey-api/client-next`} instead.
3625
3375
  */
3626
- $refs: string[];
3627
- base: string;
3628
- deprecated?: boolean;
3629
- description: string | null;
3630
- enum: Enum[];
3631
- enums: Model[];
3632
- export: 'all-of' | 'any-of' | 'array' | 'const' | 'dictionary' | 'enum' | 'generic' | 'interface' | 'one-of' | 'reference';
3633
- imports: string[];
3634
- in: OperationParameter['in'] | OpenApiParameter['in'] | OperationResponse['in'] | '';
3635
- link: Model | Model[] | null;
3636
- meta?: ModelMeta;
3376
+ next?: never;
3637
3377
  /**
3638
- * @deprecated use `meta.name` instead
3378
+ * Return the response data parsed in a specified format. By default, `auto`
3379
+ * will infer the appropriate method from the `Content-Type` response header.
3380
+ * You can override this behavior with any of the {@link Body} methods.
3381
+ * Select `stream` if you don't want to parse response data at all.
3382
+ *
3383
+ * @default 'auto'
3639
3384
  */
3640
- name: string;
3641
- properties: Model[];
3642
- template: string | null;
3643
- type: string;
3644
- }
3645
- interface Client$1 {
3385
+ parseAs?: 'arrayBuffer' | 'auto' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
3646
3386
  /**
3647
- * Configuration for parsing and generating the output. This
3648
- * is a mix of user-provided and default values.
3387
+ * Should we return only data or multiple fields (data, error, response, etc.)?
3388
+ *
3389
+ * @default 'fields'
3649
3390
  */
3650
- config: Config$1;
3651
- models: Model[];
3652
- operations: Operation$1[];
3653
- server: string;
3391
+ responseStyle?: ResponseStyle$1;
3654
3392
  /**
3655
- * Map of generated types where type names are keys. This is used to track
3656
- * uniquely generated types as we may want to deduplicate if there are
3657
- * multiple definitions with the same name but different value, or if we
3658
- * want to transform names.
3393
+ * Throw an error instead of returning it in the response?
3394
+ *
3395
+ * @default false
3659
3396
  */
3660
- types: Record<string, ModelMeta>;
3661
- version: string;
3397
+ throwOnError?: T['throwOnError'];
3662
3398
  }
3663
- //#endregion
3664
- //#region src/utils/logger.d.ts
3665
- declare class Logger {
3666
- private events;
3667
- private end;
3399
+ interface RequestOptions$3<TData = unknown, TResponseStyle extends ResponseStyle$1 = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends Config$17<{
3400
+ responseStyle: TResponseStyle;
3401
+ throwOnError: ThrowOnError;
3402
+ }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
3668
3403
  /**
3669
- * Recursively end all unended events in the event tree.
3670
- * This ensures all events have end marks before measuring.
3404
+ * Any body that you want to add to your request.
3405
+ *
3406
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
3671
3407
  */
3672
- private endAllEvents;
3673
- report(print?: boolean): PerformanceMeasure | undefined;
3674
- private reportEvent;
3675
- private start;
3676
- private storeEvent;
3677
- timeEvent(name: string): {
3678
- mark: PerformanceMark;
3679
- timeEnd: () => void;
3680
- };
3408
+ body?: unknown;
3409
+ path?: Record<string, unknown>;
3410
+ query?: Record<string, unknown>;
3411
+ /**
3412
+ * Security mechanism(s) to use for the request.
3413
+ */
3414
+ security?: ReadonlyArray<Auth>;
3415
+ url: Url;
3681
3416
  }
3682
- //#endregion
3683
- //#region src/openApi/v2/interfaces/OpenApiExternalDocs.d.ts
3684
- /**
3685
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#external-documentation-object
3686
- */
3687
- interface OpenApiExternalDocs$1 {
3688
- description?: string;
3689
- url: string;
3417
+ interface ResolvedRequestOptions$2<TResponseStyle extends ResponseStyle$1 = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions$3<unknown, TResponseStyle, ThrowOnError, Url> {
3418
+ serializedBody?: string;
3690
3419
  }
3691
- //#endregion
3692
- //#region src/openApi/v2/interfaces/OpenApiContact.d.ts
3693
- /**
3694
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#contact-object
3695
- */
3696
- interface OpenApiContact$1 {
3697
- email?: string;
3698
- name?: string;
3699
- url?: string;
3420
+ type RequestResult$3<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle$1 = 'fields'> = ThrowOnError extends true ? Promise<TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
3421
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
3422
+ request: Request;
3423
+ response: Response;
3424
+ }> : Promise<TResponseStyle extends 'data' ? (TData extends Record<string, unknown> ? TData[keyof TData] : TData) | undefined : ({
3425
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
3426
+ error: undefined;
3427
+ } | {
3428
+ data: undefined;
3429
+ error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
3430
+ }) & {
3431
+ request: Request;
3432
+ response: Response;
3433
+ }>;
3434
+ interface ClientOptions$3 {
3435
+ baseUrl?: string;
3436
+ responseStyle?: ResponseStyle$1;
3437
+ throwOnError?: boolean;
3700
3438
  }
3701
- //#endregion
3702
- //#region src/openApi/v2/interfaces/OpenApiLicense.d.ts
3703
- /**
3704
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#license-object
3705
- */
3706
- interface OpenApiLicense$1 {
3707
- name: string;
3708
- url?: string;
3439
+ type MethodFn$3 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$1 = 'fields'>(options: Omit<RequestOptions$3<TData, TResponseStyle, ThrowOnError>, 'method'>) => RequestResult$3<TData, TError, ThrowOnError, TResponseStyle>;
3440
+ type SseFn$3 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$1 = 'fields'>(options: Omit<RequestOptions$3<TData, TResponseStyle, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
3441
+ type RequestFn$3 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle$1 = 'fields'>(options: Omit<RequestOptions$3<TData, TResponseStyle, ThrowOnError>, 'method'> & Pick<Required<RequestOptions$3<TData, TResponseStyle, ThrowOnError>>, 'method'>) => RequestResult$3<TData, TError, ThrowOnError, TResponseStyle>;
3442
+ type BuildUrlFn$3 = <TData extends {
3443
+ body?: unknown;
3444
+ path?: Record<string, unknown>;
3445
+ query?: Record<string, unknown>;
3446
+ url: string;
3447
+ }>(options: TData & Options$3<TData>) => string;
3448
+ type Client$5 = Client$1<RequestFn$3, Config$17, MethodFn$3, BuildUrlFn$3, SseFn$3> & {
3449
+ interceptors: Middleware$2<Request, Response, unknown, ResolvedRequestOptions$2>;
3450
+ };
3451
+ interface TDataShape$3 {
3452
+ body?: unknown;
3453
+ headers?: unknown;
3454
+ path?: unknown;
3455
+ query?: unknown;
3456
+ url: string;
3709
3457
  }
3458
+ type OmitKeys$3<T, K$1> = Pick<T, Exclude<keyof T, K$1>>;
3459
+ type Options$3<TData extends TDataShape$3 = TDataShape$3, ThrowOnError extends boolean = boolean, TResponse = unknown, TResponseStyle extends ResponseStyle$1 = 'fields'> = OmitKeys$3<RequestOptions$3<TResponse, TResponseStyle, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & ([TData] extends [never] ? unknown : Omit<TData, 'url'>);
3710
3460
  //#endregion
3711
- //#region src/openApi/v2/interfaces/OpenApiInfo.d.ts
3712
- /**
3713
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#info-object
3714
- */
3715
- interface OpenApiInfo$1 {
3716
- contact?: OpenApiContact$1;
3717
- description?: string;
3718
- license?: OpenApiLicense$1;
3719
- termsOfService?: string;
3720
- title: string;
3721
- version: string;
3722
- }
3461
+ //#region src/plugins/@hey-api/client-fetch/api.d.ts
3462
+ type IApi$18 = any;
3723
3463
  //#endregion
3724
- //#region src/openApi/v2/interfaces/Extensions/WithNullableExtension.d.ts
3725
- interface WithNullableExtension {
3726
- 'x-nullable'?: boolean;
3727
- }
3464
+ //#region src/plugins/@hey-api/client-fetch/types.d.ts
3465
+ type UserConfig$20 = Plugin.Name<'@hey-api/client-fetch'> & Client.Config & {
3466
+ /**
3467
+ * Throw an error instead of returning it in the response?
3468
+ *
3469
+ * @default false
3470
+ */
3471
+ throwOnError?: boolean;
3472
+ };
3473
+ type HeyApiClientFetchPlugin = DefinePlugin<UserConfig$20, UserConfig$20, IApi$18>;
3728
3474
  //#endregion
3729
- //#region src/openApi/v2/interfaces/OpenApiItems.d.ts
3730
- /**
3731
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#items-object)
3732
- */
3733
- interface OpenApiItems extends WithEnumExtension {
3734
- collectionFormat?: 'csv' | 'ssv' | 'tsv' | 'pipes';
3735
- default?: unknown;
3736
- enum?: (string | number)[];
3737
- exclusiveMaximum?: number;
3738
- exclusiveMinimum?: number;
3739
- format?: 'int32' | 'int64' | 'float' | 'double' | 'string' | 'boolean' | 'byte' | 'binary' | 'date' | 'date-time' | 'password';
3740
- items?: OpenApiItems;
3741
- maxItems?: number;
3742
- maxLength?: number;
3743
- maximum?: number;
3744
- minItems?: number;
3745
- minLength?: number;
3746
- minimum?: number;
3747
- multipleOf?: number;
3748
- pattern?: string;
3749
- type?: string;
3750
- uniqueItems?: boolean;
3475
+ //#region src/plugins/@hey-api/client-next/bundle/utils.d.ts
3476
+ type ErrInterceptor$1<Err, Res, Options$6> = (error: Err, response: Res, options: Options$6) => Err | Promise<Err>;
3477
+ type ReqInterceptor$1<Options$6> = (options: Options$6) => void | Promise<void>;
3478
+ type ResInterceptor$1<Res, Options$6> = (response: Res, options: Options$6) => Res | Promise<Res>;
3479
+ declare class Interceptors$1<Interceptor> {
3480
+ fns: Array<Interceptor | null>;
3481
+ clear(): void;
3482
+ eject(id: number | Interceptor): void;
3483
+ exists(id: number | Interceptor): boolean;
3484
+ getInterceptorIndex(id: number | Interceptor): number;
3485
+ update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false;
3486
+ use(fn: Interceptor): number;
3751
3487
  }
3752
- //#endregion
3753
- //#region src/openApi/v2/interfaces/OpenApiReference.d.ts
3754
- /**
3755
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#reference-object
3756
- */
3757
- interface OpenApiReference$1 {
3758
- $ref?: string;
3488
+ interface Middleware$1<Res, Err, Options$6> {
3489
+ error: Interceptors$1<ErrInterceptor$1<Err, Res, Options$6>>;
3490
+ request: Interceptors$1<ReqInterceptor$1<Options$6>>;
3491
+ response: Interceptors$1<ResInterceptor$1<Res, Options$6>>;
3759
3492
  }
3760
3493
  //#endregion
3761
- //#region src/openApi/v2/interfaces/OpenApiXml.d.ts
3762
- /**
3763
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#xml-object
3764
- */
3765
- interface OpenApiXml {
3766
- attribute?: boolean;
3767
- name?: string;
3768
- namespace?: string;
3769
- prefix?: string;
3770
- wrapped?: boolean;
3494
+ //#region src/plugins/@hey-api/client-next/bundle/types.d.ts
3495
+ interface Config$16<T extends ClientOptions$2 = ClientOptions$2> extends Omit<RequestInit, 'body' | 'headers' | 'method'>, Config$13 {
3496
+ /**
3497
+ * Base URL for all requests made by this client.
3498
+ */
3499
+ baseUrl?: T['baseUrl'];
3500
+ /**
3501
+ * Fetch API implementation. You can use this option to provide a custom
3502
+ * fetch instance.
3503
+ *
3504
+ * @default globalThis.fetch
3505
+ */
3506
+ fetch?: typeof fetch;
3507
+ /**
3508
+ * Return the response data parsed in a specified format. By default, `auto`
3509
+ * will infer the appropriate method from the `Content-Type` response header.
3510
+ * You can override this behavior with any of the {@link Body} methods.
3511
+ * Select `stream` if you don't want to parse response data at all.
3512
+ *
3513
+ * @default 'auto'
3514
+ */
3515
+ parseAs?: 'arrayBuffer' | 'auto' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
3516
+ /**
3517
+ * Throw an error instead of returning it in the response?
3518
+ *
3519
+ * @default false
3520
+ */
3521
+ throwOnError?: T['throwOnError'];
3771
3522
  }
3772
- //#endregion
3773
- //#region src/openApi/v2/interfaces/OpenApiSchema.d.ts
3774
- /**
3775
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#schema-object
3776
- */
3777
- interface OpenApiSchema extends OpenApiReference$1, WithEnumExtension, WithNullableExtension {
3778
- additionalProperties?: boolean | OpenApiSchema;
3779
- allOf?: OpenApiSchema[];
3780
- default?: unknown;
3781
- description?: string;
3782
- discriminator?: string;
3783
- enum?: (string | number)[];
3784
- example?: unknown;
3785
- exclusiveMaximum?: boolean;
3786
- exclusiveMinimum?: boolean;
3787
- externalDocs?: OpenApiExternalDocs$1;
3788
- format?: 'int32' | 'int64' | 'float' | 'double' | 'string' | 'boolean' | 'byte' | 'binary' | 'date' | 'date-time' | 'password';
3789
- items?: OpenApiSchema;
3790
- maxItems?: number;
3791
- maxLength?: number;
3792
- maxProperties?: number;
3793
- maximum?: number;
3794
- minItems?: number;
3795
- minLength?: number;
3796
- minProperties?: number;
3797
- minimum?: number;
3798
- multipleOf?: number;
3799
- pattern?: string;
3800
- properties?: Dictionary<OpenApiSchema>;
3801
- readOnly?: boolean;
3802
- required?: string[];
3803
- title?: string;
3804
- type?: string;
3805
- uniqueItems?: boolean;
3806
- xml?: OpenApiXml;
3523
+ interface RequestOptions$2<TData = unknown, ThrowOnError extends boolean = boolean, Url extends string = string> extends Config$16<{
3524
+ throwOnError: ThrowOnError;
3525
+ }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
3526
+ /**
3527
+ * Any body that you want to add to your request.
3528
+ *
3529
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
3530
+ */
3531
+ body?: unknown;
3532
+ path?: Record<string, unknown>;
3533
+ query?: Record<string, unknown>;
3534
+ /**
3535
+ * Security mechanism(s) to use for the request.
3536
+ */
3537
+ security?: ReadonlyArray<Auth>;
3538
+ url: Url;
3807
3539
  }
3808
- //#endregion
3809
- //#region src/openApi/v2/interfaces/OpenApiParameter.d.ts
3810
- /**
3811
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#parameter-object
3812
- */
3813
- interface OpenApiParameter$1 extends OpenApiReference$1, WithEnumExtension, WithNullableExtension {
3814
- allowEmptyValue?: boolean;
3815
- collectionFormat?: 'csv' | 'ssv' | 'tsv' | 'pipes' | 'multi';
3816
- default?: unknown;
3817
- description?: string;
3818
- enum?: (string | number)[];
3819
- exclusiveMaximum?: boolean;
3820
- exclusiveMinimum?: boolean;
3821
- format?: 'int32' | 'int64' | 'float' | 'double' | 'string' | 'boolean' | 'byte' | 'binary' | 'date' | 'date-time' | 'password';
3822
- in: 'path' | 'query' | 'header' | 'formData' | 'body';
3823
- items?: OpenApiItems;
3824
- maxItems?: number;
3825
- maxLength?: number;
3826
- maximum?: number;
3827
- minItems?: number;
3828
- minLength?: number;
3829
- minimum?: number;
3830
- multipleOf?: number;
3831
- name: string;
3832
- pattern?: string;
3833
- required?: boolean;
3834
- schema?: OpenApiSchema;
3835
- type?: string;
3836
- uniqueItems?: boolean;
3540
+ interface ResolvedRequestOptions$1<ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions$2<unknown, ThrowOnError, Url> {
3541
+ serializedBody?: string;
3837
3542
  }
3838
- //#endregion
3839
- //#region src/openApi/v2/interfaces/OpenApiExample.d.ts
3840
- /**
3841
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#example-object
3842
- */
3843
- interface OpenApiExample$1 {
3844
- [mimetype: string]: unknown;
3543
+ type RequestResult$2<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean> = ThrowOnError extends true ? Promise<{
3544
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
3545
+ response: Response;
3546
+ }> : Promise<({
3547
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
3548
+ error: undefined;
3549
+ } | {
3550
+ data: undefined;
3551
+ error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
3552
+ }) & {
3553
+ response: Response;
3554
+ }>;
3555
+ interface ClientOptions$2 {
3556
+ baseUrl?: string;
3557
+ throwOnError?: boolean;
3845
3558
  }
3846
- //#endregion
3847
- //#region src/openApi/v2/interfaces/OpenApiHeader.d.ts
3848
- /**
3849
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#header-object
3850
- */
3851
- interface OpenApiHeader$1 {
3852
- collectionFormat?: 'csv' | 'ssv' | 'tsv' | 'pipes';
3853
- default?: unknown;
3854
- description?: string;
3855
- enum?: (string | number)[];
3856
- exclusiveMaximum?: boolean;
3857
- exclusiveMinimum?: boolean;
3858
- format?: 'int32' | 'int64' | 'float' | 'double' | 'string' | 'boolean' | 'byte' | 'binary' | 'date' | 'date-time' | 'password';
3859
- items?: Dictionary<OpenApiItems>;
3860
- maxItems?: number;
3861
- maxLength?: number;
3862
- maximum?: number;
3863
- minItems?: number;
3864
- minLength?: number;
3865
- minimum?: number;
3866
- multipleOf?: number;
3867
- pattern?: string;
3868
- type: 'string' | 'number' | 'integer' | 'boolean' | 'array';
3869
- uniqueItems?: boolean;
3559
+ type MethodFn$2 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$2<TData, ThrowOnError>, 'method'>) => RequestResult$2<TData, TError, ThrowOnError>;
3560
+ type SseFn$2 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$2<TData, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
3561
+ type RequestFn$2 = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions$2<TData, ThrowOnError>, 'method'> & Pick<Required<RequestOptions$2<TData, ThrowOnError>>, 'method'>) => RequestResult$2<TData, TError, ThrowOnError>;
3562
+ type BuildUrlFn$2 = <TData extends {
3563
+ body?: unknown;
3564
+ path?: Record<string, unknown>;
3565
+ query?: Record<string, unknown>;
3566
+ url: string;
3567
+ }>(options: TData & Options$2<TData>) => string;
3568
+ type Client$4 = Client$1<RequestFn$2, Config$16, MethodFn$2, BuildUrlFn$2, SseFn$2> & {
3569
+ interceptors: Middleware$1<Response, unknown, ResolvedRequestOptions$1>;
3570
+ };
3571
+ interface TDataShape$2 {
3572
+ body?: unknown;
3573
+ headers?: unknown;
3574
+ path?: unknown;
3575
+ query?: unknown;
3576
+ url: string;
3870
3577
  }
3578
+ type OmitKeys$2<T, K$1> = Pick<T, Exclude<keyof T, K$1>>;
3579
+ type Options$2<TData extends TDataShape$2 = TDataShape$2, ThrowOnError extends boolean = boolean, TResponse = unknown> = OmitKeys$2<RequestOptions$2<TResponse, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & ([TData] extends [never] ? unknown : Omit<TData, 'url'>);
3871
3580
  //#endregion
3872
- //#region src/openApi/v2/interfaces/OpenApiResponse.d.ts
3873
- /**
3874
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#response-object
3875
- */
3876
- interface OpenApiResponse$1 extends OpenApiReference$1 {
3877
- description: string;
3878
- examples?: OpenApiExample$1;
3879
- headers?: Dictionary<OpenApiHeader$1>;
3880
- schema?: OpenApiSchema & OpenApiReference$1;
3881
- }
3581
+ //#region src/plugins/@hey-api/client-next/api.d.ts
3582
+ type IApi$17 = any;
3882
3583
  //#endregion
3883
- //#region src/openApi/v2/interfaces/OpenApiResponses.d.ts
3884
- /**
3885
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#responses-object
3886
- */
3887
- interface Response$1 {
3888
- [httpcode: string]: OpenApiResponse$1;
3889
- }
3890
- type OpenApiResponses$1 = Response$1 & {
3891
- default?: OpenApiResponse$1;
3584
+ //#region src/plugins/@hey-api/client-next/types.d.ts
3585
+ type UserConfig$19 = Plugin.Name<'@hey-api/client-next'> & Client.Config & {
3586
+ /**
3587
+ * Throw an error instead of returning it in the response?
3588
+ *
3589
+ * @default false
3590
+ */
3591
+ throwOnError?: boolean;
3892
3592
  };
3593
+ type HeyApiClientNextPlugin = DefinePlugin<UserConfig$19, UserConfig$19, IApi$17>;
3893
3594
  //#endregion
3894
- //#region src/openApi/v2/interfaces/OpenApiSecurityRequirement.d.ts
3895
- /**
3896
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#security-requirement-object
3897
- */
3898
- interface OpenApiSecurityRequirement$1 {
3899
- [key: string]: string;
3595
+ //#region src/plugins/@hey-api/client-nuxt/bundle/types.d.ts
3596
+ type QuerySerializer = (query: Parameters<Client$3['buildUrl']>[0]['query']) => string;
3597
+ type WithRefs<TData> = { [K in keyof TData]: NonNullable<TData[K]> extends object ? WithRefs<NonNullable<TData[K]>> | Ref<NonNullable<TData[K]>> : NonNullable<TData[K]> | Ref<NonNullable<TData[K]>> };
3598
+ type KeysOf<T> = Array<T extends T ? (keyof T extends string ? keyof T : never) : never>;
3599
+ interface Config$15<T extends ClientOptions$1 = ClientOptions$1> extends Omit<FetchOptions$1<unknown>, 'baseURL' | 'body' | 'headers' | 'method' | 'query'>, WithRefs<Pick<FetchOptions$1<unknown>, 'query'>>, Omit<Config$13, 'querySerializer'> {
3600
+ /**
3601
+ * Base URL for all requests made by this client.
3602
+ */
3603
+ baseURL?: T['baseURL'];
3604
+ /**
3605
+ * A function for serializing request query parameters. By default, arrays
3606
+ * will be exploded in form style, objects will be exploded in deepObject
3607
+ * style, and reserved characters are percent-encoded.
3608
+ *
3609
+ * {@link https://swagger.io/docs/specification/serialization/#query View examples}
3610
+ */
3611
+ querySerializer?: QuerySerializer | QuerySerializerOptions;
3900
3612
  }
3901
- //#endregion
3902
- //#region src/openApi/v2/interfaces/OpenApiOperation.d.ts
3903
- /**
3904
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#operation-object
3905
- */
3906
- interface OpenApiOperation$1 {
3907
- consumes?: string[];
3908
- deprecated?: boolean;
3909
- description?: string;
3910
- externalDocs?: OpenApiExternalDocs$1;
3911
- operationId?: string;
3912
- parameters?: OpenApiParameter$1[];
3913
- produces?: string[];
3914
- responses: OpenApiResponses$1;
3915
- schemes?: ('http' | 'https' | 'ws' | 'wss')[];
3916
- security?: OpenApiSecurityRequirement$1[];
3917
- summary?: string;
3918
- tags?: string[];
3613
+ interface RequestOptions$1<TComposable extends Composable = '$fetch', ResT = unknown, DefaultT = undefined, Url extends string = string> extends Config$15, WithRefs<{
3614
+ /**
3615
+ * Any body that you want to add to your request.
3616
+ *
3617
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
3618
+ */
3619
+ body?: unknown;
3620
+ path?: FetchOptions$1<unknown>['query'];
3621
+ query?: FetchOptions$1<unknown>['query'];
3622
+ rawBody?: unknown;
3623
+ }>, Pick<ServerSentEventsOptions<ResT>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
3624
+ asyncDataOptions?: AsyncDataOptions<ResT, ResT, KeysOf<ResT>, DefaultT>;
3625
+ composable?: TComposable;
3626
+ key?: string;
3627
+ /**
3628
+ * Security mechanism(s) to use for the request.
3629
+ */
3630
+ security?: ReadonlyArray<Auth>;
3631
+ url: Url;
3919
3632
  }
3920
- //#endregion
3921
- //#region src/openApi/v2/interfaces/OpenApiPath.d.ts
3922
- /**
3923
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#path-item-object
3924
- */
3925
- interface OpenApiPath$1 extends OpenApiReference$1 {
3926
- connect?: OpenApiOperation$1;
3927
- delete?: OpenApiOperation$1;
3928
- get?: OpenApiOperation$1;
3929
- head?: OpenApiOperation$1;
3930
- options?: OpenApiOperation$1;
3931
- parameters?: OpenApiParameter$1[];
3932
- patch?: OpenApiOperation$1;
3933
- post?: OpenApiOperation$1;
3934
- put?: OpenApiOperation$1;
3935
- trace?: OpenApiOperation$1;
3633
+ type RequestResult$1<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;
3634
+ interface ClientOptions$1 {
3635
+ baseURL?: string;
3936
3636
  }
3937
- //#endregion
3938
- //#region src/openApi/v2/interfaces/OpenApiSecurityScheme.d.ts
3637
+ type MethodFn$1 = <TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined>(options: Omit<RequestOptions$1<TComposable, ResT, DefaultT>, 'method'>) => RequestResult$1<TComposable, ResT, TError>;
3638
+ type SseFn$1 = <TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined>(options: Omit<RequestOptions$1<TComposable, ResT, DefaultT>, 'method'>) => Promise<ServerSentEventsResult<RequestResult$1<TComposable, ResT, TError>>>;
3639
+ type RequestFn$1 = <TComposable extends Composable = '$fetch', ResT = unknown, TError = unknown, DefaultT = undefined>(options: Omit<RequestOptions$1<TComposable, ResT, DefaultT>, 'method'> & Pick<Required<RequestOptions$1<TComposable, ResT, DefaultT>>, 'method'>) => RequestResult$1<TComposable, ResT, TError>;
3939
3640
  /**
3940
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#security-scheme-object
3641
+ * The `createClientConfig()` function will be called on client initialization
3642
+ * and the returned object will become the client's initial configuration.
3643
+ *
3644
+ * You may want to initialize your client this way instead of calling
3645
+ * `setConfig()`. This is useful for example if you're using Next.js
3646
+ * to ensure your client always has the correct values.
3941
3647
  */
3942
- interface OpenApiSecurityScheme$1 {
3943
- authorizationUrl?: string;
3944
- description?: string;
3945
- flow?: 'implicit' | 'password' | 'application' | 'accessCode';
3946
- in?: 'query' | 'header';
3947
- name?: string;
3948
- scopes: Dictionary<string>;
3949
- tokenUrl?: string;
3950
- type: 'basic' | 'apiKey' | 'oauth2';
3648
+
3649
+ interface TDataShape$1 {
3650
+ body?: unknown;
3651
+ headers?: unknown;
3652
+ path?: FetchOptions$1<unknown>['query'];
3653
+ query?: FetchOptions$1<unknown>['query'];
3654
+ url: string;
3951
3655
  }
3656
+ type BuildUrlOptions<TData extends Omit<TDataShape$1, 'headers'> = Omit<TDataShape$1, 'headers'>> = Pick<WithRefs<TData>, 'path' | 'query'> & Pick<TData, 'url'> & Pick<Options$1<'$fetch', TData>, 'baseURL' | 'querySerializer'>;
3657
+ type BuildUrlFn$1 = <TData extends Omit<TDataShape$1, 'headers'>>(options: BuildUrlOptions<TData>) => string;
3658
+ type Client$3 = Client$1<RequestFn$1, Config$15, MethodFn$1, BuildUrlFn$1, SseFn$1>;
3659
+ type OmitKeys$1<T, K$1> = Pick<T, Exclude<keyof T, K$1>>;
3660
+ type Options$1<TComposable extends Composable = '$fetch', TData extends TDataShape$1 = TDataShape$1, ResT = unknown, DefaultT = undefined> = OmitKeys$1<RequestOptions$1<TComposable, ResT, DefaultT>, 'body' | 'path' | 'query' | 'url'> & ([TData] extends [never] ? unknown : WithRefs<Omit<TData, 'url'>>);
3661
+ type FetchOptions$1<TData> = Omit<UseFetchOptions<TData, TData>, keyof AsyncDataOptions<TData>>;
3662
+ type Composable = '$fetch' | 'useAsyncData' | 'useFetch' | 'useLazyAsyncData' | 'useLazyFetch';
3952
3663
  //#endregion
3953
- //#region src/openApi/v2/interfaces/OpenApiTag.d.ts
3954
- /**
3955
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#tag-object
3956
- */
3957
- interface OpenApiTag$1 {
3958
- description?: string;
3959
- externalDocs?: OpenApiExternalDocs$1;
3960
- name: string;
3961
- }
3664
+ //#region src/plugins/@hey-api/client-nuxt/api.d.ts
3665
+ type IApi$16 = any;
3962
3666
  //#endregion
3963
- //#region src/openApi/v2/interfaces/OpenApi.d.ts
3964
- /**
3965
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md
3966
- */
3967
- interface OpenApi$2 {
3968
- basePath?: string;
3969
- consumes?: string[];
3970
- definitions?: Dictionary<OpenApiSchema>;
3971
- externalDocs?: OpenApiExternalDocs$1;
3972
- host?: string;
3973
- info: OpenApiInfo$1;
3974
- parameters?: Dictionary<OpenApiParameter$1>;
3975
- paths: Dictionary<OpenApiPath$1>;
3976
- produces?: string[];
3977
- responses?: Dictionary<OpenApiResponse$1>;
3978
- schemes?: string[];
3979
- security?: OpenApiSecurityRequirement$1[];
3980
- securityDefinitions?: Dictionary<OpenApiSecurityScheme$1>;
3981
- swagger: string;
3982
- tags?: OpenApiTag$1[];
3983
- }
3667
+ //#region src/plugins/@hey-api/client-nuxt/types.d.ts
3668
+ type UserConfig$18 = Plugin.Name<'@hey-api/client-nuxt'> & Client.Config;
3669
+ type HeyApiClientNuxtPlugin = DefinePlugin<UserConfig$18, UserConfig$18, IApi$16>;
3984
3670
  //#endregion
3985
- //#region src/openApi/v3/interfaces/OpenApiHeader.d.ts
3986
- /**
3987
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#header-object
3988
- */
3989
- interface OpenApiHeader extends OpenApiReference {
3990
- allowEmptyValue?: boolean;
3991
- allowReserved?: boolean;
3992
- deprecated?: boolean;
3993
- description?: string;
3994
- example?: unknown;
3995
- examples?: Dictionary<OpenApiExample>;
3996
- explode?: boolean;
3997
- required?: boolean;
3998
- schema?: OpenApiSchema$1;
3999
- style?: string;
3671
+ //#region src/plugins/@hey-api/client-ofetch/bundle/utils.d.ts
3672
+ type ErrInterceptor<Err, Res, Req, Options$6> = (error: Err, response: Res, request: Req, options: Options$6) => Err | Promise<Err>;
3673
+ type ReqInterceptor<Req, Options$6> = (request: Req, options: Options$6) => Req | Promise<Req>;
3674
+ type ResInterceptor<Res, Req, Options$6> = (response: Res, request: Req, options: Options$6) => Res | Promise<Res>;
3675
+ declare class Interceptors<Interceptor> {
3676
+ fns: Array<Interceptor | null>;
3677
+ clear(): void;
3678
+ eject(id: number | Interceptor): void;
3679
+ exists(id: number | Interceptor): boolean;
3680
+ getInterceptorIndex(id: number | Interceptor): number;
3681
+ update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false;
3682
+ use(fn: Interceptor): number;
4000
3683
  }
4001
- //#endregion
4002
- //#region src/openApi/v3/interfaces/OpenApiEncoding.d.ts
4003
- /**
4004
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#encoding-object
4005
- */
4006
- interface OpenApiEncoding {
4007
- allowReserved?: boolean;
4008
- contentType?: string;
4009
- explode?: boolean;
4010
- headers?: Dictionary<OpenApiHeader>;
4011
- style?: string;
3684
+ interface Middleware<Req, Res, Err, Options$6> {
3685
+ error: Interceptors<ErrInterceptor<Err, Res, Req, Options$6>>;
3686
+ request: Interceptors<ReqInterceptor<Req, Options$6>>;
3687
+ response: Interceptors<ResInterceptor<Res, Req, Options$6>>;
4012
3688
  }
4013
3689
  //#endregion
4014
- //#region src/openApi/v3/interfaces/OpenApiMediaType.d.ts
4015
- /**
4016
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object
4017
- */
4018
- interface OpenApiMediaType extends OpenApiReference {
4019
- encoding?: Dictionary<OpenApiEncoding>;
4020
- example?: unknown;
4021
- examples?: Dictionary<OpenApiExample>;
4022
- schema?: OpenApiSchema$1;
4023
- }
4024
- //#endregion
4025
- //#region src/openApi/v3/interfaces/OpenApiRequestBody.d.ts
4026
- /**
4027
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#request-body-object
4028
- */
4029
- interface OpenApiRequestBody extends OpenApiReference {
4030
- content: Dictionary<OpenApiMediaType>;
4031
- description?: string;
4032
- nullable?: boolean;
4033
- required?: boolean;
4034
- 'x-body-name'?: string;
4035
- }
4036
- //#endregion
4037
- //#region src/openApi/v3/interfaces/OpenApiServerVariable.d.ts
4038
- /**
4039
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#server-variable-object
4040
- */
4041
- interface OpenApiServerVariable extends WithEnumExtension {
4042
- default: string;
4043
- description?: string;
4044
- enum?: (string | number)[];
4045
- }
4046
- //#endregion
4047
- //#region src/openApi/v3/interfaces/OpenApiServer.d.ts
4048
- /**
4049
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#server-object
4050
- */
4051
- interface OpenApiServer {
4052
- description?: string;
4053
- url: string;
4054
- variables?: Dictionary<OpenApiServerVariable>;
3690
+ //#region src/plugins/@hey-api/client-ofetch/bundle/types.d.ts
3691
+ type ResponseStyle = 'data' | 'fields';
3692
+ interface Config$14<T extends ClientOptions = ClientOptions> extends Omit<RequestInit, 'body' | 'headers' | 'method'>, Config$13 {
3693
+ /**
3694
+ * HTTP(S) agent configuration (Node.js only). Passed through to ofetch.
3695
+ */
3696
+ agent?: FetchOptions['agent'];
3697
+ /**
3698
+ * Base URL for all requests made by this client.
3699
+ */
3700
+ baseUrl?: T['baseUrl'];
3701
+ /**
3702
+ * Node-only proxy/agent options.
3703
+ */
3704
+ dispatcher?: FetchOptions['dispatcher'];
3705
+ /**
3706
+ * Fetch API implementation. Used for SSE streaming. You can use this option
3707
+ * to provide a custom fetch instance.
3708
+ *
3709
+ * @default globalThis.fetch
3710
+ */
3711
+ fetch?: typeof fetch;
3712
+ /**
3713
+ * Controls the native ofetch behaviour that throws `FetchError` when
3714
+ * `response.ok === false`. We default to suppressing it to match the fetch
3715
+ * client semantics and let `throwOnError` drive the outcome.
3716
+ */
3717
+ ignoreResponseError?: FetchOptions['ignoreResponseError'];
3718
+ /**
3719
+ * Please don't use the Fetch client for Next.js applications. The `next`
3720
+ * options won't have any effect.
3721
+ *
3722
+ * Install {@link https://www.npmjs.com/package/@hey-api/client-next `@hey-api/client-next`} instead.
3723
+ */
3724
+ next?: never;
3725
+ /**
3726
+ * Custom ofetch instance created via `ofetch.create()`. If provided, it will
3727
+ * be used for requests instead of the default `ofetch` export.
3728
+ */
3729
+ ofetch?: typeof ofetch;
3730
+ /**
3731
+ * ofetch hook called before a request is sent.
3732
+ */
3733
+ onRequest?: FetchOptions['onRequest'];
3734
+ /**
3735
+ * ofetch hook called when a request fails before receiving a response
3736
+ * (e.g., network errors or aborted requests).
3737
+ */
3738
+ onRequestError?: FetchOptions['onRequestError'];
3739
+ /**
3740
+ * ofetch hook called after a successful response is received and parsed.
3741
+ */
3742
+ onResponse?: FetchOptions['onResponse'];
3743
+ /**
3744
+ * ofetch hook called when the response indicates an error (non-ok status)
3745
+ * or when response parsing fails.
3746
+ */
3747
+ onResponseError?: FetchOptions['onResponseError'];
3748
+ /**
3749
+ * Return the response data parsed in a specified format. By default, `auto`
3750
+ * will infer the appropriate method from the `Content-Type` response header.
3751
+ * You can override this behavior with any of the {@link Body} methods.
3752
+ * Select `stream` if you don't want to parse response data at all.
3753
+ *
3754
+ * @default 'auto'
3755
+ */
3756
+ parseAs?: 'arrayBuffer' | 'auto' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
3757
+ /** Custom response parser (ofetch). */
3758
+ parseResponse?: FetchOptions['parseResponse'];
3759
+ /**
3760
+ * Should we return only data or multiple fields (data, error, response, etc.)?
3761
+ *
3762
+ * @default 'fields'
3763
+ */
3764
+ responseStyle?: ResponseStyle;
3765
+ /**
3766
+ * ofetch responseType override. If provided, it will be passed directly to
3767
+ * ofetch and take precedence over `parseAs`.
3768
+ */
3769
+ responseType?: ResponseType;
3770
+ /**
3771
+ * Automatically retry failed requests.
3772
+ */
3773
+ retry?: FetchOptions['retry'];
3774
+ /**
3775
+ * Delay (in ms) between retry attempts.
3776
+ */
3777
+ retryDelay?: FetchOptions['retryDelay'];
3778
+ /**
3779
+ * HTTP status codes that should trigger a retry.
3780
+ */
3781
+ retryStatusCodes?: FetchOptions['retryStatusCodes'];
3782
+ /**
3783
+ * Throw an error instead of returning it in the response?
3784
+ *
3785
+ * @default false
3786
+ */
3787
+ throwOnError?: T['throwOnError'];
3788
+ /**
3789
+ * Abort the request after the given milliseconds.
3790
+ */
3791
+ timeout?: number;
4055
3792
  }
4056
- //#endregion
4057
- //#region src/openApi/v3/interfaces/OpenApiLink.d.ts
4058
- /**
4059
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#link-object
4060
- */
4061
- interface OpenApiLink extends OpenApiReference {
4062
- description?: string;
4063
- operationId?: string;
4064
- operationRef?: string;
4065
- parameters?: Dictionary<unknown>;
4066
- requestBody?: unknown;
4067
- server?: OpenApiServer;
3793
+ interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends Config$14<{
3794
+ responseStyle: TResponseStyle;
3795
+ throwOnError: ThrowOnError;
3796
+ }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
3797
+ /**
3798
+ * Any body that you want to add to your request.
3799
+ *
3800
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
3801
+ */
3802
+ body?: unknown;
3803
+ path?: Record<string, unknown>;
3804
+ query?: Record<string, unknown>;
3805
+ /**
3806
+ * Security mechanism(s) to use for the request.
3807
+ */
3808
+ security?: ReadonlyArray<Auth>;
3809
+ url: Url;
4068
3810
  }
4069
- //#endregion
4070
- //#region src/openApi/v3/interfaces/OpenApiResponse.d.ts
4071
- /**
4072
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#response-object
4073
- */
4074
- interface OpenApiResponse extends OpenApiReference {
4075
- content?: Dictionary<OpenApiMediaType>;
4076
- description: string;
4077
- headers?: Dictionary<OpenApiHeader>;
4078
- links?: Dictionary<OpenApiLink>;
3811
+ interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
3812
+ serializedBody?: string;
4079
3813
  }
4080
- //#endregion
4081
- //#region src/openApi/v3/interfaces/OpenApiResponses.d.ts
4082
- /**
4083
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#responses-object
4084
- */
4085
- interface Response {
4086
- [httpcode: string]: OpenApiResponse;
3814
+ type RequestResult<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 : {
3815
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
3816
+ request: Request;
3817
+ response: Response;
3818
+ }> : Promise<TResponseStyle extends 'data' ? (TData extends Record<string, unknown> ? TData[keyof TData] : TData) | undefined : ({
3819
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
3820
+ error: undefined;
3821
+ } | {
3822
+ data: undefined;
3823
+ error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
3824
+ }) & {
3825
+ request: Request;
3826
+ response: Response;
3827
+ }>;
3828
+ interface ClientOptions {
3829
+ baseUrl?: string;
3830
+ responseStyle?: ResponseStyle;
3831
+ throwOnError?: boolean;
4087
3832
  }
4088
- type OpenApiResponses = OpenApiReference & Response & {
4089
- default: OpenApiResponse;
3833
+ type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'>) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
3834
+ type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
3835
+ type RequestFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'> & Pick<Required<RequestOptions<TData, TResponseStyle, ThrowOnError>>, 'method'>) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
3836
+ type BuildUrlFn = <TData extends {
3837
+ body?: unknown;
3838
+ path?: Record<string, unknown>;
3839
+ query?: Record<string, unknown>;
3840
+ url: string;
3841
+ }>(options: TData & Options<TData>) => string;
3842
+ type Client$2 = Client$1<RequestFn, Config$14, MethodFn, BuildUrlFn, SseFn> & {
3843
+ interceptors: Middleware<Request, Response, unknown, ResolvedRequestOptions>;
4090
3844
  };
4091
- //#endregion
4092
- //#region src/openApi/v3/interfaces/OpenApiSecurityRequirement.d.ts
4093
- /**
4094
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#security-requirement-object
4095
- */
4096
- interface OpenApiSecurityRequirement {
4097
- [name: string]: string;
4098
- }
4099
- //#endregion
4100
- //#region src/openApi/v3/interfaces/OpenApiOperation.d.ts
4101
- /**
4102
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#operation-object
4103
- */
4104
- interface OpenApiOperation {
4105
- callbacks?: Dictionary<OpenApiCallback>;
4106
- deprecated?: boolean;
4107
- description?: string;
4108
- externalDocs?: OpenApiExternalDocs;
4109
- operationId?: string;
4110
- parameters?: OpenApiParameter[];
4111
- requestBody?: OpenApiRequestBody;
4112
- responses: OpenApiResponses;
4113
- security?: OpenApiSecurityRequirement[];
4114
- servers?: OpenApiServer[];
4115
- summary?: string;
4116
- tags?: string[];
4117
- }
4118
- //#endregion
4119
- //#region src/openApi/v3/interfaces/OpenApiPath.d.ts
4120
- /**
4121
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#path-item-object
4122
- */
4123
- interface OpenApiPath {
4124
- connect?: OpenApiOperation;
4125
- delete?: OpenApiOperation;
4126
- description?: string;
4127
- get?: OpenApiOperation;
4128
- head?: OpenApiOperation;
4129
- options?: OpenApiOperation;
4130
- parameters?: OpenApiParameter[];
4131
- patch?: OpenApiOperation;
4132
- post?: OpenApiOperation;
4133
- put?: OpenApiOperation;
4134
- servers?: OpenApiServer[];
4135
- summary?: string;
4136
- trace?: OpenApiOperation;
4137
- }
4138
- //#endregion
4139
- //#region src/openApi/v3/interfaces/OpenApiCallback.d.ts
4140
- /**
4141
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#callback-object
4142
- */
4143
- interface Callback {
4144
- [key: string]: OpenApiPath;
4145
- }
4146
- type OpenApiCallback = OpenApiReference & Callback;
4147
- //#endregion
4148
- //#region src/openApi/v3/interfaces/OpenApiOAuthFlow.d.ts
4149
- /**
4150
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#oauth-flow-object
4151
- */
4152
- interface OpenApiOAuthFlow {
4153
- authorizationUrl: string;
4154
- refreshUrl?: string;
4155
- scopes: Dictionary<string>;
4156
- tokenUrl: string;
4157
- }
4158
- //#endregion
4159
- //#region src/openApi/v3/interfaces/OpenApiOAuthFlows.d.ts
4160
- /**
4161
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#oauth-flows-object
4162
- */
4163
- interface OpenApiOAuthFlows {
4164
- authorizationCode?: OpenApiOAuthFlow;
4165
- clientCredentials?: OpenApiOAuthFlow;
4166
- implicit?: OpenApiOAuthFlow;
4167
- password?: OpenApiOAuthFlow;
4168
- }
4169
- //#endregion
4170
- //#region src/openApi/v3/interfaces/OpenApiSecurityScheme.d.ts
4171
- /**
4172
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#security-scheme-object
4173
- */
4174
- interface OpenApiSecurityScheme extends OpenApiReference {
4175
- bearerFormat?: string;
4176
- description?: string;
4177
- flows?: OpenApiOAuthFlows;
4178
- in?: 'query' | 'header' | 'cookie';
4179
- name?: string;
4180
- openIdConnectUrl?: string;
4181
- scheme?: string;
4182
- type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect';
4183
- }
4184
- //#endregion
4185
- //#region src/openApi/v3/interfaces/OpenApiComponents.d.ts
4186
- /**
4187
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#components-object
4188
- */
4189
- interface OpenApiComponents {
4190
- callbacks?: Dictionary<OpenApiCallback>;
4191
- examples?: Dictionary<OpenApiExample>;
4192
- headers?: Dictionary<OpenApiHeader>;
4193
- links?: Dictionary<OpenApiLink>;
4194
- parameters?: Dictionary<OpenApiParameter>;
4195
- requestBodies?: Dictionary<OpenApiRequestBody>;
4196
- responses?: Dictionary<OpenApiResponses>;
4197
- schemas?: Dictionary<OpenApiSchema$1>;
4198
- securitySchemes?: Dictionary<OpenApiSecurityScheme>;
4199
- }
4200
- //#endregion
4201
- //#region src/openApi/v3/interfaces/OpenApiContact.d.ts
4202
- /**
4203
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#contact-object
4204
- */
4205
- interface OpenApiContact {
4206
- email?: string;
4207
- name?: string;
4208
- url?: string;
4209
- }
4210
- //#endregion
4211
- //#region src/openApi/v3/interfaces/OpenApiLicense.d.ts
4212
- /**
4213
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#license-object
4214
- */
4215
- interface OpenApiLicense {
4216
- name: string;
4217
- url?: string;
3845
+ interface TDataShape {
3846
+ body?: unknown;
3847
+ headers?: unknown;
3848
+ path?: unknown;
3849
+ query?: unknown;
3850
+ url: string;
4218
3851
  }
3852
+ type OmitKeys<T, K$1> = Pick<T, Exclude<keyof T, K$1>>;
3853
+ type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown, TResponseStyle extends ResponseStyle = 'fields'> = OmitKeys<RequestOptions<TResponse, TResponseStyle, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & ([TData] extends [never] ? unknown : Omit<TData, 'url'>);
4219
3854
  //#endregion
4220
- //#region src/openApi/v3/interfaces/OpenApiInfo.d.ts
4221
- /**
4222
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#info-object
4223
- */
4224
- interface OpenApiInfo {
4225
- contact?: OpenApiContact;
4226
- description?: string;
4227
- license?: OpenApiLicense;
4228
- termsOfService?: string;
4229
- title: string;
4230
- version: string;
4231
- }
3855
+ //#region src/plugins/@hey-api/client-ofetch/api.d.ts
3856
+ type IApi$15 = any;
4232
3857
  //#endregion
4233
- //#region src/openApi/v3/interfaces/OpenApiPaths.d.ts
4234
- /**
4235
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#paths-object
4236
- */
4237
- interface OpenApiPaths {
4238
- [path: string]: OpenApiPath;
4239
- }
3858
+ //#region src/plugins/@hey-api/client-ofetch/types.d.ts
3859
+ type UserConfig$17 = Plugin.Name<'@hey-api/client-ofetch'> & Client.Config & {
3860
+ /**
3861
+ * Throw an error instead of returning it in the response?
3862
+ *
3863
+ * @default false
3864
+ */
3865
+ throwOnError?: boolean;
3866
+ };
3867
+ type HeyApiClientOfetchPlugin = DefinePlugin<UserConfig$17, UserConfig$17, IApi$15>;
4240
3868
  //#endregion
4241
- //#region src/openApi/v3/interfaces/OpenApiTag.d.ts
4242
- /**
4243
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#tag-object
4244
- */
4245
- interface OpenApiTag {
4246
- description?: string;
4247
- externalDocs?: OpenApiExternalDocs;
4248
- name: string;
3869
+ //#region src/plugins/@hey-api/client-core/types.d.ts
3870
+ interface PluginHandler {
3871
+ (...args: Parameters<HeyApiClientAngularPlugin['Handler']>): void;
3872
+ (...args: Parameters<HeyApiClientAxiosPlugin['Handler']>): void;
3873
+ (...args: Parameters<HeyApiClientFetchPlugin['Handler']>): void;
3874
+ (...args: Parameters<HeyApiClientNextPlugin['Handler']>): void;
3875
+ (...args: Parameters<HeyApiClientNuxtPlugin['Handler']>): void;
3876
+ (...args: Parameters<HeyApiClientOfetchPlugin['Handler']>): void;
4249
3877
  }
4250
- //#endregion
4251
- //#region src/openApi/v3/interfaces/OpenApi.d.ts
4252
3878
  /**
4253
- * {@link} https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md
3879
+ * Public Client API.
4254
3880
  */
4255
- interface OpenApi$3 {
4256
- components?: OpenApiComponents;
4257
- externalDocs?: OpenApiExternalDocs;
4258
- info: OpenApiInfo;
4259
- openapi: string;
4260
- paths: OpenApiPaths;
4261
- security?: OpenApiSecurityRequirement[];
4262
- servers?: OpenApiServer[];
4263
- tags?: OpenApiTag[];
3881
+ declare namespace Client {
3882
+ export type Config = Plugin.Hooks & {
3883
+ /**
3884
+ * Set a default base URL when creating the client? You can set `baseUrl`
3885
+ * to a string which will be used as the base URL. If your input defines
3886
+ * server(s), you can set `baseUrl` to a number to pick a specific server
3887
+ * to use as the base URL. You can disable setting the base URL by setting
3888
+ * `baseUrl` to `false`. By default, `baseUrl` is `true` and it will try to
3889
+ * use the first defined server value. If there's none, we won't set a
3890
+ * base URL.
3891
+ *
3892
+ * If the matched URL contains template literals, it will be ignored.
3893
+ *
3894
+ * @default true
3895
+ */
3896
+ baseUrl?: string | number | boolean;
3897
+ /**
3898
+ * Bundle the client module? When `true`, the client module will be copied
3899
+ * from the client plugin and bundled with the generated output.
3900
+ *
3901
+ * @default true
3902
+ */
3903
+ bundle?: boolean;
3904
+ /**
3905
+ * Should the exports from the generated files be re-exported in the index
3906
+ * barrel file?
3907
+ *
3908
+ * @default false
3909
+ */
3910
+ exportFromIndex?: boolean;
3911
+ /**
3912
+ * Relative path to the runtime configuration file. This file must export
3913
+ * a `createClientConfig()` function. The `createClientConfig()` function
3914
+ * will be called on client initialization and the returned object will
3915
+ * become the client's initial configuration.
3916
+ *
3917
+ * You may want to initialize your client this way instead of calling
3918
+ * `setConfig()`. This is useful for example if you're using Next.js
3919
+ * to ensure your client always has the correct values.
3920
+ */
3921
+ runtimeConfigPath?: string;
3922
+ /**
3923
+ * Should the type helper for base URL allow only values matching the
3924
+ * server(s) defined in the input? By default, `strictBaseUrl` is `false`
3925
+ * which will provide type hints and allow you to pass any string.
3926
+ *
3927
+ * Note that setting `strictBaseUrl` to `true` can produce an invalid
3928
+ * build if you specify `baseUrl` which doesn't conform to the type helper.
3929
+ *
3930
+ * @default false
3931
+ */
3932
+ strictBaseUrl?: boolean;
3933
+ };
4264
3934
  }
4265
3935
  //#endregion
4266
- //#region src/openApi/common/interfaces/OpenApi.d.ts
4267
- type OpenApi = OpenApi$2 | OpenApi$3;
3936
+ //#region src/plugins/@hey-api/client-angular/api.d.ts
3937
+ type IApi$14 = any;
4268
3938
  //#endregion
4269
- //#region src/openApi/index.d.ts
4270
- /**
4271
- * @internal
4272
- * Parse the resolved OpenAPI specification. This will populate and return
4273
- * `context` with intermediate representation obtained from the parsed spec.
4274
- */
4275
- declare const parseOpenApiSpec: ({
4276
- config,
4277
- dependencies,
4278
- logger,
4279
- spec
4280
- }: {
4281
- config: Config$1;
4282
- dependencies: Record<string, string>;
4283
- logger: Logger;
4284
- spec: unknown;
4285
- }) => IR$1.Context | undefined;
3939
+ //#region src/plugins/@hey-api/client-angular/types.d.ts
3940
+ type UserConfig$16 = Plugin.Name<'@hey-api/client-angular'> & Client.Config & {
3941
+ /**
3942
+ * Throw an error instead of returning it in the response?
3943
+ *
3944
+ * @default false
3945
+ */
3946
+ throwOnError?: boolean;
3947
+ };
3948
+ type HeyApiClientAngularPlugin = DefinePlugin<UserConfig$16, UserConfig$16, IApi$14>;
4286
3949
  //#endregion
4287
3950
  //#region src/openApi/2.0.x/types/json-schema-draft-4.d.ts
4288
3951
  interface JsonSchemaDraft4 extends EnumExtensions {
@@ -5818,7 +5481,7 @@ interface SecurityDefinitionsObject {
5818
5481
  /**
5819
5482
  * A single security scheme definition, mapping a "name" to the scheme it defines.
5820
5483
  */
5821
- [name: string]: SecuritySchemeObject$2;
5484
+ [name: string]: SecuritySchemeObject$1;
5822
5485
  }
5823
5486
  /**
5824
5487
  * Lists the required security schemes to execute this operation. The object can have multiple security schemes declared in it which are all required (that is, there is a logical AND between the schemes).
@@ -5882,7 +5545,7 @@ interface SecurityRequirementObject$1 {
5882
5545
  * read:pets: read your pets
5883
5546
  * ```
5884
5547
  */
5885
- type SecuritySchemeObject$2 = {
5548
+ type SecuritySchemeObject$1 = {
5886
5549
  /**
5887
5550
  * A short description for security scheme.
5888
5551
  */
@@ -6029,7 +5692,7 @@ interface OpenApiV3_0_X {
6029
5692
  /**
6030
5693
  * An array of Server Objects, which provide connectivity information to a target server. If the `servers` field is not provided, or is an empty array, the default value would be a {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#server-object Server Object} with a {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#server-url url} value of `/`.
6031
5694
  */
6032
- servers?: ReadonlyArray<ServerObject$1>;
5695
+ servers?: ReadonlyArray<ServerObject>;
6033
5696
  /**
6034
5697
  * A list of tags used by the OpenAPI Description with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#operation-object Operation Object} must be declared. The tags that are not declared MAY be organized randomly or based on the tools' logic. Each tag name in the list MUST be unique.
6035
5698
  */
@@ -6093,7 +5756,7 @@ interface ComponentsObject {
6093
5756
  /**
6094
5757
  * An object to hold reusable {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#security-scheme-object Security Scheme Objects}.
6095
5758
  */
6096
- securitySchemes?: Record<string, SecuritySchemeObject$1 | ReferenceObject$2>;
5759
+ securitySchemes?: Record<string, SecuritySchemeObject | ReferenceObject$2>;
6097
5760
  }
6098
5761
  /**
6099
5762
  * Contact information for the exposed API.
@@ -6341,7 +6004,7 @@ interface LinkObject {
6341
6004
  /**
6342
6005
  * A server object to be used by the target operation.
6343
6006
  */
6344
- server?: ServerObject$1;
6007
+ server?: ServerObject;
6345
6008
  }
6346
6009
  /**
6347
6010
  * Each Media Type Object provides schema and examples for the media type identified by its key.
@@ -6465,7 +6128,7 @@ interface OperationObject$1 {
6465
6128
  /**
6466
6129
  * An alternative `servers` array to service this operation. If a `servers` array is specified at the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#path-item-servers Path Item Object} or {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#oas-servers OpenAPI Object} level, it will be overridden by this value.
6467
6130
  */
6468
- servers?: ReadonlyArray<ServerObject$1>;
6131
+ servers?: ReadonlyArray<ServerObject>;
6469
6132
  /**
6470
6133
  * A short summary of what the operation does.
6471
6134
  */
@@ -6627,7 +6290,7 @@ interface PathItemObject {
6627
6290
  /**
6628
6291
  * An alternative `servers` array to service all operations in this path. If a `servers` array is specified at the {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md#oas-servers OpenAPI Object} level, it will be overridden by this value.
6629
6292
  */
6630
- servers?: ReadonlyArray<ServerObject$1>;
6293
+ servers?: ReadonlyArray<ServerObject>;
6631
6294
  /**
6632
6295
  * An optional string summary, intended to apply to all operations in this path.
6633
6296
  */
@@ -7054,7 +6717,7 @@ interface SecurityRequirementObject {
7054
6717
  *
7055
6718
  * TODO: examples
7056
6719
  */
7057
- type SecuritySchemeObject$1 = {
6720
+ type SecuritySchemeObject = {
7058
6721
  /**
7059
6722
  * A description for security scheme. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
7060
6723
  */
@@ -7111,7 +6774,7 @@ type SecuritySchemeObject$1 = {
7111
6774
  *
7112
6775
  * TODO: examples
7113
6776
  */
7114
- interface ServerObject$1 {
6777
+ interface ServerObject {
7115
6778
  /**
7116
6779
  * An optional string describing the host designated by the URL. {@link https://spec.commonmark.org/ CommonMark syntax} MAY be used for rich text representation.
7117
6780
  */
@@ -7251,7 +6914,7 @@ type UserConfig$15 = Plugin.Name<'@hey-api/schemas'> & Plugin.Hooks & {
7251
6914
  *
7252
6915
  * @default '{{name}}Schema'
7253
6916
  */
7254
- nameBuilder?: string | ((name: string, schema: OpenApiSchema | OpenApiSchema$1 | OpenApiV2_0_XTypes['SchemaObject'] | OpenApiV3_0_XTypes['ReferenceObject'] | OpenApiV3_0_XTypes['SchemaObject'] | OpenApiV3_1_XTypes['SchemaObject']) => string);
6917
+ nameBuilder?: string | ((name: string, schema: OpenApiV2_0_XTypes['SchemaObject'] | OpenApiV3_0_XTypes['ReferenceObject'] | OpenApiV3_0_XTypes['SchemaObject'] | OpenApiV3_1_XTypes['SchemaObject']) => string);
7255
6918
  /**
7256
6919
  * Choose schema type to generate. Select 'form' if you don't want
7257
6920
  * descriptions to reduce bundle size and you plan to use schemas
@@ -7263,598 +6926,102 @@ type UserConfig$15 = Plugin.Name<'@hey-api/schemas'> & Plugin.Hooks & {
7263
6926
  };
7264
6927
  type HeyApiSchemasPlugin = DefinePlugin<UserConfig$15, UserConfig$15, IApi$13>;
7265
6928
  //#endregion
7266
- //#region src/config/utils/config.d.ts
7267
- type ObjectType<T$1> = Extract<T$1, Record<string, any>> extends never ? Record<string, any> : Extract<T$1, Record<string, any>>;
7268
- type NotArray<T$1> = T$1 extends any[] ? never : T$1;
7269
- type NotFunction<T$1> = T$1 extends ((...args: any[]) => any) ? never : T$1;
7270
- type PlainObject<T$1> = T$1 extends object ? NotFunction<T$1> extends never ? never : NotArray<T$1> extends never ? never : T$1 : never;
7271
- type MappersType<T$1> = {
7272
- boolean: T$1 extends boolean ? (value: boolean) => Partial<ObjectType<T$1>> : never;
7273
- function: T$1 extends ((...args: any[]) => any) ? (value: (...args: any[]) => any) => Partial<ObjectType<T$1>> : never;
7274
- number: T$1 extends number ? (value: number) => Partial<ObjectType<T$1>> : never;
7275
- object?: PlainObject<T$1> extends never ? never : (value: Partial<PlainObject<T$1>>, defaultValue: PlainObject<T$1>) => Partial<ObjectType<T$1>>;
7276
- string: T$1 extends string ? (value: string) => Partial<ObjectType<T$1>> : never;
7277
- } extends infer U ? { [K in keyof U as U[K] extends never ? never : K]: U[K] } : never;
7278
- type IsObjectOnly<T$1> = T$1 extends Record<string, any> | undefined ? Extract<T$1, string | boolean | number | ((...args: any[]) => any)> extends never ? true : false : false;
7279
- type ValueToObject = <T extends undefined | string | boolean | number | ((...args: any[]) => any) | Record<string, any>>(args: {
7280
- defaultValue: ObjectType<T>;
7281
- value: T;
7282
- } & (IsObjectOnly<T> extends true ? {
7283
- mappers?: MappersType<T>;
7284
- } : {
7285
- mappers: MappersType<T>;
7286
- })) => PlainObject<T>;
7287
- //#endregion
7288
- //#region src/ir/graph.d.ts
7289
- declare const irTopLevelKinds: readonly ["operation", "parameter", "requestBody", "schema", "server", "webhook"];
7290
- type IrTopLevelKind = (typeof irTopLevelKinds)[number];
7291
- //#endregion
7292
- //#region src/openApi/types.d.ts
7293
- declare namespace OpenApi$1 {
7294
- export type V2_0_X = OpenApiV2_0_X;
7295
- export type V3_0_X = OpenApiV3_0_X;
7296
- export type V3_1_X = OpenApiV3_1_X;
7297
- }
7298
- declare namespace OpenApiMetaObject {
7299
- export type V2_0_X = OpenApiV2_0_XTypes['InfoObject'];
7300
- export type V3_0_X = OpenApiV3_0_XTypes['InfoObject'];
7301
- export type V3_1_X = OpenApiV3_1_XTypes['InfoObject'];
7302
- }
7303
- declare namespace OpenApiOperationObject {
7304
- export type V2_0_X = OpenApiV2_0_XTypes['OperationObject'];
7305
- export type V3_0_X = OpenApiV3_0_XTypes['OperationObject'];
7306
- export type V3_1_X = OpenApiV3_1_XTypes['OperationObject'];
7307
- }
7308
- declare namespace OpenApiParameterObject {
7309
- export type V3_0_X = OpenApiV3_0_XTypes['ParameterObject'] | OpenApiV3_0_XTypes['ReferenceObject'];
7310
- export type V3_1_X = OpenApiV3_1_XTypes['ParameterObject'] | OpenApiV3_1_XTypes['ReferenceObject'];
7311
- }
7312
- declare namespace OpenApiRequestBodyObject {
7313
- export type V3_0_X = OpenApiV3_0_XTypes['RequestBodyObject'] | OpenApiV3_0_XTypes['ReferenceObject'];
7314
- export type V3_1_X = OpenApiV3_1_XTypes['RequestBodyObject'] | OpenApiV3_1_XTypes['ReferenceObject'];
7315
- }
7316
- declare namespace OpenApiResponseObject {
7317
- export type V3_0_X = OpenApiV3_0_XTypes['ResponseObject'] | OpenApiV3_0_XTypes['ReferenceObject'];
7318
- export type V3_1_X = OpenApiV3_1_XTypes['ResponseObject'] | OpenApiV3_1_XTypes['ReferenceObject'];
7319
- }
7320
- declare namespace OpenApiSchemaObject {
7321
- export type V2_0_X = OpenApiV2_0_XTypes['SchemaObject'];
7322
- export type V3_0_X = OpenApiV3_0_XTypes['SchemaObject'];
7323
- export type V3_1_X = OpenApiV3_1_XTypes['SchemaObject'];
7324
- }
6929
+ //#region src/plugins/@hey-api/sdk/api.d.ts
6930
+ type IApi$12 = any;
7325
6931
  //#endregion
7326
- //#region src/plugins/shared/types/instance.d.ts
7327
- type BaseEvent = {
6932
+ //#region src/plugins/@hey-api/sdk/types.d.ts
6933
+ type UserConfig$14 = Plugin.Name<'@hey-api/sdk'> & Plugin.Hooks & {
7328
6934
  /**
7329
- * Path to the node, derived from the pointer.
6935
+ * Group operation methods into classes? When enabled, you can select which
6936
+ * classes to export with `sdk.include` and/or transform their names with
6937
+ * `sdk.classNameBuilder`.
6938
+ *
6939
+ * Note that by enabling this option, your SDKs will **NOT**
6940
+ * support {@link https://developer.mozilla.org/docs/Glossary/Tree_shaking tree-shaking}.
6941
+ * For this reason, it is disabled by default.
6942
+ *
6943
+ * @default false
7330
6944
  */
7331
- _path: ReadonlyArray<string | number>;
6945
+ asClass?: boolean;
7332
6946
  /**
7333
- * Pointer to the node in the graph.
6947
+ * Should the generated functions contain auth mechanisms? You may want to
6948
+ * disable this option if you're handling auth yourself or defining it
6949
+ * globally on the client and want to reduce the size of generated code.
6950
+ *
6951
+ * @default true
7334
6952
  */
7335
- pointer: string;
6953
+ auth?: boolean;
7336
6954
  /**
7337
- * Tags associated with the node.
6955
+ * Customize the generated class names. The name variable is obtained from
6956
+ * your OpenAPI specification tags or `instance` value.
6957
+ *
6958
+ * This option has no effect if `sdk.asClass` is `false`.
7338
6959
  */
7339
- tags?: ReadonlyArray<string>;
7340
- };
7341
- type WalkEvents = BaseEvent & ({
7342
- method: keyof IR$1.PathItemObject;
7343
- operation: IR$1.OperationObject;
7344
- path: string;
7345
- type: Extract<IrTopLevelKind, 'operation'>;
7346
- } | {
7347
- name: string;
7348
- parameter: IR$1.ParameterObject;
7349
- type: Extract<IrTopLevelKind, 'parameter'>;
7350
- } | {
7351
- name: string;
7352
- requestBody: IR$1.RequestBodyObject;
7353
- type: Extract<IrTopLevelKind, 'requestBody'>;
7354
- } | {
7355
- name: string;
7356
- schema: IR$1.SchemaObject;
7357
- type: Extract<IrTopLevelKind, 'schema'>;
7358
- } | {
7359
- server: IR$1.ServerObject;
7360
- type: Extract<IrTopLevelKind, 'server'>;
7361
- } | {
7362
- key: string;
7363
- method: keyof IR$1.PathItemObject;
7364
- operation: IR$1.OperationObject;
7365
- type: Extract<IrTopLevelKind, 'webhook'>;
7366
- });
7367
- type WalkEvent<T$1 extends IrTopLevelKind = IrTopLevelKind> = Extract<WalkEvents, {
7368
- type: T$1;
7369
- }>;
7370
- //#endregion
7371
- //#region src/plugins/shared/utils/instance.d.ts
7372
- declare class PluginInstance<T$1 extends Plugin.Types = Plugin.Types> {
7373
- api: T$1['api'];
7374
- config: Omit<T$1['resolvedConfig'], 'name' | 'output'>;
7375
- context: IR$1.Context;
7376
- dependencies: Required<Plugin.Config<T$1>>['dependencies'];
7377
- private eventHooks;
7378
- gen: IProject;
7379
- private handler;
7380
- name: T$1['resolvedConfig']['name'];
7381
- output: string;
6960
+ classNameBuilder?: StringName;
7382
6961
  /**
7383
- * The package metadata and utilities for the current context, constructed
7384
- * from the provided dependencies. Used for managing package-related
7385
- * information such as name, version, and dependency resolution during
7386
- * code generation.
6962
+ * How should we structure your SDK? By default, we try to infer the ideal
6963
+ * structure using `operationId` keywords. If you prefer a flatter structure,
6964
+ * you can set `classStructure` to `off` to disable this behavior.
6965
+ *
6966
+ * @default 'auto'
7387
6967
  */
7388
- package: IR$1.Context['package'];
7389
- constructor(props: Pick<Required<Plugin.Config<T$1>>, 'config' | 'dependencies' | 'handler'> & {
7390
- api?: T$1['api'];
7391
- context: IR$1.Context<OpenApi$1.V2_0_X | OpenApi$1.V3_0_X | OpenApi$1.V3_1_X>;
7392
- gen: IProject;
7393
- name: string;
7394
- output: string;
7395
- });
6968
+ classStructure?: 'auto' | 'off';
7396
6969
  /**
7397
- * Iterates over various input elements as specified by the event types, in
7398
- * a specific order: servers, schemas, parameters, request bodies, then
7399
- * operations.
6970
+ * Use an internal client instance to send HTTP requests? This is useful if
6971
+ * you don't want to manually pass the client to each SDK function.
7400
6972
  *
7401
- * This ensures, for example, that schemas are always processed before
7402
- * operations, which may reference them.
6973
+ * You can customize the selected client output through its plugin. You can
6974
+ * also set `client` to `true` to automatically choose the client from your
6975
+ * defined plugins. If we can't detect a client plugin when using `true`, we
6976
+ * will default to `@hey-api/client-fetch`.
7403
6977
  *
7404
- * @template TKind - The event type(s) to yield. Defaults to all event types.
7405
- * @param events - The event types to walk over. If none are provided, all event types are included.
7406
- * @param callback - Function to execute for each event.
6978
+ * @default true
6979
+ */
6980
+ client?: PluginClientNames | boolean;
6981
+ /**
6982
+ * Should the exports from the generated files be re-exported in the index
6983
+ * barrel file?
7407
6984
  *
7408
- * @example
7409
- * // Iterate over all operations and schemas
7410
- * plugin.forEach('operation', 'schema', (event) => {
7411
- * if (event.type === 'operation') {
7412
- * // handle operation
7413
- * } else if (event.type === 'schema') {
7414
- * // handle schema
7415
- * }
7416
- * });
6985
+ * @default true
7417
6986
  */
7418
- forEach<TKind extends IrTopLevelKind = IrTopLevelKind>(...args: [...events: ReadonlyArray<TKind>, callback: (event: WalkEvent<TKind>) => void]): void;
7419
- forEach<TKind extends IrTopLevelKind = IrTopLevelKind>(...args: [...events: ReadonlyArray<TKind>, callback: (event: WalkEvent<TKind>) => void, options: WalkOptions<TKind>]): void;
6987
+ exportFromIndex?: boolean;
7420
6988
  /**
7421
- * Retrieves a registered plugin instance by its name from the context. This
7422
- * allows plugins to access other plugins that have been registered in the
7423
- * same context, enabling cross-plugin communication and dependencies.
6989
+ * Include only service classes with names matching regular expression
7424
6990
  *
7425
- * @param name Plugin name as defined in the configuration.
7426
- * @returns The plugin instance if found, undefined otherwise.
6991
+ * This option has no effect if `sdk.asClass` is `false`.
7427
6992
  */
7428
- getPlugin<TName extends keyof PluginConfigMap>(name: TName): TName extends any ? PluginInstance<PluginConfigMap[TName]> | undefined : never;
6993
+ include?: string;
7429
6994
  /**
7430
- * Retrieves a registered plugin instance by its name from the context. This
7431
- * allows plugins to access other plugins that have been registered in the
7432
- * same context, enabling cross-plugin communication and dependencies.
6995
+ * Set `instance` to create an instantiable SDK. Using `true` will use the
6996
+ * default instance name; in practice, you want to define your own by passing
6997
+ * a string value.
7433
6998
  *
7434
- * @param name Plugin name as defined in the configuration.
7435
- * @returns The plugin instance if found, throw otherwise.
6999
+ * @default false
7436
7000
  */
7437
- getPluginOrThrow<TName extends keyof PluginConfigMap>(name: TName): TName extends any ? PluginInstance<PluginConfigMap[TName]> : never;
7438
- getSymbol(identifier: SymbolIdentifier): Symbol | undefined;
7439
- hooks: {
7440
- operation: {
7441
- isMutation: (operation: IR$1.OperationObject) => boolean;
7442
- isQuery: (operation: IR$1.OperationObject) => boolean;
7443
- };
7444
- };
7445
- isSymbolRegistered(identifier: SymbolIdentifier): boolean;
7446
- querySymbol(filter: SymbolMeta): Symbol | undefined;
7447
- referenceSymbol(meta: SymbolMeta): Symbol;
7448
- registerSymbol(symbol: SymbolIn): Symbol;
7001
+ instance?: string | boolean;
7449
7002
  /**
7450
- * Executes plugin's handler function.
7003
+ * Customise the name of methods within the service. By default,
7004
+ * {@link IR.OperationObject.id} is used.
7451
7005
  */
7452
- run(): Promise<void>;
7453
- setSymbolValue(symbol: Symbol, value: unknown): void;
7454
- private buildEventHooks;
7455
- private forEachError;
7456
- private getSymbolFilePath;
7457
- private isOperationKind;
7458
- }
7459
- //#endregion
7460
- //#region src/parser/types/hooks.d.ts
7461
- type Hooks = {
7006
+ methodNameBuilder?: (operation: IR$1.OperationObject) => string;
7007
+ // TODO: parser - rename operationId option to something like inferId?: boolean
7462
7008
  /**
7463
- * Event hooks.
7009
+ * Use operation ID to generate operation names?
7010
+ *
7011
+ * @default true
7464
7012
  */
7465
- events?: {
7466
- /**
7467
- * Triggered after executing a plugin handler.
7468
- *
7469
- * @param args Arguments object.
7470
- * @returns void
7471
- */
7472
- 'plugin:handler:after'?: (args: {
7473
- /** Plugin that just executed. */
7474
- plugin: PluginInstance;
7475
- }) => void;
7476
- /**
7477
- * Triggered before executing a plugin handler.
7478
- *
7479
- * @param args Arguments object.
7480
- * @returns void
7481
- */
7482
- 'plugin:handler:before'?: (args: {
7483
- /** Plugin about to execute. */
7484
- plugin: PluginInstance;
7485
- }) => void;
7486
- /**
7487
- * Triggered after registering a symbol.
7488
- *
7489
- * You can use this to perform actions after a symbol is registered.
7490
- *
7491
- * @param args Arguments object.
7492
- * @returns void
7493
- */
7494
- 'symbol:register:after'?: (args: {
7495
- /** Plugin that registered the symbol. */
7496
- plugin: PluginInstance;
7497
- /** The registered symbol. */
7498
- symbol: Symbol;
7499
- }) => void;
7500
- /**
7501
- * Triggered before registering a symbol.
7502
- *
7503
- * You can use this to modify the symbol before it's registered.
7504
- *
7505
- * @param args Arguments object.
7506
- * @returns void
7507
- */
7508
- 'symbol:register:before'?: (args: {
7509
- /** Plugin registering the symbol. */
7510
- plugin: PluginInstance;
7511
- /** Symbol to register. */
7512
- symbol: SymbolIn;
7513
- }) => void;
7514
- /**
7515
- * Triggered after setting a symbol value.
7516
- *
7517
- * You can use this to perform actions after a symbol's value is set.
7518
- *
7519
- * @param args Arguments object.
7520
- * @returns void
7521
- */
7522
- 'symbol:setValue:after'?: (args: {
7523
- /** Plugin that set the symbol value. */
7524
- plugin: PluginInstance;
7525
- /** The symbol. */
7526
- symbol: Symbol;
7527
- /** The value that was set. */
7528
- value: unknown;
7529
- }) => void;
7530
- /**
7531
- * Triggered before setting a symbol value.
7532
- *
7533
- * You can use this to modify the value before it's set.
7534
- *
7535
- * @param args Arguments object.
7536
- * @returns void
7537
- */
7538
- 'symbol:setValue:before'?: (args: {
7539
- /** Plugin setting the symbol value. */
7540
- plugin: PluginInstance;
7541
- /** The symbol. */
7542
- symbol: Symbol;
7543
- /** The value to set. */
7544
- value: unknown;
7545
- }) => void;
7546
- };
7547
- /**
7548
- * Hooks specifically for overriding operations behavior.
7549
- *
7550
- * Use these to classify operations, decide which outputs to generate,
7551
- * or apply custom behavior to individual operations.
7552
- */
7553
- operations?: {
7554
- /**
7555
- * Classify the given operation into one or more kinds.
7556
- *
7557
- * Each kind determines how we treat the operation (e.g., generating queries or mutations).
7558
- *
7559
- * **Default behavior:**
7560
- * - GET → 'query'
7561
- * - DELETE, PATCH, POST, PUT → 'mutation'
7562
- *
7563
- * **Resolution order:**
7564
- * 1. If `isQuery` or `isMutation` returns `true` or `false`, that overrides `getKind`.
7565
- * 2. If `isQuery` or `isMutation` returns `undefined`, the result of `getKind` is used.
7566
- *
7567
- * @param operation - The operation object to classify.
7568
- * @returns An array containing one or more of 'query' or 'mutation', or undefined to fallback to default behavior.
7569
- * @example
7570
- * ```ts
7571
- * getKind: (operation) => {
7572
- * if (operation.method === 'get' && operation.path === '/search') {
7573
- * return ['query', 'mutation'];
7574
- * }
7575
- * return; // fallback to default behavior
7576
- * }
7577
- * ```
7578
- */
7579
- getKind?: (operation: IROperationObject) => ReadonlyArray<'mutation' | 'query'> | undefined;
7580
- /**
7581
- * Check if the given operation should be treated as a mutation.
7582
- *
7583
- * This affects which outputs are generated for the operation.
7584
- *
7585
- * **Default behavior:** DELETE, PATCH, POST, and PUT operations are treated as mutations.
7586
- *
7587
- * **Resolution order:** If this returns `true` or `false`, it overrides `getKind`.
7588
- * If it returns `undefined`, `getKind` is used instead.
7589
- *
7590
- * @param operation - The operation object to check.
7591
- * @returns true if the operation is a mutation, false otherwise, or undefined to fallback to `getKind`.
7592
- * @example
7593
- * ```ts
7594
- * isMutation: (operation) => {
7595
- * if (operation.method === 'post' && operation.path === '/search') {
7596
- * return true;
7597
- * }
7598
- * return; // fallback to default behavior
7599
- * }
7600
- * ```
7601
- */
7602
- isMutation?: (operation: IROperationObject) => boolean | undefined;
7603
- /**
7604
- * Check if the given operation should be treated as a query.
7605
- *
7606
- * This affects which outputs are generated for the operation.
7607
- *
7608
- * **Default behavior:** GET operations are treated as queries.
7609
- *
7610
- * **Resolution order:** If this returns `true` or `false`, it overrides `getKind`.
7611
- * If it returns `undefined`, `getKind` is used instead.
7612
- *
7613
- * @param operation - The operation object to check.
7614
- * @returns true if the operation is a query, false otherwise, or undefined to fallback to `getKind`.
7615
- * @example
7616
- * ```ts
7617
- * isQuery: (operation) => {
7618
- * if (operation.method === 'post' && operation.path === '/search') {
7619
- * return true;
7620
- * }
7621
- * return; // fallback to default behavior
7622
- * }
7623
- * ```
7624
- */
7625
- isQuery?: (operation: IROperationObject) => boolean | undefined;
7626
- };
7627
- /**
7628
- * Hooks specifically for overriding symbols behavior.
7629
- *
7630
- * Use these to customize file placement.
7631
- */
7632
- symbols?: {
7633
- /**
7634
- * Optional output strategy to override default plugin behavior.
7635
- *
7636
- * Use this to route generated symbols to specific files.
7637
- *
7638
- * @returns The file path to output the symbol to, or undefined to fallback to default behavior.
7639
- */
7640
- getFilePath?: (symbol: Symbol) => string | undefined;
7641
- };
7642
- };
7643
- //#endregion
7644
- //#region src/types/client.d.ts
7645
- interface Operation extends Omit<Operation$1, 'tags'> {
7646
- service: string;
7647
- }
7648
- interface Service extends Pick<Model, '$refs' | 'imports' | 'name'> {
7649
- operations: Operation[];
7650
- }
7651
- interface Client extends Omit<Client$1, 'operations'> {
7652
- services: Service[];
7653
- }
7654
- //#endregion
7655
- //#region src/plugins/types.d.ts
7656
- type PluginClientNames = '@hey-api/client-angular' | '@hey-api/client-axios' | '@hey-api/client-fetch' | '@hey-api/client-next' | '@hey-api/client-nuxt' | '@hey-api/client-ofetch' | 'legacy/angular' | 'legacy/axios' | 'legacy/fetch' | 'legacy/node' | 'legacy/xhr';
7657
- type PluginValidatorNames = 'arktype' | 'valibot' | 'zod';
7658
- type PluginNames = PluginClientNames | '@angular/common' | '@hey-api/schemas' | '@hey-api/sdk' | '@hey-api/transformers' | '@hey-api/typescript' | '@pinia/colada' | '@tanstack/angular-query-experimental' | '@tanstack/react-query' | '@tanstack/solid-query' | '@tanstack/svelte-query' | '@tanstack/vue-query' | 'fastify' | PluginValidatorNames;
7659
- type AnyPluginName = PluginNames | (string & {});
7660
- type PluginTag = 'client' | 'transformer' | 'validator';
7661
- type PluginContext = {
7662
- package: Package;
7663
- pluginByTag: <T extends AnyPluginName | boolean = AnyPluginName>(tag: PluginTag, props?: {
7664
- defaultPlugin?: Exclude<T, boolean>;
7665
- errorMessage?: string;
7666
- }) => Exclude<T, boolean> | undefined;
7667
- valueToObject: ValueToObject;
7668
- };
7669
- type BaseApi = Record<string, unknown>;
7670
- type BaseConfig = {
7671
- /**
7672
- * Should the exports from the plugin's file be re-exported in the index
7673
- * barrel file?
7674
- */
7675
- exportFromIndex?: boolean;
7676
- name: AnyPluginName;
7677
- /**
7678
- * Optional hooks to override default plugin behavior.
7679
- *
7680
- * Use these to classify resources, control which outputs are generated,
7681
- * or provide custom behavior for specific resources.
7682
- */
7683
- '~hooks'?: Hooks;
7684
- };
7685
-
7686
- /**
7687
- * Public Plugin API.
7688
- */
7689
- declare namespace Plugin {
7690
- export type Config<T extends Types> = Pick<T, 'api'> & {
7691
- config: Omit<T['config'], 'name' | 'output'>;
7692
- /**
7693
- * Dependency plugins will be always processed, regardless of whether user
7694
- * explicitly defines them in their `plugins` config.
7695
- */
7696
- dependencies?: ReadonlyArray<AnyPluginName>;
7697
- handler: Handler<T>;
7698
- handlerLegacy?: LegacyHandler<T>;
7699
- name: T['config']['name'];
7700
- output?: NonNullable<T['config']['output']>;
7701
- /**
7702
- * Resolves static configuration values into their runtime equivalents. For
7703
- * example, when `validator` is set to `true`, it figures out which plugin
7704
- * should be used for validation.
7705
- */
7706
- resolveConfig?: (plugin: Omit<Plugin.Config<T>, 'dependencies'> & {
7707
- dependencies: Set<AnyPluginName>;
7708
- }, context: PluginContext) => void;
7709
- /**
7710
- * Optional tags can be used to help with deciding plugin order and resolving
7711
- * plugin configuration options.
7712
- */
7713
- tags?: ReadonlyArray<PluginTag>;
7714
- };
7715
- export type ConfigWithName<T extends Types> = Omit<Config<T>, 'config'> & {
7716
- config: Omit<T['config'], 'output'>;
7717
- };
7718
-
7719
- /** @deprecated use `definePluginConfig()` instead */
7720
- export type DefineConfig<Config extends BaseConfig, ResolvedConfig extends BaseConfig = Config> = (config?: UserConfig<Omit<Config, 'name'>>) => Omit<Plugin.Config<Config, ResolvedConfig>, 'name'> & {
7721
- /**
7722
- * Cast name to `any` so it doesn't throw type error in `plugins` array.
7723
- * We could allow any `string` as plugin `name` in the object syntax, but
7724
- * that TypeScript trick would cause all string methods to appear as
7725
- * suggested auto completions, which is undesirable.
7726
- */
7727
- name: any;
7728
- };
7729
-
7730
- /**
7731
- * Generic wrapper for plugin hooks.
7732
- */
7733
- export type Hooks = Pick<BaseConfig, '~hooks'>;
7734
- export interface Name<Name extends PluginNames> {
7735
- name: Name;
7736
- }
7737
- export type Types<Config extends BaseConfig = BaseConfig, ResolvedConfig extends BaseConfig = Config, Api extends BaseApi = never> = ([Api] extends [never] ? {
7738
- api?: BaseApi;
7739
- } : {
7740
- api: Api;
7741
- }) & {
7742
- config: Config;
7743
- resolvedConfig: ResolvedConfig;
7744
- };
7745
-
7746
- /**
7747
- * Users cannot modify output file path to avoid risk of conflicts.
7748
- */
7749
- export type UserConfig<Config extends BaseConfig> = Omit<Config, 'output'>;
7750
- }
7751
- type DefinePlugin<Config$15 extends BaseConfig = BaseConfig, ResolvedConfig$1 extends BaseConfig = Config$15, Api$1 extends BaseApi = never> = {
7752
- Config: Plugin.Config<Plugin.Types<Config$15, ResolvedConfig$1, Api$1>>;
7753
- Handler: (args: {
7754
- plugin: PluginInstance<Plugin.Types<Config$15, ResolvedConfig$1, Api$1>>;
7755
- }) => void;
7756
- Instance: PluginInstance<Plugin.Types<Config$15, ResolvedConfig$1, Api$1>>;
7757
- /**
7758
- * Plugin implementation for legacy parser.
7759
- *
7760
- * @deprecated
7761
- */
7762
- LegacyHandler: (args: {
7763
- client: Client;
7764
- files: Files;
7765
- openApi: OpenApi;
7766
- plugin: PluginInstance<Plugin.Types<Config$15, ResolvedConfig$1, Api$1>>;
7767
- }) => void;
7768
- Types: Plugin.Types<Config$15, ResolvedConfig$1, Api$1>;
7769
- };
7770
- //#endregion
7771
- //#region src/plugins/@hey-api/sdk/api.d.ts
7772
- type IApi$12 = any;
7773
- //#endregion
7774
- //#region src/plugins/@hey-api/sdk/types.d.ts
7775
- type UserConfig$14 = Plugin.Name<'@hey-api/sdk'> & Plugin.Hooks & {
7776
- /**
7777
- * Group operation methods into classes? When enabled, you can select which
7778
- * classes to export with `sdk.include` and/or transform their names with
7779
- * `sdk.classNameBuilder`.
7780
- *
7781
- * Note that by enabling this option, your SDKs will **NOT**
7782
- * support {@link https://developer.mozilla.org/docs/Glossary/Tree_shaking tree-shaking}.
7783
- * For this reason, it is disabled by default.
7784
- *
7785
- * @default false
7786
- */
7787
- asClass?: boolean;
7788
- /**
7789
- * Should the generated functions contain auth mechanisms? You may want to
7790
- * disable this option if you're handling auth yourself or defining it
7791
- * globally on the client and want to reduce the size of generated code.
7792
- *
7793
- * @default true
7794
- */
7795
- auth?: boolean;
7796
- /**
7797
- * Customize the generated class names. The name variable is obtained from
7798
- * your OpenAPI specification tags or `instance` value.
7799
- *
7800
- * This option has no effect if `sdk.asClass` is `false`.
7801
- */
7802
- classNameBuilder?: StringName;
7803
- /**
7804
- * How should we structure your SDK? By default, we try to infer the ideal
7805
- * structure using `operationId` keywords. If you prefer a flatter structure,
7806
- * you can set `classStructure` to `off` to disable this behavior.
7807
- *
7808
- * @default 'auto'
7809
- */
7810
- classStructure?: 'auto' | 'off';
7013
+ operationId?: boolean;
7811
7014
  /**
7812
- * Use an internal client instance to send HTTP requests? This is useful if
7813
- * you don't want to manually pass the client to each SDK function.
7015
+ * Define how request parameters are structured in generated SDK methods.
7814
7016
  *
7815
- * You can customize the selected client output through its plugin. You can
7816
- * also set `client` to `true` to automatically choose the client from your
7817
- * defined plugins. If we can't detect a client plugin when using `true`, we
7818
- * will default to `@hey-api/client-fetch`.
7017
+ * - `'flat'` merges parameters into a single object.
7018
+ * - `'grouped'` separates parameters by transport layer.
7819
7019
  *
7820
- * @default true
7821
- */
7822
- client?: PluginClientNames | boolean;
7823
- /**
7824
- * Should the exports from the generated files be re-exported in the index
7825
- * barrel file?
7020
+ * Use `'flat'` for simpler calls or `'grouped'` for stricter typing and code clarity.
7826
7021
  *
7827
- * @default true
7828
- */
7829
- exportFromIndex?: boolean;
7830
- /**
7831
- * Include only service classes with names matching regular expression
7832
- *
7833
- * This option has no effect if `sdk.asClass` is `false`.
7022
+ * @default 'grouped'
7834
7023
  */
7835
- include?: string;
7836
- /**
7837
- * Set `instance` to create an instantiable SDK. Using `true` will use the
7838
- * default instance name; in practice, you want to define your own by passing
7839
- * a string value.
7840
- *
7841
- * @default false
7842
- */
7843
- instance?: string | boolean;
7844
- /**
7845
- * Customise the name of methods within the service. By default,
7846
- * {@link IR.OperationObject.id} or {@link Operation.name} is used.
7847
- */
7848
- methodNameBuilder?: (operation: IR$1.OperationObject | Operation) => string;
7849
- // TODO: parser - rename operationId option to something like inferId?: boolean
7850
- /**
7851
- * Use operation ID to generate operation names?
7852
- *
7853
- * @default true
7854
- */
7855
- operationId?: boolean;
7856
- /** @deprecated - this is an experimental feature, do not use */
7857
- params_EXPERIMENTAL?: 'default' | 'experiment';
7024
+ paramsStructure?: 'flat' | 'grouped';
7858
7025
  /**
7859
7026
  * **This feature works only with the Fetch client**
7860
7027
  *
@@ -7937,7 +7104,7 @@ type UserConfig$14 = Plugin.Name<'@hey-api/sdk'> & Plugin.Hooks & {
7937
7104
  */
7938
7105
  response?: 'body' | 'response';
7939
7106
  };
7940
- type Config$13 = Plugin.Name<'@hey-api/sdk'> & Plugin.Hooks & {
7107
+ type Config$12 = Plugin.Name<'@hey-api/sdk'> & Plugin.Hooks & {
7941
7108
  /**
7942
7109
  * Group operation methods into classes? When enabled, you can select which
7943
7110
  * classes to export with `sdk.include` and/or transform their names with
@@ -8008,9 +7175,9 @@ type Config$13 = Plugin.Name<'@hey-api/sdk'> & Plugin.Hooks & {
8008
7175
  instance: string | boolean;
8009
7176
  /**
8010
7177
  * Customise the name of methods within the service. By default,
8011
- * {@link IR.OperationObject.id} or {@link Operation.name} is used.
7178
+ * {@link IR.OperationObject.id} is used.
8012
7179
  */
8013
- methodNameBuilder?: (operation: IR$1.OperationObject | Operation) => string;
7180
+ methodNameBuilder?: (operation: IR$1.OperationObject) => string;
8014
7181
  // TODO: parser - rename operationId option to something like inferId?: boolean
8015
7182
  /**
8016
7183
  * Use operation ID to generate operation names?
@@ -8018,8 +7185,17 @@ type Config$13 = Plugin.Name<'@hey-api/sdk'> & Plugin.Hooks & {
8018
7185
  * @default true
8019
7186
  */
8020
7187
  operationId: boolean;
8021
- /** @deprecated - this is an experimental feature, do not use */
8022
- params_EXPERIMENTAL: 'default' | 'experiment';
7188
+ /**
7189
+ * Define how request parameters are structured in generated SDK methods.
7190
+ *
7191
+ * - `'flat'` merges parameters into a single object.
7192
+ * - `'grouped'` separates parameters by transport layer.
7193
+ *
7194
+ * Use `'flat'` for simpler calls or `'grouped'` for stricter typing and code clarity.
7195
+ *
7196
+ * @default 'grouped'
7197
+ */
7198
+ paramsStructure: 'flat' | 'grouped';
8023
7199
  /**
8024
7200
  * **This feature works only with the Fetch client**
8025
7201
  *
@@ -8084,7 +7260,7 @@ type Config$13 = Plugin.Name<'@hey-api/sdk'> & Plugin.Hooks & {
8084
7260
  */
8085
7261
  response: 'body' | 'response';
8086
7262
  };
8087
- type HeyApiSdkPlugin = DefinePlugin<UserConfig$14, Config$13, IApi$12>;
7263
+ type HeyApiSdkPlugin = DefinePlugin<UserConfig$14, Config$12, IApi$12>;
8088
7264
  //#endregion
8089
7265
  //#region src/plugins/@hey-api/transformers/api.d.ts
8090
7266
  type IApi$11 = any;
@@ -8139,7 +7315,7 @@ type UserConfig$13 = Plugin.Name<'@hey-api/transformers'> & Plugin.Hooks & {
8139
7315
  */
8140
7316
  typeTransformers?: ReadonlyArray<TypeTransformer>;
8141
7317
  };
8142
- type Config$12 = Plugin.Name<'@hey-api/transformers'> & Plugin.Hooks & {
7318
+ type Config$11 = Plugin.Name<'@hey-api/transformers'> & Plugin.Hooks & {
8143
7319
  /**
8144
7320
  * Convert long integers into BigInt values?
8145
7321
  *
@@ -8168,7 +7344,7 @@ type Config$12 = Plugin.Name<'@hey-api/transformers'> & Plugin.Hooks & {
8168
7344
  */
8169
7345
  typeTransformers: ReadonlyArray<TypeTransformer>;
8170
7346
  };
8171
- type HeyApiTransformersPlugin = DefinePlugin<UserConfig$13, Config$12, IApi$11>;
7347
+ type HeyApiTransformersPlugin = DefinePlugin<UserConfig$13, Config$11, IApi$11>;
8172
7348
  //#endregion
8173
7349
  //#region src/plugins/@hey-api/typescript/shared/types.d.ts
8174
7350
  type IrSchemaToAstOptions = {
@@ -8446,7 +7622,7 @@ type UserConfig$12 = Plugin.Name<'@hey-api/typescript'> & Plugin.Hooks & {
8446
7622
  */
8447
7623
  tree?: boolean;
8448
7624
  };
8449
- type Config$11 = Plugin.Name<'@hey-api/typescript'> & Plugin.Hooks & {
7625
+ type Config$10 = Plugin.Name<'@hey-api/typescript'> & Plugin.Hooks & {
8450
7626
  /**
8451
7627
  * The casing convention to use for generated names.
8452
7628
  *
@@ -8667,7 +7843,7 @@ type Config$11 = Plugin.Name<'@hey-api/typescript'> & Plugin.Hooks & {
8667
7843
  */
8668
7844
  tree: boolean;
8669
7845
  };
8670
- type HeyApiTypeScriptPlugin = DefinePlugin<UserConfig$12, Config$11, IApi$10>;
7846
+ type HeyApiTypeScriptPlugin = DefinePlugin<UserConfig$12, Config$10, IApi$10>;
8671
7847
  //#endregion
8672
7848
  //#region src/plugins/@pinia/colada/api.d.ts
8673
7849
  type IApi$9 = any;
@@ -8851,7 +8027,7 @@ type UserConfig$11 = Plugin.Name<'@pinia/colada'> & Plugin.Hooks & {
8851
8027
  name?: StringName;
8852
8028
  };
8853
8029
  };
8854
- type Config$10 = Plugin.Name<'@pinia/colada'> & Plugin.Hooks & {
8030
+ type Config$9 = Plugin.Name<'@pinia/colada'> & Plugin.Hooks & {
8855
8031
  /**
8856
8032
  * The casing convention to use for generated names.
8857
8033
  *
@@ -9000,7 +8176,7 @@ type Config$10 = Plugin.Name<'@pinia/colada'> & Plugin.Hooks & {
9000
8176
  name: StringName;
9001
8177
  };
9002
8178
  };
9003
- type PiniaColadaPlugin = DefinePlugin<UserConfig$11, Config$10, IApi$9>;
8179
+ type PiniaColadaPlugin = DefinePlugin<UserConfig$11, Config$9, IApi$9>;
9004
8180
  //#endregion
9005
8181
  //#region src/plugins/@tanstack/angular-query-experimental/api.d.ts
9006
8182
  type IApi$8 = any;
@@ -9287,7 +8463,7 @@ type UserConfig$10 = Plugin.Name<'@tanstack/angular-query-experimental'> & Plugi
9287
8463
  name?: StringName;
9288
8464
  };
9289
8465
  };
9290
- type Config$9 = Plugin.Name<'@tanstack/angular-query-experimental'> & Plugin.Hooks & {
8466
+ type Config$8 = Plugin.Name<'@tanstack/angular-query-experimental'> & Plugin.Hooks & {
9291
8467
  /**
9292
8468
  * The casing convention to use for generated names.
9293
8469
  *
@@ -9528,7 +8704,7 @@ type Config$9 = Plugin.Name<'@tanstack/angular-query-experimental'> & Plugin.Hoo
9528
8704
  name: StringName;
9529
8705
  };
9530
8706
  };
9531
- type TanStackAngularQueryPlugin = DefinePlugin<UserConfig$10, Config$9, IApi$8>;
8707
+ type TanStackAngularQueryPlugin = DefinePlugin<UserConfig$10, Config$8, IApi$8>;
9532
8708
  //#endregion
9533
8709
  //#region src/plugins/@tanstack/react-query/api.d.ts
9534
8710
  type IApi$7 = any;
@@ -9859,7 +9035,7 @@ type UserConfig$9 = Plugin.Name<'@tanstack/react-query'> & Plugin.Hooks & {
9859
9035
  name?: StringName;
9860
9036
  };
9861
9037
  };
9862
- type Config$8 = Plugin.Name<'@tanstack/react-query'> & Plugin.Hooks & {
9038
+ type Config$7 = Plugin.Name<'@tanstack/react-query'> & Plugin.Hooks & {
9863
9039
  /**
9864
9040
  * The casing convention to use for generated names.
9865
9041
  *
@@ -10131,7 +9307,7 @@ type Config$8 = Plugin.Name<'@tanstack/react-query'> & Plugin.Hooks & {
10131
9307
  name: StringName;
10132
9308
  };
10133
9309
  };
10134
- type TanStackReactQueryPlugin = DefinePlugin<UserConfig$9, Config$8, IApi$7>;
9310
+ type TanStackReactQueryPlugin = DefinePlugin<UserConfig$9, Config$7, IApi$7>;
10135
9311
  //#endregion
10136
9312
  //#region src/plugins/@tanstack/solid-query/api.d.ts
10137
9313
  type IApi$6 = any;
@@ -10419,7 +9595,7 @@ type UserConfig$8 = Plugin.Name<'@tanstack/solid-query'> & Plugin.Hooks & {
10419
9595
  name?: StringName;
10420
9596
  };
10421
9597
  };
10422
- type Config$7 = Plugin.Name<'@tanstack/solid-query'> & Plugin.Hooks & {
9598
+ type Config$6 = Plugin.Name<'@tanstack/solid-query'> & Plugin.Hooks & {
10423
9599
  /**
10424
9600
  * The casing convention to use for generated names.
10425
9601
  *
@@ -10660,7 +9836,7 @@ type Config$7 = Plugin.Name<'@tanstack/solid-query'> & Plugin.Hooks & {
10660
9836
  name: StringName;
10661
9837
  };
10662
9838
  };
10663
- type TanStackSolidQueryPlugin = DefinePlugin<UserConfig$8, Config$7, IApi$6>;
9839
+ type TanStackSolidQueryPlugin = DefinePlugin<UserConfig$8, Config$6, IApi$6>;
10664
9840
  //#endregion
10665
9841
  //#region src/plugins/@tanstack/svelte-query/api.d.ts
10666
9842
  type IApi$5 = any;
@@ -10947,7 +10123,7 @@ type UserConfig$7 = Plugin.Name<'@tanstack/svelte-query'> & Plugin.Hooks & {
10947
10123
  name?: StringName;
10948
10124
  };
10949
10125
  };
10950
- type Config$6 = Plugin.Name<'@tanstack/svelte-query'> & Plugin.Hooks & {
10126
+ type Config$5 = Plugin.Name<'@tanstack/svelte-query'> & Plugin.Hooks & {
10951
10127
  /**
10952
10128
  * The casing convention to use for generated names.
10953
10129
  *
@@ -11188,7 +10364,7 @@ type Config$6 = Plugin.Name<'@tanstack/svelte-query'> & Plugin.Hooks & {
11188
10364
  name: StringName;
11189
10365
  };
11190
10366
  };
11191
- type TanStackSvelteQueryPlugin = DefinePlugin<UserConfig$7, Config$6, IApi$5>;
10367
+ type TanStackSvelteQueryPlugin = DefinePlugin<UserConfig$7, Config$5, IApi$5>;
11192
10368
  //#endregion
11193
10369
  //#region src/plugins/@tanstack/vue-query/api.d.ts
11194
10370
  type IApi$4 = any;
@@ -11478,7 +10654,7 @@ type UserConfig$6 = Plugin.Name<'@tanstack/vue-query'> & Plugin.Hooks & {
11478
10654
  name?: StringName;
11479
10655
  };
11480
10656
  };
11481
- type Config$5 = Plugin.Name<'@tanstack/vue-query'> & Plugin.Hooks & {
10657
+ type Config$4 = Plugin.Name<'@tanstack/vue-query'> & Plugin.Hooks & {
11482
10658
  /**
11483
10659
  * The casing convention to use for generated names.
11484
10660
  *
@@ -11722,7 +10898,7 @@ type Config$5 = Plugin.Name<'@tanstack/vue-query'> & Plugin.Hooks & {
11722
10898
  name: StringName;
11723
10899
  };
11724
10900
  };
11725
- type TanStackVueQueryPlugin = DefinePlugin<UserConfig$6, Config$5, IApi$4>;
10901
+ type TanStackVueQueryPlugin = DefinePlugin<UserConfig$6, Config$4, IApi$4>;
11726
10902
  //#endregion
11727
10903
  //#region src/plugins/arktype/shared/types.d.ts
11728
10904
  type ValidatorArgs$2 = {
@@ -12082,7 +11258,7 @@ type UserConfig$5 = Plugin.Name<'arktype'> & Plugin.Hooks & {
12082
11258
  };
12083
11259
  };
12084
11260
  };
12085
- type Config$4 = Plugin.Name<'arktype'> & Plugin.Hooks & {
11261
+ type Config$3 = Plugin.Name<'arktype'> & Plugin.Hooks & {
12086
11262
  /**
12087
11263
  * The casing convention to use for generated names.
12088
11264
  *
@@ -12366,7 +11542,7 @@ type Config$4 = Plugin.Name<'arktype'> & Plugin.Hooks & {
12366
11542
  };
12367
11543
  };
12368
11544
  };
12369
- type ArktypePlugin = DefinePlugin<UserConfig$5, Config$4, IApi$3>;
11545
+ type ArktypePlugin = DefinePlugin<UserConfig$5, Config$3, IApi$3>;
12370
11546
  //#endregion
12371
11547
  //#region src/plugins/fastify/api.d.ts
12372
11548
  type IApi$2 = any;
@@ -12554,7 +11730,7 @@ type UserConfig$3 = Plugin.Name<'valibot'> & Plugin.Hooks & {
12554
11730
  name?: StringName;
12555
11731
  };
12556
11732
  };
12557
- type Config$3 = Plugin.Name<'valibot'> & Plugin.Hooks & {
11733
+ type Config$2 = Plugin.Name<'valibot'> & Plugin.Hooks & {
12558
11734
  /**
12559
11735
  * The casing convention to use for generated names.
12560
11736
  *
@@ -12690,7 +11866,7 @@ type Config$3 = Plugin.Name<'valibot'> & Plugin.Hooks & {
12690
11866
  name: StringName;
12691
11867
  };
12692
11868
  };
12693
- type ValibotPlugin = DefinePlugin<UserConfig$3, Config$3, IApi$1>;
11869
+ type ValibotPlugin = DefinePlugin<UserConfig$3, Config$2, IApi$1>;
12694
11870
  //#endregion
12695
11871
  //#region src/plugins/zod/shared/types.d.ts
12696
11872
  type ValidatorArgs = {
@@ -13089,7 +12265,7 @@ type UserConfig$2 = Plugin.Name<'zod'> & Plugin.Hooks & {
13089
12265
  };
13090
12266
  };
13091
12267
  };
13092
- type Config$2 = Plugin.Name<'zod'> & Plugin.Hooks & {
12268
+ type Config$1 = Plugin.Name<'zod'> & Plugin.Hooks & {
13093
12269
  /**
13094
12270
  * The casing convention to use for generated names.
13095
12271
  *
@@ -13410,7 +12586,7 @@ type Config$2 = Plugin.Name<'zod'> & Plugin.Hooks & {
13410
12586
  };
13411
12587
  };
13412
12588
  };
13413
- type ZodPlugin = DefinePlugin<UserConfig$2, Config$2, IApi>;
12589
+ type ZodPlugin = DefinePlugin<UserConfig$2, Config$1, IApi>;
13414
12590
  //#endregion
13415
12591
  //#region src/plugins/config.d.ts
13416
12592
  interface PluginConfigMap {
@@ -13433,22 +12609,36 @@ interface PluginConfigMap {
13433
12609
  '@tanstack/vue-query': TanStackVueQueryPlugin['Types'];
13434
12610
  arktype: ArktypePlugin['Types'];
13435
12611
  fastify: FastifyPlugin['Types'];
13436
- 'legacy/angular': HeyApiClientLegacyAngularPlugin['Types'];
13437
- 'legacy/axios': HeyApiClientLegacyAxiosPlugin['Types'];
13438
- 'legacy/fetch': HeyApiClientLegacyFetchPlugin['Types'];
13439
- 'legacy/node': HeyApiClientLegacyNodePlugin['Types'];
13440
- 'legacy/xhr': HeyApiClientLegacyXhrPlugin['Types'];
13441
12612
  valibot: ValibotPlugin['Types'];
13442
12613
  zod: ZodPlugin['Types'];
13443
12614
  }
13444
12615
  //#endregion
12616
+ //#region src/utils/logger.d.ts
12617
+ declare class Logger {
12618
+ private events;
12619
+ private end;
12620
+ /**
12621
+ * Recursively end all unended events in the event tree.
12622
+ * This ensures all events have end marks before measuring.
12623
+ */
12624
+ private endAllEvents;
12625
+ report(print?: boolean): PerformanceMeasure | undefined;
12626
+ private reportEvent;
12627
+ private start;
12628
+ private storeEvent;
12629
+ timeEvent(name: string): {
12630
+ mark: PerformanceMark;
12631
+ timeEnd: () => void;
12632
+ };
12633
+ }
12634
+ //#endregion
13445
12635
  //#region src/ir/context.d.ts
13446
- declare class Context<Spec$1 extends Record<string, any> = any> {
12636
+ declare class Context<Spec extends Record<string, any> = any> {
13447
12637
  /**
13448
12638
  * Configuration for parsing and generating the output. This
13449
12639
  * is a mix of user-provided and default values.
13450
12640
  */
13451
- config: Config$1;
12641
+ config: Config;
13452
12642
  /**
13453
12643
  * The code generation project instance used to manage files, symbols,
13454
12644
  */
@@ -13481,17 +12671,17 @@ declare class Context<Spec$1 extends Record<string, any> = any> {
13481
12671
  /**
13482
12672
  * Resolved specification from `input`.
13483
12673
  */
13484
- spec: Spec$1;
12674
+ spec: Spec;
13485
12675
  constructor({
13486
12676
  config,
13487
12677
  dependencies,
13488
12678
  logger,
13489
12679
  spec
13490
12680
  }: {
13491
- config: Config$1;
12681
+ config: Config;
13492
12682
  dependencies: Record<string, string>;
13493
12683
  logger: Logger;
13494
- spec: Spec$1;
12684
+ spec: Spec;
13495
12685
  });
13496
12686
  /**
13497
12687
  * Returns a resolved and dereferenced schema from `spec`.
@@ -13521,183 +12711,465 @@ declare class Context<Spec$1 extends Record<string, any> = any> {
13521
12711
  resolveRef<T>($ref: string): T;
13522
12712
  }
13523
12713
  //#endregion
13524
- //#region src/ir/mediaType.d.ts
13525
- type IRMediaType = 'form-data' | 'json' | 'text' | 'url-search-params' | 'octet-stream';
12714
+ //#region src/ir/graph.d.ts
12715
+ declare const irTopLevelKinds: readonly ["operation", "parameter", "requestBody", "schema", "server", "webhook"];
12716
+ type IrTopLevelKind = (typeof irTopLevelKinds)[number];
13526
12717
  //#endregion
13527
- //#region src/ir/types.d.ts
13528
- interface IRBodyObject {
13529
- mediaType: string;
13530
- /**
13531
- * Does body control pagination? We handle only simple values
13532
- * for now, up to 1 nested field.
13533
- */
13534
- pagination?: boolean | string;
13535
- required?: boolean;
13536
- schema: IRSchemaObject;
13537
- type?: IRMediaType;
12718
+ //#region src/openApi/types.d.ts
12719
+ declare namespace OpenApi {
12720
+ export type V2_0_X = OpenApiV2_0_X;
12721
+ export type V3_0_X = OpenApiV3_0_X;
12722
+ export type V3_1_X = OpenApiV3_1_X;
13538
12723
  }
13539
- interface IRComponentsObject {
13540
- parameters?: Record<string, IRParameterObject>;
13541
- requestBodies?: Record<string, IRRequestBodyObject>;
13542
- schemas?: Record<string, IRSchemaObject>;
12724
+ declare namespace OpenApiMetaObject {
12725
+ export type V2_0_X = OpenApiV2_0_XTypes['InfoObject'];
12726
+ export type V3_0_X = OpenApiV3_0_XTypes['InfoObject'];
12727
+ export type V3_1_X = OpenApiV3_1_XTypes['InfoObject'];
13543
12728
  }
13544
- interface IROperationObject {
13545
- body?: IRBodyObject;
13546
- deprecated?: boolean;
13547
- description?: string;
13548
- id: string;
13549
- method: keyof IRPathItemObject;
13550
- operationId?: string;
13551
- parameters?: IRParametersObject;
13552
- path: keyof IRPathsObject;
13553
- responses?: IRResponsesObject;
13554
- security?: ReadonlyArray<IRSecurityObject>;
13555
- servers?: ReadonlyArray<IRServerObject>;
13556
- summary?: string;
13557
- tags?: ReadonlyArray<string>;
12729
+ declare namespace OpenApiOperationObject {
12730
+ export type V2_0_X = OpenApiV2_0_XTypes['OperationObject'];
12731
+ export type V3_0_X = OpenApiV3_0_XTypes['OperationObject'];
12732
+ export type V3_1_X = OpenApiV3_1_XTypes['OperationObject'];
13558
12733
  }
13559
- interface IRParametersObject {
13560
- cookie?: Record<string, IRParameterObject>;
13561
- header?: Record<string, IRParameterObject>;
13562
- path?: Record<string, IRParameterObject>;
13563
- query?: Record<string, IRParameterObject>;
12734
+ declare namespace OpenApiParameterObject {
12735
+ export type V3_0_X = OpenApiV3_0_XTypes['ParameterObject'] | OpenApiV3_0_XTypes['ReferenceObject'];
12736
+ export type V3_1_X = OpenApiV3_1_XTypes['ParameterObject'] | OpenApiV3_1_XTypes['ReferenceObject'];
12737
+ }
12738
+ declare namespace OpenApiRequestBodyObject {
12739
+ export type V3_0_X = OpenApiV3_0_XTypes['RequestBodyObject'] | OpenApiV3_0_XTypes['ReferenceObject'];
12740
+ export type V3_1_X = OpenApiV3_1_XTypes['RequestBodyObject'] | OpenApiV3_1_XTypes['ReferenceObject'];
12741
+ }
12742
+ declare namespace OpenApiResponseObject {
12743
+ export type V3_0_X = OpenApiV3_0_XTypes['ResponseObject'] | OpenApiV3_0_XTypes['ReferenceObject'];
12744
+ export type V3_1_X = OpenApiV3_1_XTypes['ResponseObject'] | OpenApiV3_1_XTypes['ReferenceObject'];
13564
12745
  }
13565
- interface IRParameterObject extends Pick<JsonSchemaDraft2020_12, 'deprecated' | 'description'> {
12746
+ declare namespace OpenApiSchemaObject {
12747
+ export type V2_0_X = OpenApiV2_0_XTypes['SchemaObject'];
12748
+ export type V3_0_X = OpenApiV3_0_XTypes['SchemaObject'];
12749
+ export type V3_1_X = OpenApiV3_1_XTypes['SchemaObject'];
12750
+ }
12751
+ //#endregion
12752
+ //#region src/plugins/shared/types/instance.d.ts
12753
+ type BaseEvent = {
13566
12754
  /**
13567
- * Determines whether the parameter value SHOULD allow reserved characters, as defined by RFC3986 `:/?#[]@!$&'()*+,;=` to be included without percent-encoding. The default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded` or `multipart/form-data`. If a value is explicitly defined, then the value of `contentType` (implicit or explicit) SHALL be ignored.
12755
+ * Path to the node, derived from the pointer.
13568
12756
  */
13569
- allowReserved?: boolean;
12757
+ _path: ReadonlyArray<string | number>;
13570
12758
  /**
13571
- * When this is true, property values of type `array` or `object` generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When `style` is `form`, the default value is `true`. For all other styles, the default value is `false`. This property SHALL be ignored if the request body media type is not `application/x-www-form-urlencoded` or `multipart/form-data`. If a value is explicitly defined, then the value of `contentType` (implicit or explicit) SHALL be ignored.
12759
+ * Pointer to the node in the graph.
13572
12760
  */
13573
- explode: boolean;
12761
+ pointer: string;
13574
12762
  /**
13575
- * Endpoint parameters must specify their location.
12763
+ * Tags associated with the node.
13576
12764
  */
13577
- location: 'cookie' | 'header' | 'path' | 'query';
12765
+ tags?: ReadonlyArray<string>;
12766
+ };
12767
+ type WalkEvents = BaseEvent & ({
12768
+ method: keyof IR$1.PathItemObject;
12769
+ operation: IR$1.OperationObject;
12770
+ path: string;
12771
+ type: Extract<IrTopLevelKind, 'operation'>;
12772
+ } | {
13578
12773
  name: string;
12774
+ parameter: IR$1.ParameterObject;
12775
+ type: Extract<IrTopLevelKind, 'parameter'>;
12776
+ } | {
12777
+ name: string;
12778
+ requestBody: IR$1.RequestBodyObject;
12779
+ type: Extract<IrTopLevelKind, 'requestBody'>;
12780
+ } | {
12781
+ name: string;
12782
+ schema: IR$1.SchemaObject;
12783
+ type: Extract<IrTopLevelKind, 'schema'>;
12784
+ } | {
12785
+ server: IR$1.ServerObject;
12786
+ type: Extract<IrTopLevelKind, 'server'>;
12787
+ } | {
12788
+ key: string;
12789
+ method: keyof IR$1.PathItemObject;
12790
+ operation: IR$1.OperationObject;
12791
+ type: Extract<IrTopLevelKind, 'webhook'>;
12792
+ });
12793
+ type WalkEvent<T extends IrTopLevelKind = IrTopLevelKind> = Extract<WalkEvents, {
12794
+ type: T;
12795
+ }>;
12796
+ //#endregion
12797
+ //#region src/plugins/shared/utils/instance.d.ts
12798
+ declare class PluginInstance<T extends Plugin.Types = Plugin.Types> {
12799
+ api: T['api'];
12800
+ config: Omit<T['resolvedConfig'], 'name' | 'output'>;
12801
+ context: Context;
12802
+ dependencies: Required<Plugin.Config<T>>['dependencies'];
12803
+ private eventHooks;
12804
+ gen: IProject;
12805
+ private handler;
12806
+ name: T['resolvedConfig']['name'];
12807
+ output: string;
13579
12808
  /**
13580
- * Does this parameter control pagination? We handle only simple values
13581
- * for now, up to 1 nested field.
13582
- */
13583
- pagination?: boolean | string;
13584
- required?: boolean;
13585
- schema: IRSchemaObject;
13586
- /**
13587
- * Describes how the parameter value will be serialized depending on the type of the parameter value. Default values (based on value of `in`): for `query` - `form`; for `path` - `simple`; for `header` - `simple`; for `cookie` - `form`.
12809
+ * The package metadata and utilities for the current context, constructed
12810
+ * from the provided dependencies. Used for managing package-related
12811
+ * information such as name, version, and dependency resolution during
12812
+ * code generation.
13588
12813
  */
13589
- style: 'deepObject' | 'form' | 'label' | 'matrix' | 'pipeDelimited' | 'simple' | 'spaceDelimited';
13590
- }
13591
- interface IRPathsObject {
13592
- [path: `/${string}`]: IRPathItemObject;
13593
- }
13594
- interface IRPathItemObject {
13595
- delete?: IROperationObject;
13596
- get?: IROperationObject;
13597
- head?: IROperationObject;
13598
- options?: IROperationObject;
13599
- patch?: IROperationObject;
13600
- post?: IROperationObject;
13601
- put?: IROperationObject;
13602
- trace?: IROperationObject;
13603
- }
13604
- interface IRRequestBodyObject extends Pick<JsonSchemaDraft2020_12, 'description'> {
13605
- required?: boolean;
13606
- schema: IRSchemaObject;
13607
- }
13608
- interface IRResponsesObject {
12814
+ package: Context['package'];
12815
+ constructor(props: Pick<Required<Plugin.Config<T>>, 'config' | 'dependencies' | 'handler'> & {
12816
+ api?: T['api'];
12817
+ context: Context<OpenApi.V2_0_X | OpenApi.V3_0_X | OpenApi.V3_1_X>;
12818
+ gen: IProject;
12819
+ name: string;
12820
+ output: string;
12821
+ });
13609
12822
  /**
13610
- * Any {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#http-status-codes HTTP status code} can be used as the property name, but only one property per code, to describe the expected response for that HTTP status code. This field MUST be enclosed in quotation marks (for example, "200") for compatibility between JSON and YAML. To define a range of response codes, this field MAY contain the uppercase wildcard character `X`. For example, `2XX` represents all response codes between `[200-299]`. Only the following range definitions are allowed: `1XX`, `2XX`, `3XX`, `4XX`, and `5XX`. If a response is defined using an explicit code, the explicit code definition takes precedence over the range definition for that code.
12823
+ * Iterates over various input elements as specified by the event types, in
12824
+ * a specific order: servers, schemas, parameters, request bodies, then
12825
+ * operations.
12826
+ *
12827
+ * This ensures, for example, that schemas are always processed before
12828
+ * operations, which may reference them.
12829
+ *
12830
+ * @template TKind - The event type(s) to yield. Defaults to all event types.
12831
+ * @param events - The event types to walk over. If none are provided, all event types are included.
12832
+ * @param callback - Function to execute for each event.
12833
+ *
12834
+ * @example
12835
+ * // Iterate over all operations and schemas
12836
+ * plugin.forEach('operation', 'schema', (event) => {
12837
+ * if (event.type === 'operation') {
12838
+ * // handle operation
12839
+ * } else if (event.type === 'schema') {
12840
+ * // handle schema
12841
+ * }
12842
+ * });
13611
12843
  */
13612
- [statusCode: string]: IRResponseObject | undefined;
12844
+ forEach<TKind extends IrTopLevelKind = IrTopLevelKind>(...args: [...events: ReadonlyArray<TKind>, callback: (event: WalkEvent<TKind>) => void]): void;
12845
+ forEach<TKind extends IrTopLevelKind = IrTopLevelKind>(...args: [...events: ReadonlyArray<TKind>, callback: (event: WalkEvent<TKind>) => void, options: WalkOptions<TKind>]): void;
13613
12846
  /**
13614
- * The documentation of responses other than the ones declared for specific HTTP response codes. Use this field to cover undeclared responses.
12847
+ * Retrieves a registered plugin instance by its name from the context. This
12848
+ * allows plugins to access other plugins that have been registered in the
12849
+ * same context, enabling cross-plugin communication and dependencies.
12850
+ *
12851
+ * @param name Plugin name as defined in the configuration.
12852
+ * @returns The plugin instance if found, undefined otherwise.
13615
12853
  */
13616
- default?: IRResponseObject;
13617
- }
13618
- interface IRResponseObject {
13619
- // TODO: parser - handle headers, links, and possibly other media types?
13620
- mediaType?: string;
13621
- schema: IRSchemaObject;
13622
- }
13623
- interface IRSchemaObject extends Pick<JsonSchemaDraft2020_12, '$ref' | 'const' | 'default' | 'deprecated' | 'description' | 'exclusiveMaximum' | 'exclusiveMinimum' | 'maximum' | 'maxItems' | 'maxLength' | 'minimum' | 'minItems' | 'minLength' | 'pattern' | 'required' | 'title' | 'example'> {
12854
+ getPlugin<TName extends keyof PluginConfigMap>(name: TName): TName extends any ? PluginInstance<PluginConfigMap[TName]> | undefined : never;
13624
12855
  /**
13625
- * If the schema is intended to be used as an object property, it can be
13626
- * marked as read-only or write-only. This value controls whether the schema
13627
- * receives the "readonly" TypeScript keyword.
12856
+ * Retrieves a registered plugin instance by its name from the context. This
12857
+ * allows plugins to access other plugins that have been registered in the
12858
+ * same context, enabling cross-plugin communication and dependencies.
12859
+ *
12860
+ * @param name Plugin name as defined in the configuration.
12861
+ * @returns The plugin instance if found, throw otherwise.
13628
12862
  */
13629
- accessScope?: 'read' | 'write';
12863
+ getPluginOrThrow<TName extends keyof PluginConfigMap>(name: TName): TName extends any ? PluginInstance<PluginConfigMap[TName]> : never;
12864
+ getSymbol(identifier: SymbolIdentifier): Symbol | undefined;
12865
+ hooks: {
12866
+ operation: {
12867
+ isMutation: (operation: IR$1.OperationObject) => boolean;
12868
+ isQuery: (operation: IR$1.OperationObject) => boolean;
12869
+ };
12870
+ };
12871
+ isSymbolRegistered(identifier: SymbolIdentifier): boolean;
12872
+ querySymbol(filter: SymbolMeta): Symbol | undefined;
12873
+ referenceSymbol(meta: SymbolMeta): Symbol;
12874
+ registerSymbol(symbol: SymbolIn): Symbol;
13630
12875
  /**
13631
- * If type is `object`, `additionalProperties` can be used to either define
13632
- * a schema for properties not included in `properties` or disallow such
13633
- * properties altogether.
12876
+ * Executes plugin's handler function.
13634
12877
  */
13635
- additionalProperties?: IRSchemaObject | false;
12878
+ run(): Promise<void>;
12879
+ setSymbolValue(symbol: Symbol, value: unknown): void;
12880
+ private buildEventHooks;
12881
+ private forEachError;
12882
+ private getSymbolFilePath;
12883
+ private isOperationKind;
12884
+ }
12885
+ //#endregion
12886
+ //#region src/parser/types/hooks.d.ts
12887
+ type Hooks = {
13636
12888
  /**
13637
- * Any string value is accepted as `format`.
12889
+ * Event hooks.
13638
12890
  */
13639
- format?: JsonSchemaDraft2020_12['format'] | 'binary' | 'integer';
12891
+ events?: {
12892
+ /**
12893
+ * Triggered after executing a plugin handler.
12894
+ *
12895
+ * @param args Arguments object.
12896
+ * @returns void
12897
+ */
12898
+ 'plugin:handler:after'?: (args: {
12899
+ /** Plugin that just executed. */
12900
+ plugin: PluginInstance;
12901
+ }) => void;
12902
+ /**
12903
+ * Triggered before executing a plugin handler.
12904
+ *
12905
+ * @param args Arguments object.
12906
+ * @returns void
12907
+ */
12908
+ 'plugin:handler:before'?: (args: {
12909
+ /** Plugin about to execute. */
12910
+ plugin: PluginInstance;
12911
+ }) => void;
12912
+ /**
12913
+ * Triggered after registering a symbol.
12914
+ *
12915
+ * You can use this to perform actions after a symbol is registered.
12916
+ *
12917
+ * @param args Arguments object.
12918
+ * @returns void
12919
+ */
12920
+ 'symbol:register:after'?: (args: {
12921
+ /** Plugin that registered the symbol. */
12922
+ plugin: PluginInstance;
12923
+ /** The registered symbol. */
12924
+ symbol: Symbol;
12925
+ }) => void;
12926
+ /**
12927
+ * Triggered before registering a symbol.
12928
+ *
12929
+ * You can use this to modify the symbol before it's registered.
12930
+ *
12931
+ * @param args Arguments object.
12932
+ * @returns void
12933
+ */
12934
+ 'symbol:register:before'?: (args: {
12935
+ /** Plugin registering the symbol. */
12936
+ plugin: PluginInstance;
12937
+ /** Symbol to register. */
12938
+ symbol: SymbolIn;
12939
+ }) => void;
12940
+ /**
12941
+ * Triggered after setting a symbol value.
12942
+ *
12943
+ * You can use this to perform actions after a symbol's value is set.
12944
+ *
12945
+ * @param args Arguments object.
12946
+ * @returns void
12947
+ */
12948
+ 'symbol:setValue:after'?: (args: {
12949
+ /** Plugin that set the symbol value. */
12950
+ plugin: PluginInstance;
12951
+ /** The symbol. */
12952
+ symbol: Symbol;
12953
+ /** The value that was set. */
12954
+ value: unknown;
12955
+ }) => void;
12956
+ /**
12957
+ * Triggered before setting a symbol value.
12958
+ *
12959
+ * You can use this to modify the value before it's set.
12960
+ *
12961
+ * @param args Arguments object.
12962
+ * @returns void
12963
+ */
12964
+ 'symbol:setValue:before'?: (args: {
12965
+ /** Plugin setting the symbol value. */
12966
+ plugin: PluginInstance;
12967
+ /** The symbol. */
12968
+ symbol: Symbol;
12969
+ /** The value to set. */
12970
+ value: unknown;
12971
+ }) => void;
12972
+ };
13640
12973
  /**
13641
- * If schema resolves into multiple items instead of a simple `type`, they
13642
- * will be included in `items` array.
12974
+ * Hooks specifically for overriding operations behavior.
12975
+ *
12976
+ * Use these to classify operations, decide which outputs to generate,
12977
+ * or apply custom behavior to individual operations.
13643
12978
  */
13644
- items?: ReadonlyArray<IRSchemaObject>;
12979
+ operations?: {
12980
+ /**
12981
+ * Classify the given operation into one or more kinds.
12982
+ *
12983
+ * Each kind determines how we treat the operation (e.g., generating queries or mutations).
12984
+ *
12985
+ * **Default behavior:**
12986
+ * - GET → 'query'
12987
+ * - DELETE, PATCH, POST, PUT → 'mutation'
12988
+ *
12989
+ * **Resolution order:**
12990
+ * 1. If `isQuery` or `isMutation` returns `true` or `false`, that overrides `getKind`.
12991
+ * 2. If `isQuery` or `isMutation` returns `undefined`, the result of `getKind` is used.
12992
+ *
12993
+ * @param operation - The operation object to classify.
12994
+ * @returns An array containing one or more of 'query' or 'mutation', or undefined to fallback to default behavior.
12995
+ * @example
12996
+ * ```ts
12997
+ * getKind: (operation) => {
12998
+ * if (operation.method === 'get' && operation.path === '/search') {
12999
+ * return ['query', 'mutation'];
13000
+ * }
13001
+ * return; // fallback to default behavior
13002
+ * }
13003
+ * ```
13004
+ */
13005
+ getKind?: (operation: IROperationObject) => ReadonlyArray<'mutation' | 'query'> | undefined;
13006
+ /**
13007
+ * Check if the given operation should be treated as a mutation.
13008
+ *
13009
+ * This affects which outputs are generated for the operation.
13010
+ *
13011
+ * **Default behavior:** DELETE, PATCH, POST, and PUT operations are treated as mutations.
13012
+ *
13013
+ * **Resolution order:** If this returns `true` or `false`, it overrides `getKind`.
13014
+ * If it returns `undefined`, `getKind` is used instead.
13015
+ *
13016
+ * @param operation - The operation object to check.
13017
+ * @returns true if the operation is a mutation, false otherwise, or undefined to fallback to `getKind`.
13018
+ * @example
13019
+ * ```ts
13020
+ * isMutation: (operation) => {
13021
+ * if (operation.method === 'post' && operation.path === '/search') {
13022
+ * return true;
13023
+ * }
13024
+ * return; // fallback to default behavior
13025
+ * }
13026
+ * ```
13027
+ */
13028
+ isMutation?: (operation: IROperationObject) => boolean | undefined;
13029
+ /**
13030
+ * Check if the given operation should be treated as a query.
13031
+ *
13032
+ * This affects which outputs are generated for the operation.
13033
+ *
13034
+ * **Default behavior:** GET operations are treated as queries.
13035
+ *
13036
+ * **Resolution order:** If this returns `true` or `false`, it overrides `getKind`.
13037
+ * If it returns `undefined`, `getKind` is used instead.
13038
+ *
13039
+ * @param operation - The operation object to check.
13040
+ * @returns true if the operation is a query, false otherwise, or undefined to fallback to `getKind`.
13041
+ * @example
13042
+ * ```ts
13043
+ * isQuery: (operation) => {
13044
+ * if (operation.method === 'post' && operation.path === '/search') {
13045
+ * return true;
13046
+ * }
13047
+ * return; // fallback to default behavior
13048
+ * }
13049
+ * ```
13050
+ */
13051
+ isQuery?: (operation: IROperationObject) => boolean | undefined;
13052
+ };
13645
13053
  /**
13646
- * When resolving a list of items, we need to know the relationship between
13647
- * them. `logicalOperator` specifies this logical relationship.
13054
+ * Hooks specifically for overriding symbols behavior.
13648
13055
  *
13649
- * @default 'or'
13056
+ * Use these to customize file placement.
13650
13057
  */
13651
- logicalOperator?: 'and' | 'or';
13058
+ symbols?: {
13059
+ /**
13060
+ * Optional output strategy to override default plugin behavior.
13061
+ *
13062
+ * Use this to route generated symbols to specific files.
13063
+ *
13064
+ * @returns The file path to output the symbol to, or undefined to fallback to default behavior.
13065
+ */
13066
+ getFilePath?: (symbol: Symbol) => string | undefined;
13067
+ };
13068
+ };
13069
+ //#endregion
13070
+ //#region src/plugins/types.d.ts
13071
+ type PluginClientNames = '@hey-api/client-angular' | '@hey-api/client-axios' | '@hey-api/client-fetch' | '@hey-api/client-next' | '@hey-api/client-nuxt' | '@hey-api/client-ofetch';
13072
+ type PluginValidatorNames = 'arktype' | 'valibot' | 'zod';
13073
+ type PluginNames = PluginClientNames | '@angular/common' | '@hey-api/schemas' | '@hey-api/sdk' | '@hey-api/transformers' | '@hey-api/typescript' | '@pinia/colada' | '@tanstack/angular-query-experimental' | '@tanstack/react-query' | '@tanstack/solid-query' | '@tanstack/svelte-query' | '@tanstack/vue-query' | 'fastify' | PluginValidatorNames;
13074
+ type AnyPluginName = PluginNames | (string & {});
13075
+ type PluginTag = 'client' | 'transformer' | 'validator';
13076
+ type PluginContext = {
13077
+ package: Package;
13078
+ pluginByTag: <T extends AnyPluginName | boolean = AnyPluginName>(tag: PluginTag, props?: {
13079
+ defaultPlugin?: Exclude<T, boolean>;
13080
+ errorMessage?: string;
13081
+ }) => Exclude<T, boolean> | undefined;
13082
+ valueToObject: ValueToObject;
13083
+ };
13084
+ type BaseApi = Record<string, unknown>;
13085
+ type BaseConfig = {
13652
13086
  /**
13653
- * When type is `object`, `patternProperties` can be used to define a schema
13654
- * for properties that match a specific regex pattern.
13087
+ * Should the exports from the plugin's file be re-exported in the index
13088
+ * barrel file?
13655
13089
  */
13656
- patternProperties?: Record<string, IRSchemaObject>;
13090
+ exportFromIndex?: boolean;
13091
+ name: AnyPluginName;
13657
13092
  /**
13658
- * When type is `object`, `properties` will contain a map of its properties.
13093
+ * Optional hooks to override default plugin behavior.
13094
+ *
13095
+ * Use these to classify resources, control which outputs are generated,
13096
+ * or provide custom behavior for specific resources.
13659
13097
  */
13660
- properties?: Record<string, IRSchemaObject>;
13098
+ '~hooks'?: Hooks;
13099
+ };
13100
+
13101
+ /**
13102
+ * Public Plugin API.
13103
+ */
13104
+ declare namespace Plugin {
13105
+ export type Config<T extends Types> = Pick<T, 'api'> & {
13106
+ config: Omit<T['config'], 'name' | 'output'>;
13107
+ /**
13108
+ * Dependency plugins will be always processed, regardless of whether user
13109
+ * explicitly defines them in their `plugins` config.
13110
+ */
13111
+ dependencies?: ReadonlyArray<AnyPluginName>;
13112
+ handler: Handler<T>;
13113
+ name: T['config']['name'];
13114
+ output?: NonNullable<T['config']['output']>;
13115
+ /**
13116
+ * Resolves static configuration values into their runtime equivalents. For
13117
+ * example, when `validator` is set to `true`, it figures out which plugin
13118
+ * should be used for validation.
13119
+ */
13120
+ resolveConfig?: (plugin: Omit<Plugin.Config<T>, 'dependencies'> & {
13121
+ dependencies: Set<AnyPluginName>;
13122
+ }, context: PluginContext) => void;
13123
+ /**
13124
+ * Optional tags can be used to help with deciding plugin order and resolving
13125
+ * plugin configuration options.
13126
+ */
13127
+ tags?: ReadonlyArray<PluginTag>;
13128
+ };
13129
+ export type ConfigWithName<T extends Types> = Omit<Config$21<T>, 'config'> & {
13130
+ config: Omit<T['config'], 'output'>;
13131
+ };
13132
+
13133
+ /** @deprecated use `definePluginConfig()` instead */
13134
+ export type DefineConfig<Config$21 extends BaseConfig, ResolvedConfig extends BaseConfig = Config$21> = (config?: UserConfig<Omit<Config$21, 'name'>>) => Omit<Plugin.Config<Config$21, ResolvedConfig>, 'name'> & {
13135
+ /**
13136
+ * Cast name to `any` so it doesn't throw type error in `plugins` array.
13137
+ * We could allow any `string` as plugin `name` in the object syntax, but
13138
+ * that TypeScript trick would cause all string methods to appear as
13139
+ * suggested auto completions, which is undesirable.
13140
+ */
13141
+ name: any;
13142
+ };
13143
+
13661
13144
  /**
13662
- * The names of `properties` can be validated against a schema, irrespective
13663
- * of their values. This can be useful if you don't want to enforce specific
13664
- * properties, but you want to make sure that the names of those properties
13665
- * follow a specific convention.
13145
+ * Generic wrapper for plugin hooks.
13666
13146
  */
13667
- propertyNames?: IRSchemaObject;
13147
+ export type Hooks = Pick<BaseConfig, '~hooks'>;
13148
+ export interface Name<Name extends PluginNames> {
13149
+ name: Name;
13150
+ }
13151
+ export type Types<Config$21 extends BaseConfig = BaseConfig, ResolvedConfig extends BaseConfig = Config$21, Api extends BaseApi = never> = ([Api] extends [never] ? {
13152
+ api?: BaseApi;
13153
+ } : {
13154
+ api: Api;
13155
+ }) & {
13156
+ config: Config$21;
13157
+ resolvedConfig: ResolvedConfig;
13158
+ };
13159
+
13668
13160
  /**
13669
- * Each schema eventually resolves into `type`.
13161
+ * Users cannot modify output file path to avoid risk of conflicts.
13670
13162
  */
13671
- type?: 'array' | 'boolean' | 'enum' | 'integer' | 'never' | 'null' | 'number' | 'object' | 'string' | 'tuple' | 'undefined' | 'unknown' | 'void';
13672
- }
13673
- type IRSecurityObject = SecuritySchemeObject;
13674
- type IRServerObject = ServerObject;
13675
- type IRWebhookObject = IRPathItemObject;
13676
- interface IRModel {
13677
- components?: IRComponentsObject;
13678
- paths?: IRPathsObject;
13679
- servers?: ReadonlyArray<IRServerObject>;
13680
- webhooks?: Record<string, IRWebhookObject>;
13681
- }
13682
- declare namespace IR$1 {
13683
- export type BodyObject = IRBodyObject;
13684
- export type ComponentsObject = IRComponentsObject;
13685
- export type Context<Spec extends Record<string, any> = any> = Context<Spec>;
13686
- export type Model = IRModel;
13687
- export type OperationObject = IROperationObject;
13688
- export type ParameterObject = IRParameterObject;
13689
- export type ParametersObject = IRParametersObject;
13690
- export type PathItemObject = IRPathItemObject;
13691
- export type PathsObject = IRPathsObject;
13692
- export type ReferenceObject = ReferenceObject;
13693
- export type RequestBodyObject = IRRequestBodyObject;
13694
- export type ResponseObject = IRResponseObject;
13695
- export type ResponsesObject = IRResponsesObject;
13696
- export type SchemaObject = IRSchemaObject;
13697
- export type SecurityObject = IRSecurityObject;
13698
- export type ServerObject = IRServerObject;
13699
- export type WebhookObject = IRWebhookObject;
13163
+ export type UserConfig<Config$21 extends BaseConfig> = Omit<Config$21, 'output'>;
13700
13164
  }
13165
+ type DefinePlugin<Config$21 extends BaseConfig = BaseConfig, ResolvedConfig extends BaseConfig = Config$21, Api extends BaseApi = never> = {
13166
+ Config: Plugin.Config<Plugin.Types<Config$21, ResolvedConfig, Api>>;
13167
+ Handler: (args: {
13168
+ plugin: PluginInstance<Plugin.Types<Config$21, ResolvedConfig, Api>>;
13169
+ }) => void;
13170
+ Instance: PluginInstance<Plugin.Types<Config$21, ResolvedConfig, Api>>;
13171
+ Types: Plugin.Types<Config$21, ResolvedConfig, Api>;
13172
+ };
13701
13173
  //#endregion
13702
13174
  //#region src/types/input.d.ts
13703
13175
  type JsonSchema = Record<string, unknown>;
@@ -14728,61 +14200,12 @@ interface UserConfig$1 {
14728
14200
  plugins?: ReadonlyArray<PluginNames | { [K in PluginNames]: Plugin.UserConfig<PluginConfigMap[K]['config']> & {
14729
14201
  name: K;
14730
14202
  } }[PluginNames]>;
14731
-
14732
- // DEPRECATED OPTIONS BELOW
14733
-
14734
- /**
14735
- * Manually set base in OpenAPI config instead of inferring from server value
14736
- *
14737
- * @deprecated
14738
- */
14739
- // eslint-disable-next-line typescript-sort-keys/interface
14740
- base?: string;
14741
- /**
14742
- * Opt in to the experimental parser?
14743
- *
14744
- * @deprecated
14745
- * @default true
14746
- */
14747
- experimentalParser?: boolean;
14748
- /**
14749
- * Generate core client classes?
14750
- *
14751
- * @deprecated
14752
- * @default true
14753
- */
14754
- exportCore?: boolean;
14755
- /**
14756
- * Custom client class name. Please note this option is deprecated and
14757
- * will be removed in favor of clients.
14758
- *
14759
- * @deprecated
14760
- * @link https://heyapi.dev/openapi-ts/migrating.html#deprecated-name
14761
- */
14762
- name?: string;
14763
- /**
14764
- * Path to custom request file. Please note this option is deprecated and
14765
- * will be removed in favor of clients.
14766
- *
14767
- * @deprecated
14768
- * @link https://heyapi.dev/openapi-ts/migrating.html#deprecated-request
14769
- */
14770
- request?: string;
14771
- /**
14772
- * Use options or arguments functions. Please note this option is deprecated and
14773
- * will be removed in favor of clients.
14774
- *
14775
- * @deprecated
14776
- * @default true
14777
- * @link https://heyapi.dev/openapi-ts/migrating.html#deprecated-useoptions
14778
- */
14779
- useOptions?: boolean;
14780
14203
  /**
14781
14204
  * @deprecated use `input.watch` instead
14782
14205
  */
14783
14206
  watch?: boolean | number | Watch;
14784
14207
  }
14785
- type Config$1 = Omit<Required<UserConfig$1>, 'base' | 'input' | 'logs' | 'name' | 'output' | 'parser' | 'plugins' | 'request' | 'watch'> & Pick<UserConfig$1, 'base' | 'name' | 'request'> & {
14208
+ type Config = Omit<Required<UserConfig$1>, 'input' | 'logs' | 'output' | 'parser' | 'plugins' | 'watch'> & {
14786
14209
  /**
14787
14210
  * Path to the input specification.
14788
14211
  */
@@ -14801,27 +14224,5 @@ type Config$1 = Omit<Required<UserConfig$1>, 'base' | 'input' | 'logs' | 'name'
14801
14224
  plugins: { [K in PluginNames]?: Plugin.ConfigWithName<PluginConfigMap[K]> };
14802
14225
  };
14803
14226
  //#endregion
14804
- //#region src/types/types.d.ts
14805
- declare namespace LegacyIR {
14806
- export type LegacyOperation = Operation;
14807
- }
14808
- interface WatchValues {
14809
- /**
14810
- * Headers to be sent with each HEAD and/or GET request. This effectively
14811
- * serves as a mechanism resolver because setting certain headers will opt
14812
- * into comparing the specifications using that method.
14813
- */
14814
- headers: Headers;
14815
- /**
14816
- * Can we send a HEAD request instead of fetching the whole specification?
14817
- * This value will be set after the first successful fetch.
14818
- */
14819
- isHeadMethodSupported?: boolean;
14820
- /**
14821
- * String content of the last successfully fetched specification.
14822
- */
14823
- lastValue?: string;
14824
- }
14825
- //#endregion
14826
- export { AccessLevel as A, PluginHandler as C, Comments as D, MaybeArray as E, types_d_exports as F, __export as I, FunctionTypeParameter as M, ObjectValue as N, ImportExportItemObject as O, SyntaxKindKeyword as P, Client$2 as S, LazyOrAsync as T, OpenApiRequestBodyObject as _, Input as a, parseOpenApiSpec as b, ExpressionTransformer as c, Client as d, Operation as f, OpenApiParameterObject as g, OpenApiOperationObject as h, UserConfig$1 as i, FunctionParameter as j, tsNodeToString as k, DefinePlugin as l, OpenApiMetaObject as m, WatchValues as n, IR$1 as o, OpenApi$1 as p, Config$1 as r, TypeTransformer as s, LegacyIR as t, Plugin as u, OpenApiResponseObject as v, StringCase as w, Logger as x, OpenApiSchemaObject as y };
14827
- //# sourceMappingURL=types-Bxdq98WE.d.cts.map
14227
+ export { Client$6 as C, LazyOrAsync as D, IR$1 as E, MaybeArray as O, Client$5 as S, StringCase as T, Client as _, Plugin as a, Client$3 as b, OpenApiOperationObject as c, OpenApiResponseObject as d, OpenApiSchemaObject as f, ExpressionTransformer as g, TypeTransformer as h, DefinePlugin as i, OpenApiParameterObject as l, Logger as m, UserConfig$1 as n, OpenApi as o, Context as p, Input as r, OpenApiMetaObject as s, Config as t, OpenApiRequestBodyObject as u, PluginHandler as v, Client$7 as w, Client$4 as x, Client$2 as y };
14228
+ //# sourceMappingURL=config-oAoGatJ7.d.ts.map