LiteralValue:
    | { kind: "string"; value: string }
    | { kind: "boolean"; value: boolean }
    | { kind: "integer"; value: string }
    | { kind: "float"; value: string }
    | { kind: "decimal"; value: string }
    | { kind: "strictDate"; value: string }
    | { kind: "dateTime"; value: string }
    | { kind: "enum"; value: string }

A typed literal value, such as a filter value. Numbers are kept as text in the JSON number grammar (e.g. -0.5, 1e3), so large integers and decimals never lose precision; dates are ISO text.

  • integer: canonical digits, e.g. -42; may exceed JavaScript's safe integers
  • strictDate: YYYY-MM-DD
  • dateTime: YYYY-MM-DDTHH:MM:SS, optionally with 1 to 9 fraction digits; seconds are required, because the engine truncates hour and minute literals to the day
  • enum: the unqualified value