kwikid-components-react
Version:
KwikID's Component Library in React
635 lines (634 loc) • 27.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Converter = void 0;
var _kwikidToolkit = require("kwikid-toolkit");
var _formViewFields = require("../definitions/form-view.fields.definition");
var _configConverter = require("./config-converter.constants");
var _configConverter2 = require("./config-converter.helper");
class Converter {
updateFormConfigMiscellaneous(formConfig, args) {
if ((0, _kwikidToolkit.checkObjectKeyExists)(args, "formsListLength")) {
formConfig = (0, _kwikidToolkit.setValueToObjectPath)(formConfig, "formsListLength", args.formsListLength);
}
return formConfig;
}
updateFormConfigFromUserConfig(formConfig, userConfig) {
if ((0, _kwikidToolkit.isNotEmptyValue)(userConfig)) {
if ((0, _kwikidToolkit.checkObjectKeyExists)(userConfig, "theme")) {
if ((0, _kwikidToolkit.checkObjectKeyExists)(userConfig.theme, "clientLogo")) {
(0, _kwikidToolkit.setValueToObjectPath)(formConfig, "properties.header.logo.src", userConfig.theme.clientLogo);
}
}
}
return formConfig;
}
updateFormConfigProperties(formConfig) {
var _ref, _formConfig$title;
const formViewProperties = {
header: {
logo: {
src: "",
alt: "Logo",
hidden: false,
styles: ""
},
backButton: {
mode: "TABBED",
bypassConfirmation: false,
hidden: true
},
title: {
hidden: false,
label: (_ref = (_formConfig$title = formConfig === null || formConfig === void 0 ? void 0 : formConfig.title) !== null && _formConfig$title !== void 0 ? _formConfig$title : formConfig === null || formConfig === void 0 ? void 0 : formConfig.props.title) !== null && _ref !== void 0 ? _ref : "Form",
styles: ""
},
steps: {
hidden: false,
styles: ""
}
},
main: {
styles: ""
},
footer: {
viewFormsButton: {
bypassConfirmation: false,
hidden: false,
label: "View Forms"
},
saveButton: {
hidden: false,
label: "Save"
}
},
isUnsavedDataAlertEnabled: false
};
if ((0, _kwikidToolkit.checkObjectKeyExists)(formConfig, "properties")) {
formConfig.properties = (0, _kwikidToolkit.getObjectDeepCopy)((0, _kwikidToolkit.mergeObjects)(formViewProperties, formConfig.properties));
} else {
formConfig.properties = formViewProperties;
}
return formConfig;
}
convertFormConfig(formConfig) {
const formatOnFieldType = field => {
const updateFormFieldProperties = field => {
if ((0, _kwikidToolkit.checkObjectKeyExists)(_configConverter.FIELD_PROPERTIES, field.type)) {
field.properties = (0, _kwikidToolkit.mergeObjects)((0, _kwikidToolkit.getObjectDeepCopy)(_configConverter.FIELD_PROPERTIES[field.type]), field.properties);
}
return field;
};
const updateFormFieldStyles = field => {
if ((0, _kwikidToolkit.checkObjectKeyExists)(_configConverter.FIELD_STYLES, field.type)) {
field.styles = (0, _kwikidToolkit.mergeObjects)((0, _kwikidToolkit.getObjectDeepCopy)(_configConverter.FIELD_STYLES[field.type]), field.styles);
}
return field;
};
const formatFieldTypeHtml = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, false);
return field;
};
const formatFieldTypeTitle = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, false);
return field;
};
const formatFieldTypeButton = field => {
field = (0, _configConverter2.setMissingFieldKeyValue)(field, "hidden", false);
field = (0, _configConverter2.setFieldAsFormElement)(field, false);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeText = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
if ((0, _kwikidToolkit.checkObjectKeyExists)(field.properties, "case")) {
field.properties.textCase = field.properties.case;
}
return field;
};
const formatFieldTypePassword = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeEmail = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeStarRating = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeTextarea = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
if ((0, _kwikidToolkit.checkObjectKeyExists)(field.properties, "case")) {
field.properties.textCase = field.properties.case;
}
return field;
};
const formatFieldTypeCheckbox = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeNumber = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
if ((0, _kwikidToolkit.checkObjectKeyExists)(field, "key")) {
if (field.key === "aadhaar_number") {
field = (0, _configConverter2.setFieldKeyValue)(field, "type", "aadhaar_number");
}
if (field.key === "contact_number") {
field = (0, _configConverter2.setFieldKeyValue)(field, "type", "phone");
}
if (field.type === "phone" || field.type === "number") {
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
}
}
return field;
};
const formatFieldTypeImage = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeDateTime = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field.properties = (0, _kwikidToolkit.getObjectDeepCopy)((0, _kwikidToolkit.mergeObjects)((0, _kwikidToolkit.getObjectDeepCopy)(_configConverter.FIELD_PROPERTIES[field.type]), {
max: (0, _configConverter2.getMaxDate)(field),
min: (0, _configConverter2.getMinDate)(field)
}, field.properties));
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeDate = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field.properties = (0, _kwikidToolkit.getObjectDeepCopy)((0, _kwikidToolkit.mergeObjects)((0, _kwikidToolkit.getObjectDeepCopy)(_configConverter.FIELD_PROPERTIES[field.type]), {
max: (0, _configConverter2.getMaxDate)(field),
min: (0, _configConverter2.getMinDate)(field)
}, field.properties));
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeTime = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field.properties = (0, _kwikidToolkit.getObjectDeepCopy)((0, _kwikidToolkit.mergeObjects)((0, _kwikidToolkit.getObjectDeepCopy)(_configConverter.FIELD_PROPERTIES[field.type]), {
max: (0, _configConverter2.getMaxDate)(field),
min: (0, _configConverter2.getMinDate)(field)
}, field.properties));
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypePhone = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeRadio = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
field.options = field.options.map(x => {
if (typeof x === "string" || typeof x === "number") {
return {
label: x,
disabled: false,
description: ""
};
}
if ((0, _kwikidToolkit.checkObjectKeyExists)(x, "label") && (0, _kwikidToolkit.checkObjectKeyExists)(x, "disabled") && (0, _kwikidToolkit.checkObjectKeyExists)(x, "description")) {
return x;
}
if (!(0, _kwikidToolkit.checkObjectKeyExists)(x, "disabled")) {
x = {
...x,
disabled: false
};
}
if (!(0, _kwikidToolkit.checkObjectKeyExists)(x, "description")) {
x = {
...x,
description: false
};
}
return x;
});
return field;
};
const formatFieldTypeSlider = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeSelect = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
if ((0, _kwikidToolkit.checkObjectKeyExists)(field.properties, "searchable")) {
field.properties.isSearchable = field.properties.searchable;
}
return field;
};
const formatFieldTypeMultiSelect = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
if ((0, _kwikidToolkit.checkObjectKeyExists)(field.properties, "searchable")) {
field.properties.isSearchable = field.properties.searchable;
}
return field;
};
const formatFieldTypeApi = field => {
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
if (!(0, _kwikidToolkit.checkObjectKeyExists)(field, "showLoader")) {
field = (0, _configConverter2.setFieldKeyValue)(field, "showLoader", false);
}
if (!(0, _kwikidToolkit.checkObjectKeyExists)(field, "api")) {
const fieldApiDefaults = {
url: "",
request: {},
response: {},
status: {
value: "default",
labels: {
default: "Call API",
loading: "Call API",
retry: "Retry API",
success: "API Success",
failed: "API Failed"
}
}
};
field.api = (0, _kwikidToolkit.getObjectDeepCopy)((0, _kwikidToolkit.mergeObjects)(fieldApiDefaults, fieldApiDefaults));
}
if (!(0, _kwikidToolkit.checkObjectKeyExists)(field.api, "request") && !(0, _kwikidToolkit.checkObjectKeyExists)(field.api, "entrypoint")) {
const apiEntrypoint = {
triggers: ["ON_API_CALL"],
rules: [],
actions: [{
id: "1",
key: "API_CALL",
condition: "true",
props: {
fieldKey: field.key,
apiKey: field.api.endpoints[0].apiKey
}
}]
};
field.entrypoint = (0, _kwikidToolkit.getObjectDeepCopy)((0, _kwikidToolkit.mergeObjects)(apiEntrypoint, field.api));
}
return field;
};
const formatFieldTypeOtp = field => {
var _field$properties$otp, _field, _field$properties;
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldStyles(field);
field.properties = (0, _kwikidToolkit.getObjectDeepCopy)((0, _kwikidToolkit.mergeObjects)((0, _kwikidToolkit.getObjectDeepCopy)(_configConverter.FIELD_PROPERTIES[field.type]), {
mask: new Array((_field$properties$otp = (_field = field) === null || _field === void 0 ? void 0 : (_field$properties = _field.properties) === null || _field$properties === void 0 ? void 0 : _field$properties.otpLength) !== null && _field$properties$otp !== void 0 ? _field$properties$otp : 4).fill("#").join(" ")
}, field.properties));
return field;
};
const formatFieldTypeAadhaarNumber = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeFile = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
const formatFieldTypeCapture = field => {
field = (0, _configConverter2.setFieldKeyHidden)(field);
field = (0, _configConverter2.setFieldAsFormElement)(field, true);
field = updateFormFieldProperties(field);
field = updateFormFieldStyles(field);
return field;
};
switch (field.type) {
case _formViewFields.EFieldType.HTML:
field = formatFieldTypeHtml(field);
break;
case _formViewFields.EFieldType.TITLE:
field = formatFieldTypeTitle(field);
break;
case _formViewFields.EFieldType.BUTTON:
field = formatFieldTypeButton(field);
break;
case _formViewFields.EFieldType.TEXT:
field = formatFieldTypeText(field);
break;
case _formViewFields.EFieldType.PASSWORD:
field = formatFieldTypePassword(field);
break;
case _formViewFields.EFieldType.EMAIL:
field = formatFieldTypeEmail(field);
break;
case _formViewFields.EFieldType.TEXTAREA:
field = formatFieldTypeTextarea(field);
break;
case _formViewFields.EFieldType.CHECKBOX:
field = formatFieldTypeCheckbox(field);
break;
case _formViewFields.EFieldType.NUMBER:
field = formatFieldTypeNumber(field);
break;
case _formViewFields.EFieldType.PREVIEW_IMAGE:
field = (0, _configConverter2.setFieldKeyValue)(field, "type", "image");
field = formatFieldTypeImage(field);
break;
case _formViewFields.EFieldType.IMAGE:
field = formatFieldTypeImage(field);
break;
case _formViewFields.EFieldType.DATETIME:
field = formatFieldTypeDateTime(field);
break;
case _formViewFields.EFieldType.DATE:
field = formatFieldTypeDate(field);
break;
case _formViewFields.EFieldType.TIME:
field = formatFieldTypeTime(field);
break;
case _formViewFields.EFieldType.PHONE:
field = formatFieldTypePhone(field);
break;
case _formViewFields.EFieldType.RADIO:
field = formatFieldTypeRadio(field);
break;
case _formViewFields.EFieldType.SLIDER:
field = formatFieldTypeSlider(field);
break;
case "search-text":
field = (0, _configConverter2.setFieldKeyValue)(field, "type", "select");
field = formatFieldTypeSelect(field);
break;
case _formViewFields.EFieldType.DROPDOWN_WITH_SEARCH:
field = (0, _configConverter2.setFieldKeyValue)(field, "type", "select");
field = formatFieldTypeSelect(field);
break;
case _formViewFields.EFieldType.SELECT:
field = formatFieldTypeSelect(field);
break;
case _formViewFields.EFieldType.MULTISELECT:
field = formatFieldTypeMultiSelect(field);
break;
case _formViewFields.EFieldType.API_CALL:
field = (0, _configConverter2.setFieldKeyValue)(field, "type", "api");
field = formatFieldTypeApi(field);
break;
case _formViewFields.EFieldType.API:
field = formatFieldTypeApi(field);
break;
case _formViewFields.EFieldType.OTP:
field = formatFieldTypeOtp(field);
break;
case _formViewFields.EFieldType.AADHAAR_NUMBER:
field = formatFieldTypeAadhaarNumber(field);
break;
case _formViewFields.EFieldType.FILE:
field = formatFieldTypeFile(field);
break;
case _formViewFields.EFieldType.CAPTURE:
field = formatFieldTypeCapture(field);
break;
case _formViewFields.EFieldType.STAR_RATING:
field = formatFieldTypeStarRating(field);
break;
default:
break;
}
return field;
};
const updateFieldValidators = field => {
if (field.isFormElement) {
var _field$validators, _field$validators2, _field$validators3, _field$validators4, _field$validators5;
const validators = (0, _kwikidToolkit.checkObjectKeyExists)(field, "validators") ? field.validators : {};
field = (0, _configConverter2.setMissingFieldKeyValue)(field, "validators", {});
field = (0, _configConverter2.setFieldKeyValue)(field, "validators", {
...field.validators,
min: (0, _kwikidToolkit.checkObjectKeyExists)(validators, "min") ? (0, _kwikidToolkit.isNotEmptyValue)(validators.min) ? Number(validators.min) : null : (0, _kwikidToolkit.checkObjectKeyExists)(field, "min") ? Number(field.min) : null,
max: (0, _kwikidToolkit.checkObjectKeyExists)(validators, "max") ? (0, _kwikidToolkit.isNotEmptyValue)(validators.max) ? Number(validators.max) : null : (0, _kwikidToolkit.checkObjectKeyExists)(field, "max") ? Number(field.max) : null,
required: (0, _kwikidToolkit.checkObjectKeyExists)(validators, "required") ? Boolean(validators.required) : (0, _kwikidToolkit.checkObjectKeyExists)(field, "required") ? Boolean(field.required) : false,
minLength: (0, _kwikidToolkit.checkObjectKeyExists)(validators, "minLength") ? (0, _kwikidToolkit.isNotEmptyValue)(validators.minLength) ? Number(validators.minLength) : null : (0, _kwikidToolkit.checkObjectKeyExists)(field, "minLength") ? Number(field.minLength) : null,
maxLength: (0, _kwikidToolkit.checkObjectKeyExists)(validators, "maxLength") ? (0, _kwikidToolkit.isNotEmptyValue)(validators.maxLength) ? Number(validators.maxLength) : null : (0, _kwikidToolkit.checkObjectKeyExists)(field, "length") ? Number(field.length) : (0, _kwikidToolkit.checkObjectKeyExists)(field, "maxLength") ? Number(field.maxLength) : null,
pattern: (0, _kwikidToolkit.checkObjectKeyExists)(validators, "pattern") ? (0, _kwikidToolkit.isNotEmptyValue)(validators.pattern) ? validators.pattern : undefined : (0, _kwikidToolkit.checkObjectKeyExists)(field, "pattern") ? {
key: "CUSTOM",
pattern: String(field.pattern)
} : (0, _kwikidToolkit.checkObjectKeyExists)(field, "regex") ? {
key: "CUSTOM",
pattern: String(field.regex)
} : undefined
});
delete field.min;
delete field.max;
delete field.required;
delete field.minLength;
delete field.length;
delete field.maxLength;
delete field.pattern;
delete field.regex;
switch (field.type) {
case _formViewFields.EFieldType.TEXT:
delete field.validators.min;
delete field.validators.max;
break;
case _formViewFields.EFieldType.CHECKBOX:
delete field.validators.min;
delete field.validators.max;
break;
case _formViewFields.EFieldType.PREVIEW_IMAGE:
delete field.validators.min;
delete field.validators.max;
delete field.validators.minLength;
delete field.validators.maxLength;
break;
case _formViewFields.EFieldType.FILE:
delete field.validators.min;
delete field.validators.max;
delete field.validators.minLength;
delete field.validators.maxLength;
delete field.validators.pattern;
break;
case _formViewFields.EFieldType.CAPTURE:
delete field.validators.min;
delete field.validators.max;
delete field.validators.minLength;
delete field.validators.maxLength;
delete field.validators.pattern;
break;
default:
break;
}
if ((0, _kwikidToolkit.isEmptyValue)((_field$validators = field.validators) === null || _field$validators === void 0 ? void 0 : _field$validators.min)) {
delete field.validators.min;
}
if ((0, _kwikidToolkit.isEmptyValue)((_field$validators2 = field.validators) === null || _field$validators2 === void 0 ? void 0 : _field$validators2.max)) {
delete field.validators.min;
}
if ((0, _kwikidToolkit.isEmptyValue)((_field$validators3 = field.validators) === null || _field$validators3 === void 0 ? void 0 : _field$validators3.minLength)) {
delete field.validators.minLength;
}
if ((0, _kwikidToolkit.isEmptyValue)((_field$validators4 = field.validators) === null || _field$validators4 === void 0 ? void 0 : _field$validators4.maxLength)) {
delete field.validators.maxLength;
}
if ((0, _kwikidToolkit.isEmptyValue)((_field$validators5 = field.validators) === null || _field$validators5 === void 0 ? void 0 : _field$validators5.pattern)) {
delete field.validators.pattern;
}
field.focus = false;
field.invalid = false;
}
return field;
};
const updateFieldDefaultValue = field => {
if (field.isFormElement) {
if ((0, _kwikidToolkit.checkObjectKeyExists)(field, "defaultValue")) {
return field;
}
if ((0, _kwikidToolkit.checkObjectPathExists)(field, "default.value.sources")) {
return field;
}
if (!(0, _kwikidToolkit.checkObjectPathExists)(field, "default.value.sources")) {
const defaultValue = {
is_found: false,
value: "",
sources: [{
key: "OBJECT",
props: {
object: {
key: "FORM_DATA",
path: `$.${field.key}`
}
},
value: "",
validation: {
is_valid: false,
triggers: ["ON_INIT"],
rules: [],
actions: [{
id: "1",
key: "SET_FIELD_DEFAULT_VALUE",
condition: "1",
props: {
value: {
source: {
key: "OBJECT",
props: {
object: {
key: "FORM_DATA",
path: `$.${field.key}`
}
}
}
}
}
}]
}
}]
};
field = (0, _kwikidToolkit.setValueToObjectPath)(field, "default.value", defaultValue);
return field;
}
delete field.defaultVal;
delete field.defaultValue;
}
return field;
};
const updateFieldDisability = field => {
field = (0, _kwikidToolkit.setMissingKeyValue)(field, "disabled", false);
return field;
};
const updateFieldMessages = field => {
if (field.isFormElement) {
field = (0, _configConverter2.setMissingFieldKeyValue)(field, "messages", []);
}
return field;
};
const updateFieldResetButton = field => {
if (field.isFormElement) {
if ((0, _kwikidToolkit.checkObjectKeyExists)(field, "action") && field.action === "reset" && (0, _kwikidToolkit.checkObjectKeyExists)(field, "fields")) {
field = (0, _configConverter2.setFieldKeyValue)(field, "reset", {
fields: field.fields
});
}
}
return field;
};
const setFormFields = (formConfig, fields) => {
if ((0, _kwikidToolkit.checkObjectKeyExists)(formConfig, "multiForm")) {
formConfig.multiForm.fields = fields;
} else {
formConfig.fields = fields;
}
return formConfig;
};
const setFormFieldGroups = (formConfig, groups) => {
formConfig.fieldGroups = groups;
return formConfig;
};
const updateFormFieldGroups = (fieldGroups, field) => {
if ((0, _kwikidToolkit.checkObjectKeyExists)(field, "groupKey")) {
if ((0, _kwikidToolkit.checkObjectKeyExists)(fieldGroups, field.groupKey)) {
fieldGroups[field.groupKey].push(field.key);
} else {
fieldGroups[field.groupKey] = [field.key];
}
}
return fieldGroups;
};
const fields = (0, _configConverter2.getFormFields)(formConfig);
let fieldGroups = {};
for (let field of fields) {
field = formatOnFieldType(field);
field = updateFieldDisability(field);
fieldGroups = updateFormFieldGroups(fieldGroups, field);
field = updateFieldDefaultValue(field);
field = updateFieldValidators(field);
field = updateFieldResetButton(field);
field = updateFieldMessages(field);
}
formConfig = setFormFieldGroups(formConfig, fieldGroups);
formConfig = setFormFields(formConfig, fields);
return formConfig;
}
}
exports.Converter = Converter;