@povio/openapi-codegen-cli 3.1.0-rc.1 → 3.1.0-rc.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/metro.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { r as GenerateFileFormatter } from "./options-CE4Koxof.mjs";
2
2
  import { t as OpenAPICodegenConfig } from "./config-BU7wVf7U.mjs";
3
- import { a as GenerateOpenApiFile } from "./openapi-B14GzSA_.mjs";
3
+ import { a as GenerateOpenApiFile } from "./openapi-D9apjIRy.mjs";
4
4
  import { IncomingMessage, ServerResponse } from "http";
5
5
 
6
6
  //#region src/metro/openapi-codegen.plugin.d.ts
@@ -106,8 +106,6 @@ declare function isProcedureMeta(meta: unknown): meta is ProcedureMeta;
106
106
  declare function operationKey(method: string, routePath: string): string;
107
107
  declare function toPascalCase(value: string): string;
108
108
  declare function isZodSchema(value: unknown): value is ZodSchema;
109
- declare function dtoSchemaName(name: string): string;
110
- declare function shouldUseDtoSchemaName(moduleName: string, schema: ZodSchema): boolean;
111
109
  declare function schemaExportName(moduleName: string, exportName: string, schema: ZodSchema, getSchemaName?: typeof getOpenApiSchemaName): string;
112
110
  declare function sharedSchemaExportName(exportName: string): string;
