UNPKG

@de-formed/node-validations

Version:

Modular, Function-driven Validations

57 lines 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Validation = void 0; const base_1 = require("@de-formed/base"); const useCache = (initial) => { let state = initial; const setValidationState = (data) => { state = data; return data; }; const getValidationState = () => state; return [getValidationState, setValidationState]; }; function Validation(validationSchema) { const [getValidationState, setValidationState] = useCache((0, base_1.createValidationState)(validationSchema)); const resetValidationState = (0, base_1.createResetValidationState)(validationSchema, setValidationState); const validate = (0, base_1.createValidate)(validationSchema, getValidationState, setValidationState); const validateAll = (0, base_1.createValidateAll)(validationSchema, getValidationState, setValidationState); const validateAllIfTrue = (0, base_1.createValidateAllIfTrue)(validationSchema, getValidationState, setValidationState); const validateIfTrue = (0, base_1.createValidateIfTrue)(validationSchema, getValidationState, setValidationState); const validateOnBlur = (0, base_1.createValidateOnBlur)(validationSchema, getValidationState, setValidationState); const validateOnChange = (0, base_1.createValidateOnChange)(validationSchema, getValidationState, setValidationState); const getError = (0, base_1.createGetError)(getValidationState); const getAllErrors = (0, base_1.createGetAllErrors)(getValidationState); const getFieldValid = (0, base_1.createGetFieldValid)(getValidationState); const validationObject = { getAllErrors, getError, getFieldValid, isValid: true, resetValidationState, setValidationState, validate, validateAll, validateAllIfTrue, validateIfTrue, validateOnBlur, validateOnChange, validationErrors: [], validationState: {}, }; Object.defineProperty(validationObject, 'isValid', { get: () => (0, base_1.calculateIsValid)(getValidationState), enumerable: true, }); Object.defineProperty(validationObject, 'validationState', { get: getValidationState, enumerable: true, }); Object.defineProperty(validationObject, 'validationErrors', { get: () => (0, base_1.gatherValidationErrors)(getValidationState), enumerable: true, }); return validationObject; } exports.Validation = Validation; //# sourceMappingURL=index.js.map