@beenotung/tslib
Version:
utils library in Typescript
18 lines (17 loc) • 721 B
TypeScript
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[];