UNPKG

react-proforma

Version:

React Proforma helps you build simple to complex web forms with ease in React. -- Simplicity where you want it. Flexibility where you need it.

43 lines (42 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function generateStateObject(initState) { var keys = Object.keys(initState); var stateObj = keys.reduce(function (result, key) { if (typeof initState[key] === 'boolean' || typeof initState[key] === 'string') { result.values[key] = initState[key]; } else { result.values[key] = ''; } result.touched[key] = false; result.errors[key] = null; return result; }, { values: {}, touched: {}, errors: {}, isSubmitting: false, isComplete: false, submitCount: 0 }); return stateObj; } exports.generateStateObject = generateStateObject; function validator(name, values, validationObject) { var errors = validationObject[name](values); if (Array.isArray(errors)) { for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) { var error = errors_1[_i]; if (typeof error !== 'string') { throw new Error("The validation object for field with name " + name + " returned an array that contains a non-string value. The returned array of errors must contain only strings."); } } } else if (typeof errors === undefined || typeof errors === null) { return null; } return errors; } exports.validator = validator;