/** * Helper function to check if a value has changed compared to the old value. * Uses deep equality comparison for arrays and objects. * * Key behaviors: * - `undefined` = field not provided (returns false) * - `null` = explicit value (returns true if different from oldVal) * - Empty values (`[]`, `{}`, `''`) are valid changes if oldVal differs * * @param newVal - The new value to check * @param oldVal - The old value to compare against * @returns true if the value has changed, false otherwise */ export default function hasChanged(newVal: any, oldVal: any): boolean;