@orval/core 8.1.0 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1314,11 +1314,61 @@ declare function generateVerbsOptions({
1314
1314
  }: GenerateVerbsOptionsParams): Promise<GeneratorVerbsOptions>;
1315
1315
  declare function _filteredVerbs(verbs: OpenApiPathItemObject, filters: NormalizedInputOptions['filters']): [string, any][];
1316
1316
  //#endregion
1317
+ //#region src/getters/object.d.ts
1318
+ /**
1319
+ * Context for multipart/form-data type generation.
1320
+ * Discriminated union with two states:
1321
+ *
1322
+ * 1. `{ atPart: false, encoding }` - At form-data root, before property iteration
1323
+ * - May traverse through allOf/anyOf/oneOf to reach properties
1324
+ * - Carries encoding map so getObject can look up `encoding[key]`
1325
+ *
1326
+ * 2. `{ atPart: true, partContentType }` - At a multipart part (top-level property)
1327
+ * - `partContentType` = Encoding Object's `contentType` for this part
1328
+ * - Used by getScalar for file type detection (precedence over contentMediaType)
1329
+ * - Arrays pass this through to items; combiners inside arrays also get context
1330
+ *
1331
+ * `undefined` means not in form-data context (or nested inside plain object field = JSON)
1332
+ */
1333
+ type FormDataContext = {
1334
+ atPart: false;
1335
+ encoding: Record<string, {
1336
+ contentType?: string;
1337
+ }>;
1338
+ } | {
1339
+ atPart: true;
1340
+ partContentType?: string;
1341
+ };
1342
+ interface GetObjectOptions {
1343
+ item: OpenApiSchemaObject;
1344
+ name?: string;
1345
+ context: ContextSpec;
1346
+ nullable: string;
1347
+ /**
1348
+ * Multipart/form-data context for file type handling.
1349
+ * @see FormDataContext
1350
+ */
1351
+ formDataContext?: FormDataContext;
1352
+ }
1353
+ /**
1354
+ * Return the output type from an object
1355
+ *
1356
+ * @param item item with type === "object"
1357
+ */
1358
+ declare function getObject({
1359
+ item,
1360
+ name,
1361
+ context,
1362
+ nullable,
1363
+ formDataContext
1364
+ }: GetObjectOptions): ScalarValue;
1365
+ //#endregion
1317
1366
  //#region src/getters/array.d.ts
1318
1367
  interface GetArrayOptions {
1319
1368
  schema: OpenApiSchemaObject;
1320
1369
  name?: string;
1321
1370
  context: ContextSpec;
1371
+ formDataContext?: FormDataContext;
1322
1372
  }
1323
1373
  /**
1324
1374
  * Return the output type from an array
@@ -1328,7 +1378,8 @@ interface GetArrayOptions {
1328
1378
  declare function getArray({
1329
1379
  schema,
1330
1380
  name,
1331
- context
1381
+ context,
1382
+ formDataContext
1332
1383
  }: GetArrayOptions): ScalarValue;
1333
1384
  //#endregion
1334
1385
  //#region src/getters/body.d.ts
@@ -1352,13 +1403,15 @@ declare function combineSchemas({
1352
1403
  schema,
1353
1404
  separator,
1354
1405
  context,
1355
- nullable
1406
+ nullable,
1407
+ formDataContext
1356
1408
  }: {
1357
1409
  name?: string;
1358
1410
  schema: OpenApiSchemaObject;
1359
1411
  separator: Separator;
1360
1412
  context: ContextSpec;
1361
1413
  nullable: string;
1414
+ formDataContext?: FormDataContext;
1362
1415
  }): ScalarValue;
1363
1416
  //#endregion
1364
1417
  //#region src/getters/discriminators.d.ts
@@ -1385,31 +1438,6 @@ declare function getCombinedEnumValue(inputs: CombinedEnumInput[]): CombinedEnum
1385
1438
  //#region src/getters/keys.d.ts
1386
1439
  declare function getKey(key: string): string;
1387
1440
  //#endregion
1388
- //#region src/getters/object.d.ts
1389
- interface GetObjectOptions {
1390
- item: OpenApiSchemaObject;
1391
- name?: string;
1392
- context: ContextSpec;
1393
- nullable: string;
1394
- /**
1395
- * Override resolved values for properties at THIS level only.
1396
- * Not passed to nested schemas. Used by form-data for file type handling.
1397
- */
1398
- propertyOverrides?: Record<string, ScalarValue>;
1399
- }
1400
- /**
1401
- * Return the output type from an object
1402
- *
1403
- * @param item item with type === "object"
1404
- */
1405
- declare function getObject({
1406
- item,
1407
- name,
1408
- context,
1409
- nullable,
1410
- propertyOverrides
1411
- }: GetObjectOptions): ScalarValue;
1412
- //#endregion
1413
1441
  //#region src/getters/operation.d.ts
