export const useObjectTrack = (object: Ref) => { // state const isNotEqual = ref(false); const { history, reset, clear } = useRefHistory(object, { deep: true, }); // watch watch( () => history.value, (newHistory) => { if (newHistory.length < 2) { isNotEqual.value = false; return; } const initial = newHistory[0].snapshot; const current = newHistory[newHistory.length - 1].snapshot; const hasChanges = Object.keys(initial).some( (key) => JSON.stringify(current[key]) !== JSON.stringify(initial[key]) ); isNotEqual.value = hasChanges; }, { deep: true } ); return { isNotEqual, reset, clear, }; };