diff --git a/scripts/const-enum.js b/scripts/const-enum.js index 133b6da18..b4dbc1770 100644 --- a/scripts/const-enum.js +++ b/scripts/const-enum.js @@ -112,9 +112,17 @@ export async function constEnum() { } if (init.type === 'UnaryExpression') { - // @ts-ignore assume all operands are literals - const exp = `${init.operator}${init.argument.value}` - value = evaluate(exp) + if ( + init.argument.type === 'StringLiteral' || + init.argument.type === 'NumericLiteral' + ) { + const exp = `${init.operator}${init.argument.value}` + value = evaluate(exp) + } else { + throw new Error( + `unhandled UnaryExpression argument type ${init.argument.type} in ${file}` + ) + } } if (value === undefined) {