functions.ts 325 B

123456789101112131415
  1. import {assertNever} from "../utils";
  2. import {Expression} from "./types";
  3. export function evaluate(expr: Expression): number {
  4. switch (expr.type) {
  5. case "literal": {
  6. return expr.value;
  7. }
  8. /* istanbul ignore next */
  9. default: {
  10. return assertNever("Unexpected expression type", expr);
  11. }
  12. }
  13. }