Skip to content

Commit 22f13e0

Browse files
authored
Merge pull request #17 from HUxiaoAlinNG/master
枚举类型解析问题
2 parents bb9d6b1 + a7fc272 commit 22f13e0

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/__tests__/__snapshots__/tstype.test.ts.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,6 @@ Object {
178178

179179
exports[`type类型_10 1`] = `
180180
Object {
181-
"definitions": Object {},
182181
"enum": Array [
183182
1,
184183
2,

src/get-jsonschema-from-data.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,8 @@ export default class genTypeSchema extends typescriptToFileDatas {
326326

327327
item.$ref = `#/definitions/${$refKey}`;
328328

329-
if (!$refJson.$ref) {
329+
// fileJson[$refJson.$ref.replace(/#(\/definitions\/)?/, '')] 表示在本文件就能找到
330+
if (!$refJson.$ref || fileJson[$refJson.$ref.replace(/#(\/definitions\/)?/, '')]) {
330331
// 有继承
331332
if ($refJson.extends) {
332333
$refJson = handleExtends($refJson);
@@ -625,6 +626,10 @@ export default class genTypeSchema extends typescriptToFileDatas {
625626
const res = definitions[key] || { definitions: {} };
626627
delete typeJson_.definitions[key];
627628
res.definitions = { ...res.definitions, ...typeJson_.definitions };
629+
// 枚举类型且 definitions 为空,需删掉 definitions
630+
if (res.enum && !Object.keys(res.definitions).length) {
631+
delete res.definitions;
632+
}
628633
typeJson = res;
629634
}
630635
};

0 commit comments

Comments
 (0)