Skip to content

Commit

Permalink
dirty utils
Browse files Browse the repository at this point in the history
  • Loading branch information
SKairinos committed Aug 12, 2024
1 parent 891cb63 commit fbf2b6f
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions src/utils/form.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,25 @@ export function schemaToFieldValidator(
}
}
}

// Checking if individual fields are dirty is not currently supported.
// https://github.com/jaredpalmer/formik/issues/1421
export function getDirty<
Values extends Record<string, any>,
Names extends Array<keyof Values>,
>(
values: Values,
initialValues: Values,
names: Names,
): Record<Names[number], boolean> {
return Object.fromEntries(
names.map(name => [name, isDirty(values, initialValues, name)]),
) as Record<Names[number], boolean>
}

export function isDirty<
Values extends Record<string, any>,
Name extends keyof Values,
>(values: Values, initialValues: Values, name: Name): boolean {
return values[name] !== initialValues[name]
}

0 comments on commit fbf2b6f

Please sign in to comment.