From 0e7dab4a1c732e1086b36ad6e14916ecce65eb2a Mon Sep 17 00:00:00 2001 From: n-buck Date: Tue, 25 Mar 2025 10:38:08 +0100 Subject: [PATCH 1/2] fix: escape enum values if they start with a number --- src/generator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generator.ts b/src/generator.ts index dcee32ff..df725a08 100644 --- a/src/generator.ts +++ b/src/generator.ts @@ -329,7 +329,7 @@ function generateComment(comment?: string, deprecated?: boolean): string { } function generateStandaloneEnum(ast: TEnum, options: Options): string { - const containsSpecialCharacters = (key: string): boolean => /[^a-zA-Z0-9_]/.test(key) + const containsSpecialCharacters = (key: string): boolean => /^[0-9]/.test(key) || /[^a-zA-Z0-9_]/.test(key) return ( (hasComment(ast) ? generateComment(ast.comment, ast.deprecated) + '\n' : '') + From 84a6dbac99eb63b51e155fb22d45609f11e4909d Mon Sep 17 00:00:00 2001 From: n-buck Date: Tue, 25 Mar 2025 11:44:52 +0100 Subject: [PATCH 2/2] chore: rename escape-function --- src/generator.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/generator.ts b/src/generator.ts index df725a08..f729b066 100644 --- a/src/generator.ts +++ b/src/generator.ts @@ -329,7 +329,7 @@ function generateComment(comment?: string, deprecated?: boolean): string { } function generateStandaloneEnum(ast: TEnum, options: Options): string { - const containsSpecialCharacters = (key: string): boolean => /^[0-9]/.test(key) || /[^a-zA-Z0-9_]/.test(key) + const needsEscaping = (key: string): boolean => /^[0-9]/.test(key) || /[^a-zA-Z0-9_]/.test(key) return ( (hasComment(ast) ? generateComment(ast.comment, ast.deprecated) + '\n' : '') + @@ -338,10 +338,7 @@ function generateStandaloneEnum(ast: TEnum, options: Options): string { `enum ${toSafeString(ast.standaloneName)} {` + '\n' + ast.params - .map( - ({ast, keyName}) => - (containsSpecialCharacters(keyName) ? `"${keyName}"` : keyName) + ' = ' + generateType(ast, options), - ) + .map(({ast, keyName}) => (needsEscaping(keyName) ? `"${keyName}"` : keyName) + ' = ' + generateType(ast, options)) .join(',\n') + '\n' + '}'