aboutsummaryrefslogtreecommitdiff
path: root/src/types.ts
blob: 21e951715ed136d95e45c32666323271cbacf4e0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
export type Expr =
  | { tag: 'Start' }
  | { tag: 'End' }
  | { tag: 'Optional'; expr: Expr }
  | { tag: 'OneOrMore'; expr: Expr }
  | { tag: 'ZeroOrMore'; expr: Expr }
  | { tag: 'NextItem' }
  | { tag: 'AnyItem' }
  | { tag: 'Or' }
  | { tag: 'AnyString' }
  | { tag: 'AnyNumber' }
  | { tag: 'AnyBool' }
  | { tag: 'Truthy' }
  | { tag: 'Falsey' }
  | { tag: 'Group'; exprs: Expr[] }