react-bfm
Version:
A basic field / form manager for React using hooks
62 lines (61 loc) • 3.12 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 = 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;
}, {});
};
exports.getNamespaceKeyValues = getNamespaceKeyValues;
var getNamespaceKeyIsEvery = function getNamespaceKeyIsEvery(namespace, key) {
var namespaceState = (0, _state.getNamespaceState)(namespace);
return namespaceState && Object.values(namespaceState).every(function (fieldState) {
return fieldState[key] || false;
});
};
exports.getNamespaceKeyIsEvery = getNamespaceKeyIsEvery;
var getNamespaceKeyIsSome = function getNamespaceKeyIsSome(namespace, key) {
var namespaceState = (0, _state.getNamespaceState)(namespace);
return namespaceState && Object.values(namespaceState).some(function (fieldState) {
return fieldState[key] || false;
});
};
exports.getNamespaceKeyIsSome = getNamespaceKeyIsSome;
var getNamespaceInitialValues = function getNamespaceInitialValues(namespace) {
return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_INITIAL_VALUE);
};
exports.getNamespaceInitialValues = getNamespaceInitialValues;
var getNamespaceErrors = function getNamespaceErrors(namespace) {
return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_ERROR);
};
exports.getNamespaceErrors = getNamespaceErrors;
var getNamespaceValues = function getNamespaceValues(namespace) {
return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_VALUE);
};
exports.getNamespaceValues = getNamespaceValues;
var getNamespaceValuesOnFocus = function getNamespaceValuesOnFocus(namespace) {
return getNamespaceKeyValues(namespace, _fieldKeys.FIELD_KEY_VALUE_ON_FOCUS);
};
exports.getNamespaceValuesOnFocus = getNamespaceValuesOnFocus;
var hasNamespaceFocus = function hasNamespaceFocus(namespace) {
return getNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_FOCUS);
};
exports.hasNamespaceFocus = hasNamespaceFocus;
var isNamespaceDirty = function isNamespaceDirty(namespace) {
return getNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_DIRTY);
};
exports.isNamespaceDirty = isNamespaceDirty;
var isNamespaceTouched = function isNamespaceTouched(namespace) {
return getNamespaceKeyIsSome(namespace, _fieldKeys.FIELD_KEY_TOUCHED);
};
exports.isNamespaceTouched = isNamespaceTouched;
var isNamespaceValid = function isNamespaceValid(namespace) {
return getNamespaceKeyIsEvery(namespace, _fieldKeys.FIELD_KEY_VALID);
};
exports.isNamespaceValid = isNamespaceValid;