1414
1442
  declare function getOperationId(operation: OpenApiOperationObject, route: string, verb: Verbs): string;
1415
1443
  //#endregion
@@ -1505,7 +1533,6 @@ declare function getRefInfo($ref: string, context: ContextSpec): RefInfo;
1505
1533
  //#endregion
1506
1534
  //#region src/getters/res-req-types.d.ts
1507
1535
  declare function getResReqTypes(responsesOrRequests: [string, OpenApiReferenceObject | OpenApiResponseObject | OpenApiRequestBodyObject][], name: string, context: ContextSpec, defaultType?: string, uniqueKey?: (item: ResReqTypesValue, index: number, data: ResReqTypesValue[]) => unknown): ResReqTypesValue[];
1508
- declare function isBinaryContentType(contentType: string): boolean;
1509
1536
  /**
1510
1537
  * Response type categories for HTTP client response parsing.
1511
1538
  * Maps to Angular HttpClient's responseType, Axios responseType, and Fetch response methods.
@@ -1527,16 +1554,6 @@ declare function getResponseTypeCategory(contentType: string): ResponseTypeCateg
1527
1554
  * @returns The default content type to use
1528
1555
  */
1529
1556
  declare function getDefaultContentType(contentTypes: string[]): string;
1530
- /**
1531
- * Determine if a form-data root field should be treated as binary or text file
1532
- * based on encoding.contentType or contentMediaType.
1533
- *
1534
- * Returns:
1535
- * - 'binary': field is a binary file (Blob in types, File in zod)
1536
- * - 'text': field is a text file that can accept string (Blob | string in types, File | string in zod)
1537
- * - undefined: no override, use standard resolution
1538
- */
1539
- declare function getFormDataFieldFileType(resolvedSchema: OpenApiSchemaObject, encodingContentType: string | undefined): 'binary' | 'text' | undefined;
1540
1557
  //#endregion
1541
1558
  //#region src/getters/response.d.ts
