diff options
Diffstat (limited to 'src/types.ts')
| -rw-r--r-- | src/types.ts | 49 |
1 files changed, 22 insertions, 27 deletions
diff --git a/src/types.ts b/src/types.ts index ea9f9bf..473f5e1 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,38 +1,33 @@ -import {Option} from "fp-ts/lib/Option" -import { constructors, Union } from "./utils" +import { Option } from 'fp-ts/Option' +import { constructors, Union } from './utils' type _ = never export type Literal = Union<{ - String: string, - Number: number, - Boolean: boolean, + String: string + Number: number + Boolean: boolean }> export const Literal = constructors<Literal>() export type Expr = Union<{ - Start: _, - End: _, - Optional: { expr: Expr }, - OneOrMore: { expr: Expr }, - ZeroOrMore: { expr: Expr }, - AnyItem: _, - Or: { exprs: Expr[] }, - AnyString: _, - AnyNumber: _, - AnyBool: _, - Truthy: _, - Falsey: _, - Group: { exprs: Expr[] }, - PropertyMatch: { name: string, expr: Expr }, - Literal: Literal, - Sequence: { exprs: Expr[] }, + Start: _ + End: _ + Optional: { expr: Expr } + OneOrMore: { expr: Expr } + ZeroOrMore: { expr: Expr } + AnyItem: _ + Or: { exprs: Expr[] } + AnyString: _ + AnyNumber: _ + AnyBool: _ + Truthy: _ + Falsey: _ + Group: { exprs: Expr[] } + PropertyMatch: { name: string; expr: Expr } + Literal: Literal + Sequence: { exprs: Expr[] } }> export const Expr = constructors<Expr>() -export type ListExpr = [ - Option<Expr>, - Expr, - Option<Expr>, -] - +export type ListExpr = [Option<Expr>, Expr, Option<Expr>] |