113
111
  declare function collectModelSchemaExports(options: {
@@ -126,6 +124,10 @@ declare function collectDbTableModelSchemaExport(tablesRoot: string, tableName:
126
124
  declare function toOpenAPIAclRule(rule: string): JsonObject;
127
125
  declare function collectOperationMeta(router: AnyContractRouter, routerPath?: string[], operationMeta?: Map<string, OperationContractInfo>): Map<string, OperationContractInfo>;
128
126
  declare function getObjectPropertySchema(schema: AnySchema, property: string): AnySchema | undefined;
127
+ declare function routeHasPathParameters(routePath?: string): boolean;
128
+ declare function getProcedureInputSchemaRole(route: OrpcContractProcedureData["route"]): "Params" | "Query" | "Request";
129
+ declare function procedureSchemaName(procedureName: string, role: "Params" | "Query" | "Request" | "Response"): string;
130
+ declare function addContractSchema(schemas: OpenApiSchemaRegistry, schema: AnySchema | undefined, name: string, getSchemaName: (schema: unknown) => string | undefined, strategy?: "input" | "output"): void;
129
131
  declare function collectContractSchemas(router: AnyContractRouter, routerPath?: string[], schemas?: OpenApiSchemaRegistry, getSchemaName?: typeof getOpenApiSchemaName): OpenApiSchemaRegistry;
130
132
  declare function collectContractSchemaRoots(router: AnyContractRouter, roots?: Set<unknown>): Set<AnySchema>;
131
133
  declare function visitZodSchema(schema: ZodSchema, visit: (schema: ZodSchema) => void, seen?: Set<{
@@ -167,4 +169,4 @@ declare function applyPaginatedItemSchemas(spec: JsonObject): void;
167
169
  declare function toOpenAPI30Document(spec: JsonObject): JsonObject;
168
170
  declare function generateORPCOpenAPISpec(options: GenerateORPCOpenAPISpecOptions): Promise<JsonObject>;
169
171
  //#endregion
170
- export { isContractProcedure as $, collectOperationMeta as A, generateOpenApiFile as B, collectContractSchemaRoots as C, collectExtraSchemas as D, collectDbTableModelSchemaExports as E, defineOpenApiSchemas as F, getModuleOpenApiTag as G, getContractProcedureData as H, dtoSchemaName as I, getOperationAction as J, getObjectPropertySchema as K, findComponentEnumNames as L, collectReachableModelSchemas as M, collectSchemaRegistryRoots as N, collectModelSchemaExports as O, compactTagName as P, getStringEnumValues as Q, findEnumNames as R, collectApiModelSchemaExports as S, visitZodSchema as St, collectDbTableModelSchemaExport as T, getDerivedOperationId as U, getComponentSchemas as V, getModuleOpenApiController as W, getPaginatedItemSchema as X, getOperationController as Y, getRobodevModuleRoles as Z, applyPaginatedItemSchemas as _, stripNoContentResponseBodies as _t, GenerateOpenApiFile as a, namedControllerActionInputDtoSchema as at, applyRobodevUserRolesExtension as b, toOpenAPIAclRule as bt, GenerateTinyOpenApiFileOptions as c, namedOpenApiRequestSchema as ct, ProcedureMeta as d, operationKey as dt, isNullSchema as et, TinyOpenApiModule as f, resolveOpenApiOutputPath as ft, applyOperationMeta as g, shouldUseDtoSchemaName as gt, applyEnumExtensions as h, sharedSchemaExportName as ht, GenerateORPCOpenAPISpecOptions as i, isZodSchema as it, collectOperationTags as j, collectModuleModelSchemaExports as k, JsonObject as l, namedOpenApiResponseSchema as lt, ZodSchema as m, schemaExportName as mt, AnyContractRouter as n, isObject as nt, GenerateOpenApiFileOptions as o, namedControllerActionSchema as ot, TinyOpenApiUserRole as p, schemaComponentRef as pt, getOpenApiSchemaName as q, AnySchema as r, isProcedureMeta as rt, GenerateOpenApiFileResult as s, namedOpenApiOutputSchema as st, AclRule as t, isNullableOnlySchema as tt, OpenApiSchemaRegistry as u, namedOpenApiSchema as ut, applyParameterExtensions as v, toOpenAPI30Document as vt, collectContractSchemas as w, asStringArray as x, toPascalCase as xt, applyRobodevModuleExtensions as y, toOpenAPI30Schema as yt, generateORPCOpenAPISpec as z };
172
+ export { getStringEnumValues as $, collectModuleModelSchemaExports as A, generateOpenApiFile as B, collectApiModelSchemaExports as C, toPascalCase as Ct, collectDbTableModelSchemaExports as D, collectDbTableModelSchemaExport as E, compactTagName as F, getModuleOpenApiTag as G, getContractProcedureData as H, defineOpenApiSchemas as I, getOperationAction as J, getObjectPropertySchema as K, findComponentEnumNames as L, collectOperationTags as M, collectReachableModelSchemas as N, collectExtraSchemas as O, collectSchemaRegistryRoots as P, getRobodevModuleRoles as Q, findEnumNames as R, asStringArray as S, toOpenAPIAclRule as St, collectContractSchemas as T, getDerivedOperationId as U, getComponentSchemas as V, getModuleOpenApiController as W, getPaginatedItemSchema as X, getOperationController as Y, getProcedureInputSchemaRole as Z, applyOperationMeta as _, schemaExportName as _t, GenerateOpenApiFile as a, isZodSchema as at, applyRobodevModuleExtensions as b, toOpenAPI30Document as bt, GenerateTinyOpenApiFileOptions as c, namedOpenApiOutputSchema as ct, ProcedureMeta as d, namedOpenApiSchema as dt, isContractProcedure as et, TinyOpenApiModule as f, operationKey as ft, applyEnumExtensions as g, schemaComponentRef as gt, addContractSchema as h, routeHasPathParameters as ht, GenerateORPCOpenAPISpecOptions as i, isProcedureMeta as it, collectOperationMeta as j, collectModelSchemaExports as k, JsonObject as l, namedOpenApiRequestSchema as lt, ZodSchema as m, resolveOpenApiOutputPath as mt, AnyContractRouter as n, isNullableOnlySchema as nt, GenerateOpenApiFileOptions as o, namedControllerActionInputDtoSchema as ot, TinyOpenApiUserRole as p, procedureSchemaName as pt, getOpenApiSchemaName as q, AnySchema as r, isObject as rt, GenerateOpenApiFileResult as s, namedControllerActionSchema as st, AclRule as t, isNullSchema as tt, OpenApiSchemaRegistry as u, namedOpenApiResponseSchema as ut, applyPaginatedItemSchemas as v, sharedSchemaExportName as vt, collectContractSchemaRoots as w, visitZodSchema as wt, applyRobodevUserRolesExtension as x, toOpenAPI30Schema as xt, applyParameterExtensions as y, stripNoContentResponseBodies as yt, generateORPCOpenAPISpec as z };
package/dist/sh.mjs CHANGED
@@ -39,7 +39,7 @@ function logBanner(message) {
39
39
  * Fetch the version from package.json
40
40
  */
41
41
  function getVersion() {
42
- return "3.1.0-rc.1";
42
+ return "3.1.0-rc.2";
43
43
  }
44
44
 
45
45
  //#endregion
package/dist/tiny.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import "./options-CE4Koxof.mjs";
2
2
  import { t as OpenAPICodegenConfig } from "./config-BU7wVf7U.mjs";
3
- import { $ as isContractProcedure, A as collectOperationMeta, B as generateOpenApiFile, C as collectContractSchemaRoots, D as collectExtraSchemas, E as collectDbTableModelSchemaExports, F as defineOpenApiSchemas, G as getModuleOpenApiTag, H as getContractProcedureData, I as dtoSchemaName, J as getOperationAction, K as getObjectPropertySchema, L as findComponentEnumNames, M as collectReachableModelSchemas, N as collectSchemaRegistryRoots, O as collectModelSchemaExports, P as compactTagName, Q as getStringEnumValues, R as findEnumNames, S as collectApiModelSchemaExports, St as visitZodSchema, T as collectDbTableModelSchemaExport, U as getDerivedOperationId, V as getComponentSchemas, W as getModuleOpenApiController, X as getPaginatedItemSchema, Y as getOperationController, Z as getRobodevModuleRoles, _ as applyPaginatedItemSchemas, _t as stripNoContentResponseBodies, a as GenerateOpenApiFile, at as namedControllerActionInputDtoSchema, b as applyRobodevUserRolesExtension, bt as toOpenAPIAclRule, c as GenerateTinyOpenApiFileOptions, ct as namedOpenApiRequestSchema, d as ProcedureMeta, dt as operationKey, et as isNullSchema, f as TinyOpenApiModule, ft as resolveOpenApiOutputPath, g as applyOperationMeta, gt as shouldUseDtoSchemaName, h as applyEnumExtensions, ht as sharedSchemaExportName, i as GenerateORPCOpenAPISpecOptions, it as isZodSchema, j as collectOperationTags, k as collectModuleModelSchemaExports, l as JsonObject, lt as namedOpenApiResponseSchema, m as ZodSchema, mt as schemaExportName, n as AnyContractRouter, nt as isObject, o as GenerateOpenApiFileOptions, ot as namedControllerActionSchema, p as TinyOpenApiUserRole, pt as schemaComponentRef, q as getOpenApiSchemaName, r as AnySchema, rt as isProcedureMeta, s as GenerateOpenApiFileResult, st as namedOpenApiOutputSchema, t as AclRule, tt as isNullableOnlySchema, u as OpenApiSchemaRegistry, ut as namedOpenApiSchema, v as applyParameterExtensions, vt as toOpenAPI30Document, w as collectContractSchemas, x as asStringArray, xt as toPascalCase, y as applyRobodevModuleExtensions, yt as toOpenAPI30Schema, z as generateORPCOpenAPISpec } from "./openapi-B14GzSA_.mjs";
3
+ import { $ as getStringEnumValues, A as collectModuleModelSchemaExports, B as generateOpenApiFile, C as collectApiModelSchemaExports, Ct as toPascalCase, D as collectDbTableModelSchemaExports, E as collectDbTableModelSchemaExport, F as compactTagName, G as getModuleOpenApiTag, H as getContractProcedureData, I as defineOpenApiSchemas, J as getOperationAction, K as getObjectPropertySchema, L as findComponentEnumNames, M as collectOperationTags, N as collectReachableModelSchemas, O as collectExtraSchemas, P as collectSchemaRegistryRoots, Q as getRobodevModuleRoles, R as findEnumNames, S as asStringArray, St as toOpenAPIAclRule, T as collectContractSchemas, U as getDerivedOperationId, V as getComponentSchemas, W as getModuleOpenApiController, X as getPaginatedItemSchema, Y as getOperationController, Z as getProcedureInputSchemaRole, _ as applyOperationMeta, _t as schemaExportName, a as GenerateOpenApiFile, at as isZodSchema, b as applyRobodevModuleExtensions, bt as toOpenAPI30Document, c as GenerateTinyOpenApiFileOptions, ct as namedOpenApiOutputSchema, d as ProcedureMeta, dt as namedOpenApiSchema, et as isContractProcedure, f as TinyOpenApiModule, ft as operationKey, g as applyEnumExtensions, gt as schemaComponentRef, h as addContractSchema, ht as routeHasPathParameters, i as GenerateORPCOpenAPISpecOptions, it as isProcedureMeta, j as collectOperationMeta, k as collectModelSchemaExports, l as JsonObject, lt as namedOpenApiRequestSchema, m as ZodSchema, mt as resolveOpenApiOutputPath, n as AnyContractRouter, nt as isNullableOnlySchema, o as GenerateOpenApiFileOptions, ot as namedControllerActionInputDtoSchema, p as TinyOpenApiUserRole, pt as procedureSchemaName, q as getOpenApiSchemaName, r as AnySchema, rt as isObject, s as GenerateOpenApiFileResult, st as namedControllerActionSchema, t as AclRule, tt as isNullSchema, u as OpenApiSchemaRegistry, ut as namedOpenApiResponseSchema, v as applyPaginatedItemSchemas, vt as sharedSchemaExportName, w as collectContractSchemaRoots, wt as visitZodSchema, x as applyRobodevUserRolesExtension, xt as toOpenAPI30Schema, y as applyParameterExtensions, yt as stripNoContentResponseBodies, z as generateORPCOpenAPISpec } from "./openapi-D9apjIRy.mjs";
4
4
 
5
5
  //#region src/tiny/openapi-source.runner.d.ts
6
6
  interface TinyOpenApiSourceRunnerConfig {
@@ -18,4 +18,4 @@ declare function isTinyOpenApiFakeMode(apiMode?: string | undefined): boolean;
18
18
  declare function getLocalInputPath(input: OpenAPICodegenConfig["input"], root: string): string | undefined;
19
19
  declare function normalizeWatchFolders(root: string, watchFolders?: readonly string[]): string[];
20
20
  //#endregion
21
- export { AclRule, AnyContractRouter, AnySchema, GenerateORPCOpenAPISpecOptions, GenerateOpenApiFile, GenerateOpenApiFileOptions, GenerateOpenApiFileResult, GenerateTinyOpenApiFileOptions, JsonObject, OpenApiSchemaRegistry, ProcedureMeta, TinyOpenApiModule, type TinyOpenApiSourceRunnerConfig, TinyOpenApiUserRole, ZodSchema, applyEnumExtensions, applyOperationMeta, applyPaginatedItemSchemas, applyParameterExtensions, applyRobodevModuleExtensions, applyRobodevUserRolesExtension, asStringArray, collectApiModelSchemaExports, collectContractSchemaRoots, collectContractSchemas, collectDbTableModelSchemaExport, collectDbTableModelSchemaExports, collectExtraSchemas, collectModelSchemaExports, collectModuleModelSchemaExports, collectOperationMeta, collectOperationTags, collectReachableModelSchemas, collectSchemaRegistryRoots, compactTagName, createTinyOpenApiSourceRunner, defineOpenApiSchemas, dtoSchemaName, findComponentEnumNames, findEnumNames, generateORPCOpenAPISpec, generateOpenApiFile, getComponentSchemas, getContractProcedureData, getDerivedOperationId, getModuleOpenApiController, getModuleOpenApiTag, getObjectPropertySchema, getOpenApiSchemaName, getOperationAction, getOperationController, getPaginatedItemSchema, getRobodevModuleRoles, getStringEnumValues, getLocalInputPath as getTinyOpenApiLocalInputPath, isContractProcedure, isNullSchema, isNullableOnlySchema, isObject, isProcedureMeta, isTinyOpenApiFakeMode, isZodSchema, namedControllerActionInputDtoSchema, namedControllerActionSchema, namedOpenApiOutputSchema, namedOpenApiRequestSchema, namedOpenApiResponseSchema, namedOpenApiSchema, normalizeWatchFolders as normalizeTinyOpenApiWatchFolders, operationKey, resolveOpenApiOutputPath, schemaComponentRef, schemaExportName, sharedSchemaExportName, shouldUseDtoSchemaName, stripNoContentResponseBodies, toOpenAPI30Document, toOpenAPI30Schema, toOpenAPIAclRule, toPascalCase, visitZodSchema };
21
+ export { AclRule, AnyContractRouter, AnySchema, GenerateORPCOpenAPISpecOptions, GenerateOpenApiFile, GenerateOpenApiFileOptions, GenerateOpenApiFileResult, GenerateTinyOpenApiFileOptions, JsonObject, OpenApiSchemaRegistry, ProcedureMeta, TinyOpenApiModule, type TinyOpenApiSourceRunnerConfig, TinyOpenApiUserRole, ZodSchema, addContractSchema, applyEnumExtensions, applyOperationMeta, applyPaginatedItemSchemas, applyParameterExtensions, applyRobodevModuleExtensions, applyRobodevUserRolesExtension, asStringArray, collectApiModelSchemaExports, collectContractSchemaRoots, collectContractSchemas, collectDbTableModelSchemaExport, collectDbTableModelSchemaExports, collectExtraSchemas, collectModelSchemaExports, collectModuleModelSchemaExports, collectOperationMeta, collectOperationTags, collectReachableModelSchemas, collectSchemaRegistryRoots, compactTagName, createTinyOpenApiSourceRunner, defineOpenApiSchemas, findComponentEnumNames, findEnumNames, generateORPCOpenAPISpec, generateOpenApiFile, getComponentSchemas, getContractProcedureData, getDerivedOperationId, getModuleOpenApiController, getModuleOpenApiTag, getObjectPropertySchema, getOpenApiSchemaName, getOperationAction, getOperationController, getPaginatedItemSchema, getProcedureInputSchemaRole, getRobodevModuleRoles, getStringEnumValues, getLocalInputPath as getTinyOpenApiLocalInputPath, isContractProcedure, isNullSchema, isNullableOnlySchema, isObject, isProcedureMeta, isTinyOpenApiFakeMode, isZodSchema, namedControllerActionInputDtoSchema, namedControllerActionSchema, namedOpenApiOutputSchema, namedOpenApiRequestSchema, namedOpenApiResponseSchema, namedOpenApiSchema, normalizeWatchFolders as normalizeTinyOpenApiWatchFolders, operationKey, procedureSchemaName, resolveOpenApiOutputPath, routeHasPathParameters, schemaComponentRef, schemaExportName, sharedSchemaExportName, stripNoContentResponseBodies, toOpenAPI30Document, toOpenAPI30Schema, toOpenAPIAclRule, toPascalCase, visitZodSchema };
package/dist/tiny.mjs CHANGED
@@ -8,11 +8,10 @@ import { access, readdir } from "fs/promises";
8
8
  async function importRuntimeModule(specifier) {
9
9
  return new Function("specifier", "return import(specifier)")(specifier);
10
10
  }
11
- const DTO_SUFFIX = "Dto";
12
- const PAGINATED_OUTPUT_SUFFIX = "PaginateOutputDto";
11
+ const PAGINATED_OUTPUT_SUFFIX = "PaginateOutput";
13
12
  const PAGINATED_RESPONSE_SUFFIX = "PaginateResponse";
14
13
  const PAGINATION_RESPONSE_OUTPUT_SUFFIX = "PaginationResponseOutput";
15
- const PAGINATED_ITEM_SUFFIX = "PaginateItemDto";
14
+ const PAGINATED_ITEM_SUFFIX = "PaginateItem";
16
15
  const PAGINATED_ITEM_OUTPUT_SUFFIX = "PaginateItemOutput";
17
16
  const PAGINATION_DTO_SCHEMA_NAME = "PaginationDto";
18
17
  const PAGINATION_PROPERTY_NAMES = [
@@ -84,13 +83,13 @@ function namedOpenApiResponseSchema(schema, name) {
84
83
  return namedOpenApiSchema(schema, `${name}Response`);
85
84
  }
86
85
  function namedOpenApiOutputSchema(schema, name) {
87
- return namedOpenApiSchema(schema, `${name}Output`);
86
+ return namedOpenApiResponseSchema(schema, name);
88
87
  }
89
88
  function namedControllerActionSchema(schema, controller, action, suffix) {
90
89
  return namedOpenApiSchema(schema, `${controller}Controller${toPascalCase(action)}${suffix}`);
91
90
  }
92
91
  function namedControllerActionInputDtoSchema(schema, controller, action) {
93
- return namedControllerActionSchema(schema, controller, action, "InputDto");
92
+ return namedControllerActionSchema(schema, controller, action, "Request");
94
93
  }
95
94
  function getOpenApiSchemaName(schema) {
96
95
  return typeof schema === "object" && schema !== null ? openApiSchemaNames.get(schema) : void 0;
@@ -201,20 +200,13 @@ function toPascalCase(value) {
201
200
  function isZodSchema(value) {
202
201
  return isObject(value) && isObject(value["~standard"]) && value["~standard"].vendor === "zod" && isObject(value._zod) && isObject(value._zod.def);
203
202
  }
204
- function dtoSchemaName(name) {
205
- return name.endsWith(DTO_SUFFIX) ? name : `${name}${DTO_SUFFIX}`;
206
- }
207
- function shouldUseDtoSchemaName(moduleName, schema) {
208
- return moduleName !== "common" && ["object", "array"].includes(String(schema._zod.def.type));
209
- }
210
203
  function schemaExportName(moduleName, exportName, schema, getSchemaName = getOpenApiSchemaName) {
211
204
  const explicitName = getSchemaName(schema);
212
205
  if (explicitName) return explicitName;
213
- const schemaName = exportName.replace(/Schema$/, "").replace(/DTO$/u, DTO_SUFFIX);
206
+ const schemaName = exportName.replace(/Schema$/, "").replace(/DTO$/u, "");
214
207
  const modulePrefix = toPascalCase(moduleName);
215
208
  const singularModulePrefix = modulePrefix.endsWith("s") ? modulePrefix.slice(0, -1) : modulePrefix;
216
- const prefixedName = moduleName === "common" || schemaName.startsWith(modulePrefix) || schemaName.startsWith(singularModulePrefix) ? schemaName : `${modulePrefix}${schemaName}`;
217
- return shouldUseDtoSchemaName(moduleName, schema) ? dtoSchemaName(prefixedName) : prefixedName;
209
+ return moduleName === "common" || schemaName.startsWith(modulePrefix) || schemaName.startsWith(singularModulePrefix) ? schemaName : `${modulePrefix}${schemaName}`;
218
210
  }
219
211
  function sharedSchemaExportName(exportName) {
220
212
  return exportName.replace(/Schema$/, "");
@@ -298,23 +290,35 @@ function getObjectPropertySchema(schema, property) {
298
290
  const propertySchema = shape[property];
299
291
  return isZodSchema(propertySchema) ? propertySchema : void 0;
300
292
  }
293
+ function routeHasPathParameters(routePath) {
294
+ return typeof routePath === "string" && /\{[^}]+\}/u.test(routePath);
295
+ }
296
+ function getProcedureInputSchemaRole(route) {
297
+ if (routeHasPathParameters(route.path)) return "Params";
298
+ return route.method?.toUpperCase() === "GET" ? "Query" : "Request";
299
+ }
300
+ function procedureSchemaName(procedureName, role) {
301
+ if (procedureName.endsWith(role)) return procedureName;
302
+ return `${procedureName}${role}`;
303
+ }
304
+ function addContractSchema(schemas, schema, name, getSchemaName, strategy) {
305
+ if (!schema) return;
306
+ schemas[getSchemaName(schema) ?? name] = {
307
+ schema,
308
+ ...strategy ? { strategy } : {}
309
+ };
310
+ }
301
311
  function collectContractSchemas(router, routerPath = [], schemas = {}, getSchemaName = getOpenApiSchemaName) {
302
312
  const procedure = getContractProcedureData(router);
303
313
  if (procedure) {
304
314
  const procedureName = routerPath.map(toPascalCase).join("");
305
315
  const { inputSchema, outputSchema, route } = procedure;
306
- if (inputSchema) {
307
- const schema = route.inputStructure === "detailed" ? getObjectPropertySchema(inputSchema, "body") ?? inputSchema : inputSchema;
308
- const inputName = getSchemaName(schema) ?? dtoSchemaName(`${procedureName}Input`);
309
- schemas[inputName] = { schema };
310
- }
311
- if (outputSchema && route.successStatus !== 204) {
312
- const outputName = getSchemaName(outputSchema) ?? dtoSchemaName(`${procedureName}Output`);
313
- schemas[outputName] = {
314
- schema: outputSchema,
315
- strategy: "output"
316
- };
317
- }
316
+ if (inputSchema) if (route.inputStructure === "detailed") {
317
+ addContractSchema(schemas, getObjectPropertySchema(inputSchema, "params"), procedureSchemaName(procedureName, "Params"), getSchemaName);
318
+ addContractSchema(schemas, getObjectPropertySchema(inputSchema, "query"), procedureSchemaName(procedureName, "Query"), getSchemaName);
319
+ addContractSchema(schemas, getObjectPropertySchema(inputSchema, "body") ?? inputSchema, procedureSchemaName(procedureName, "Request"), getSchemaName);
320
+ } else addContractSchema(schemas, inputSchema, procedureSchemaName(procedureName, getProcedureInputSchemaRole(route)), getSchemaName);
321
+ if (outputSchema && route.successStatus !== 204) addContractSchema(schemas, outputSchema, procedureSchemaName(procedureName, "Response"), getSchemaName, "output");
318
322
  return schemas;
319
323
  }
320
324
  for (const [name, child] of routerEntries(router)) collectContractSchemas(child, [...routerPath, name], schemas, getSchemaName);
@@ -628,4 +632,4 @@ async function generateORPCOpenAPISpec(options) {
628
632
  }
629
633
 
630
634
  //#endregion
631
- export { applyEnumExtensions, applyOperationMeta, applyPaginatedItemSchemas, applyParameterExtensions, applyRobodevModuleExtensions, applyRobodevUserRolesExtension, asStringArray, collectApiModelSchemaExports, collectContractSchemaRoots, collectContractSchemas, collectDbTableModelSchemaExport, collectDbTableModelSchemaExports, collectExtraSchemas, collectModelSchemaExports, collectModuleModelSchemaExports, collectOperationMeta, collectOperationTags, collectReachableModelSchemas, collectSchemaRegistryRoots, compactTagName, createTinyOpenApiSourceRunner, defineOpenApiSchemas, dtoSchemaName, findComponentEnumNames, findEnumNames, generateORPCOpenAPISpec, generateOpenApiFile, getComponentSchemas, getContractProcedureData, getDerivedOperationId, getModuleOpenApiController, getModuleOpenApiTag, getObjectPropertySchema, getOpenApiSchemaName, getOperationAction, getOperationController, getPaginatedItemSchema, getRobodevModuleRoles, getStringEnumValues, getLocalInputPath as getTinyOpenApiLocalInputPath, isContractProcedure, isNullSchema, isNullableOnlySchema, isObject, isProcedureMeta, isTinyOpenApiFakeMode, isZodSchema, namedControllerActionInputDtoSchema, namedControllerActionSchema, namedOpenApiOutputSchema, namedOpenApiRequestSchema, namedOpenApiResponseSchema, namedOpenApiSchema, normalizeWatchFolders as normalizeTinyOpenApiWatchFolders, operationKey, resolveOpenApiOutputPath, schemaComponentRef, schemaExportName, sharedSchemaExportName, shouldUseDtoSchemaName, stripNoContentResponseBodies, toOpenAPI30Document, toOpenAPI30Schema, toOpenAPIAclRule, toPascalCase, visitZodSchema };
635
+ export { addContractSchema, applyEnumExtensions, applyOperationMeta, applyPaginatedItemSchemas, applyParameterExtensions, applyRobodevModuleExtensions, applyRobodevUserRolesExtension, asStringArray, collectApiModelSchemaExports, collectContractSchemaRoots, collectContractSchemas, collectDbTableModelSchemaExport, collectDbTableModelSchemaExports, collectExtraSchemas, collectModelSchemaExports, collectModuleModelSchemaExports, collectOperationMeta, collectOperationTags, collectReachableModelSchemas, collectSchemaRegistryRoots, compactTagName, createTinyOpenApiSourceRunner, defineOpenApiSchemas, findComponentEnumNames, findEnumNames, generateORPCOpenAPISpec, generateOpenApiFile, getComponentSchemas, getContractProcedureData, getDerivedOperationId, getModuleOpenApiController, getModuleOpenApiTag, getObjectPropertySchema, getOpenApiSchemaName, getOperationAction, getOperationController, getPaginatedItemSchema, getProcedureInputSchemaRole, getRobodevModuleRoles, getStringEnumValues, getLocalInputPath as getTinyOpenApiLocalInputPath, isContractProcedure, isNullSchema, isNullableOnlySchema, isObject, isProcedureMeta, isTinyOpenApiFakeMode, isZodSchema, namedControllerActionInputDtoSchema, namedControllerActionSchema, namedOpenApiOutputSchema, namedOpenApiRequestSchema, namedOpenApiResponseSchema, namedOpenApiSchema, normalizeWatchFolders as normalizeTinyOpenApiWatchFolders, operationKey, procedureSchemaName, resolveOpenApiOutputPath, routeHasPathParameters, schemaComponentRef, schemaExportName, sharedSchemaExportName, stripNoContentResponseBodies, toOpenAPI30Document, toOpenAPI30Schema, toOpenAPIAclRule, toPascalCase, visitZodSchema };
package/dist/vite.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { r as GenerateFileFormatter } from "./options-CE4Koxof.mjs";
2
2
  import { t as OpenAPICodegenConfig } from "./config-BU7wVf7U.mjs";
3
- import { a as GenerateOpenApiFile } from "./openapi-B14GzSA_.mjs";
3
+ import { a as GenerateOpenApiFile } from "./openapi-D9apjIRy.mjs";
4
4
  import { Plugin, PluginOption } from "vite";
5
5
 
6
6
  //#region src/plugins/openapi-codegen.runner.d.ts
package/package.json CHANGED
@@ -138,5 +138,5 @@
138
138
  "pnpm": ">= 9"
139
139
  },
140
140
  "packageManager": "pnpm@10.4.0",
141
- "version": "3.1.0-rc.1"
141
+ "version": "3.1.0-rc.2"
142
142
  }