UNPKG

@payfit/unity-components

Version:

43 lines (42 loc) 998 B
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 };