UNPKG

typeas

Version:

Library for checking data values and type safety

24 lines (20 loc) 895 B
import type { CreateExpression } from "../factories/expression"; import type { BooleanExpression } from "./boolean"; import type { DateExpression } from "./date"; import type { EnumExpression } from "./enum"; import type { NumberExpression } from "./number"; import type { ObjectExpression } from "./object"; import type { StringExpression } from "./string"; import type { TupleExpression } from "./tuple"; type UnionBaseItemExpression = | StringExpression | NumberExpression | BooleanExpression | DateExpression | EnumExpression | ObjectExpression; type UnionItemExpression = | UnionBaseItemExpression | TupleExpression<UnionBaseItemExpression> | UnionExpression<UnionBaseItemExpression | TupleExpression<UnionBaseItemExpression>>; export type UnionExpression<Item = UnionItemExpression> = readonly [CreateExpression<"union">, ...(readonly Item[])];