fix(bom markers): now handles bom markers correctly

This commit is contained in:
2022-01-03 17:37:44 +01:00
parent ab1c84f41f
commit fd0abaeb47
11 changed files with 26840 additions and 706 deletions

View File

@ -3,6 +3,7 @@ import * as plugins from './smartcsv.plugins';
export interface ICsvConstructorOptions {
headers: boolean;
unquote?: boolean;
removeBomMarkers?: boolean;
}
export class Csv {
@ -59,16 +60,20 @@ export class Csv {
public options: ICsvConstructorOptions = {
headers: true,
unquote: true
unquote: true,
removeBomMarkers: true,
};
constructor(csvStringArg: string, optionsArg: ICsvConstructorOptions) {
this.options = {
...this.options,
...optionsArg
...optionsArg,
};
let csvStringToParse = csvStringArg;
if (this.options.removeBomMarkers) {
csvStringToParse = csvStringToParse.replace(/^\uFEFF/, '');
}
if (this.options.unquote) {
csvStringToParse = csvStringToParse.replace(
/"(.*?)"/gi,