@thi.ng/api
Version:
Common, generic types, interfaces & mixins
31 lines • 750 B
TypeScript
import type { Fn2 } from "./fn.js";
/**
* Generic 2-element comparator function type alias.
*
* @remarks
* Must follow this contract and return:
*
* - negative if `a < b`
* - zero if `a == b`
* - positive if `a > b`
*/
export type Comparator<T> = Fn2<T, T, number>;
/**
* Generic interface to compare value types.
*/
export interface ICompare<T> {
/**
* Compares this value with given value `x`. MUST follow same
* contract as {@link Comparator}.
*
* @remarks
* MUST return 0 if the type also implements `IEquiv` and `equiv`
* returns true for same `x`.
*
* Also see {@link IHash}.
*
* @param x - compare value
*/
compare(x: T): number;
}
//# sourceMappingURL=compare.d.ts.map