Skip to content

Commit 8bd8d10

Browse files
committed
chore: enable strict mode
1 parent 6c83f29 commit 8bd8d10

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/utils.ts

+5-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import ts from 'typescript';
33
export 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

7273
export function getModifier(node: ts.Node, modifier: ts.SyntaxKind) {

tsconfig.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
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"]

0 commit comments

Comments
 (0)