UNPKG

bluecodex

Version:

Turn repetitive dev tasks into CLI commands with Typescript

33 lines (30 loc) 1.08 kB
import type { DataTypeToken } from "../data-type/data-type-token"; import type { DataTypeCastError } from "../data-type/errors/data-type-cast-error"; import type { ArgFallbackCastError } from "./errors/arg-fallback-cast-error"; import type { InvalidArgTypeError } from "./errors/invalid-arg-type-error"; export type Arg< Name extends string = string, Optional extends boolean = boolean, Type extends DataTypeToken | InvalidArgTypeError<Name, string> = | DataTypeToken | InvalidArgTypeError<Name, string>, ExplicitType extends boolean = boolean, Fallback extends | any | null | ArgFallbackCastError<Name, DataTypeCastError> = any, > = { __objectType__: "arg"; name: Name; optional: Optional; type: Type; explicitType: ExplicitType; fallback: Fallback; }; export type ValidArg< Name extends string = string, Optional extends boolean = boolean, Type extends DataTypeToken = DataTypeToken, ExplicitType extends boolean = boolean, Fallback extends any | null = any | null, > = Arg<Name, Optional, Type, ExplicitType, Fallback>;