UNPKG

computed-types

Version:

Runtime validation types for TypeScript.

19 lines (18 loc) 4.69 kB
import { MergeSchemaParameters, SchemaParameters, SchemaResolveType, SchemaReturnType } from './io'; import FunctionType from './FunctionType'; export declare function either<A>(...candidates: [A]): FunctionType<SchemaReturnType<A>, SchemaParameters<A>>; export declare function either<A, B>(...candidates: [A, B]): FunctionType<SchemaReturnType<A> | SchemaReturnType<B>, MergeSchemaParameters<SchemaParameters<A> | SchemaParameters<B>>>; export declare function either<A, B, C>(...candidates: [A, B, C]): FunctionType<SchemaReturnType<A> | SchemaReturnType<B> | SchemaReturnType<C>, MergeSchemaParameters<SchemaParameters<A> | SchemaParameters<B> | SchemaParameters<C>>>; export declare function either<A, B, C, D>(...candidates: [A, B, C, D]): FunctionType<SchemaReturnType<A> | SchemaReturnType<B> | SchemaReturnType<C> | SchemaReturnType<D>, MergeSchemaParameters<SchemaParameters<A> | SchemaParameters<B> | SchemaParameters<C> | SchemaParameters<D>>>; export declare function either<A, B, C, D, E>(...candidates: [A, B, C, D, E]): FunctionType<SchemaReturnType<A> | SchemaReturnType<B> | SchemaReturnType<C> | SchemaReturnType<D> | SchemaReturnType<E>, MergeSchemaParameters<SchemaParameters<A> | SchemaParameters<B> | SchemaParameters<C> | SchemaParameters<D> | SchemaParameters<E>>>; export declare function either<A, B, C, D, E, F>(...candidates: [A, B, C, D, E, F]): FunctionType<SchemaReturnType<A> | SchemaReturnType<B> | SchemaReturnType<C> | SchemaReturnType<D> | SchemaReturnType<E> | SchemaReturnType<F>, MergeSchemaParameters<SchemaParameters<A> | SchemaParameters<B> | SchemaParameters<C> | SchemaParameters<D> | SchemaParameters<E> | SchemaParameters<F>>>; export declare function either<A, B, C, D, E, F, G>(...candidates: [A, B, C, D, E, F, G]): FunctionType<SchemaReturnType<A> | SchemaReturnType<B> | SchemaReturnType<C> | SchemaReturnType<D> | SchemaReturnType<E> | SchemaReturnType<F> | SchemaReturnType<G>, MergeSchemaParameters<SchemaParameters<A> | SchemaParameters<B> | SchemaParameters<C> | SchemaParameters<D> | SchemaParameters<E> | SchemaParameters<F> | SchemaParameters<G>>>; export declare function either<A, B, C, D, E, F, G, H>(...candidates: [A, B, C, D, E, F, G, H]): FunctionType<SchemaReturnType<A> | SchemaReturnType<B> | SchemaReturnType<C> | SchemaReturnType<D> | SchemaReturnType<E> | SchemaReturnType<F> | SchemaReturnType<G> | SchemaReturnType<H>, MergeSchemaParameters<SchemaParameters<A> | SchemaParameters<B> | SchemaParameters<C> | SchemaParameters<D> | SchemaParameters<E> | SchemaParameters<F> | SchemaParameters<G> | SchemaParameters<H>>>; export declare function merge<A>(...args: [A]): FunctionType<SchemaReturnType<A>, MergeSchemaParameters<SchemaParameters<A>>>; export declare function merge<A, B>(...args: [A, B]): FunctionType<SchemaReturnType<A & B, SchemaResolveType<A> & SchemaResolveType<B>>, MergeSchemaParameters<SchemaParameters<A> & SchemaParameters<B>>>; export declare function merge<A, B, C>(...args: [A, B, C]): FunctionType<SchemaReturnType<A & B & C, SchemaResolveType<A> & SchemaResolveType<B> & SchemaResolveType<C>>, MergeSchemaParameters<SchemaParameters<A> & SchemaParameters<B> & SchemaParameters<C>>>; export declare function merge<A, B, C, D>(...args: [A, B, C, D]): FunctionType<SchemaReturnType<A & B & C & D, SchemaResolveType<A> & SchemaResolveType<B> & SchemaResolveType<C> & SchemaResolveType<D>>, MergeSchemaParameters<SchemaParameters<A> & SchemaParameters<B> & SchemaParameters<C> & SchemaParameters<D>>>; export declare function merge<A, B, C, D, E>(...args: [A, B, C, D, E]): FunctionType<SchemaReturnType<A & B & C & D & E, SchemaResolveType<A> & SchemaResolveType<B> & SchemaResolveType<C> & SchemaResolveType<D> & SchemaResolveType<E>>, MergeSchemaParameters<SchemaParameters<A> & SchemaParameters<B> & SchemaParameters<C> & SchemaParameters<D> & SchemaParameters<E>>>; export declare function merge<A, B, C, D, E, F>(...args: [A, B, C, D, E, F]): FunctionType<SchemaReturnType<A & B & C & D & E & F, SchemaResolveType<A> & SchemaResolveType<B> & SchemaResolveType<C> & SchemaResolveType<D> & SchemaResolveType<E> & SchemaResolveType<F>>, MergeSchemaParameters<SchemaParameters<A> & SchemaParameters<B> & SchemaParameters<C> & SchemaParameters<D> & SchemaParameters<E> & SchemaParameters<F>>>; export declare function optional<F extends FunctionType, R = undefined>(validator: F, defaultValue?: R): FunctionType<ReturnType<F> | R, MergeSchemaParameters<Parameters<F> | [(undefined | null)?]>>; export declare function strictOptional<F extends FunctionType, R = undefined>(validator: F, defaultValue?: R): FunctionType<ReturnType<F> | R, MergeSchemaParameters<Parameters<F> | [undefined?]>>;