deep compare 2 objects in ts and return only value that is updated with generics
const getChangedValues = (values, initialValues) => { const compareObjects = (obj1, obj2) => { return Object.entries(obj1).reduce((acc, [key, value]) => { if (typeof value === ‘object’ && value !== null && !Array.isArray(value)) { const nestedChanges = compareObjects(value, obj2[key]); if (Object.keys(nestedChanges).length > 0) { acc[key] = nestedChanges; } } else { if (obj2 && obj2[key] !== value) […]