@brizy/media-gallery
Version:
38 lines (37 loc) • 2.17 kB
TypeScript
/**
* Check if value a is identical to to value b
* Note: This is the classic equality by reference,
* but with type guard support
*/
export declare const is: <A extends B, B>(a: A) => (b: B) => b is A;
/**
* Check if a value T matches one of the provided predicates
*
* Used to check current union value
*/
export declare function isOneOf<T, A extends T>(ps: [(v: T) => v is A]): (v: T) => v is A;
export declare function isOneOf<T, A extends T, B extends T>(ps: [(v: T) => v is A, (v: T) => v is B]): (v: T) => v is A | B;
export declare function isOneOf<T, A extends T, B extends T, C extends T>(ps: [(v: T) => v is A, (v: B) => v is B, (v: T) => v is C]): (v: T) => v is A | B | C;
export declare function isOneOf<T, A extends T, B extends T, C extends T, D extends T>(ps: [(v: T) => v is A, (v: B) => v is B, (v: C) => v is C, (v: T) => v is D]): (v: T) => v is A | B | C | D;
export declare function isOneOf<T, A extends T, B extends T, C extends T, D extends T, E extends T>(ps: [(v: T) => v is A, (v: B) => v is B, (v: C) => v is C, (v: D) => v is D, (v: T) => v is E]): (v: T) => v is A | B | C | D | E;
export declare function isOneOf<T, A extends T, B extends T, C extends T, D extends T, E extends T, F extends T>(ps: [(v: T) => v is A, (v: B) => v is B, (v: C) => v is C, (v: D) => v is D, (v: E) => v is E, (v: T) => v is F]): (v: T) => v is A | B | C | D | E | F;
export declare function isOneOf<T, A extends T, B extends T, C extends T, D extends T, E extends T, F extends T, G extends T>(ps: [
(v: T) => v is A,
(v: B) => v is B,
(v: C) => v is C,
(v: D) => v is D,
(v: E) => v is E,
(v: F) => v is F,
(v: T) => v is G
]): (v: T) => v is A | B | C | D | E | F | G;
export declare function isOneOf<T, A extends T, B extends T, C extends T, D extends T, E extends T, F extends T, G extends T, H extends T>(ps: [
(v: T) => v is A,
(v: B) => v is B,
(v: C) => v is C,
(v: D) => v is D,
(v: E) => v is E,
(v: F) => v is F,
(v: G) => v is G,
(v: T) => v is H
]): (v: T) => v is A | B | C | D | E | F | G | H;
export declare function isOneOf<T>(ps: Array<(v: T) => boolean>): (v: T) => boolean;