Skip to content

Commit 95553de

Browse files
committed
fix: add support for header types in schema
1 parent 3ce961d commit 95553de

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/generator/schemaGenerator.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ export function generateTypeDefinitions(spec: OpenAPIV3.Document): string {
8989
[]) as OpenAPIV3.ParameterObject[];
9090
const queryParams = (parameters?.filter((p) => "in" in p && p.in === "query") ||
9191
[]) as OpenAPIV3.ParameterObject[];
92+
const headerParams = (parameters?.filter((p) => "in" in p && p.in === "header") ||
93+
[]) as OpenAPIV3.ParameterObject[];
9294

9395
// Add path and query parameters
9496
urlParams.forEach((p) => {
@@ -114,6 +116,19 @@ export function generateTypeDefinitions(spec: OpenAPIV3.Document): string {
114116
: "";
115117
dataProps.push(`${desc}${safeName}${p.required ? "" : "?"}: ${getTypeFromSchema(p.schema)}`);
116118
});
119+
120+
headerParams.forEach((p) => {
121+
const safeName = sanitizePropertyName(p.name);
122+
const isDeprecated = "deprecated" in p && p.deprecated;
123+
const hasDescription = "description" in p && p.description;
124+
const desc =
125+
hasDescription || isDeprecated
126+
? `\n/**${hasDescription ? `\n* ${p.description}` : ""}${isDeprecated ? "\n* @deprecated" : ""}
127+
*/\n`
128+
: "";
129+
dataProps.push(`${desc}${safeName}${p.required ? "" : "?"}: ${getTypeFromSchema(p.schema)}`);
130+
});
131+
117132
// Add request body type if it exists
118133
const hasData = (parameters && parameters.length > 0) || requestBody;
119134

0 commit comments

Comments
 (0)