UNPKG

@beenotung/tslib

Version:
18 lines (17 loc) 721 B
export type Comparable = number | string; /** * inclusive * */ export declare function isBetween<A extends Comparable>(lowerBound: A, value: A, upperBound: A): boolean; export declare enum CompareResult { Smaller = -1, Equal = 0, Larger = 1 } export declare function compare<A extends Comparable>(a: A, b: A): CompareResult; export type SortKey<K> = { key: K; order: 'asc' | 'desc'; }; export declare function compare_by_keys<T extends object, K extends keyof T = keyof T>(_keys: Array<SortKey<K> | K>): <R extends Record<K, Comparable>>(a: R, b: R) => CompareResult; export declare function sort_by_keys<T extends object, K extends keyof T = keyof T>(array: T[], keys: Array<SortKey<K> | K>): T[];