src/utils.ts (24 lines of code) (raw):
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
export const deepEqualCheck = (obj1: any, obj2: any): boolean => {
if (obj1 === obj2) {
return true
}
if (
typeof obj1 !== 'object' ||
typeof obj2 !== 'object' ||
obj1 === null ||
obj2 === null
) {
return false
}
const keys1 = Object.keys(obj1)
const keys2 = Object.keys(obj2)
if (keys1.length !== keys2.length) {
return false
}
for (const key of keys1) {
if (!keys2.includes(key) || !deepEqualCheck(obj1[key], obj2[key])) {
return false
}
}
return true
}