@fable-org/fable-library-js
Version:
Core library used by F# projects compiled with fable.io
28 lines (27 loc) • 853 B
JavaScript
import { compare, physicalHash, nullableEquals, structuralHash } from "./Util.js";
export function HashIdentity_FromFunctions(hash, eq) {
return {
Equals(x, y) {
return eq(x, y);
},
GetHashCode(x_1) {
return hash(x_1) | 0;
},
};
}
export function HashIdentity_Structural() {
return HashIdentity_FromFunctions((obj) => (structuralHash(obj) | 0), nullableEquals);
}
export function HashIdentity_Reference() {
return HashIdentity_FromFunctions((obj) => (physicalHash(obj) | 0), nullableEquals);
}
export function ComparisonIdentity_FromFunction(comparer) {
return {
Compare(x, y) {
return comparer(x, y) | 0;
},
};
}
export function ComparisonIdentity_Structural() {
return ComparisonIdentity_FromFunction((e, e_1) => (compare(e, e_1) | 0));
}