src/applications/simple-forms/shared/config/submit-transformer.js
import { transformForSubmit as formsSystemTransformForSubmit } from 'platform/forms-system/src/js/helpers';
const escapedCharacterReplacer = (_key, value) => {
if (typeof value === 'string') {
return value
.replaceAll('"', "'")
.replace(/(?:\r\n|\n\n|\r|\n)/g, '; ')
.replace(/(?:\t|\f|\b)/g, '')
.replace(/\\(?!(f|n|r|t|[u,U][\d,a-fA-F]{4}))/gm, '/');
}
return value;
};
/**
* Example:
* ```
* transformForSubmit(formConfig, form);
* transformForSubmit(formConfig, form, {
* allowPartialAddress: true,
* });
* ```
*
* @param formConfig
* @param form
* @param [options]
*/
export default function transformForSubmit(formConfig, form, options) {
const transformedData = JSON.parse(
formsSystemTransformForSubmit(formConfig, form, options),
);
return JSON.stringify(
{ ...transformedData, formNumber: formConfig.formId },
escapedCharacterReplacer,
);
}