@mobily/ts-belt
Version:
🔧 Fast, modern, and practical utility library for FP in TypeScript.
29 lines (28 loc) • 1.8 kB
TypeScript
/** Folds a boolean value into a value of a different type, using a function for the `true` and `false` cases. */
export declare function ifElse<A>(value: boolean, truthyFn: () => A, falsyFn: () => A): A;
export declare function ifElse<A>(truthyFn: () => A, falsyFn: () => A): (value: boolean) => A;
/** Negates the given boolean. */
export declare function inverse(value: boolean): boolean;
/** Alias for inverse. */
export declare function not(value: boolean): boolean;
/** Combines two boolean using `AND` → `a && b`. */
export declare function and(b: boolean): (a: boolean) => boolean;
export declare function and(a: boolean, b: boolean): boolean;
/** Combines two boolean using `OR` → `a || b`. */
export declare function or(b: boolean): (a: boolean) => boolean;
export declare function or(a: boolean, b: boolean): boolean;
/** Combines two booleans using `NAND` → `!(a && b)`. */
export declare function nand(b: boolean): (a: boolean) => boolean;
export declare function nand(a: boolean, b: boolean): boolean;
/** Combines two booleans using `NOR` → `!(a || b)`. */
export declare function nor(b: boolean): (a: boolean) => boolean;
export declare function nor(a: boolean, b: boolean): boolean;
/** Combines two booleans using `XOR` → `(!a && b) || (a && !b)`. */
export declare function xor(b: boolean): (a: boolean) => boolean;
export declare function xor(a: boolean, b: boolean): boolean;
/** Combines two booleans using `XNOR` → `!xor(a, b)`. */
export declare function xnor(b: boolean): (a: boolean) => boolean;
export declare function xnor(a: boolean, b: boolean): boolean;
/** Combines two booleans using an implication (`!a || b`). */
export declare function implies(b: boolean): (a: boolean) => boolean;
export declare function implies(a: boolean, b: boolean): boolean;