function compactFormSubmission(formData) {
// Sanity checks
if (!formData || typeof formData !== 'object') {
console.error("Invalid form data: Must be an object.");
return null;
}
if (Object.keys(formData).length === 0) {
console.warn("Form data is empty.");
return null;
}
// Basic data type validation (can be expanded)
for (const key in formData) {
if (formData.hasOwnProperty(key)) {
const value = formData[key];
if (typeof value === 'string' && value.length > 2000) {
console.warn(`Field '${key}' exceeds 2000 characters. Truncating.`);
formData[key] = value.substring(0, 2000);
}
}
}
// Compact the data (JSON stringify with pretty printing and remove whitespace)
try {
const compactedData = JSON.stringify(formData, null, 2).replace(/\s+/g, ' '); //Remove whitespace
return compactedData;
} catch (error) {
console.error("Error compacting data:", error);
return null;
}
}
Add your comment