fix(bom markers): now handles bom markers correctly
This commit is contained in:
@ -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,
|
||||
|
Reference in New Issue
Block a user