Skip to main content
Module

x/doc/helpers/deepEqual.ts

testing-based documentation module for Deno
Latest
File
// source : https://dmitripavlutin.com/how-to-compare-objects-in-javascript/
export function deepEqual(object1: any, object2: any): boolean { const keys1 = Object.keys(object1); const keys2 = Object.keys(object2);
if (keys1.length !== keys2.length) { return false; }
for (const key of keys1) { const val1 = object1[key]; const val2 = object2[key]; const areObjects = isObject(val1) && isObject(val2); if ( areObjects && !deepEqual(val1, val2) || !areObjects && val1 !== val2 ) { return false; } }
return true;}
function isObject(object: any): boolean { return object != null && typeof object === 'object';}