UNPKG

@api3/contracts

Version:

Contracts through which API3 services are delivered

30 lines 1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deepEqual = deepEqual; // This could be done with something like lodash's deepEqual, but in order // to try to reduce dependencies, it has purposefully not been included. // If requirements change and a library is added that has some kind of // deepEqual function available, that should probably be used instead. function deepEqual(obj1, obj2) { 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)) { return false; } if (!deepEqual(obj1[key], obj2[key])) { return false; } } return true; } //# sourceMappingURL=deep-equal.js.map