From cd6a2b976aa5aa7ff3491e6266b49e2b049d2a6a Mon Sep 17 00:00:00 2001 From: Ed Rivas Date: Sat, 8 Jul 2023 00:38:21 +0000 Subject: [PATCH] Enforce operator validation --- lib/src/value/calculations.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/src/value/calculations.ts b/lib/src/value/calculations.ts index 8babbec9..6343ab86 100644 --- a/lib/src/value/calculations.ts +++ b/lib/src/value/calculations.ts @@ -111,7 +111,8 @@ export class SassCalculation extends Value { } } -export type CalculationOperator = '+' | '-' | '*' | '/'; +const operators = ['+', '-', '*', '/'] as const; +export type CalculationOperator = typeof operators[number]; export class CalculationOperation implements ValueObject { readonly operator: CalculationOperator; @@ -123,6 +124,9 @@ export class CalculationOperation implements ValueObject { left: CalculationValue, right: CalculationValue ) { + if (!operators.includes(operator)) { + throw new Error(`Unknown operator ${operator}`); + } this.operator = operator; this.left = left; this.right = right;