@payfit/unity-components
Version:
43 lines (42 loc) • 998 B
JavaScript
import { defaultValidationLogic as e } from "@tanstack/form-core";
//#region src/utils/field-revalidate-logic.ts
var t = {
change: [
"change",
"blur",
"submit"
],
blur: ["blur", "submit"],
submit: ["submit"]
}, n = (n) => {
let { whenPristine: r = "blur", whenDirty: i = "change" } = n, a = !1;
return (n) => {
if (Object.keys(n.validators ?? {}).length === 0) return n.runValidation({
validators: [],
form: n.form
});
let o = n.event.async ? n.validators?.onDynamicAsync : n.validators?.onDynamic;
if (!o) return e(n);
n.event.type === "blur" && (a = !0);
let s = {
fn: o,
cause: "dynamic"
}, c = a ? i : r, l = [];
t[c].includes(n.event.type) && l.push(s);
let u = [];
return e({
...n,
runValidation: (e) => {
u = e.validators;
}
}), l.length === 0 ? n.runValidation({
validators: u,
form: n.form
}) : n.runValidation({
validators: [...u, ...l],
form: n.form
});
};
};
//#endregion
export { n as fieldRevalidateLogic };