import { convertToCSV } from "./convertToCsv" import { splitChunks } from "./splitChunks" export const formatDataForRequest = (data: any) => { const sasjsTables = [] let tableCounter = 0 const result: any = {} for (const tableName in data) { tableCounter++ sasjsTables.push(tableName) const csv = convertToCSV(data[tableName]) if (csv === "ERROR: LARGE STRING LENGTH") { throw new Error( "The max length of a string value in SASjs is 32765 characters." ) } // if csv has length more then 16k, send in chunks if (csv.length > 16000) { const csvChunks = splitChunks(csv) // append chunks to form data with same key result[`sasjs${tableCounter}data0`] = csvChunks.length csvChunks.forEach((chunk, index) => { result[`sasjs${tableCounter}data${index + 1}`] = chunk }) } else { result[`sasjs${tableCounter}data`] = csv } } result["sasjs_tables"] = sasjsTables.join(" ") return result }