@a11d/equals
Version:
A value equality utility library.
24 lines (23 loc) • 481 B
JavaScript
import { equals } from './symbol.js';
Object[equals] = function (a, b) {
if (a === b) {
return true;
}
if (Object.equals === Object[equals]) {
if (a?.equals) {
return a.equals(b);
}
if (b?.equals) {
return b.equals(a);
}
}
else {
if (a?.[equals]) {
return a[equals](b);
}
if (b?.[equals]) {
return b[equals](a);
}
}
return false;
};