react-bfm
Version:
A basic field / form manager for React using hooks
51 lines (50 loc) • 2.88 kB
JavaScript
;
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);
};