Skip to content

Commit b2b8782

Browse files
committed
Fix for new prototype define names containing dashes
1 parent 6c59566 commit b2b8782

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

json_parser/defines.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ function parseDefine(define: Define): ts.EnumDeclaration | ts.ModuleDeclaration
1010
throw new Error('Cannot write define with both subkeys and values');
1111
}
1212

13+
if(/-/.test(define.name)) {
14+
define.description = (`@customName ${define.name}\n` + define.description).trim();
15+
define.name = define.name.replace(/-/g, '_');
16+
}
17+
1318
if(define.subkeys?.length) {
1419
return writeDocs(ts.factory.createModuleDeclaration(
1520
undefined,
@@ -19,9 +24,13 @@ function parseDefine(define: Define): ts.EnumDeclaration | ts.ModuleDeclaration
1924
}
2025
else {
2126
const members = define.values?.map(member => {
27+
if(/-/.test(member.name)) {
28+
member.name = `'${member.name}'`;
29+
}
2230
const memberNode = ts.factory.createEnumMember(member.name, ts.factory.createNumericLiteral(member.order));
2331
return writeDocs(memberNode, member);
2432
}) ?? [];
33+
2534
return writeDocs(ts.factory.createEnumDeclaration([], define.name, members), define);
2635
}
2736
}

0 commit comments

Comments
 (0)