Skip to content

Commit b0f3e41

Browse files
feat: support x-apifox enumDescriptions
1 parent d62fe1b commit b0f3e41

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

.changeset/six-nails-cheat.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'openapi-ts-request': minor
3+
---
4+
5+
feat: support x-apifox enumDescriptions

src/generator/serviceGenarator.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -974,6 +974,12 @@ export default class ServiceGenerator {
974974
975975
return `${value}:"${schemaObject['x-enum-comments'][enumKey]}"`;
976976
}).join(',')}}`;
977+
} else if (schemaObject?.['x-apifox']?.['enumDescriptions']) {
978+
enumLabelTypeStr = `{${map(enumArray, (value: string) => {
979+
const enumLabel = schemaObject['x-apifox']['enumDescriptions'][value];
980+
981+
return `${value}:"${enumLabel}"`;
982+
}).join(',')}}`;
977983
} else {
978984
if (!numberEnum.includes(schemaObject.type)) {
979985
enumLabelTypeStr = `{${map(enumArray, (value) => `${value}:"${value}"`).join(',')}}`;

src/type.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ type ICustomBaseSchemaObject = {
1616
'x-enum-comments'?: {
1717
[name: string]: string;
1818
};
19+
'x-apifox'?: {
20+
enumDescriptions: Record<string, string>;
21+
};
1922
};
2023

2124
export type ArraySchemaObject = Modify<

0 commit comments

Comments
 (0)