UNPKG

@zohodesk/utils

Version:

DOT Utils Collection

26 lines (20 loc) 601 B
export const deepEqual = (a, b) => { if (a === b) { return true; } if (typeof a === 'object' && typeof b === 'object' && a !== null && b !== null) { if (Array.isArray(a) !== Array.isArray(b)) { return false; } const keysA = Object.keys(a); const keysB = Object.keys(b); if (keysA.length !== keysB.length) { return false; } return keysA.every(key => deepEqual(a[key], b[key])); } if (typeof a === 'function' && typeof b === 'function') { return a.toString().replace(/\s+/g, '') === b.toString().replace(/\s+/g, ''); } return false; };