UNPKG

@degjs/form-validation

Version:

A modular form validation plugin, free of third-party dependencies and built on top of native HTML5 validation.

51 lines (40 loc) 842 B
const state = () => { const defaultState = []; let state = [...defaultState]; const get = () => { return state; } const getField = (id) => { return state.find(item => item.id === id); } const addField = (obj) => { if (!stateItemExists(obj)) { state.push(obj); } } const addFieldVals = (stateObj, addObj) => { if (stateItemExists(stateObj)) { for (let key in addObj) { stateObj[key] = addObj[key]; } } } const removeField = (id) => { state = state.filter(field => field.id !== id); } const stateItemExists = (obj) => { return state.some(item => item.id === obj.id); } const reset = () => { state = [...defaultState]; } return { get: get, getField: getField, addField: addField, removeField: removeField, addFieldVals: addFieldVals, reset: reset }; } export default state;