@uwdata/mosaic-core
Version:
Scalable and extensible linked data views.
14 lines (13 loc) • 429 B
text/typescript
export function distinct(a: unknown, b: unknown): boolean {
return a === b ? false
: a instanceof Date && b instanceof Date ? +a !== +b
: Array.isArray(a) && Array.isArray(b) ? distinctArray(a, b)
: true;
}
export function distinctArray(a: unknown[], b: unknown[]): boolean {
if (a.length !== b.length) return true;
for (let i = 0; i < a.length; ++i) {
if (a[i] !== b[i]) return true;
}
return false;
}