UNPKG

react-bfm

Version:

A basic field / form manager for React using hooks

51 lines (50 loc) 2.88 kB
"use strict"; exports.__esModule = true; exports.isNamespaceValid = exports.isNamespaceTouched = exports.isNamespaceDirty = exports.hasNamespaceFocus = exports.getNamespaceValuesOnFocus = exports.getNamespaceValues = exports.getNamespaceKeyValues = exports.getNamespaceKeyIsSome = exports.getNamespaceKeyIsEvery = exports.getNamespaceInitialValues = exports.getNamespaceErrors = void 0; var _state = require("../state"); var _fieldKeys = require("../constants/field-keys"); var getNamespaceKeyValues = exports.getNamespaceKeyValues = function getNamespaceKeyValues(namespace, key) { var namespaceState = (0, _state.getNamespaceState)(namespace); return namespaceState && Object.entries(namespaceState).reduce(function (values, _ref) { var fieldName = _ref[0], fieldState = _ref[1]; values[fieldName] = fieldState[key]; return values; }, {}); }; var getNamespaceKeyIsEvery = exports.getNamespaceKeyIsEvery = function getNamespaceKeyIsEvery(namespace, key) { var namespaceState = (0, _state.getNamespaceState)(namespace); return namespaceState && Object.values(namespaceState).every(function (fieldState) { return fieldState[key] || false; }); }; var getNamespaceKeyIsSome = exports.getNamespaceKeyIsSome = function getNamespaceKeyIsSome(namespace, key) { var namespaceState = (0, _state.getNamespaceState)(namespace); return namespaceState && Object.values(namespaceState).some(function (fieldState) { return fieldState[key] || false; }); }; var getNamespaceInitialValues = exports.getNamespaceInitialValues = function getNamespaceInitialValues(namespace) { return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_INITIAL_VALUE); }; var getNamespaceErrors = exports.getNamespaceErrors = function getNamespaceErrors(namespace) { return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_ERROR); }; var getNamespaceValues = exports.getNamespaceValues = function getNamespaceValues(namespace) { return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_VALUE); }; var getNamespaceValuesOnFocus = exports.getNamespaceValuesOnFocus = function getNamespaceValuesOnFocus(namespace) { return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_VALUE_ON_FOCUS); }; var hasNamespaceFocus = exports.hasNamespaceFocus = function hasNamespaceFocus(namespace) { return getNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_FOCUS); }; var isNamespaceDirty = exports.isNamespaceDirty = function isNamespaceDirty(namespace) { return getNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_DIRTY); }; var isNamespaceTouched = exports.isNamespaceTouched = function isNamespaceTouched(namespace) { return getNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_TOUCHED); }; var isNamespaceValid = exports.isNamespaceValid = function isNamespaceValid(namespace) { return getNamespaceKeyIsEvery(namespace, _fieldKeys.FIELD_KEY_VALID); };