UNPKG

nexora

Version:

A lightweight, production-ready JavaScript library for building user interfaces, supporting JSX.

26 lines (25 loc) 741 B
/** * Shallow equal function to compare two objects * @param obj1 - The first object to compare * @param obj2 - The second object to compare * @returns True if the objects are shallowly equal, false otherwise */ export function shallowEqual(obj1, obj2) { if (obj1 === obj2) { return true; } if (typeof obj1 !== 'object' || obj1 === null || typeof obj2 !== 'object' || 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 (!obj2.hasOwnProperty(key) || obj1[key] !== obj2[key]) { return false; } } return true; }