File tree 2 files changed +7
-5
lines changed
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';
3
3
export function evaluate (
4
4
expr : ts . Expression ,
5
5
known : Map < string , number | string > ,
6
- ) : string | number | undefined {
6
+ ) : string | number {
7
7
if ( ts . isPrefixUnaryExpression ( expr ) ) {
8
8
const value = evaluate ( expr . operand , known ) ;
9
9
if ( typeof value === 'number' ) {
@@ -60,13 +60,14 @@ export function evaluate(
60
60
} else if ( ts . isParenthesizedExpression ( expr ) ) {
61
61
return evaluate ( expr . expression , known ) ;
62
62
} else if ( ts . isIdentifier ( expr ) ) {
63
- if ( ! known . has ( expr . text ) ) {
63
+ const value = known . get ( expr . text ) ;
64
+ if ( value === undefined ) {
64
65
throw new Error ( 'unsupported enum. must reference self value' ) ;
65
66
}
66
- return known . get ( expr . text ) ;
67
+ return value ;
67
68
}
68
69
69
- return undefined ;
70
+ throw new Error ( 'unexpected evaluation for enum member: ' + expr . getText ) ;
70
71
}
71
72
72
73
export function getModifier ( node : ts . Node , modifier : ts . SyntaxKind ) {
Original file line number Diff line number Diff line change 7
7
"removeComments" : true ,
8
8
"preserveConstEnums" : true ,
9
9
"outDir" : " dist" ,
10
- "esModuleInterop" : true
10
+ "esModuleInterop" : true ,
11
+ "strict" : true
11
12
},
12
13
"include" : [" src/**/*" ],
13
14
"exclude" : [" node_modules" , " **/*.test.ts" ]
You can’t perform that action at this time.
0 commit comments