pragmatic-fp-ts
Version:
Opinionated functional programming library with easy use in mind
15 lines (11 loc) • 355 B
text/typescript
import { Comparator, getValue } from "./main.ts";
// creates a comparator from an ordering function
export function comparator<A>(
isInOrder: (a: A, b: A) => boolean
): Comparator<A> {
return (a: A, b: A) => {
const valA = getValue(a);
const valB = getValue(b);
return isInOrder(valA, valB) ? 1 : isInOrder(valB, valA) ? -1 : 0;
};
}