UNPKG

@brizy/media-gallery

Version:
30 lines (29 loc) 1.17 kB
export declare enum Type { valid = "valid", invalid = "invalid", initial = "initial" } export type Valid<T> = { __typeName: Type.valid; value: T; }; export declare const isValid: <T>(v: Value<unknown, unknown, T, unknown>) => v is Valid<T>; export declare const valid: <T>(value: T) => Valid<T>; export type Invalid<E, T> = { __typeName: Type.invalid; value: T; error: E; }; export declare const isInvalid: <E, T2>(v: Value<E, unknown, unknown, T2>) => v is Invalid<E, T2>; export declare function invalid<E>(error: E): <T>(value: T) => Invalid<E, T>; export declare function invalid<E, T>(error: E): (value: T) => Invalid<E, T>; export declare function invalid<E, T>(error: E, value: T): Invalid<E, T>; export type Initial<I, E> = { __typeName: Type.initial; value: I; error: E; }; export declare const isInitial: <E, I>(v: Value<E, I, unknown, unknown>) => v is Initial<I, E>; export declare const initial: <I, E>(value: I, error: E) => Initial<I, E>; export type Value<E, I, T, T2 = T> = Invalid<E, T2> | Valid<T> | Initial<I, E>; export declare const getError: <E>(item: Value<E, unknown, unknown, unknown>) => E | undefined;