From 244e9047fccb0a8f4f5ea5648b85aafe06774f04 Mon Sep 17 00:00:00 2001 From: Gerrit Birkeland Date: Mon, 4 Oct 2021 19:36:47 -0600 Subject: [PATCH] Correctly quote `as-const` enum values Resolves #1727 --- CHANGELOG.md | 3 ++- src/lib/converter/symbols.ts | 4 +++- src/test/behaviorTests.ts | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a24c54eb..cc4f9e87f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,8 @@ ### Bug Fixes -- Fixed flash when navigating to a second page when OS theme does not match selected theme. +- Fixed flash when navigating to a second page when OS theme does not match selected theme, #1709. +- Fixed improper quoting of `as const` style enums, #1727. ### Thanks! diff --git a/src/lib/converter/symbols.ts b/src/lib/converter/symbols.ts index 93bf5d9c8..8b200837a 100644 --- a/src/lib/converter/symbols.ts +++ b/src/lib/converter/symbols.ts @@ -897,7 +897,9 @@ function convertVariableAsEnum( void 0 ); - reflection.defaultValue = (prop.initializer as ts.StringLiteral).text; + reflection.defaultValue = JSON.stringify( + (prop.initializer as ts.StringLiteral).text + ); rc.finalizeDeclarationReflection(reflection, childSymbol, void 0); } diff --git a/src/test/behaviorTests.ts b/src/test/behaviorTests.ts index f4e09c827..2356257c1 100644 --- a/src/test/behaviorTests.ts +++ b/src/test/behaviorTests.ts @@ -20,6 +20,8 @@ export const behaviorTests: Record< equal(SomeEnumLike.kind, ReflectionKind.Variable); const SomeEnumLikeTagged = query(project, "SomeEnumLikeTagged"); equal(SomeEnumLikeTagged.kind, ReflectionKind.Enum); + const A = query(project, "SomeEnumLikeTagged.a"); + equal(A.defaultValue, '"a"'); }, duplicateHeritageClauses(project) { const b = query(project, "B");