omni-tools/src/pages/tools/csv/change-csv-separator/service.ts
2025-04-07 17:39:20 +02:00

31 lines
691 B
TypeScript

import { InitialValuesType } from './types';
import { splitCsv } from '@utils/csv';
export function changeCsvSeparator(
input: string,
options: InitialValuesType
): string {
if (!input) return '';
const rows = splitCsv(
input,
true,
options.commentCharacter,
options.emptyLines,
options.inputSeparator,
options.inputQuoteCharacter
);
return rows
.map((row) => {
return row
.map((cell) => {
if (options.outputQuoteAll) {
return `${options.OutputQuoteCharacter}${cell}${options.OutputQuoteCharacter}`;
}
return cell;
})
.join(options.outputSeparator);
})
.join('\n');
}