UNPKG

@mobily/ts-belt

Version:

🔧 Fast, modern, and practical utility library for FP in TypeScript.

86 lines (72 loc) • 2.48 kB
// @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;