@orval/core 8.4.0 → 8.4.2

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
@@ -562,6 +562,7 @@ type QueryOptions = {
562
562
  };
563
563
  type AngularOptions = {
564
564
  provideIn?: 'root' | 'any' | boolean;
565
+ runtimeValidation?: boolean;
565
566
  };
566
567
  type SwrOptions = {
567
568
  useInfinite?: boolean;
@@ -655,6 +656,7 @@ interface GlobalOptions {
655
656
  packageJson?: string;
656
657
  input?: string;
657
658
  output?: string;
659
+ verbose?: boolean;
658
660
  }
659
661
  interface Tsconfig {
660
662
  baseUrl?: string;
@@ -1330,7 +1332,6 @@ interface GenerateVerbOptionsParams {
1330
1332
  verbParameters?: OpenApiPathItemObject['parameters'];
1331
1333
  components?: OpenApiComponentsObject;
1332
1334
  context: ContextSpec;
1333
- contentType?: string;
1334
1335
  }
1335
1336
  declare function generateVerbOptions({
1336
1337
  verb,
@@ -1339,8 +1340,7 @@ declare function generateVerbOptions({
1339
1340
  route,
1340
1341
  pathRoute,
1341
1342
  verbParameters,
1342
- context,
1343
- contentType
1343
+ context
1344
1344
  }: GenerateVerbOptionsParams): Promise<GeneratorVerbOptions>;
1345
1345
  interface GenerateVerbsOptionsParams {
1346
1346
  verbs: OpenApiPathItemObject;
@@ -1435,10 +1435,6 @@ interface GetBodyOptions {
1435
1435
  context: ContextSpec;
1436
1436
  contentType?: OverrideOutputContentType;
1437
1437
  }
1438
- /**
1439
- * Extract all content types from a requestBody (#2812)
1440
- */
1441
- declare function getRequestBodyContentTypes(requestBody: OpenApiOperationObject['requestBody'], context: ContextSpec): string[];
1442
1438
  declare function getBody({
1443
1439
  requestBody,
1444
1440
  operationName,
@@ -1859,6 +1855,9 @@ declare function getIsBodyVerb(verb: Verbs): boolean;
1859
1855
  //#endregion
1860
1856
  //#region src/utils/logger.d.ts
1861
1857
  declare const log: (message?: any, ...optionalParams: any[]) => void;
1858
+ declare function setVerbose(v: boolean): void;
1859
+ declare function isVerbose(): boolean;
1860
+ declare const logVerbose: typeof console.log;
1862
1861
  declare function startMessage({
1863
1862
  name,
1864
1863
  version,
@@ -2119,5 +2118,5 @@ declare function generateTargetForTags(builder: WriteSpecBuilder, options: Norma
2119
2118
  declare function getOrvalGeneratedTypes(): string;
2120
2119
  declare function getTypedResponse(): string;
2121
2120
  //#endregion
2122
- export { AngularOptions, BODY_TYPE_NAME, BaseUrlFromConstant, BaseUrlFromSpec, 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, JsDocOptions, LogLevel, LogLevels, LogOptions, LogType, Logger, LoggerOptions, MockData, MockDataArray, MockDataArrayFn, MockDataObject, MockDataObjectFn, MockOptions, MockProperties, MockPropertiesObject, MockPropertiesObjectFn, MutationInvalidatesConfig, MutationInvalidatesRule, Mutator, MutatorObject, NamingConvention, NormalizedConfig, NormalizedFetchOptions, NormalizedFormDataType, NormalizedHonoOptions, NormalizedHookCommand, NormalizedHookOptions, NormalizedInputOptions, NormalizedJsDocOptions, 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, RefComponentSuffix, RefInfo, ResReqTypesValue, ResolverValue, ResponseTypeCategory, ScalarValue, SchemaGenerationType, SchemaOptions, SchemaType, SwrOptions, TEMPLATE_TAG_REGEX, TsConfigTarget, Tsconfig, URL_REGEX, VERBS_WITH_BODY, Verbs, WriteModeProps, WriteSpecBuilder, ZodCoerceType, ZodDateTimeOptions, ZodOptions, ZodTimeOptions, _filteredVerbs, addDependency, asyncReduce, camel, combineSchemas, compareVersions, conventionName, count, createDebugger, createLogger, createSuccessMessage, createTypeAliasIfNeeded, dedupeUnionType, dynamicImport, escape, filterByContentType, 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, 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, getRequestBodyContentTypes, getResReqTypes, getResponse, getResponseTypeCategory, getRoute, getRouteAsArray, getScalar, getSuccessResponseType, getTypedResponse, isBinaryContentType, isBoolean, isDirectory, isFunction, isModule, isNullish, isNumber, isNumeric, isObject, isReference, isSchema, isString, isStringLike, isSyntheticDefaultImportsAllow, isUrl, isVerb, jsDoc, jsStringEscape, kebab, keyValuePairsToJsDoc, log, logError, mergeDeep, mismatchArgsMessage, pascal, removeFilesAndEmptyFolders, resolveDiscriminators, resolveExampleRefs, resolveInstalledVersion, resolveInstalledVersions, resolveObject, resolveRef, resolveValue, sanitize, snake, sortByPriority, splitSchemasByType, startMessage, stringify, toObjectString, path_d_exports as upath, upper, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
2121
+ export { AngularOptions, BODY_TYPE_NAME, BaseUrlFromConstant, BaseUrlFromSpec, 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, JsDocOptions, LogLevel, LogLevels, LogOptions, LogType, Logger, LoggerOptions, MockData, MockDataArray, MockDataArrayFn, MockDataObject, MockDataObjectFn, MockOptions, MockProperties, MockPropertiesObject, MockPropertiesObjectFn, MutationInvalidatesConfig, MutationInvalidatesRule, Mutator, MutatorObject, NamingConvention, NormalizedConfig, NormalizedFetchOptions, NormalizedFormDataType, NormalizedHonoOptions, NormalizedHookCommand, NormalizedHookOptions, NormalizedInputOptions, NormalizedJsDocOptions, 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, RefComponentSuffix, RefInfo, ResReqTypesValue, ResolverValue, ResponseTypeCategory, ScalarValue, SchemaGenerationType, SchemaOptions, SchemaType, SwrOptions, TEMPLATE_TAG_REGEX, TsConfigTarget, Tsconfig, URL_REGEX, VERBS_WITH_BODY, Verbs, WriteModeProps, WriteSpecBuilder, ZodCoerceType, ZodDateTimeOptions, ZodOptions, ZodTimeOptions, _filteredVerbs, addDependency, asyncReduce, camel, combineSchemas, compareVersions, conventionName, count, createDebugger, createLogger, createSuccessMessage, createTypeAliasIfNeeded, dedupeUnionType, dynamicImport, escape, filterByContentType, 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, 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, isBinaryContentType, isBoolean, isDirectory, isFunction, isModule, isNullish, isNumber, isNumeric, isObject, isReference, isSchema, isString, isStringLike, isSyntheticDefaultImportsAllow, isUrl, isVerb, isVerbose, jsDoc, jsStringEscape, kebab, keyValuePairsToJsDoc, log, logError, logVerbose, mergeDeep, mismatchArgsMessage, pascal, removeFilesAndEmptyFolders, 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 };
2123
2122
  //# sourceMappingURL=index.d.mts.map
package/dist/index.mjs CHANGED
@@ -551,6 +551,16 @@ function getIsBodyVerb(verb) {
551
551
  //#endregion
552
552
  //#region src/utils/logger.ts
553
553
  const log = console.log;
554
+ let _verbose = false;
555
+ function setVerbose(v) {
556
+ _verbose = v;
557
+ }
558
+ function isVerbose() {
559
+ return _verbose;
560
+ }
561
+ const logVerbose = (...args) => {
562
+ if (_verbose) log(...args);
563
+ };
554
564
  function startMessage({ name, version, description }) {
555
565
  return `🍻 ${chalk.cyan.bold(name)} ${chalk.green(`v${version}`)}${description ? ` - ${description}` : ""}`;
556
566
  }
@@ -1852,14 +1862,6 @@ function resolveSchemaPropertiesToFormData({ schema, variableName, propName, con
1852
1862
 
1853
1863
  //#endregion
1854
1864
  //#region src/getters/body.ts
1855
- /**
1856
- * Extract all content types from a requestBody (#2812)
1857
- */
1858
- function getRequestBodyContentTypes(requestBody, context) {
1859
- if (!requestBody) return [];
1860
- const content = (isReference(requestBody) ? resolveRef(requestBody, context).schema : requestBody).content;
1861
- return content ? Object.keys(content) : [];
1862
- }
1863
1865
  function getBody({ requestBody, operationName, context, contentType }) {
1864
1866
  const filteredBodyTypes = filterByContentType(getResReqTypes([[context.output.override.components.requestBodies.suffix, requestBody]], operationName, context), contentType);
1865
1867
  const imports = filteredBodyTypes.flatMap(({ imports: imports$1 }) => imports$1);
@@ -3407,7 +3409,8 @@ function generateOptions({ route, body, angularObserve, angularParamsRef, header
3407
3409
  paramsSerializer,
3408
3410
  paramsSerializerOptions
3409
3411
  });
3410
- const isRawOptionsArgument = axiosOptions === "options" || axiosOptions.startsWith("(") && axiosOptions.endsWith(")");
3412
+ const trimmedAxiosOptions = axiosOptions.trim();
3413
+ const isRawOptionsArgument = trimmedAxiosOptions === "options" || trimmedAxiosOptions.startsWith("(") && trimmedAxiosOptions.endsWith(")") || trimmedAxiosOptions.startsWith("{") && trimmedAxiosOptions.endsWith("}");
3411
3414
  const optionsArgument = axiosOptions ? isRawOptionsArgument ? axiosOptions : `{${axiosOptions}}` : "";
3412
3415
  if (verb === Verbs.DELETE) {
3413
3416
  if (!bodyOptions) return `\n \`${route}\`${optionsArgument ? `,${optionsArgument}` : ""}\n `;
@@ -3672,19 +3675,7 @@ function generateSchemaDefinitions(schemaName, schema, context, suffix) {
3672
3675
 
3673
3676
  //#endregion
3674
3677
  //#region src/generators/verbs-options.ts
3675
- /**
3676
- * Get a content-type specific suffix for operation names (#2812)
3677
- */
3678
- function getContentTypeSuffix(contentType) {
3679
- return {
3680
- "application/json": "Json",
3681
- "multipart/form-data": "FormData",
3682
- "application/x-www-form-urlencoded": "UrlEncoded",
3683
- "application/xml": "Xml",
3684
- "text/plain": "Text"
3685
- }[contentType] || pascal(contentType.replaceAll(/[^a-zA-Z0-9]/g, "_"));
3686
- }
3687
- async function generateVerbOptions({ verb, output, operation, route, pathRoute, verbParameters = [], context, contentType }) {
3678
+ async function generateVerbOptions({ verb, output, operation, route, pathRoute, verbParameters = [], context }) {
3688
3679
  const { responses, requestBody, parameters: operationParameters, tags: rawTags, deprecated: rawDeprecated, description: rawDescription, summary: rawSummary } = operation;
3689
3680
  const tags = rawTags ?? [];
3690
3681
  const deprecated = rawDeprecated;
@@ -3695,22 +3686,19 @@ async function generateVerbOptions({ verb, output, operation, route, pathRoute,
3695
3686
  let overrideTag = {};
3696
3687
  for (const [tag, options] of Object.entries(output.override.tags)) if (tags.includes(tag) && options) overrideTag = mergeDeep(overrideTag, options);
3697
3688
  const override = mergeDeep(mergeDeep(output.override, overrideTag), overrideOperation ?? {});
3698
- const originalContentTypeFilter = override.contentType;
3699
- const requestBodyContentTypeFilter = contentType ? { include: [contentType] } : override.contentType;
3700
3689
  const overrideOperationName = overrideOperation?.operationName ?? output.override.operationName;
3701
- let operationName = overrideOperationName ? overrideOperationName(operation, route, verb) : sanitize(camel(operationId), { es5keyword: true });
3702
- if (contentType) operationName = operationName + "With" + getContentTypeSuffix(contentType);
3690
+ const operationName = overrideOperationName ? overrideOperationName(operation, route, verb) : sanitize(camel(operationId), { es5keyword: true });
3703
3691
  const response = getResponse({
3704
3692
  responses: responses ?? {},
3705
3693
  operationName,
3706
3694
  context,
3707
- contentType: originalContentTypeFilter
3695
+ contentType: override.contentType
3708
3696
  });
3709
3697
  const body = requestBody ? getBody({
3710
3698
  requestBody,
3711
3699
  operationName,
3712
3700
  context,
3713
- contentType: requestBodyContentTypeFilter
3701
+ contentType: override.contentType
3714
3702
  }) : {
3715
3703
  originalSchema: {},
3716
3704
  definition: "",
@@ -3744,54 +3732,6 @@ async function generateVerbOptions({ verb, output, operation, route, pathRoute,
3744
3732
  context,
3745
3733
  output
3746
3734
  });
3747
- const props = getProps({
3748
- body,
3749
- queryParams,
3750
- params,
3751
- headers,
3752
- operationName,
3753
- context
3754
- });
3755
- const mutator = await generateMutator({
3756
- output: output.target,
3757
- name: operationName,
3758
- mutator: override.mutator,
3759
- workspace: context.workspace,
3760
- tsconfig: context.output.tsconfig
3761
- });
3762
- const formData = !override.formData.disabled && body.formData ? await generateMutator({
3763
- output: output.target,
3764
- name: operationName,
3765
- mutator: override.formData.mutator,
3766
- workspace: context.workspace,
3767
- tsconfig: context.output.tsconfig
3768
- }) : void 0;
3769
- const formUrlEncoded = isString(override.formUrlEncoded) || isObject(override.formUrlEncoded) ? await generateMutator({
3770
- output: output.target,
3771
- name: operationName,
3772
- mutator: override.formUrlEncoded,
3773
- workspace: context.workspace,
3774
- tsconfig: context.output.tsconfig
3775
- }) : void 0;
3776
- const paramsSerializer = isString(override.paramsSerializer) || isObject(override.paramsSerializer) ? await generateMutator({
3777
- output: output.target,
3778
- name: "paramsSerializer",
3779
- mutator: override.paramsSerializer,
3780
- workspace: context.workspace,
3781
- tsconfig: context.output.tsconfig
3782
- }) : void 0;
3783
- const fetchReviver = isString(override.fetch.jsonReviver) || isObject(override.fetch.jsonReviver) ? await generateMutator({
3784
- output: output.target,
3785
- name: "fetchReviver",
3786
- mutator: override.fetch.jsonReviver,
3787
- workspace: context.workspace,
3788
- tsconfig: context.output.tsconfig
3789
- }) : void 0;
3790
- const doc = jsDoc({
3791
- description,
3792
- deprecated,
3793
- summary
3794
- });
3795
3735
  const verbOption = {
3796
3736
  verb,
3797
3737
  tags,
@@ -3805,14 +3745,55 @@ async function generateVerbOptions({ verb, output, operation, route, pathRoute,
3805
3745
  headers,
3806
3746
  queryParams,
3807
3747
  params,
3808
- props,
3809
- mutator,
3810
- formData,
3811
- formUrlEncoded,
3812
- paramsSerializer,
3813
- fetchReviver,
3748
+ props: getProps({
3749
+ body,
3750
+ queryParams,
3751
+ params,
3752
+ headers,
3753
+ operationName,
3754
+ context
3755
+ }),
3756
+ mutator: await generateMutator({
3757
+ output: output.target,
3758
+ name: operationName,
3759
+ mutator: override.mutator,
3760
+ workspace: context.workspace,
3761
+ tsconfig: context.output.tsconfig
3762
+ }),
3763
+ formData: !override.formData.disabled && body.formData ? await generateMutator({
3764
+ output: output.target,
3765
+ name: operationName,
3766
+ mutator: override.formData.mutator,
3767
+ workspace: context.workspace,
3768
+ tsconfig: context.output.tsconfig
3769
+ }) : void 0,
3770
+ formUrlEncoded: isString(override.formUrlEncoded) || isObject(override.formUrlEncoded) ? await generateMutator({
3771
+ output: output.target,
3772
+ name: operationName,
3773
+ mutator: override.formUrlEncoded,
3774
+ workspace: context.workspace,
3775
+ tsconfig: context.output.tsconfig
3776
+ }) : void 0,
3777
+ paramsSerializer: isString(override.paramsSerializer) || isObject(override.paramsSerializer) ? await generateMutator({
3778
+ output: output.target,
3779
+ name: "paramsSerializer",
3780
+ mutator: override.paramsSerializer,
3781
+ workspace: context.workspace,
3782
+ tsconfig: context.output.tsconfig
3783
+ }) : void 0,
3784
+ fetchReviver: isString(override.fetch.jsonReviver) || isObject(override.fetch.jsonReviver) ? await generateMutator({
3785
+ output: output.target,
3786
+ name: "fetchReviver",
3787
+ mutator: override.fetch.jsonReviver,
3788
+ workspace: context.workspace,
3789
+ tsconfig: context.output.tsconfig
3790
+ }) : void 0,
3814
3791
  override,
3815
- doc,
3792
+ doc: jsDoc({
3793
+ description,
3794
+ deprecated,
3795
+ summary
3796
+ }),
3816
3797
  deprecated,
3817
3798
  originalOperation: operation
3818
3799
  };
@@ -3822,32 +3803,16 @@ async function generateVerbOptions({ verb, output, operation, route, pathRoute,
3822
3803
  function generateVerbsOptions({ verbs, input, output, route, pathRoute, context }) {
3823
3804
  return asyncReduce(_filteredVerbs(verbs, input.filters), async (acc, [verb, operation]) => {
3824
3805
  if (isVerb(verb)) {
3825
- const contentTypes = getRequestBodyContentTypes(operation.requestBody, context);
3826
- if (contentTypes.length > 1) for (const contentType of contentTypes) {
3827
- const verbOptions = await generateVerbOptions({
3828
- verb,
3829
- output,
3830
- verbParameters: verbs.parameters,
3831
- route,
3832
- pathRoute,
3833
- operation,
3834
- context,
3835
- contentType
3836
- });
3837
- acc.push(verbOptions);
3838
- }
3839
- else {
3840
- const verbOptions = await generateVerbOptions({
3841
- verb,
3842
- output,
3843
- verbParameters: verbs.parameters,
3844
- route,
3845
- pathRoute,
3846
- operation,
3847
- context
3848
- });
3849
- acc.push(verbOptions);
3850
- }
3806
+ const verbOptions = await generateVerbOptions({
3807
+ verb,
3808
+ output,
3809
+ verbParameters: verbs.parameters,
3810
+ route,
3811
+ pathRoute,
3812
+ operation,
3813
+ context
3814
+ });
3815
+ acc.push(verbOptions);
3851
3816
  }
3852
3817
  return acc;
3853
3818
  }, []);
@@ -4479,7 +4444,8 @@ async function writeSplitTagsMode({ builder, output, projectName, header, needSc
4479
4444
  const mockOption = output.mock && !isFunction(output.mock) ? output.mock : void 0;
4480
4445
  const indexFilePath = mockOption?.indexMockFiles ? join(dirname$1, "index." + getMockFileExtensionByTypeName(mockOption) + extension) : void 0;
4481
4446
  if (indexFilePath) await fs$1.outputFile(indexFilePath, "");
4482
- return (await Promise.all(Object.entries(target).map(async ([tag, target$1]) => {
4447
+ const tagEntries = Object.entries(target);
4448
+ const generatedFilePathsArray = await Promise.all(tagEntries.map(async ([tag, target$1]) => {
4483
4449
  try {
4484
4450
  const { imports, implementation, implementationMock, importsMock, mutators, clientMutators, formData, fetchReviver, formUrlEncoded, paramsSerializer } = target$1;
4485
4451
  let implementationData = header;
@@ -4552,13 +4518,7 @@ async function writeSplitTagsMode({ builder, output, projectName, header, needSc
4552
4518
  const implementationPath = join(dirname$1, tag, implementationFilename);
4553
4519
  await fs$1.outputFile(implementationPath, implementationData);
4554
4520
  const mockPath = output.mock ? join(dirname$1, tag, tag + "." + getMockFileExtensionByTypeName(output.mock) + extension) : void 0;
4555
- if (mockPath) {
4556
- await fs$1.outputFile(mockPath, mockData);
4557
- if (indexFilePath && mockOption) {
4558
- const localMockPath = joinSafe("./", tag, tag + "." + getMockFileExtensionByTypeName(mockOption));
4559
- await fs$1.appendFile(indexFilePath, `export { get${pascal(tag)}Mock } from '${localMockPath}'\n`);
4560
- }
4561
- }
4521
+ if (mockPath) await fs$1.outputFile(mockPath, mockData);
4562
4522
  return [
4563
4523
  implementationPath,
4564
4524
  ...schemasPath ? [schemasPath] : [],
@@ -4567,7 +4527,15 @@ async function writeSplitTagsMode({ builder, output, projectName, header, needSc
4567
4527
  } catch (error) {
4568
4528
  throw new Error(`Oups... 🍻. An Error occurred while splitting tag ${tag} => ${String(error)}`);
4569
4529
  }
4570
- }))).flat();
4530
+ }));
4531
+ if (indexFilePath && mockOption) {
4532
+ const indexContent = tagEntries.map(([tag]) => {
4533
+ const localMockPath = joinSafe("./", tag, tag + "." + getMockFileExtensionByTypeName(mockOption));
4534
+ return `export { get${pascal(tag)}Mock } from '${localMockPath}'\n`;
4535
+ }).join("");
4536
+ await fs$1.appendFile(indexFilePath, indexContent);
4537
+ }
4538
+ return [...indexFilePath ? [indexFilePath] : [], ...generatedFilePathsArray.flat()];
4571
4539
  }
4572
4540
 
4573
4541
  //#endregion
@@ -4647,5 +4615,5 @@ async function writeTagsMode({ builder, output, projectName, header, needSchema
4647
4615
  }
4648
4616
 
4649
4617
  //#endregion
4650
- export { BODY_TYPE_NAME, EnumGeneration, ErrorWithTag, FormDataArrayHandling, GetterPropType, LogLevels, NamingConvention, OutputClient, OutputHttpClient, OutputMockType, OutputMode, PropertySortOrder, RefComponentSuffix, SchemaType, TEMPLATE_TAG_REGEX, URL_REGEX, VERBS_WITH_BODY, Verbs, _filteredVerbs, addDependency, asyncReduce, camel, combineSchemas, compareVersions, conventionName, count, createDebugger, createLogger, createSuccessMessage, createTypeAliasIfNeeded, dedupeUnionType, dynamicImport, escape, filterByContentType, 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, 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, getRequestBodyContentTypes, getResReqTypes, getResponse, getResponseTypeCategory, getRoute, getRouteAsArray, getScalar, getSuccessResponseType, getTypedResponse, isBinaryContentType, isBoolean, isDirectory, isFunction, isModule, isNullish, isNumber, isNumeric, isObject, isReference, isSchema, isString, isStringLike, isSyntheticDefaultImportsAllow, isUrl, isVerb, jsDoc, jsStringEscape, kebab, keyValuePairsToJsDoc, log, logError, mergeDeep, mismatchArgsMessage, pascal, removeFilesAndEmptyFolders, resolveDiscriminators, resolveExampleRefs, resolveInstalledVersion, resolveInstalledVersions, resolveObject, resolveRef, resolveValue, sanitize, snake, sortByPriority, splitSchemasByType, startMessage, stringify, toObjectString, path_exports as upath, upper, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
4618
+ export { BODY_TYPE_NAME, EnumGeneration, ErrorWithTag, FormDataArrayHandling, GetterPropType, LogLevels, NamingConvention, OutputClient, OutputHttpClient, OutputMockType, OutputMode, PropertySortOrder, RefComponentSuffix, SchemaType, TEMPLATE_TAG_REGEX, URL_REGEX, VERBS_WITH_BODY, Verbs, _filteredVerbs, addDependency, asyncReduce, camel, combineSchemas, compareVersions, conventionName, count, createDebugger, createLogger, createSuccessMessage, createTypeAliasIfNeeded, dedupeUnionType, dynamicImport, escape, filterByContentType, 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, 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, isBinaryContentType, isBoolean, isDirectory, isFunction, isModule, isNullish, isNumber, isNumeric, isObject, isReference, isSchema, isString, isStringLike, isSyntheticDefaultImportsAllow, isUrl, isVerb, isVerbose, jsDoc, jsStringEscape, kebab, keyValuePairsToJsDoc, log, logError, logVerbose, mergeDeep, mismatchArgsMessage, pascal, removeFilesAndEmptyFolders, resolveDiscriminators, resolveExampleRefs, resolveInstalledVersion, resolveInstalledVersions, resolveObject, resolveRef, resolveValue, sanitize, setVerbose, snake, sortByPriority, splitSchemasByType, startMessage, stringify, toObjectString, path_exports as upath, upper, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
4651
4619
  //# sourceMappingURL=index.mjs.map