File tree Expand file tree Collapse file tree 2 files changed +7
-5
lines changed
Expand file tree Collapse file tree 2 files changed +7
-5
lines changed Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import ts from 'typescript';
33export function evaluate (
44 expr : ts . Expression ,
55 known : Map < string , number | string > ,
6- ) : string | number | undefined {
6+ ) : string | number {
77 if ( ts . isPrefixUnaryExpression ( expr ) ) {
88 const value = evaluate ( expr . operand , known ) ;
99 if ( typeof value === 'number' ) {
@@ -60,13 +60,14 @@ export function evaluate(
6060 } else if ( ts . isParenthesizedExpression ( expr ) ) {
6161 return evaluate ( expr . expression , known ) ;
6262 } else if ( ts . isIdentifier ( expr ) ) {
63- if ( ! known . has ( expr . text ) ) {
63+ const value = known . get ( expr . text ) ;
64+ if ( value === undefined ) {
6465 throw new Error ( 'unsupported enum. must reference self value' ) ;
6566 }
66- return known . get ( expr . text ) ;
67+ return value ;
6768 }
6869
69- return undefined ;
70+ throw new Error ( 'unexpected evaluation for enum member: ' + expr . getText ) ;
7071}
7172
7273export function getModifier ( node : ts . Node , modifier : ts . SyntaxKind ) {
Original file line number Diff line number Diff line change 77 "removeComments" : true ,
88 "preserveConstEnums" : true ,
99 "outDir" : " dist" ,
10- "esModuleInterop" : true
10+ "esModuleInterop" : true ,
11+ "strict" : true
1112 },
1213 "include" : [" src/**/*" ],
1314 "exclude" : [" node_modules" , " **/*.test.ts" ]
You can’t perform that action at this time.
0 commit comments