Skip to content

Commit e10cb96

Browse files
Merge branch 'main' of github.com:openapi-ui/openapi-ts-request
2 parents c5cf7b5 + 666f55e commit e10cb96

File tree

3 files changed

+23
-12
lines changed

3 files changed

+23
-12
lines changed

pnpm-lock.yaml

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/generator/serviceGenarator.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ import {
7575
getLastRefName,
7676
getRefName,
7777
handleDuplicateTypeNames,
78+
isAllNumber,
7879
isAllNumeric,
7980
isArraySchemaObject,
8081
isBinaryArraySchemaObject,
@@ -1077,8 +1078,10 @@ export default class ServiceGenerator {
10771078
let enumStr = '';
10781079
let enumLabelTypeStr = '';
10791080

1080-
if (numberEnum.includes(schemaObject.type) || isAllNumeric(enumArray)) {
1081+
if (numberEnum.includes(schemaObject.type) || isAllNumber(enumArray)) {
10811082
enumStr = `{${map(enumArray, (value) => `"NUMBER_${value}"=${Number(value)}`).join(',')}}`;
1083+
} else if (isAllNumeric(enumArray)) {
1084+
enumStr = `{${map(enumArray, (value) => `"STRING_NUMBER_${value}"="${value}"`).join(',')}}`;
10821085
} else {
10831086
enumStr = `{${map(enumArray, (value) => `${value}="${value}"`).join(',')}}`;
10841087
}
@@ -1097,8 +1100,10 @@ export default class ServiceGenerator {
10971100
return `${value}:"${enumLabel}"`;
10981101
}).join(',')}}`;
10991102
} else {
1100-
if (numberEnum.includes(schemaObject.type) || isAllNumeric(enumArray)) {
1103+
if (numberEnum.includes(schemaObject.type) || isAllNumber(enumArray)) {
11011104
enumLabelTypeStr = `{${map(enumArray, (value) => `"NUMBER_${value}":${Number(value)}`).join(',')}}`;
1105+
} else if (isAllNumeric(enumArray)) {
1106+
enumLabelTypeStr = `{${map(enumArray, (value) => `"STRING_NUMBER_${value}":"${value}"`).join(',')}}`;
11021107
} else {
11031108
enumLabelTypeStr = `{${map(enumArray, (value) => `${value}:"${value}"`).join(',')}}`;
11041109
}

src/generator/util.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
isBoolean,
99
isEmpty,
1010
isNull,
11+
isNumber,
1112
isObject,
1213
isString,
1314
isUndefined,
@@ -483,3 +484,8 @@ export function resolveRefs(obj: OpenAPIObject, fields: string[]) {
483484
export function isAllNumeric(arr) {
484485
return every(arr, (item) => isString(item) && /^-?[0-9]+$/.test(item));
485486
}
487+
488+
// 检查数组每一项是否都是数字
489+
export function isAllNumber(arr) {
490+
return every(arr, (item) => isNumber(item));
491+
}

0 commit comments

Comments
 (0)