typeas
Version:
Library for checking data values and type safety
24 lines (20 loc) • 895 B
text/typescript
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 { UnionExpression } from "./union";
type TupleBaseItemExpression =
| StringExpression
| NumberExpression
| BooleanExpression
| DateExpression
| EnumExpression
| ObjectExpression;
type TupleItemExpression =
| TupleBaseItemExpression
| UnionExpression<TupleBaseItemExpression>
| TupleExpression<TupleBaseItemExpression | UnionExpression<TupleBaseItemExpression>>;
export type TupleExpression<Item = TupleItemExpression> = readonly [CreateExpression<"tuple">, ...(readonly Item[])];