@orval/core 8.10.0 → 8.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -36,7 +36,7 @@ interface NormalizedOutputOptions {
36
36
  namingConvention: NamingConvention;
37
37
  fileExtension: string;
38
38
  mode: OutputMode;
39
- mock?: GlobalMockOptions | ClientMockBuilder;
39
+ mock: NormalizedMocksConfig;
40
40
  override: NormalizedOverrideOutput;
41
41
  client: OutputClient | OutputClientFunc;
42
42
  httpClient: OutputHttpClient;
@@ -89,6 +89,7 @@ interface NormalizedOverrideOutput {
89
89
  formUrlEncoded: boolean | NormalizedMutator;
90
90
  paramsSerializer?: NormalizedMutator;
91
91
  paramsSerializerOptions?: NormalizedParamsSerializerOptions;
92
+ paramsFilter?: NormalizedMutator;
92
93
  namingConvention: {
93
94
  enum?: NamingConvention;
94
95
  };
@@ -181,6 +182,7 @@ interface NormalizedOperationOptions {
181
182
  formData?: NormalizedFormDataType<NormalizedMutator>;
182
183
  formUrlEncoded?: boolean | NormalizedMutator;
183
184
  paramsSerializer?: NormalizedMutator;
185
+ paramsFilter?: NormalizedMutator;
184
186
  requestOptions?: object | boolean;
185
187
  }
186
188
  interface NormalizedInputOptions {
@@ -259,7 +261,7 @@ interface OutputOptions {
259
261
  namingConvention?: NamingConvention;
260
262
  fileExtension?: string;
261
263
  mode?: OutputMode;
262
- mock?: boolean | GlobalMockOptions | ClientMockBuilder;
264
+ mock?: OutputMocksOption;
263
265
  override?: OverrideOutput;
264
266
  client?: OutputClient | OutputClientFunc;
265
267
  httpClient?: OutputHttpClient;
@@ -338,19 +340,34 @@ type OutputDocsOptions = {
338
340
  } & Partial<TypeDocOptions>;
339
341
  declare const OutputMockType: {
340
342
  readonly MSW: "msw";
343
+ readonly FAKER: "faker";
341
344
  };
342
345
  type OutputMockType = (typeof OutputMockType)[keyof typeof OutputMockType];
343
346
  type PreferredContentType = 'application/json' | 'application/xml' | 'text/plain' | 'text/html' | 'application/octet-stream' | (string & {});
344
- interface GlobalMockOptions {
345
- type: OutputMockType;
347
+ interface CommonMockOptions {
346
348
  useExamples?: boolean;
347
349
  generateEachHttpStatus?: boolean;
348
- delay?: false | number | (() => number);
349
- delayFunctionLazyExecute?: boolean;
350
- baseUrl?: string;
351
350
  locale?: keyof typeof allLocales;
352
351
  preferredContentType?: string;
352
+ }
353
+ interface MswMockOptions extends CommonMockOptions {
354
+ type: typeof OutputMockType.MSW;
355
+ baseUrl?: string;
356
+ delay?: false | number | (() => number);
357
+ delayFunctionLazyExecute?: boolean;
358
+ }
359
+ interface FakerMockOptions extends CommonMockOptions {
360
+ type: typeof OutputMockType.FAKER;
361
+ }
362
+ type GlobalMockOptions = MswMockOptions | FakerMockOptions;
363
+ interface OutputMocksConfig {
353
364
  indexMockFiles?: boolean;
365
+ generators: (GlobalMockOptions | ClientMockBuilder)[];
366
+ }
367
+ type OutputMocksOption = boolean | OutputMocksConfig | ClientMockBuilder;
368
+ interface NormalizedMocksConfig {
369
+ indexMockFiles: boolean;
370
+ generators: (GlobalMockOptions | ClientMockBuilder)[];
354
371
  }
355
372
  type OverrideMockOptions = Partial<GlobalMockOptions> & {
356
373
  arrayMin?: number;
@@ -430,6 +447,7 @@ interface OverrideOutput {
430
447
  formUrlEncoded?: boolean | Mutator;
431
448
  paramsSerializer?: Mutator;
432
449
  paramsSerializerOptions?: ParamsSerializerOptions;
450
+ paramsFilter?: Mutator;
433
451
  namingConvention?: {
434
452
  enum?: NamingConvention;
435
453
  };
@@ -753,7 +771,7 @@ interface FetchOptions {
753
771
  runtimeValidation?: boolean;
754
772
  useRuntimeFetcher?: boolean;
755
773
  }
756
- type InputTransformerFn = (spec: OpenApiDocument) => OpenApiDocument;
774
+ type InputTransformerFn = (spec: OpenApiDocument) => OpenApiDocument | Promise<OpenApiDocument>;
757
775
  type InputTransformer = string | InputTransformerFn;
758
776
  interface OverrideInput {
759
777
  transformer?: InputTransformer;
@@ -774,6 +792,7 @@ interface OperationOptions {
774
792
  formData?: boolean | Mutator | FormDataType<Mutator>;
775
793
  formUrlEncoded?: boolean | Mutator;
776
794
  paramsSerializer?: Mutator;
795
+ paramsFilter?: Mutator;
777
796
  requestOptions?: object | boolean;
778
797
  }
779
798
  type Hook = 'afterAllFilesWrite';
@@ -795,6 +814,10 @@ declare const Verbs: {
795
814
  DELETE: Verbs;
796
815
  HEAD: Verbs;
797
816
  };
817
+ /**
818
+ * Canonical tag name used for the generated bucket that collects untagged operations.
819
+ */
820
+ declare const DefaultTag: "default";
798
821
  interface ImportOpenApi {
799
822
  spec: OpenApiDocument;
800
823
  input: NormalizedInputOptions;
@@ -816,7 +839,7 @@ interface GlobalOptions {
816
839
  verbose?: boolean;
817
840
  clean?: boolean | string[];
818
841
  formatter?: SupportedFormatter;
819
- mock?: boolean | GlobalMockOptions;
842
+ mock?: OutputMocksOption;
820
843
  client?: OutputClient;
821
844
  httpClient?: OutputHttpClient;
822
845
  mode?: OutputMode;
@@ -834,9 +857,32 @@ interface Tsconfig {
834
857
  exactOptionalPropertyTypes?: boolean;
835
858
  paths?: Record<string, string[]>;
836
859
  target?: TsConfigTarget;
860
+ module?: TsConfigModule;
861
+ moduleResolution?: TsConfigModuleResolution;
862
+ allowImportingTsExtensions?: boolean;
837
863
  };
838
864
  }
839
865
  type TsConfigTarget = 'es3' | 'es5' | 'es6' | 'es2015' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'es2021' | 'es2022' | 'es2023' | 'es2024' | 'es2025' | 'esnext';
866
+ /** Accepts both the canonical casing and the all-lowercase variant of a string literal. */
867
+ type CaseInsensitive<T extends string> = T | Lowercase<T>;
868
+ /**
869
+ * Valid values for the TypeScript `compilerOptions.module` setting.
870
+ *
871
+ * Both title-case (e.g. `"NodeNext"`) and lower-case (e.g. `"nodenext"`) are
872
+ * accepted, matching TypeScript's own case-insensitive parsing.
873
+ *
874
+ * @see {@link https://www.typescriptlang.org/tsconfig#module}
875
+ */
876
+ type TsConfigModule = CaseInsensitive<'None' | 'CommonJS' | 'AMD' | 'UMD' | 'System' | 'ES6' | 'ES2015' | 'ES2020' | 'ES2022' | 'ESNext' | 'Node16' | 'Node18' | 'Node20' | 'NodeNext' | 'Preserve'>;
877
+ /**
878
+ * Valid values for the TypeScript `compilerOptions.moduleResolution` setting.
879
+ *
880
+ * Both title-case (e.g. `"NodeNext"`) and lower-case (e.g. `"nodenext"`) are
881
+ * accepted, matching TypeScript's own case-insensitive parsing.
882
+ *
883
+ * @see https://www.typescriptlang.org/tsconfig#moduleResolution
884
+ */
885
+ type TsConfigModuleResolution = CaseInsensitive<'Classic' | 'Node' | 'Node10' | 'Node16' | 'NodeNext' | 'Bundler'>;
840
886
  interface PackageJson {
841
887
  dependencies?: Record<string, string>;
842
888
  devDependencies?: Record<string, string>;
@@ -873,49 +919,55 @@ interface GeneratorApiResponse {
873
919
  schemas: GeneratorSchema[];
874
920
  }
875
921
  type GeneratorOperations = Record<string, GeneratorOperation>;
922
+ interface GeneratorMockOutput {
923
+ type: OutputMockType;
924
+ implementation: string;
925
+ imports: GeneratorImport[];
926
+ }
927
+ interface GeneratorMockOutputFull {
928
+ type: OutputMockType;
929
+ implementation: {
930
+ function: string;
931
+ handler: string;
932
+ handlerName: string;
933
+ };
934
+ imports: GeneratorImport[];
935
+ }
876
936
  interface GeneratorTarget {
877
937
  imports: GeneratorImport[];
878
938
  implementation: string;
879
- implementationMock: string;
880
- importsMock: GeneratorImport[];
939
+ mockOutputs: GeneratorMockOutput[];
881
940
  mutators?: GeneratorMutator[];
882
941
  clientMutators?: GeneratorMutator[];
883
942
  formData?: GeneratorMutator[];
884
943
  formUrlEncoded?: GeneratorMutator[];
885
944
  paramsSerializer?: GeneratorMutator[];
945
+ paramsFilter?: GeneratorMutator[];
886
946
  fetchReviver?: GeneratorMutator[];
887
947
  }
888
948
  interface GeneratorTargetFull {
889
949
  imports: GeneratorImport[];
890
950
  implementation: string;
891
- implementationMock: {
892
- function: string;
893
- handler: string;
894
- handlerName: string;
895
- };
896
- importsMock: GeneratorImport[];
951
+ mockOutputs: GeneratorMockOutputFull[];
897
952
  mutators?: GeneratorMutator[];
898
953
  clientMutators?: GeneratorMutator[];
899
954
  formData?: GeneratorMutator[];
900
955
  formUrlEncoded?: GeneratorMutator[];
901
956
  paramsSerializer?: GeneratorMutator[];
957
+ paramsFilter?: GeneratorMutator[];
902
958
  fetchReviver?: GeneratorMutator[];
903
959
  }
904
960
  interface GeneratorOperation {
905
961
  imports: GeneratorImport[];
906
962
  implementation: string;
907
- implementationMock: {
908
- function: string;
909
- handler: string;
910
- handlerName: string;
911
- };
912
- importsMock: GeneratorImport[];
963
+ mockOutputs: GeneratorMockOutputFull[];
913
964
  tags: string[];
914
965
  mutator?: GeneratorMutator;
915
966
  clientMutators?: GeneratorMutator[];
916
967
  formData?: GeneratorMutator;
917
968
  formUrlEncoded?: GeneratorMutator;
918
969
  paramsSerializer?: GeneratorMutator;
970
+ paramsFilter?: GeneratorMutator;
919
971
  fetchReviver?: GeneratorMutator;
920
972
  operationName: string;
921
973
  types?: {
@@ -941,6 +993,7 @@ interface GeneratorVerbOptions {
941
993
  formData?: GeneratorMutator;
942
994
  formUrlEncoded?: GeneratorMutator;
943
995
  paramsSerializer?: GeneratorMutator;
996
+ paramsFilter?: GeneratorMutator;
944
997
  fetchReviver?: GeneratorMutator;
945
998
  override: NormalizedOverrideOutput;
946
999
  deprecated?: boolean;
@@ -994,6 +1047,7 @@ type ClientHeaderBuilder = (params: {
994
1047
  output: NormalizedOutputOptions;
995
1048
  verbOptions: Record<string, GeneratorVerbOptions>;
996
1049
  tag?: string;
1050
+ isDefaultTagBucket?: boolean;
997
1051
  clientImplementation: string;
998
1052
  }) => string;
999
1053
  type ClientFooterBuilder = (params: {
@@ -1079,6 +1133,14 @@ interface GetterQueryParam {
1079
1133
  isOptional: boolean;
1080
1134
  originalSchema?: OpenApiSchemaObject;
1081
1135
  requiredNullableKeys?: string[];
1136
+ /**
1137
+ * Names of query parameters whose declared schema is non-primitive
1138
+ * (object, array of objects, or untyped). Used by Angular generators to
1139
+ * preserve these values through the default `filterParams` helper instead
1140
+ * of silently dropping them — the user's `paramsSerializer`, `mutator`, or
1141
+ * `paramsFilter` is then responsible for handling them. See issue #3326.
1142
+ */
1143
+ nonPrimitiveKeys?: string[];
1082
1144
  }
1083
1145
  type GetterPropType = 'param' | 'body' | 'queryParam' | 'header' | 'namedPathParams';
1084
1146
  declare const GetterPropType: {
@@ -1189,6 +1251,7 @@ type GeneratorClientHeader = (data: {
1189
1251
  output: NormalizedOutputOptions;
1190
1252
  verbOptions: Record<string, GeneratorVerbOptions>;
1191
1253
  tag?: string;
1254
+ isDefaultTagBucket?: boolean;
1192
1255
  clientImplementation: string;
1193
1256
  }) => GeneratorClientExtra;
1194
1257
  type GeneratorClientFooter = (data: {
@@ -1267,10 +1330,12 @@ declare function generateComponentDefinition(responses: OpenApiComponentsObject[
1267
1330
  interface GenerateImportsOptions {
1268
1331
  imports: readonly GeneratorImport[];
1269
1332
  namingConvention?: NamingConvention;
1333
+ importExtension?: string;
1270
1334
  }
1271
1335
  declare function generateImports({
1272
1336
  imports,
1273
- namingConvention
1337
+ namingConvention,
1338
+ importExtension
1274
1339
  }: GenerateImportsOptions): string;
1275
1340
  interface GenerateMutatorImportsOptions {
1276
1341
  mutators: GeneratorMutator[];
@@ -1351,7 +1416,7 @@ declare function generateMutator({
1351
1416
  * (e.g. observe-mode branches), prefer getAngularFilteredParamsCallExpression +
1352
1417
  * getAngularFilteredParamsHelperBody instead.
1353
1418
  */
1354
- declare const getAngularFilteredParamsExpression: (paramsExpression: string, requiredNullableParamKeys?: string[], preserveRequiredNullables?: boolean) => string;
1419
+ declare const getAngularFilteredParamsExpression: (paramsExpression: string, requiredNullableParamKeys?: string[], preserveRequiredNullables?: boolean, nonPrimitiveKeys?: string[]) => string;
1355
1420
  /**
1356
1421
  * Returns the body of a standalone `filterParams` helper function
1357
1422
  * to be emitted once in the generated file header, replacing the
@@ -1361,7 +1426,32 @@ declare const getAngularFilteredParamsHelperBody: () => string;
1361
1426
  /**
1362
1427
  * Returns a call expression to the `filterParams` helper function.
1363
1428
  */
1364
- declare const getAngularFilteredParamsCallExpression: (paramsExpression: string, requiredNullableParamKeys?: string[], preserveRequiredNullables?: boolean) => string;
1429
+ declare const getAngularFilteredParamsCallExpression: (paramsExpression: string, requiredNullableParamKeys?: string[], preserveRequiredNullables?: boolean, nonPrimitiveKeys?: string[]) => string;
1430
+ /**
1431
+ * Returns the filter call/IIFE used to massage query params before passing
1432
+ * them to Angular's HttpParams. When the user supplied a `paramsFilter`
1433
+ * mutator, the built-in `filterParams` is bypassed entirely and the user's
1434
+ * function is called with the raw params — they own nullish-stripping and
1435
+ * any object/array handling. Otherwise the built-in filter is used (either
1436
+ * the shared helper or an inline IIFE), and callers should only pass
1437
+ * `nonPrimitiveKeys` when a downstream serializer or custom consumer can
1438
+ * legally handle raw object/array values.
1439
+ */
1440
+ declare const buildAngularParamsFilterExpression: ({
1441
+ paramsExpression,
1442
+ requiredNullableParamKeys,
1443
+ preserveRequiredNullables,
1444
+ nonPrimitiveKeys,
1445
+ paramsFilter,
1446
+ useSharedHelper
1447
+ }: {
1448
+ paramsExpression: string;
1449
+ requiredNullableParamKeys?: string[];
1450
+ preserveRequiredNullables?: boolean;
1451
+ nonPrimitiveKeys?: string[];
1452
+ paramsFilter?: GeneratorMutator;
1453
+ useSharedHelper: boolean;
1454
+ }) => string;
1365
1455
  interface GenerateFormDataAndUrlEncodedFunctionOptions {
1366
1456
  body: GetterBody;
1367
1457
  formData?: GeneratorMutator;
@@ -1376,6 +1466,7 @@ interface GenerateAxiosOptions {
1376
1466
  angularObserve?: 'body' | 'events' | 'response';
1377
1467
  angularParamsRef?: string;
1378
1468
  requiredNullableQueryParamKeys?: string[];
1469
+ nonPrimitiveQueryParamKeys?: string[];
1379
1470
  queryParams?: GeneratorSchema;
1380
1471
  headers?: GeneratorSchema;
1381
1472
  requestOptions?: object | boolean;
@@ -1385,6 +1476,7 @@ interface GenerateAxiosOptions {
1385
1476
  isAngular: boolean;
1386
1477
  paramsSerializer?: GeneratorMutator;
1387
1478
  paramsSerializerOptions?: ParamsSerializerOptions;
1479
+ paramsFilter?: GeneratorMutator;
1388
1480
  }
1389
1481
  declare function generateAxiosOptions({
1390
1482
  response,
@@ -1392,6 +1484,7 @@ declare function generateAxiosOptions({
1392
1484
  angularObserve,
1393
1485
  angularParamsRef,
1394
1486
  requiredNullableQueryParamKeys,
1487
+ nonPrimitiveQueryParamKeys,
1395
1488
  queryParams,
1396
1489
  headers,
1397
1490
  requestOptions,
@@ -1400,7 +1493,8 @@ declare function generateAxiosOptions({
1400
1493
  isVue,
1401
1494
  isAngular,
1402
1495
  paramsSerializer,
1403
- paramsSerializerOptions
1496
+ paramsSerializerOptions,
1497
+ paramsFilter
1404
1498
  }: GenerateAxiosOptions): string;
1405
1499
  interface GenerateOptionsOptions {
1406
1500
  route: string;
@@ -1421,6 +1515,7 @@ interface GenerateOptionsOptions {
1421
1515
  isVue?: boolean;
1422
1516
  paramsSerializer?: GeneratorMutator;
1423
1517
  paramsSerializerOptions?: ParamsSerializerOptions;
1518
+ paramsFilter?: GeneratorMutator;
1424
1519
  }
1425
1520
  declare function generateOptions({
1426
1521
  route,
@@ -1440,10 +1535,11 @@ declare function generateOptions({
1440
1535
  hasSignalParam,
1441
1536
  isVue,
1442
1537
  paramsSerializer,
1443
- paramsSerializerOptions
1538
+ paramsSerializerOptions,
1539
+ paramsFilter
1444
1540
  }: GenerateOptionsOptions): string;
1445
1541
  declare function generateBodyMutatorConfig(body: GetterBody, isFormData: boolean, isFormUrlEncoded: boolean): string;
1446
- declare function generateQueryParamsAxiosConfig(response: GetterResponse, isVue: boolean, isAngular: boolean, requiredNullableQueryParamKeys?: string[], queryParams?: GetterQueryParam): string;
1542
+ declare function generateQueryParamsAxiosConfig(response: GetterResponse, isVue: boolean, isAngular: boolean, requiredNullableQueryParamKeys?: string[], queryParams?: GetterQueryParam, paramsFilter?: GeneratorMutator): string;
1447
1543
  interface GenerateMutatorConfigOptions {
1448
1544
  route: string;
1449
1545
  body: GetterBody;
@@ -1458,6 +1554,7 @@ interface GenerateMutatorConfigOptions {
1458
1554
  isExactOptionalPropertyTypes: boolean;
1459
1555
  isVue?: boolean;
1460
1556
  isAngular?: boolean;
1557
+ paramsFilter?: GeneratorMutator;
1461
1558
  }
1462
1559
  declare function generateMutatorConfig({
1463
1560
  route,
@@ -1472,7 +1569,8 @@ declare function generateMutatorConfig({
1472
1569
  hasSignalParam,
1473
1570
  isExactOptionalPropertyTypes,
1474
1571
  isVue,
1475
- isAngular
1572
+ isAngular,
1573
+ paramsFilter
1476
1574
  }: GenerateMutatorConfigOptions): string;
1477
1575
  declare function generateMutatorRequestOptions(requestOptions: boolean | object | undefined, hasSecondArgument: boolean): string;
1478
1576
  declare function generateFormDataAndUrlEncodedFunction({
@@ -1531,10 +1629,11 @@ declare function generateVerbsOptions({
1531
1629
  //#endregion
1532
1630
  //#region src/getters/object.d.ts
1533
1631
  /**
1534
- * Context for multipart/form-data type generation.
1632
+ * Context for form request body (multipart/form-data and
1633
+ * application/x-www-form-urlencoded) type generation.
1535
1634
  * Discriminated union with two states:
1536
1635
  *
1537
- * 1. `{ atPart: false, encoding }` - At form-data root, before property iteration
1636
+ * 1. `{ atPart: false, encoding }` - At form root, before property iteration
1538
1637
  * - May traverse through allOf/anyOf/oneOf to reach properties
1539
1638
  * - Carries encoding map so getObject can look up `encoding[key]`
1540
1639
  *
@@ -1543,16 +1642,22 @@ declare function generateVerbsOptions({
1543
1642
  * - Used by getScalar for file type detection (precedence over contentMediaType)
1544
1643
  * - Arrays pass this through to items; combiners inside arrays also get context
1545
1644
  *
1546
- * `undefined` means not in form-data context (or nested inside plain object field = JSON)
1645
+ * `urlEncoded` marks an application/x-www-form-urlencoded body. Such bodies are
1646
+ * built with URLSearchParams, whose values are always strings, so getScalar
1647
+ * keeps file/binary fields as `string` instead of `Blob` (#1624).
1648
+ *
1649
+ * `undefined` means not in form context (or nested inside plain object field = JSON)
1547
1650
  */
1548
1651
  type FormDataContext = {
1549
1652
  atPart: false;
1550
1653
  encoding: Record<string, {
1551
1654
  contentType?: string;
1552
1655
  }>;
1656
+ urlEncoded?: boolean;
1553
1657
  } | {
1554
1658
  atPart: true;
1555
1659
  partContentType?: string;
1660
+ urlEncoded?: boolean;
1556
1661
  };
1557
1662
  interface GetObjectOptions {
1558
1663
  item: OpenApiSchemaObject;
@@ -1738,14 +1843,22 @@ declare function getQueryParams({
1738
1843
  }: GetQueryParamsOptions): GetterQueryParam | undefined;
1739
1844
  //#endregion
1740
1845
  //#region src/getters/ref.d.ts
1741
- type RefComponent = 'schemas' | 'responses' | 'parameters' | 'requestBodies';
1742
- declare const RefComponent: {
1743
- schemas: RefComponent;
1744
- responses: RefComponent;
1745
- parameters: RefComponent;
1746
- requestBodies: RefComponent;
1747
- };
1846
+ /**
1847
+ * `$ref`s targeting these sections under `#/components/...` are emitted as
1848
+ * named TypeScript imports (e.g. `import type { Pet } from './model'`).
1849
+ * Refs to any other location — for example `#/paths/.../schema` produced by
1850
+ * JSON-Schema-Ref-Parser `bundle()` — have no corresponding `export type`
1851
+ * and must be inlined by the resolver. See issue #398.
1852
+ */
1853
+ declare const NAMED_COMPONENT_SECTIONS: readonly ["schemas", "responses", "parameters", "requestBodies"];
1854
+ type RefComponent = (typeof NAMED_COMPONENT_SECTIONS)[number];
1748
1855
  declare const RefComponentSuffix: Record<RefComponent, string>;
1856
+ /**
1857
+ * True iff `ref` targets a named slot eligible for emission as a TypeScript
1858
+ * import. Used by `resolveValue` to decide between named import vs inlining
1859
+ * the resolved schema.
1860
+ */
1861
+ declare function isComponentRef(ref: string): boolean;
1749
1862
  interface RefInfo {
1750
1863
  name: string;
1751
1864
  originalName: string;
@@ -1812,6 +1925,8 @@ declare function getFullRoute(route: string, servers: OpenApiServerObject[] | un
1812
1925
  * type-only symbols referenced from the expression).
1813
1926
  */
1814
1927
  declare function getBaseUrlRuntimeImports(baseUrl?: NormalizedOutputOptions['baseUrl']): GeneratorImport[];
1928
+ declare const wrapRouteParameters: (route: string, prepend: string, append: string) => string;
1929
+ declare const makeRouteSafe: (route: string) => string;
1815
1930
  declare function getRouteAsArray(route: string): string;
1816
1931
  //#endregion
1817
1932
  //#region src/getters/scalar.d.ts
@@ -1913,6 +2028,16 @@ declare function isNumeric(x: unknown): x is number;
1913
2028
  declare function isSchema(x: unknown): x is OpenApiSchemaObject;
1914
2029
  declare function isVerb(verb: string): verb is Verbs;
1915
2030
  declare function isUrl(str: string): boolean;
2031
+ /**
2032
+ * Type guard for the MSW mock generator. Use to narrow a
2033
+ * `GlobalMockOptions | ClientMockBuilder` value to `MswMockOptions`.
2034
+ */
2035
+ declare function isMswMock(mock: GlobalMockOptions | ClientMockBuilder): mock is MswMockOptions;
2036
+ /**
2037
+ * Type guard for the Faker mock generator. Use to narrow a
2038
+ * `GlobalMockOptions | ClientMockBuilder` value to `FakerMockOptions`.
2039
+ */
2040
+ declare function isFakerMock(mock: GlobalMockOptions | ClientMockBuilder): mock is FakerMockOptions;
1916
2041
  //#endregion
1917
2042
  //#region src/utils/async-reduce.d.ts
1918
2043
  declare function asyncReduce<IterationItem, AccValue>(array: IterationItem[], reducer: (accumulate: AccValue, current: IterationItem) => AccValue | Promise<AccValue>, initValue: AccValue): Promise<AccValue>;
@@ -2002,6 +2127,7 @@ interface JsDocSchema extends Record<string, unknown> {
2002
2127
  maxItems?: number;
2003
2128
  type?: string | string[];
2004
2129
  pattern?: string;
2130
+ items?: JsDocSchema;
2005
2131
  }
2006
2132
  declare function jsDoc(schema: object & JsDocSchema, tryOneLine?: boolean, context?: ContextSpec): string;
2007
2133
  declare function keyValuePairsToJsDoc(keyValues: {
@@ -2033,7 +2159,15 @@ declare function getFileInfo(target?: string, {
2033
2159
  declare function removeFilesAndEmptyFolders(patterns: string[], dir: string): Promise<void>;
2034
2160
  //#endregion
2035
2161
  //#region src/utils/file-extensions.d.ts
2036
- declare function getMockFileExtensionByTypeName(mock: GlobalMockOptions | ClientMockBuilder): string;
2162
+ /**
2163
+ * Returns the filename suffix for a given mock entry's output file. For
2164
+ * example a `{ type: OutputMockType.MSW }` entry produces `<file>.msw.ts` and
2165
+ * a `{ type: OutputMockType.FAKER }` entry produces `<file>.faker.ts`.
2166
+ *
2167
+ * Custom `ClientMockBuilder` functions default to the `msw` suffix to preserve
2168
+ * the historical behavior.
2169
+ */
2170
+ declare function getMockFileExtensionByTypeName(mock: GlobalMockOptions | ClientMockBuilder): OutputMockType;
2037
2171
  //#endregion
2038
2172
  //#region src/utils/get-property-safe.d.ts
2039
2173
  /**
@@ -2260,6 +2394,7 @@ declare function dedupeUnionType(unionType: string): string;
2260
2394
  //#endregion
2261
2395
  //#region src/utils/tsconfig.d.ts
2262
2396
  declare function isSyntheticDefaultImportsAllow(config?: Tsconfig): boolean;
2397
+ declare function getImportExtension(fileExtension: string, tsconfig?: Tsconfig): string;
2263
2398
  //#endregion
2264
2399
  //#region src/writers/schemas.d.ts
2265
2400
  /**
@@ -2272,11 +2407,11 @@ declare function splitSchemasByType(schemas: GeneratorSchema[]): {
2272
2407
  /**
2273
2408
  * Fix imports in operation schemas that reference regular schemas.
2274
2409
  */
2275
- declare function fixCrossDirectoryImports(operationSchemas: GeneratorSchema[], regularSchemaNames: Set<string>, schemaPath: string, operationSchemaPath: string, namingConvention: NamingConvention, fileExtension: string): void;
2410
+ declare function fixCrossDirectoryImports(operationSchemas: GeneratorSchema[], regularSchemaNames: Set<string>, schemaPath: string, operationSchemaPath: string, namingConvention: NamingConvention, fileExtension: string, tsconfig?: Tsconfig): void;
2276
2411
  /**
2277
2412
  * Fix imports in regular schemas that reference operation schemas.
2278
2413
  */
2279
- declare function fixRegularSchemaImports(regularSchemas: GeneratorSchema[], operationSchemaNames: Set<string>, schemaPath: string, operationSchemaPath: string, namingConvention: NamingConvention, fileExtension: string): void;
2414
+ declare function fixRegularSchemaImports(regularSchemas: GeneratorSchema[], operationSchemaNames: Set<string>, schemaPath: string, operationSchemaPath: string, namingConvention: NamingConvention, fileExtension: string, tsconfig?: Tsconfig): void;
2280
2415
  declare function writeModelInline(acc: string, model: string): string;
2281
2416
  declare function writeModelsInline(array: GeneratorSchema[]): string;
2282
2417
  interface WriteSchemaOptions {
@@ -2286,6 +2421,7 @@ interface WriteSchemaOptions {
2286
2421
  namingConvention: NamingConvention;
2287
2422
  fileExtension: string;
2288
2423
  header: string;
2424
+ tsconfig?: Tsconfig;
2289
2425
  }
2290
2426
  declare function writeSchema({
2291
2427
  path,
@@ -2293,7 +2429,8 @@ declare function writeSchema({
2293
2429
  target,
2294
2430
  namingConvention,
2295
2431
  fileExtension,
2296
- header
2432
+ header,
2433
+ tsconfig
2297
2434
  }: WriteSchemaOptions): Promise<void>;
2298
2435
  interface WriteSchemasOptions {
2299
2436
  schemaPath: string;
@@ -2303,6 +2440,7 @@ interface WriteSchemasOptions {
2303
2440
  fileExtension: string;
2304
2441
  header: string;
2305
2442
  indexFiles: boolean;
2443
+ tsconfig?: Tsconfig;
2306
2444
  }
2307
2445
  declare function writeSchemas({
2308
2446
  schemaPath,
@@ -2311,7 +2449,8 @@ declare function writeSchemas({
2311
2449
  namingConvention,
2312
2450
  fileExtension,
2313
2451
  header,
2314
- indexFiles
2452
+ indexFiles,
2453
+ tsconfig
2315
2454
  }: WriteSchemasOptions): Promise<void>;
2316
2455
  //#endregion
2317
2456
  //#region src/writers/single-mode.d.ts
@@ -2364,5 +2503,5 @@ declare function generateTargetForTags(builder: WriteSpecBuilder, options: Norma
2364
2503
  declare function getOrvalGeneratedTypes(): string;
2365
2504
  declare function getTypedResponse(): string;
2366
2505
  //#endregion
2367
- export { AngularHttpResourceOptions, AngularOptions, BODY_TYPE_NAME, BaseUrlFromConstant, BaseUrlFromSpec, BaseUrlRuntime, ClientBuilder, ClientDependenciesBuilder, ClientExtraFilesBuilder, ClientFileBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMockBuilder, ClientMockGeneratorBuilder, ClientMockGeneratorImplementation, ClientTitleBuilder, Config, ConfigExternal, ConfigFn, ContentTypeFilter, ContextSpec, DeepNonNullable, EnumGeneration, ErrorWithTag, FetchOptions, FormDataArrayHandling, FormDataContext, FormDataType, GenerateMockImports, GenerateVerbOptionsParams, GenerateVerbsOptionsParams, GeneratorApiBuilder, GeneratorApiOperations, GeneratorApiResponse, GeneratorClient, GeneratorClientExtra, GeneratorClientFooter, GeneratorClientHeader, GeneratorClientImports, GeneratorClientTitle, GeneratorClients, GeneratorDependency, GeneratorImport, GeneratorMutator, GeneratorMutatorParsingInfo, GeneratorOperation, GeneratorOperations, GeneratorOptions, GeneratorSchema, GeneratorTarget, GeneratorTargetFull, GeneratorVerbOptions, GeneratorVerbsOptions, GetterBody, GetterParam, GetterParameters, GetterParams, GetterProp, GetterPropType, GetterProps, GetterQueryParam, GetterResponse, GlobalMockOptions, GlobalOptions, HonoOptions, Hook, HookCommand, HookFunction, HookOption, HooksOptions, ImportOpenApi, InputFiltersOptions, InputOptions, InputTransformerFn, InvalidateTarget, InvalidateTargetParam, JsDocOptions, LogLevel, LogLevels, LogOptions, LogType, Logger, LoggerOptions, McpOptions, McpServerOptions, MockData, MockDataArray, MockDataArrayFn, MockDataObject, MockDataObjectFn, MockOptions, MockProperties, MockPropertiesObject, MockPropertiesObjectFn, MutationInvalidatesConfig, MutationInvalidatesRule, Mutator, MutatorObject, NamingConvention, NormalizedAngularOptions, NormalizedConfig, NormalizedFetchOptions, NormalizedFormDataType, NormalizedHonoOptions, NormalizedHookCommand, NormalizedHookOptions, NormalizedInputOptions, NormalizedJsDocOptions, NormalizedMcpOptions, NormalizedMcpServerOptions, NormalizedMutator, NormalizedOperationOptions, NormalizedOptions, NormalizedOutputOptions, NormalizedOverrideOutput, NormalizedParamsSerializerOptions, NormalizedQueryOptions, NormalizedSchemaOptions, NormalizedZodOptions, OpenApiComponentsObject, OpenApiDocument, OpenApiEncodingObject, OpenApiExampleObject, OpenApiInfoObject, OpenApiMediaTypeObject, OpenApiOperationObject, OpenApiParameterObject, OpenApiPathItemObject, OpenApiPathsObject, OpenApiReferenceObject, OpenApiRequestBodyObject, OpenApiResponseObject, OpenApiResponsesObject, OpenApiSchemaObject, OpenApiSchemaObjectType, OpenApiSchemasObject, OpenApiServerObject, OperationOptions, Options, OptionsExport, OptionsFn, OutputClient, OutputClientFunc, OutputDocsOptions, OutputHttpClient, OutputMockType, OutputMode, OutputOptions, OverrideInput, OverrideMockOptions, OverrideOutput, OverrideOutputContentType, PackageJson, ParamsSerializerOptions, PreferredContentType, PropertySortOrder, QueryOptions, ReadonlyRequestBodiesMode, RefComponentSuffix, RefInfo, ResReqTypesValue, ResolverValue, ResponseTypeCategory, ScalarValue, SchemaGenerationType, SchemaOptions, SchemaType, SupportedFormatter, SwrOptions, TEMPLATE_TAG_REGEX, TsConfigTarget, Tsconfig, URL_REGEX, VERBS_WITH_BODY, Verbs, WriteModeProps, WriteSpecBuilder, ZodCoerceType, ZodDateTimeOptions, ZodOptions, ZodTimeOptions, addDependency, asyncReduce, camel, collectReferencedComponents, combineSchemas, compareVersions, conventionName, count, createDebugger, createLogger, createSuccessMessage, createTypeAliasIfNeeded, dedupeUnionType, dynamicImport, escape, escapeRegExp, filterByContentType, filteredVerbs, fixCrossDirectoryImports, fixRegularSchemaImports, generalJSTypes, generalJSTypesWithArray, generateAxiosOptions, generateBodyMutatorConfig, generateBodyOptions, generateComponentDefinition, generateDependencyImports, generateFormDataAndUrlEncodedFunction, generateImports, generateModelInline, generateModelsInline, generateMutator, generateMutatorConfig, generateMutatorImports, generateMutatorRequestOptions, generateOptions, generateParameterDefinition, generateQueryParamsAxiosConfig, generateSchemasDefinition, generateTarget, generateTargetForTags, generateVerbImports, generateVerbOptions, generateVerbsOptions, getAngularFilteredParamsCallExpression, getAngularFilteredParamsExpression, getAngularFilteredParamsHelperBody, getArray, getBaseUrlRuntimeImports, getBodiesByContentType, getBody, getCombinedEnumValue, getDefaultContentType, getEnum, getEnumDescriptions, getEnumImplementation, getEnumNames, getEnumUnionFromSchema, getExtension, getFileInfo, getFormDataFieldFileType, getFullRoute, getIsBodyVerb, getKey, getMockFileExtensionByTypeName, getNumberWord, getObject, getOperationId, getOrvalGeneratedTypes, getParameters, getParams, getParamsInPath, getPropertySafe, getProps, getQueryParams, getRefInfo, getResReqTypes, getResponse, getResponseTypeCategory, getRoute, getRouteAsArray, getScalar, getSuccessResponseType, getTypedResponse, getWarningCount, isBinaryContentType, isBoolean, isDirectory, isFunction, isModule, isNullish, isNumber, isNumeric, isObject, isReference, isSchema, isString, isStringLike, isSyntheticDefaultImportsAllow, isUrl, isVerb, isVerbose, jsDoc, jsStringEscape, kebab, keyValuePairsToJsDoc, log, logError, logVerbose, logWarning, mergeDeep, mismatchArgsMessage, pascal, removeFilesAndEmptyFolders, resetWarnings, resolveDiscriminators, resolveExampleRefs, resolveInstalledVersion, resolveInstalledVersions, resolveObject, resolveRef, resolveValue, sanitize, setVerbose, snake, sortByPriority, splitSchemasByType, startMessage, stringify, toObjectString, path_d_exports as upath, upper, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
2506
+ export { AngularHttpResourceOptions, AngularOptions, BODY_TYPE_NAME, BaseUrlFromConstant, BaseUrlFromSpec, BaseUrlRuntime, ClientBuilder, ClientDependenciesBuilder, ClientExtraFilesBuilder, ClientFileBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMockBuilder, ClientMockGeneratorBuilder, ClientMockGeneratorImplementation, ClientTitleBuilder, CommonMockOptions, Config, ConfigExternal, ConfigFn, ContentTypeFilter, ContextSpec, DeepNonNullable, DefaultTag, EnumGeneration, ErrorWithTag, FakerMockOptions, FetchOptions, FormDataArrayHandling, FormDataContext, FormDataType, GenerateMockImports, GenerateVerbOptionsParams, GenerateVerbsOptionsParams, GeneratorApiBuilder, GeneratorApiOperations, GeneratorApiResponse, GeneratorClient, GeneratorClientExtra, GeneratorClientFooter, GeneratorClientHeader, GeneratorClientImports, GeneratorClientTitle, GeneratorClients, GeneratorDependency, GeneratorImport, GeneratorMockOutput, GeneratorMockOutputFull, GeneratorMutator, GeneratorMutatorParsingInfo, GeneratorOperation, GeneratorOperations, GeneratorOptions, GeneratorSchema, GeneratorTarget, GeneratorTargetFull, GeneratorVerbOptions, GeneratorVerbsOptions, GetterBody, GetterParam, GetterParameters, GetterParams, GetterProp, GetterPropType, GetterProps, GetterQueryParam, GetterResponse, GlobalMockOptions, GlobalOptions, HonoOptions, Hook, HookCommand, HookFunction, HookOption, HooksOptions, ImportOpenApi, InputFiltersOptions, InputOptions, InputTransformerFn, InvalidateTarget, InvalidateTargetParam, JsDocOptions, LogLevel, LogLevels, LogOptions, LogType, Logger, LoggerOptions, McpOptions, McpServerOptions, MockData, MockDataArray, MockDataArrayFn, MockDataObject, MockDataObjectFn, MockOptions, MockProperties, MockPropertiesObject, MockPropertiesObjectFn, MswMockOptions, MutationInvalidatesConfig, MutationInvalidatesRule, Mutator, MutatorObject, NAMED_COMPONENT_SECTIONS, NamingConvention, NormalizedAngularOptions, NormalizedConfig, NormalizedFetchOptions, NormalizedFormDataType, NormalizedHonoOptions, NormalizedHookCommand, NormalizedHookOptions, NormalizedInputOptions, NormalizedJsDocOptions, NormalizedMcpOptions, NormalizedMcpServerOptions, NormalizedMocksConfig, NormalizedMutator, NormalizedOperationOptions, NormalizedOptions, NormalizedOutputOptions, NormalizedOverrideOutput, NormalizedParamsSerializerOptions, NormalizedQueryOptions, NormalizedSchemaOptions, NormalizedZodOptions, OpenApiComponentsObject, OpenApiDocument, OpenApiEncodingObject, OpenApiExampleObject, OpenApiInfoObject, OpenApiMediaTypeObject, OpenApiOperationObject, OpenApiParameterObject, OpenApiPathItemObject, OpenApiPathsObject, OpenApiReferenceObject, OpenApiRequestBodyObject, OpenApiResponseObject, OpenApiResponsesObject, OpenApiSchemaObject, OpenApiSchemaObjectType, OpenApiSchemasObject, OpenApiServerObject, OperationOptions, Options, OptionsExport, OptionsFn, OutputClient, OutputClientFunc, OutputDocsOptions, OutputHttpClient, OutputMockType, OutputMocksConfig, OutputMocksOption, OutputMode, OutputOptions, OverrideInput, OverrideMockOptions, OverrideOutput, OverrideOutputContentType, PackageJson, ParamsSerializerOptions, PreferredContentType, PropertySortOrder, QueryOptions, ReadonlyRequestBodiesMode, RefComponentSuffix, RefInfo, ResReqTypesValue, ResolverValue, ResponseTypeCategory, ScalarValue, SchemaGenerationType, SchemaOptions, SchemaType, SupportedFormatter, SwrOptions, TEMPLATE_TAG_REGEX, TsConfigModule, TsConfigModuleResolution, TsConfigTarget, Tsconfig, URL_REGEX, VERBS_WITH_BODY, Verbs, WriteModeProps, WriteSpecBuilder, ZodCoerceType, ZodDateTimeOptions, ZodOptions, ZodTimeOptions, addDependency, asyncReduce, buildAngularParamsFilterExpression, camel, collectReferencedComponents, combineSchemas, compareVersions, conventionName, count, createDebugger, createLogger, createSuccessMessage, createTypeAliasIfNeeded, dedupeUnionType, dynamicImport, escape, escapeRegExp, filterByContentType, filteredVerbs, fixCrossDirectoryImports, fixRegularSchemaImports, generalJSTypes, generalJSTypesWithArray, generateAxiosOptions, generateBodyMutatorConfig, generateBodyOptions, generateComponentDefinition, generateDependencyImports, generateFormDataAndUrlEncodedFunction, generateImports, generateModelInline, generateModelsInline, generateMutator, generateMutatorConfig, generateMutatorImports, generateMutatorRequestOptions, generateOptions, generateParameterDefinition, generateQueryParamsAxiosConfig, generateSchemasDefinition, generateTarget, generateTargetForTags, generateVerbImports, generateVerbOptions, generateVerbsOptions, getAngularFilteredParamsCallExpression, getAngularFilteredParamsExpression, getAngularFilteredParamsHelperBody, getArray, getBaseUrlRuntimeImports, getBodiesByContentType, getBody, getCombinedEnumValue, getDefaultContentType, getEnum, getEnumDescriptions, getEnumImplementation, getEnumNames, getEnumUnionFromSchema, getExtension, getFileInfo, getFormDataFieldFileType, getFullRoute, getImportExtension, getIsBodyVerb, getKey, getMockFileExtensionByTypeName, getNumberWord, getObject, getOperationId, getOrvalGeneratedTypes, getParameters, getParams, getParamsInPath, getPropertySafe, getProps, getQueryParams, getRefInfo, getResReqTypes, getResponse, getResponseTypeCategory, getRoute, getRouteAsArray, getScalar, getSuccessResponseType, getTypedResponse, getWarningCount, isBinaryContentType, isBoolean, isComponentRef, isDirectory, isFakerMock, isFunction, isModule, isMswMock, isNullish, isNumber, isNumeric, isObject, isReference, isSchema, isString, isStringLike, isSyntheticDefaultImportsAllow, isUrl, isVerb, isVerbose, jsDoc, jsStringEscape, kebab, keyValuePairsToJsDoc, log, logError, logVerbose, logWarning, makeRouteSafe, mergeDeep, mismatchArgsMessage, pascal, removeFilesAndEmptyFolders, resetWarnings, resolveDiscriminators, resolveExampleRefs, resolveInstalledVersion, resolveInstalledVersions, resolveObject, resolveRef, resolveValue, sanitize, setVerbose, snake, sortByPriority, splitSchemasByType, startMessage, stringify, toObjectString, path_d_exports as upath, upper, wrapRouteParameters, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
2368
2507
  //# sourceMappingURL=index.d.mts.map