@mobily/ts-belt
Version:
🔧 Fast, modern, and practical utility library for FP in TypeScript.
86 lines (72 loc) • 2.48 kB
Flow
// @flow
/**
* Subtracts `1` from the given number.
*/
declare export function pred(n: number): number;
/**
* Adds `1` to the given number.
*/
declare export function succ(n: number): number;
/**
* Returns the sum of two numbers.
*/
declare export function add(b: number): (a: number) => number;
declare export function add(a: number, b: number): number;
/**
* Returns the difference of two numbers.
*/
declare export function subtract(b: number): (a: number) => number;
declare export function subtract(a: number, b: number): number;
/**
* Multiplies two numbers.
*/
declare export function multiply(b: number): (a: number) => number;
declare export function multiply(a: number, b: number): number;
/**
* Divides two numbers.
*/
declare export function divide(b: number): (a: number) => number;
declare export function divide(a: number, b: number): number;
/**
* Returns the remainder of a number division.
*/
declare export function modulo(b: number): (a: number) => number;
declare export function modulo(a: number, b: number): number;
/**
* Returns the quotient and remainder of a number division.
*/
declare export function divideWithModulo(
b: number
): (a: number) => [number, number];
declare export function divideWithModulo(
a: number,
b: number
): [number, number];
/**
* Returns `true` if the first argument is greater than second argument. Otherwise it returns `false`
*/
declare export function gt(b: number): (a: number) => boolean;
declare export function gt(a: number, b: number): boolean;
/**
* Returns `true` if the first argument is greater or equal than second argument. Otherwise it returns `false`
*/
declare export function gte(b: number): (a: number) => boolean;
declare export function gte(a: number, b: number): boolean;
/**
* Returns `true` if the first argument is lower than second argument. Otherwise it returns `false`
*/
declare export function lt(b: number): (a: number) => boolean;
declare export function lt(a: number, b: number): boolean;
/**
* Returns `true` if the first argument is lower or equal than second argument. Otherwise it returns `false`
*/
declare export function lte(b: number): (a: number) => boolean;
declare export function lte(a: number, b: number): boolean;
/**
* Clamps a value between an upper and lower bound
*/
declare export function clamp(
min: number,
max: number
): (num: number) => number;
declare export function clamp(num: number, min: number, max: number): number;