1542
1559
  interface GetResponseOptions {
@@ -1562,6 +1579,7 @@ interface GetScalarOptions {
1562
1579
  item: OpenApiSchemaObject;
1563
1580
  name?: string;
1564
1581
  context: ContextSpec;
1582
+ formDataContext?: FormDataContext;
1565
1583
  }
1566
1584
  /**
1567
1585
  * Return the typescript equivalent of open-api data type
@@ -1572,7 +1590,8 @@ interface GetScalarOptions {
1572
1590
  declare function getScalar({
1573
1591
  item,
1574
1592
  name,
1575
- context
1593
+ context,
1594
+ formDataContext
1576
1595
  }: GetScalarOptions): ScalarValue;
1577
1596
  //#endregion
1578
1597
  //#region src/resolvers/object.d.ts
@@ -1581,6 +1600,7 @@ interface ResolveOptions {
1581
1600
  propName?: string;
1582
1601
  combined?: boolean;
1583
1602
  context: ContextSpec;
1603
+ formDataContext?: FormDataContext;
1584
1604
  }
1585
1605
  interface CreateTypeAliasOptions {
1586
1606
  resolvedValue: ResolverValue;
@@ -1600,7 +1620,8 @@ declare function resolveObject({
1600
1620
  schema,
1601
1621
  propName,
1602
1622
  combined,
1603
- context
1623
+ context,
1624
+ formDataContext
1604
1625
  }: ResolveOptions): ResolverValue;
1605
1626
  //#endregion
1606
1627
  //#region src/resolvers/ref.d.ts
@@ -1617,11 +1638,13 @@ interface ResolveValueOptions {
1617
1638
  schema: OpenApiSchemaObject | OpenApiReferenceObject;
1618
1639
  name?: string;
1619
1640
  context: ContextSpec;
1641
+ formDataContext?: FormDataContext;
1620
1642
  }
1621
1643
  declare function resolveValue({
1622
1644
  schema,
1623
1645
  name,
1624
- context
1646
+ context,
1647
+ formDataContext
1625
1648
  }: ResolveValueOptions): ResolverValue;
1626
1649
  //#endregion
1627
1650
  //#region src/utils/assertion.d.ts
@@ -1656,6 +1679,23 @@ declare function kebab(s: string): string;
1656
1679
  declare function upper(s: string, fillWith: string, isDeapostrophe?: boolean): string;
1657
1680
  declare function conventionName(name: string, convention: NamingConvention): string;
1658
1681
  //#endregion
1682
+ //#region src/utils/content-type.d.ts
1683
+ /**
1684
+ * Determine if a content type is binary (vs text-based).
1685
+ */
1686
+ declare function isBinaryContentType(contentType: string): boolean;
1687
+ /**
1688
+ * Determine if a form-data field should be treated as a file (binary or text).
1689
+ *
1690
+ * Precedence (per OAS 3.1): encoding.contentType > schema.contentMediaType
1691
+ *
1692
+ * Returns:
1693
+ * - 'binary': binary file (Blob)
1694
+ * - 'text': text file (Blob | string)
1695
+ * - undefined: not a file, use standard string resolution
1696
+ */
1697
+ declare function getFormDataFieldFileType(resolvedSchema: OpenApiSchemaObject, partContentType: string | undefined): 'binary' | 'text' | undefined;
1698
+ //#endregion
1659
1699
  //#region src/utils/compare-version.d.ts
1660
1700
  declare function compareVersions(firstVersion: string, secondVersions: string, operator?: CompareOperator): boolean;
1661
1701
  //#endregion
@@ -1888,6 +1928,7 @@ declare function jsStringEscape(input: string): string;
1888
1928
  /**
1889
1929
  * Deduplicates a TypeScript union type string.
1890
1930
  * Handles types like "A | B | B" → "A | B" and "null | null" → "null".
1931
+ * Only splits on top-level | (not inside {} () [] <> or string literals).
1891
1932
  */
1892
1933
  declare function dedupeUnionType(unionType: string): string;
1893
1934
  //#endregion
@@ -1993,5 +2034,5 @@ declare function generateTargetForTags(builder: WriteSpecBuilder, options: Norma
1993
2034
  declare function getOrvalGeneratedTypes(): string;
1994
2035
  declare function getTypedResponse(): string;
1995
2036
  //#endregion
1996
- export { AngularOptions, BODY_TYPE_NAME, BaseUrlFromConstant, BaseUrlFromSpec, ClientBuilder, ClientDependenciesBuilder, ClientExtraFilesBuilder, ClientFileBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMockBuilder, ClientMockGeneratorBuilder, ClientMockGeneratorImplementation, ClientTitleBuilder, Config, ConfigExternal, ConfigFn, ContextSpec, DeepNonNullable, EnumGeneration, ErrorWithTag, FetchOptions, FormDataArrayHandling, 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, 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, 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, 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, getTypedResponse, isBinaryContentType, isBoolean, isDirectory, isFunction, isModule, isNull, isNumber, isNumeric, isObject, isReference, isSchema, isString, isSyntheticDefaultImportsAllow, isUndefined, isUrl, isVerb, jsDoc, jsStringEscape, kebab, keyValuePairsToJsDoc, log, logError, mergeDeep, mismatchArgsMessage, pascal, removeFilesAndEmptyFolders, resolveDiscriminators, resolveExampleRefs, resolveObject, resolveRef, resolveValue, sanitize, snake, sortByPriority, splitSchemasByType, startMessage, stringify, toObjectString, path_d_exports as upath, upper, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
2037
+ export { AngularOptions, BODY_TYPE_NAME, BaseUrlFromConstant, BaseUrlFromSpec, ClientBuilder, ClientDependenciesBuilder, ClientExtraFilesBuilder, ClientFileBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMockBuilder, ClientMockGeneratorBuilder, ClientMockGeneratorImplementation, ClientTitleBuilder, Config, ConfigExternal, ConfigFn, 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, 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, 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, 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, getTypedResponse, isBinaryContentType, isBoolean, isDirectory, isFunction, isModule, isNull, isNumber, isNumeric, isObject, isReference, isSchema, isString, isSyntheticDefaultImportsAllow, isUndefined, isUrl, isVerb, jsDoc, jsStringEscape, kebab, keyValuePairsToJsDoc, log, logError, mergeDeep, mismatchArgsMessage, pascal, removeFilesAndEmptyFolders, resolveDiscriminators, resolveExampleRefs, resolveObject, resolveRef, resolveValue, sanitize, snake, sortByPriority, splitSchemasByType, startMessage, stringify, toObjectString, path_d_exports as upath, upper, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
1997
2038
  //# sourceMappingURL=index.d.mts.map