@undermuz/use-form
Version:
React library for build forms
64 lines (62 loc) • 2.14 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/useForm/useFormConfigBySettings.ts
var useFormConfigBySettings_exports = {};
__export(useFormConfigBySettings_exports, {
useFormConfigBySettings: () => useFormConfigBySettings
});
module.exports = __toCommonJS(useFormConfigBySettings_exports);
var import_react = require("react");
var useFormConfigBySettings = (props) => {
return (0, import_react.useMemo)(() => {
const _config = {
initialValues: props.value ? props.value : {},
valueTests: [],
fields: {},
...props.options || {}
};
Object.keys(props.fields).forEach((fieldName) => {
var _a;
const _field = props.fields[fieldName];
let field;
if (typeof _field === "string") {
field = {
label: _field,
initialValue: void 0,
rules: []
};
} else {
field = _field;
}
_config.fields[fieldName] = field.label || fieldName;
if (!props.value)
_config.initialValues[fieldName] = field.initialValue;
if ((_a = field.rules) == null ? void 0 : _a.length) {
field.rules.forEach((rule) => {
_config.valueTests.push([[fieldName], ...rule]);
});
}
});
return _config;
}, []);
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
useFormConfigBySettings
});