VYPR
Moderate severityNVD Advisory· Published Sep 24, 2025· Updated Sep 24, 2025

CVE-2025-57350

CVE-2025-57350

Description

The csvtojson package, a tool for converting CSV data to JSON with customizable parsing capabilities, contains a prototype pollution vulnerability in versions prior to 2.0.10. This issue arises due to insufficient sanitization of nested header names during the parsing process in the parser_jsonarray component. When processing CSV input containing specially crafted header fields that reference prototype chains (e.g., using __proto__ syntax), the application may unintentionally modify properties of the base Object prototype. This vulnerability can lead to denial of service conditions or unexpected behavior in applications relying on unmodified prototype chains, particularly when untrusted CSV data is processed. The flaw does not require user interaction beyond providing a maliciously constructed CSV file.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

The csvtojson package before 2.0.10 has a prototype pollution vulnerability via crafted CSV headers, leading to denial of service or unexpected behavior.

Vulnerability

Overview

The csvtojson package, a Node.js library for converting CSV data to JSON, contains a prototype pollution vulnerability in versions prior to 2.0.10. The issue resides in the parser_jsonarray component, which insufficiently sanitizes nested header names during parsing. When a CSV file includes specially crafted header fields that reference prototype chains (e.g., using `__proto syntax), the application may unintentionally modify properties of the base Object prototype [1][2].

Exploitation

An attacker can exploit this vulnerability by providing a maliciously constructed CSV file to an application that uses csvtojson to parse untrusted CSV data. No user interaction beyond supplying the file is required. The attack surface includes any application that processes CSV input from untrusted sources, such as file uploads or data ingestion pipelines [2].

Impact

Successful exploitation can lead to denial of service conditions or unexpected behavior in applications that rely on unmodified prototype chains. In JavaScript, polluting the Object prototype can cause all objects to inherit modified properties, potentially leading to application crashes, logic errors, or further security issues [4].

Mitigation

The vulnerability is fixed in csvtojson version 2.0.10. Users should upgrade to this version or later. The fix is implemented in commit (4caeebd) addresses the insufficient sanitization in the parsing process [3]. No workarounds are documented; upgrading is the recommended actioned.

AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
csvtojsonnpm
< 2.0.132.0.13

Affected products

2

Patches

1
4caeebd13b67

fix #498: prototype pollution

https://github.com/Keyang/node-csvtojsonKeyang XiangOct 21, 2025via ghsa
66 files changed · +10445 2822
  • browser/browser.js+5 3 modified
  • browser/csvtojson.min.js+5 3 modified
  • package.json+21 12 modified
    @@ -244,7 +244,7 @@
           "hireable": null
         }
       ],
    -  "version": "2.0.11",
    +  "version": "2.0.12",
       "keywords": [
         "csv",
         "csv parser",
    @@ -262,28 +262,27 @@
       },
       "license": "MIT",
       "engines": {
    -    "node": ">=4.0.0"
    +    "node": ">=8.0.0"
       },
       "devDependencies": {
    -    "@types/bluebird": "^3.5.20",
    -    "@types/mocha": "^5.2.0",
    -    "@types/node": "^10.0.1",
    +    "@types/lodash.set": "^4.3.6",
    +    "@types/mocha": "^10.0.10",
    +    "@types/node": "^24.9.1",
         "babel-plugin-syntax-dynamic-import": "^6.18.0",
         "coveralls": "^3.0.1",
         "minimist": "^1.2.0",
    -    "mocha": "^5.1.1",
    +    "mocha": "^11.7.4",
         "nyc": "^11.7.3",
         "sinon": "^3.2.3",
    -    "ts-node": "^6.0.3",
    -    "typescript": "^2.8.3",
    +    "ts-jest": "^29.4.5",
    +    "ts-node": "^10.9.2",
    +    "typescript": "^5.9.3",
         "uglifyjs-webpack-plugin": "^1.2.7",
         "webpack": "^4.16.4",
         "webpack-cli": "^3.1.0"
       },
       "dependencies": {
    -    "bluebird": "^3.5.1",
    -    "lodash": "^4.17.15",
    -    "strip-bom": "^2.0.0"
    +    "lodash.set": "^4.3.2"
       },
       "nyc": {
         "extension": [
    @@ -311,5 +310,15 @@
         "coveralls": "cat ./coverage/lcov.info | ./node_modules/.bin/coveralls"
       },
       "browser": "./browser/browser.js",
    -  "main": "./v2/index.js"
    +  "main": "./v2/index.js",
    +  "files": [
    +    "v1",
    +    "v2",
    +    "browser",
    +    "bin",
    +    "index.d.ts",
    +    "typings.d.ts",
    +    "LICENSE",
    +    "readme.md"
    +  ]
     }
    
  • package-lock.json+10108 2491 modified
  • src/Converter.ts+1 2 modified
    @@ -1,7 +1,6 @@
     import { Transform, TransformOptions, Readable } from "stream";
     import { CSVParseParam, mergeParams } from "./Parameters";
     import { ParseRuntime, initParseRuntime } from "./ParseRuntime";
    -import P from "bluebird";
     import { Processor } from "./Processor";
     import { ProcessorLocal } from "./ProcessorLocal";
     import { Result } from "./Result";
    @@ -59,7 +58,7 @@ export class Converter extends Transform implements PromiseLike<any[]> {
         return this.fromStream(read);
       }
       then<TResult1 = any[], TResult2 = never>(onfulfilled?: (value: any[]) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>): PromiseLike<TResult1 | TResult2> {
    -    return new P((resolve, reject) => {
    +    return new Promise((resolve, reject) => {
           this.parseRuntime.then = {
             onfulfilled: (value: any[]) => {
               if (onfulfilled) {
    
  • src/CSVError.test.ts+6 6 modified
    @@ -1,6 +1,6 @@
    -import CSVError from "./CSVError";
    -import assert from "assert";
    -describe("CSVError",()=>{
    -  it ("should toString()",()=>{
    -  })
    -})
    \ No newline at end of file
    +// import CSVError from "./CSVError";
    +// import assert from "assert";
    +// describe("CSVError",()=>{
    +//   it ("should toString()",()=>{
    +//   })
    +// })
    \ No newline at end of file
    
  • src/dataClean.ts+14 1 modified
    @@ -1,5 +1,18 @@
     import { ParseRuntime } from "./ParseRuntime";
    -import stripBom from "strip-bom";
    +function stripBom(string) {
    +  if (typeof string !== 'string') {
    +    throw new TypeError(`Expected a string, got ${typeof string}`);
    +  }
    +
    +  // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string
    +  // conversion translates it to FEFF (UTF-16 BOM).
    +  if (string.charCodeAt(0) === 0xFEFF) {
    +    return string.slice(1);
    +  }
    +
    +  return string;
    +}
    +
     /**
      * For each data chunk coming to parser:
      * 1. append the data to the buffer that is left from last chunk
    
  • src/lineToJson.ts+4 1 modified
    @@ -1,7 +1,7 @@
     import { Converter } from "./Converter";
     import CSVError from "./CSVError";
     import { CellParser, ColumnParam } from "./Parameters";
    -import set from "lodash/set";
    +import set from "lodash.set";
     
     const numReg = /^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/;
     
    @@ -105,6 +105,9 @@ function getConvFunc(head: string, i: number, conv: Converter): CellParser | nul
       }
     }
     function setPath(resultJson: any, head: string, value: any, conv: Converter,headIdx:number) {
    +  if (head.includes("__proto__") || head.includes("constructor") || head.includes("prototype")) {
    +    return;
    +  }
       if (!conv.parseRuntime.columnValueSetter[headIdx]) {
         if (conv.parseParam.flatKeys) {
           conv.parseRuntime.columnValueSetter[headIdx] = flatSetter;
    
  • src/Parameters.ts+1 2 modified
    @@ -125,12 +125,11 @@ export function mergeParams(params?: Partial<CSVParseParam>): CSVParseParam {
       for (let key in params) {
         if (params.hasOwnProperty(key)) {
           if (Array.isArray(params[key])) {
    -        defaultParam[key] = [].concat(params[key]);
    +        defaultParam[key] = [...params[key]];
           } else {
             defaultParam[key] = params[key];
           }
         }
       }
       return defaultParam;
     }
    -
    
  • src/ProcessFork.ts+11 12 modified
    @@ -1,5 +1,4 @@
     import { Processor, ProcessLineResult } from "./Processor";
    -import P from "bluebird"
     import { Converter } from "./Converter";
     import { ChildProcess } from "child_process";
     import { CSVParseParam, mergeParams } from "./Parameters";
    @@ -9,21 +8,21 @@ import { bufFromString, emptyBuffer } from "./util";
     import CSVError from "./CSVError";
     
     export class ProcessorFork extends Processor {
    -  flush(): P<ProcessLineResult[]> {
    -    return new P((resolve, reject) => {
    +  flush(): Promise<ProcessLineResult[]> {
    +    return new Promise((resolve, reject) => {
           // console.log("flush");
           this.finalChunk = true;
           this.next = resolve;
    -      this.childProcess.stdin.end();
    +      this.childProcess.stdin?.end();
           // this.childProcess.stdout.on("end",()=>{
           //   // console.log("!!!!");
           //   this.flushResult();
           // })
         });
       }
    -  destroy(): P<void> {
    +  destroy(): Promise<void> {
         this.childProcess.kill();
    -    return P.resolve();
    +    return Promise.resolve();
       }
       childProcess: ChildProcess;
       inited: boolean = false;
    @@ -79,14 +78,14 @@ export class ProcessorFork extends Processor {
           }
     
         });
    -    this.childProcess.stdout.on("data", (data) => {
    +    this.childProcess.stdout?.on("data", (data) => {
           // console.log("stdout", data.toString());
           const res = data.toString();
           // console.log(res);
           this.appendBuf(res);
     
         });
    -    this.childProcess.stderr.on("data", (data) => {
    +    this.childProcess.stderr?.on("data", (data) => {
           // console.log("stderr", data.toString());
           this.converter.emit("error", CSVError.fromJSON(JSON.parse(data.toString())));
         });
    @@ -124,12 +123,12 @@ export class ProcessorFork extends Processor {
         // console.log("buf length",this.resultBuf.length);
       }
     
    -  process(chunk: Buffer): P<ProcessLineResult[]> {
    -    return new P((resolve, reject) => {
    +  process(chunk: Buffer): Promise<ProcessLineResult[]> {
    +    return new Promise((resolve, reject) => {
           // console.log("chunk", chunk.length);
           this.next = resolve;
           // this.appendReadBuf(chunk);
    -      this.childProcess.stdin.write(chunk, () => {
    +      this.childProcess.stdin?.write(chunk, () => {
             // console.log("chunk callback");
             this.flushResult();
           });
    @@ -147,4 +146,4 @@ export interface InitMessage extends Message {
     export interface StringMessage extends Message {
       value: string
     }
    -export const EOM = "\x03";
    \ No newline at end of file
    +export const EOM = "\x03";
    
  • src/ProcessorLocal.test.ts+2 4 modified
    @@ -1,9 +1,8 @@
     import {ProcessorLocal} from "./ProcessorLocal";
     import { Converter } from "./Converter";
    -import P from "bluebird";
     import {readFileSync} from "fs";
    -import path from "path";
    -import assert from "assert";
    +import * as path from "path";
    +import assert = require("assert");
     import { JSONResult } from "./lineToJson";
     const dataDir=path.join(__dirname,"../test/data/");
     describe("ProcessLocal",()=>{
    @@ -37,4 +36,3 @@ describe("ProcessLocal",()=>{
         })
       })
     })
    -
    
  • src/ProcessorLocal.ts+16 17 modified
    @@ -1,5 +1,4 @@
     import { Processor, ProcessLineResult } from "./Processor";
    -import P from "bluebird";
     import { prepareData } from "./dataClean";
     import getEol from "./getEol";
     import { stringToLines } from "./fileline";
    @@ -12,24 +11,24 @@ import CSVError from "./CSVError";
     
     
     export class ProcessorLocal extends Processor {
    -  flush(): P<ProcessLineResult[]> {
    +  flush(): Promise<ProcessLineResult[]> {
         if (this.runtime.csvLineBuffer && this.runtime.csvLineBuffer.length > 0) {
           const buf = this.runtime.csvLineBuffer;
           this.runtime.csvLineBuffer = undefined;
           return this.process(buf, true)
             .then((res) => {
               if (this.runtime.csvLineBuffer && this.runtime.csvLineBuffer.length > 0) {
    -            return P.reject(CSVError.unclosed_quote(this.runtime.parsedLineNumber, this.runtime.csvLineBuffer.toString()))
    +            return Promise.reject(CSVError.unclosed_quote(this.runtime.parsedLineNumber, this.runtime.csvLineBuffer.toString()))
               } else {
    -            return P.resolve(res);
    +            return Promise.resolve(res);
               }
             })
         } else {
    -      return P.resolve([]);
    +      return Promise.resolve([]);
         }
       }
    -  destroy(): P<void> {
    -    return P.resolve();
    +  destroy(): Promise<void> {
    +    return Promise.resolve();
       }
       private rowSplit: RowSplit = new RowSplit(this.converter);
       private eolEmitted = false;
    @@ -49,15 +48,15 @@ export class ProcessorLocal extends Processor {
         return this._needEmitHead;
     
       }
    -  process(chunk: Buffer, finalChunk = false): P<ProcessLineResult[]> {
    +  process(chunk: Buffer, finalChunk = false): Promise<ProcessLineResult[]> {
         let csvString: string;
         if (finalChunk) {
           csvString = chunk.toString();
         } else {
           csvString = prepareData(chunk, this.converter.parseRuntime);
     
         }
    -    return P.resolve()
    +    return Promise.resolve()
           .then(() => {
             if (this.runtime.preRawDataHook) {
               return this.runtime.preRawDataHook(csvString);
    @@ -69,11 +68,11 @@ export class ProcessorLocal extends Processor {
             if (csv && csv.length > 0) {
               return this.processCSV(csv, finalChunk);
             } else {
    -          return P.resolve([]);
    +          return Promise.resolve([]);
             }
           })
       }
    -  private processCSV(csv: string, finalChunk: boolean): P<ProcessLineResult[]> {
    +  private processCSV(csv: string, finalChunk: boolean): Promise<ProcessLineResult[]> {
         const params = this.params;
         const runtime = this.runtime;
         if (!runtime.eol) {
    @@ -95,11 +94,11 @@ export class ProcessorLocal extends Processor {
           stringToLineResult.partial = "";
         }
         if (stringToLineResult.lines.length > 0) {
    -      let prom: P<string[]>;
    +      let prom: Promise<string[]>;
           if (runtime.preFileLineHook) {
             prom = this.runPreLineHook(stringToLineResult.lines);
           } else {
    -        prom = P.resolve(stringToLineResult.lines);
    +        prom = Promise.resolve(stringToLineResult.lines);
           }
           return prom.then((lines) => {
             if (!runtime.started
    @@ -114,7 +113,7 @@ export class ProcessorLocal extends Processor {
     
         } else {
     
    -      return P.resolve([]);
    +      return Promise.resolve([]);
         }
     
       }
    @@ -227,8 +226,8 @@ export class ProcessorLocal extends Processor {
         }
     
       }
    -  private runPreLineHook(lines: string[]): P<string[]> {
    -    return new P((resolve, reject) => {
    +  private runPreLineHook(lines: string[]): Promise<string[]> {
    +    return new Promise((resolve, reject) => {
           processLineHook(lines, this.runtime, 0, (err) => {
             if (err) {
               reject(err);
    @@ -267,4 +266,4 @@ function processLineHook(lines: string[], runtime: ParseRuntime, offset: number,
           cb();
         }
       }
    -}
    \ No newline at end of file
    +}
    
  • src/Processor.ts+3 4 modified
    @@ -1,5 +1,4 @@
     import { Converter } from "./Converter";
    -import P from "bluebird";
     import { JSONResult } from "./lineToJson";
     import { CSVParseParam } from "./Parameters";
     import { ParseRuntime } from "./ParseRuntime";
    @@ -11,8 +10,8 @@ export abstract class Processor {
         this.params = converter.parseParam;
         this.runtime = converter.parseRuntime;
       }
    -  abstract process(chunk: Buffer,finalChunk?:boolean): P<ProcessLineResult[]>
    -  abstract destroy():P<void>;
    -  abstract flush(): P<ProcessLineResult[]>;
    +  abstract process(chunk: Buffer,finalChunk?:boolean): Promise<ProcessLineResult[]>
    +  abstract destroy():Promise<void>;
    +  abstract flush(): Promise<ProcessLineResult[]>;
     }
     export type ProcessLineResult = string | string[] | JSONResult;
    
  • src/Result.test.ts+2 4 modified
    @@ -1,9 +1,8 @@
     import {Result} from "./Result";
     import { Converter } from "./Converter";
    -import P from "bluebird";
     import {readFileSync} from "fs";
    -import path from "path";
    -import assert from "assert";
    +import * as path from "path";
    +import assert = require("assert");
     import { JSONResult } from "./lineToJson";
     const dataDir=path.join(__dirname,"../test/data/");
     
    @@ -19,4 +18,3 @@ describe("Result",()=>{
       });
     
     })
    -
    
  • src/Result.ts+6 7 modified
    @@ -1,6 +1,5 @@
     import { Converter } from "./Converter";
     import { ProcessLineResult } from "./Processor";
    -import P from "bluebird";
     import CSVError from "./CSVError";
     import { EOL } from "os";
     export class Result {
    @@ -20,15 +19,15 @@ export class Result {
       }
       private finalResult: any[] = [];
       constructor(private converter: Converter) { }
    -  processResult(resultLines: ProcessLineResult[]): P<any> {
    +  processResult(resultLines: ProcessLineResult[]): Promise<any> {
         const startPos = this.converter.parseRuntime.parsedLineNumber;
         if (this.needPushDownstream && this.converter.parseParam.downstreamFormat === "array") {
           if (startPos === 0) {
             pushDownstream(this.converter, "[" + EOL);
           }
         }
    -    // let prom: P<any>;
    -    return new P((resolve, reject) => {
    +    // let prom: Promise<any>;
    +    return new Promise((resolve, reject) => {
           if (this.needEmitLine) {
             processLineByLine(
               resultLines,
    @@ -40,14 +39,14 @@ export class Result {
                   reject(err);
                 } else {
                   this.appendFinalResult(resultLines);
    -              resolve();
    +              resolve(undefined);
                 }
               },
             )
             // resolve();
           } else {
             this.appendFinalResult(resultLines);
    -        resolve();
    +        resolve(undefined);
           }
         })
       }
    @@ -161,4 +160,4 @@ function pushDownstream(conv: Converter, res: ProcessLineResult) {
       } else {
         conv.push(res);
       }
    -}
    \ No newline at end of file
    +}
    
  • src/util.ts+6 11 modified
    @@ -7,7 +7,7 @@ export function bufFromString(str: string): Buffer {
       return buffer;
     }
     
    -export function emptyBuffer(): Buffer{
    +export function emptyBuffer(): Buffer {
       const buffer = Buffer.allocUnsafe
         ? Buffer.allocUnsafe(0)
         : new Buffer(0);
    @@ -24,14 +24,9 @@ export function filterArray(arr: any[], filter: number[]): any[] {
       return rtn;
     }
     
    -export const trimLeft=String.prototype.trimLeft?function trimLeftNative(str:string){
    -  return str.trimLeft();
    -}:function trimLeftRegExp(str:string){
    -  return str.replace(/^\s+/, "");
    -}
    -
    -export const trimRight=String.prototype.trimRight?function trimRightNative(str:string){
    -  return str.trimRight();
    -}:function trimRightRegExp(str:string){
    -  return str.replace(/\s+$/, "");
    +export const trimLeft = function trimLeftNative(str: string) {
    +  return str.trimStart();
     }
    +export const trimRight = function trimRightNative(str: string) {
    +  return str.trimEnd();
    +}
    \ No newline at end of file
    
  • test/testCSVConverter2.ts+14 14 modified
    @@ -304,22 +304,22 @@ describe("testCSVConverter2", function () {
         rs.pipe(test_converter);
       });
     
    -  it("should process escape chars when delimiter is between escaped quotes", function(done) {
    +  it("should process escape chars when delimiter is between escaped quotes", function (done) {
         var test_converter = new Converter({
           escape: "\\"
         });
     
         var testData =
           __dirname + "/data/dataWithSlashEscapeAndDelimiterBetweenQuotes";
         var rs = fs.createReadStream(testData);
    -    test_converter.then(function(res) {
    +    test_converter.then(function (res) {
           assert.equal(res[0].raw, '"hello,"world"');
           done();
         });
         rs.pipe(test_converter);
       });
     
    -  it("should output ndjson format", function(done) {
    +  it("should output ndjson format", function (done) {
         var conv = new Converter();
         conv.fromString("a,b,c\n1,2,3\n4,5,6")
           .on("data", function (d) {
    @@ -556,7 +556,7 @@ describe("testCSVConverter2", function () {
           });
       });
     
    -  it("should leave provided params objects unmutated", function() {
    +  it("should leave provided params objects unmutated", async function () {
         var rs = fs.createReadStream(__dirname + "/data/complexJSONCSV");
         var includeColumns = [
           'fieldA.title',
    @@ -568,26 +568,26 @@ describe("testCSVConverter2", function () {
           includeColumns: /(fieldA\.title|description)/,
         })
           .fromStream(rs)
    -      .on("json", function(j, idx) {
    +      .on("json", function (j, idx) {
             assert(idx >= 0);
           })
    -      .on("header", function(header) {
    +      .on("header", function (header) {
             includeColumns.forEach(function (value, index) {
               assert.equal(index, header.indexOf(value));
             });
           })
       });
     
       it("should only call done once", function (done) {
    -    var counter=0;
    +    var counter = 0;
         csv()
    -    .fromString('"a","b", "c""')
    -    .on('done',function(){
    -      counter++;
    -    });
    -    setTimeout(function(){
    -      assert.equal(counter,1);
    +      .fromString('"a","b", "c""')
    +      .on('done', function () {
    +        counter++;
    +      });
    +    setTimeout(function () {
    +      assert.equal(counter, 1);
           done();
    -    },100);
    +    }, 100);
       })
     });
    
  • test/testCSVConverter3.ts+2 2 modified
    @@ -84,7 +84,7 @@ describe("testCSVConverter3", function () {
           })
     
       })
    -  it("should include column that is both included and excluded", () => {
    +  it("should include column that is both included and excluded", async () => {
         return csv({
           includeColumns: /b/,
           ignoreColumns: /a|b/
    @@ -97,7 +97,7 @@ describe("testCSVConverter3", function () {
             assert(!d.a);
           })
       })
    -  it("should allow async preLine hook", () => {
    +  it("should allow async preLine hook",async () => {
         return csv()
           .preFileLine((line) => {
             return new Promise((resolve, reject) => {
    
  • test/testPrototypePollution.ts+20 0 added
    @@ -0,0 +1,20 @@
    +const csv = require("../src");
    +const assert = require("assert");
    +
    +describe("Prototype Pollution", function () {
    +  it("should not allow prototype pollution", async function () {
    +    const csvData = "a.__proto__.polluted,b\n1,2";
    +    let polluted = false;
    +
    +    if (({} as any).polluted) {
    +      polluted = true;
    +    }
    +    delete (Object.prototype as any).polluted;
    +
    +    await csv().fromString(csvData);
    +    assert.strictEqual(({} as any).polluted, undefined, "Prototype should not be polluted");
    +    if (polluted) {
    +      delete (Object.prototype as any).polluted;
    +    }
    +  });
    +});
    
  • tsconfig.json+1 1 modified
    @@ -8,7 +8,7 @@
         // "checkJs": true,                       /* Report errors in .js files. */
         // "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
         "declaration": true,                   /* Generates corresponding '.d.ts' file. */
    -    "sourceMap": true,                     /* Generates corresponding '.map' file. */
    +    "sourceMap": false,                     /* Generates corresponding '.map' file. */
         // "outFile": "./",                       /* Concatenate and emit output to single file. */
         "outDir": "./v2",                        /* Redirect output structure to the directory. */
         "rootDir": "./src",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
    
  • v2/Converter.d.ts+7 8 modified
    @@ -1,4 +1,3 @@
    -/// <reference types="node" />
     import { Transform, TransformOptions, Readable } from "stream";
     import { CSVParseParam } from "./Parameters";
     import { ParseRuntime } from "./ParseRuntime";
    @@ -12,17 +11,17 @@ export declare class Converter extends Transform implements PromiseLike<any[]> {
         fromStream(readStream: Readable): Converter;
         fromString(csvString: string): Converter;
         then<TResult1 = any[], TResult2 = never>(onfulfilled?: (value: any[]) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>): PromiseLike<TResult1 | TResult2>;
    -    readonly parseParam: CSVParseParam;
    -    readonly parseRuntime: ParseRuntime;
    +    get parseParam(): CSVParseParam;
    +    get parseRuntime(): ParseRuntime;
         private params;
         private runtime;
         private processor;
         private result;
         constructor(param?: Partial<CSVParseParam>, options?: TransformOptions);
         _transform(chunk: any, encoding: string, cb: Function): void;
         _flush(cb: Function): void;
    -    private processEnd(cb);
    -    readonly parsedLineNumber: number;
    +    private processEnd;
    +    get parsedLineNumber(): number;
     }
     export interface CreateReadStreamOption {
         flags?: string;
    @@ -34,6 +33,6 @@ export interface CreateReadStreamOption {
         end?: number;
         highWaterMark?: number;
     }
    -export declare type CallBack = (err: Error, data: Array<any>) => void;
    -export declare type PreFileLineCallback = (line: string, lineNumber: number) => string | PromiseLike<string>;
    -export declare type PreRawDataCallback = (csvString: string) => string | PromiseLike<string>;
    +export type CallBack = (err: Error, data: Array<any>) => void;
    +export type PreFileLineCallback = (line: string, lineNumber: number) => string | PromiseLike<string>;
    +export type PreRawDataCallback = (csvString: string) => string | PromiseLike<string>;
    
  • v2/Converter.js+17 29 modified
    @@ -1,23 +1,24 @@
     "use strict";
     var __extends = (this && this.__extends) || (function () {
    -    var extendStatics = Object.setPrototypeOf ||
    -        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
    -        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    +    var extendStatics = function (d, b) {
    +        extendStatics = Object.setPrototypeOf ||
    +            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
    +            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
    +        return extendStatics(d, b);
    +    };
         return function (d, b) {
    +        if (typeof b !== "function" && b !== null)
    +            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
             extendStatics(d, b);
             function __() { this.constructor = d; }
             d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
         };
     })();
    -var __importDefault = (this && this.__importDefault) || function (mod) {
    -    return (mod && mod.__esModule) ? mod : { "default": mod };
    -};
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.Converter = void 0;
     var stream_1 = require("stream");
     var Parameters_1 = require("./Parameters");
     var ParseRuntime_1 = require("./ParseRuntime");
    -var bluebird_1 = __importDefault(require("bluebird"));
    -// import { ProcessorFork } from "./ProcessFork";
     var ProcessorLocal_1 = require("./ProcessorLocal");
     var Result_1 = require("./Result");
     var Converter = /** @class */ (function (_super) {
    @@ -26,17 +27,11 @@ var Converter = /** @class */ (function (_super) {
             if (options === void 0) { options = {}; }
             var _this = _super.call(this, options) || this;
             _this.options = options;
    -        _this.params = Parameters_1.mergeParams(param);
    -        _this.runtime = ParseRuntime_1.initParseRuntime(_this);
    +        _this.params = (0, Parameters_1.mergeParams)(param);
    +        _this.runtime = (0, ParseRuntime_1.initParseRuntime)(_this);
             _this.result = new Result_1.Result(_this);
    -        // if (this.params.fork) {
    -        //   this.processor = new ProcessorFork(this);
    -        // } else {
             _this.processor = new ProcessorLocal_1.ProcessorLocal(_this);
    -        // }
             _this.once("error", function (err) {
    -            // console.log("BBB");
    -            //wait for next cycle to emit the errors.
                 setImmediate(function () {
                     _this.result.processError(err);
                     _this.emit("done", err);
    @@ -66,19 +61,13 @@ var Converter = /** @class */ (function (_super) {
         Converter.prototype.fromFile = function (filePath, options) {
             var _this = this;
             var fs = require("fs");
    -        // var rs = null;
    -        // this.wrapCallback(cb, function () {
    -        //   if (rs && rs.destroy) {
    -        //     rs.destroy();
    -        //   }
    -        // });
             fs.exists(filePath, function (exist) {
                 if (exist) {
                     var rs = fs.createReadStream(filePath, options);
                     rs.pipe(_this);
                 }
                 else {
    -                _this.emit('error', new Error(`File does not exist at ${filePath}. Check to make sure the file path to your csv is correct.`));
    +                _this.emit('error', new Error("File does not exist at ".concat(filePath, ". Check to make sure the file path to your csv is correct.")));
                 }
             });
             return this;
    @@ -96,7 +85,7 @@ var Converter = /** @class */ (function (_super) {
                     this.push(null);
                 }
                 else {
    -                var str = csvString.substr(idx, size);
    +                var str = csvString.substring(idx, idx + size);
                     this.push(str);
                     idx += size;
                 }
    @@ -105,7 +94,7 @@ var Converter = /** @class */ (function (_super) {
         };
         Converter.prototype.then = function (onfulfilled, onrejected) {
             var _this = this;
    -        return new bluebird_1.default(function (resolve, reject) {
    +        return new Promise(function (resolve, reject) {
                 _this.parseRuntime.then = {
                     onfulfilled: function (value) {
                         if (onfulfilled) {
    @@ -130,14 +119,14 @@ var Converter = /** @class */ (function (_super) {
             get: function () {
                 return this.params;
             },
    -        enumerable: true,
    +        enumerable: false,
             configurable: true
         });
         Object.defineProperty(Converter.prototype, "parseRuntime", {
             get: function () {
                 return this.runtime;
             },
    -        enumerable: true,
    +        enumerable: false,
             configurable: true
         });
         Converter.prototype._transform = function (chunk, encoding, cb) {
    @@ -184,10 +173,9 @@ var Converter = /** @class */ (function (_super) {
             get: function () {
                 return this.runtime.parsedLineNumber;
             },
    -        enumerable: true,
    +        enumerable: false,
             configurable: true
         });
         return Converter;
     }(stream_1.Transform));
     exports.Converter = Converter;
    -//# sourceMappingURL=Converter.js.map
    
  • v2/Converter.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"Converter.js","sourceRoot":"","sources":["../src/Converter.ts"],"names":[],"mappings":"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"}
    \ No newline at end of file
    
  • v2/CSVError.d.ts+1 1 modified
    @@ -1,7 +1,7 @@
     export default class CSVError extends Error {
         err: string;
         line: number;
    -    extra: string | undefined;
    +    extra?: string | undefined;
         static column_mismatched(index: number, extra?: string): CSVError;
         static unclosed_quote(index: number, extra?: string): CSVError;
         static fromJSON(obj: any): CSVError;
    
  • v2/CSVError.js+8 4 modified
    @@ -1,9 +1,14 @@
     "use strict";
     var __extends = (this && this.__extends) || (function () {
    -    var extendStatics = Object.setPrototypeOf ||
    -        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
    -        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    +    var extendStatics = function (d, b) {
    +        extendStatics = Object.setPrototypeOf ||
    +            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
    +            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
    +        return extendStatics(d, b);
    +    };
         return function (d, b) {
    +        if (typeof b !== "function" && b !== null)
    +            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
             extendStatics(d, b);
             function __() { this.constructor = d; }
             d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    @@ -39,4 +44,3 @@ var CSVError = /** @class */ (function (_super) {
         return CSVError;
     }(Error));
     exports.default = CSVError;
    -//# sourceMappingURL=CSVError.js.map
    \ No newline at end of file
    
  • v2/CSVError.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"CSVError.js","sourceRoot":"","sources":["../src/CSVError.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;IAAsC,4BAAK;IAUzC,kBACS,GAAW,EACX,IAAY,EACZ,KAAc;QAHvB,YAKE,kBAAM,SAAS,GAAG,GAAG,GAAG,sBAAsB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAE1F;QANQ,SAAG,GAAH,GAAG,CAAQ;QACX,UAAI,GAAJ,IAAI,CAAQ;QACZ,WAAK,GAAL,KAAK,CAAS;QAGrB,KAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;;IAChC,CAAC;IAhBM,0BAAiB,GAAxB,UAAyB,KAAa,EAAE,KAAc;QACpD,OAAO,IAAI,QAAQ,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IACM,uBAAc,GAArB,UAAsB,KAAa,EAAE,KAAc;QACjD,OAAO,IAAI,QAAQ,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACM,iBAAQ,GAAf,UAAgB,GAAG;QACjB,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IASD,yBAAM,GAAN;QACE,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAA;IACH,CAAC;IAEH,eAAC;AAAD,CAAC,AA1BD,CAAsC,KAAK,GA0B1C"}
    \ No newline at end of file
    
  • v2/dataClean.d.ts+0 1 modified
    @@ -1,4 +1,3 @@
    -/// <reference types="node" />
     import { ParseRuntime } from "./ParseRuntime";
     /**
      * For each data chunk coming to parser:
    
  • v2/dataClean.js+13 7 modified
    @@ -1,9 +1,17 @@
     "use strict";
    -var __importDefault = (this && this.__importDefault) || function (mod) {
    -    return (mod && mod.__esModule) ? mod : { "default": mod };
    -};
     Object.defineProperty(exports, "__esModule", { value: true });
    -var strip_bom_1 = __importDefault(require("strip-bom"));
    +exports.prepareData = prepareData;
    +function stripBom(string) {
    +    if (typeof string !== 'string') {
    +        throw new TypeError("Expected a string, got ".concat(typeof string));
    +    }
    +    // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string
    +    // conversion translates it to FEFF (UTF-16 BOM).
    +    if (string.charCodeAt(0) === 0xFEFF) {
    +        return string.slice(1);
    +    }
    +    return string;
    +}
     /**
      * For each data chunk coming to parser:
      * 1. append the data to the buffer that is left from last chunk
    @@ -15,13 +23,12 @@ function prepareData(chunk, runtime) {
         runtime.csvLineBuffer = undefined;
         var cleanCSVString = cleanUtf8Split(workChunk, runtime).toString("utf8");
         if (runtime.started === false) {
    -        return strip_bom_1.default(cleanCSVString);
    +        return stripBom(cleanCSVString);
         }
         else {
             return cleanCSVString;
         }
     }
    -exports.prepareData = prepareData;
     /**
      *  append data to buffer that is left form last chunk
      */
    @@ -69,4 +76,3 @@ function cleanUtf8Split(chunk, runtime) {
             return chunk;
         }
     }
    -//# sourceMappingURL=dataClean.js.map
    \ No newline at end of file
    
  • v2/dataClean.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"dataClean.js","sourceRoot":"","sources":["../src/dataClean.ts"],"names":[],"mappings":";;;;;AACA,wDAAiC;AACjC;;;;;GAKG;AACH,qBAA4B,KAAa,EAAE,OAAqB;IAC9D,IAAM,SAAS,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAClC,IAAM,cAAc,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;QAC7B,OAAO,mBAAQ,CAAC,cAAc,CAAC,CAAC;KACjC;SAAM;QACL,OAAO,cAAc,CAAC;KACvB;AACH,CAAC;AATD,kCASC;AACD;;GAEG;AACH,yBAAyB,KAAa,EAAE,OAAqB;IAC3D,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;KACtD;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AACD;;GAEG;AACH,wBAAwB,KAAa,EAAE,OAAqB;IAC1D,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;QAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE;YACpC,GAAG,EAAE,CAAC;SACP;QACD,GAAG,EAAE,CAAC;KACP;IACD,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;QAC9B,cAAc;QACd,iBAAiB;QACjB,iBAAiB;QACjB,8BAA8B;QAC9B,2FAA2F;QAC3F,WAAW;QACX,gCAAgC;QAChC,MAAM;QACN,WAAW;QACX,IAAI;KACL;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
    \ No newline at end of file
    
  • v2/fileline.d.ts+1 1 modified
    @@ -13,4 +13,4 @@ export interface StringToLinesResult {
          */
         partial: string;
     }
    -export declare type Fileline = string;
    +export type Fileline = string;
    
  • v2/fileline.js+2 3 modified
    @@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
         return (mod && mod.__esModule) ? mod : { "default": mod };
     };
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.stringToLines = stringToLines;
     var getEol_1 = __importDefault(require("./getEol"));
     // const getEol = require("./getEol");
     /**
    @@ -12,11 +13,9 @@ var getEol_1 = __importDefault(require("./getEol"));
      * @return {Object}   {lines:[line1,line2...],partial:String}
      */
     function stringToLines(data, param) {
    -    var eol = getEol_1.default(data, param);
    +    var eol = (0, getEol_1.default)(data, param);
         var lines = data.split(eol);
         var partial = lines.pop() || "";
         return { lines: lines, partial: partial };
     }
    -exports.stringToLines = stringToLines;
     ;
    -//# sourceMappingURL=fileline.js.map
    \ No newline at end of file
    
  • v2/fileline.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"fileline.js","sourceRoot":"","sources":["../src/fileline.ts"],"names":[],"mappings":";;;;;AACA,oDAA8B;AAC9B,sCAAsC;AACtC;;;;;GAKG;AACH,uBAA8B,IAAY,EAAE,KAAmB;IAC7D,IAAM,GAAG,GAAG,gBAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC5C,CAAC;AALD,sCAKC;AAAA,CAAC"}
    \ No newline at end of file
    
  • v2/getEol.js+1 2 modified
    @@ -1,5 +1,6 @@
     "use strict";
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.default = default_1;
     //return first eol found from a data chunk.
     function default_1(data, param) {
         if (!param.eol && data) {
    @@ -22,6 +23,4 @@ function default_1(data, param) {
         }
         return param.eol || "\n";
     }
    -exports.default = default_1;
     ;
    -//# sourceMappingURL=getEol.js.map
    \ No newline at end of file
    
  • v2/getEol.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"getEol.js","sourceRoot":"","sources":["../src/getEol.ts"],"names":[],"mappings":";;AACA,2CAA2C;AAC3C,mBAAyB,IAAY,EAAE,KAAmB;IACxD,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBACpB,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxB,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;oBACnB,MAAM;iBACP;qBAAM,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;oBACtB,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;oBACjB,MAAM;iBACP;aACF;iBAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBAC3B,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;gBACjB,MAAM;aACP;SACF;KACF;IACD,OAAO,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC;AAC3B,CAAC;AAlBD,4BAkBC;AAAA,CAAC"}
    \ No newline at end of file
    
  • v2/index.d.ts+5 2 modified
    @@ -1,6 +1,9 @@
    -/// <reference types="node" />
     import { TransformOptions } from "stream";
     import { CSVParseParam } from "./Parameters";
     import { Converter } from "./Converter";
    -declare const helper: (param?: Partial<CSVParseParam> | undefined, options?: TransformOptions | undefined) => Converter;
    +declare const helper: {
    +    (param?: Partial<CSVParseParam>, options?: TransformOptions): Converter;
    +    csv: /*elided*/ any;
    +    Converter: typeof Converter;
    +};
     export = helper;
    
  • v2/index.js+0 1 modified
    @@ -6,4 +6,3 @@ var helper = function (param, options) {
     helper["csv"] = helper;
     helper["Converter"] = Converter_1.Converter;
     module.exports = helper;
    -//# sourceMappingURL=index.js.map
    \ No newline at end of file
    
  • v2/index.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,yCAAwC;AAExC,IAAM,MAAM,GAAG,UAAU,KAA8B,EAAE,OAA0B;IACjF,OAAO,IAAI,qBAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAA;AACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;AACvB,MAAM,CAAC,WAAW,CAAC,GAAG,qBAAS,CAAC;AAChC,iBAAQ,MAAM,CAAC"}
    \ No newline at end of file
    
  • v2/lineToJson.d.ts+1 1 modified
    @@ -1,5 +1,5 @@
     import { Converter } from "./Converter";
     export default function (csvRows: string[][], conv: Converter): JSONResult[];
    -export declare type JSONResult = {
    +export type JSONResult = {
         [key: string]: any;
     };
    
  • v2/lineToJson.js+9 15 modified
    @@ -3,8 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
         return (mod && mod.__esModule) ? mod : { "default": mod };
     };
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.default = default_1;
     var CSVError_1 = __importDefault(require("./CSVError"));
    -var set_1 = __importDefault(require("lodash/set"));
    +var lodash_set_1 = __importDefault(require("lodash.set"));
     var numReg = /^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/;
     function default_1(csvRows, conv) {
         var res = [];
    @@ -16,7 +17,7 @@ function default_1(csvRows, conv) {
         }
         return res;
     }
    -exports.default = default_1;
    +;
     function processRow(row, conv, index) {
         if (conv.parseParam.checkColumn && conv.parseRuntime.headers && row.length !== conv.parseRuntime.headers.length) {
             throw (CSVError_1.default.column_mismatched(conv.parseRuntime.parsedLineNumber + index));
    @@ -51,10 +52,6 @@ function convertRowToJson(row, headRow, conv) {
                 }
             }
             else {
    -            // var flag = getFlag(head, i, param);
    -            // if (flag === 'omit') {
    -            //   continue;
    -            // }
                 if (conv.parseParam.checkType) {
                     var convertFunc = checkType(item, head, i, conv);
                     item = convertFunc(item);
    @@ -107,6 +104,9 @@ function getConvFunc(head, i, conv) {
         }
     }
     function setPath(resultJson, head, value, conv, headIdx) {
    +    if (head.includes("__proto__") || head.includes("constructor") || head.includes("prototype")) {
    +        return;
    +    }
         if (!conv.parseRuntime.columnValueSetter[headIdx]) {
             if (conv.parseParam.flatKeys) {
                 conv.parseRuntime.columnValueSetter[headIdx] = flatSetter;
    @@ -144,7 +144,7 @@ function flatSetter(resultJson, head, value) {
         resultJson[head] = value;
     }
     function jsonSetter(resultJson, head, value) {
    -    set_1.default(resultJson, head, value);
    +    (0, lodash_set_1.default)(resultJson, head, value);
     }
     function checkType(item, head, headIdx, conv) {
         if (conv.parseRuntime.headerType[headIdx]) {
    @@ -192,13 +192,8 @@ function dynamicType(item) {
         }
     }
     function booleanType(item) {
    -    var trimed = item.trim();
    -    if (trimed.length === 5 && trimed.toLowerCase() === "false") {
    -        return false;
    -    }
    -    else {
    -        return true;
    -    }
    +    var trimmed = item.trim();
    +    return !(trimmed.length === 5 && trimmed.toLowerCase() === "false");
     }
     function jsonType(item) {
         try {
    @@ -208,4 +203,3 @@ function jsonType(item) {
             return item;
         }
     }
    -//# sourceMappingURL=lineToJson.js.map
    \ No newline at end of file
    
  • v2/lineToJson.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"lineToJson.js","sourceRoot":"","sources":["../src/lineToJson.ts"],"names":[],"mappings":"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"}
    \ No newline at end of file
    
  • v2/Parameters.d.ts+1 1 modified
    @@ -85,7 +85,7 @@ export interface CSVParseParam {
          */
         needEmitAll: boolean;
     }
    -export declare type CellParser = (item: string, head: string, resultRow: any, row: string[], columnIndex: number) => any;
    +export type CellParser = (item: string, head: string, resultRow: any, row: string[], columnIndex: number) => any;
     export interface ColumnParam {
         flat?: boolean;
         cellParser?: string | CellParser;
    
  • v2/Parameters.js+11 3 modified
    @@ -1,5 +1,15 @@
     "use strict";
    +var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
    +    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
    +        if (ar || !(i in from)) {
    +            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
    +            ar[i] = from[i];
    +        }
    +    }
    +    return to.concat(ar || Array.prototype.slice.call(from));
    +};
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.mergeParams = mergeParams;
     function mergeParams(params) {
         var defaultParam = {
             delimiter: ',',
    @@ -30,7 +40,7 @@ function mergeParams(params) {
         for (var key in params) {
             if (params.hasOwnProperty(key)) {
                 if (Array.isArray(params[key])) {
    -                defaultParam[key] = [].concat(params[key]);
    +                defaultParam[key] = __spreadArray([], params[key], true);
                 }
                 else {
                     defaultParam[key] = params[key];
    @@ -39,5 +49,3 @@ function mergeParams(params) {
         }
         return defaultParam;
     }
    -exports.mergeParams = mergeParams;
    -//# sourceMappingURL=Parameters.js.map
    \ No newline at end of file
    
  • v2/Parameters.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"Parameters.js","sourceRoot":"","sources":["../src/Parameters.ts"],"names":[],"mappings":";;AAiGA,qBAA4B,MAA+B;IACzD,IAAM,YAAY,GAAkB;QAClC,SAAS,EAAE,GAAG;QACd,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,SAAS;QACzB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,eAAe;QACf,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,EAAE;QACb,GAAG,EAAE,SAAS;QACd,gBAAgB,EAAE,KAAK;QACvB,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,KAAK;QACjB,gBAAgB,EAAC,MAAM;QACvB,WAAW,EAAC,IAAI;KACjB,CAAA;IACD,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,EAAE,CAAC;KACb;IACD,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACtB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC9B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aAC5C;iBAAM;gBACL,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;aACjC;SACF;KACF;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AArCD,kCAqCC"}
    \ No newline at end of file
    
  • v2/ParseRuntime.d.ts+0 1 modified
    @@ -1,4 +1,3 @@
    -/// <reference types="node" />
     import { CellParser } from "./Parameters";
     import { Converter, PreRawDataCallback, PreFileLineCallback } from "./Converter";
     import CSVError from "./CSVError";
    
  • v2/ParseRuntime.js+1 2 modified
    @@ -1,5 +1,6 @@
     "use strict";
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.initParseRuntime = initParseRuntime;
     function initParseRuntime(converter) {
         var params = converter.parseParam;
         var rtn = {
    @@ -28,5 +29,3 @@ function initParseRuntime(converter) {
         }
         return rtn;
     }
    -exports.initParseRuntime = initParseRuntime;
    -//# sourceMappingURL=ParseRuntime.js.map
    \ No newline at end of file
    
  • v2/ParseRuntime.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"ParseRuntime.js","sourceRoot":"","sources":["../src/ParseRuntime.ts"],"names":[],"mappings":";;AA8DA,0BAAiC,SAAoB;IACnD,IAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC;IACpC,IAAM,GAAG,GAAiB;QACxB,uBAAuB,EAAE,KAAK;QAC9B,wBAAwB,EAAE,KAAK;QAC/B,eAAe,EAAE,SAAS;QAC1B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,SAAS;QACzC,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG;QAC7B,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,EAAE;KACtB,CAAA;IACD,IAAI,MAAM,CAAC,aAAa,EAAE;QACxB,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC;KACpC;IACD,IAAI,MAAM,CAAC,cAAc,EAAE;QACzB,GAAG,CAAC,wBAAwB,GAAG,IAAI,CAAC;KACrC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AA3BD,4CA2BC"}
    \ No newline at end of file
    
  • v2/ProcessFork.d.ts+7 10 modified
    @@ -1,25 +1,22 @@
    -/// <reference types="bluebird" />
    -/// <reference types="node" />
     import { Processor, ProcessLineResult } from "./Processor";
    -import P from "bluebird";
     import { Converter } from "./Converter";
     import { ChildProcess } from "child_process";
     export declare class ProcessorFork extends Processor {
         protected converter: Converter;
    -    flush(): P<ProcessLineResult[]>;
    -    destroy(): P<void>;
    +    flush(): Promise<ProcessLineResult[]>;
    +    destroy(): Promise<void>;
         childProcess: ChildProcess;
         inited: boolean;
         private resultBuf;
         private leftChunk;
         private finalChunk;
         private next?;
         constructor(converter: Converter);
    -    private prepareParam(param);
    -    private initWorker();
    -    private flushResult();
    -    private appendBuf(data);
    -    process(chunk: Buffer): P<ProcessLineResult[]>;
    +    private prepareParam;
    +    private initWorker;
    +    private flushResult;
    +    private appendBuf;
    +    process(chunk: Buffer): Promise<ProcessLineResult[]>;
     }
     export interface Message {
         cmd: string;
    
  • v2/ProcessFork.js+20 13 modified
    @@ -1,9 +1,14 @@
     "use strict";
     var __extends = (this && this.__extends) || (function () {
    -    var extendStatics = Object.setPrototypeOf ||
    -        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
    -        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    +    var extendStatics = function (d, b) {
    +        extendStatics = Object.setPrototypeOf ||
    +            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
    +            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
    +        return extendStatics(d, b);
    +    };
         return function (d, b) {
    +        if (typeof b !== "function" && b !== null)
    +            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
             extendStatics(d, b);
             function __() { this.constructor = d; }
             d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    @@ -13,8 +18,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
         return (mod && mod.__esModule) ? mod : { "default": mod };
     };
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.EOM = exports.ProcessorFork = void 0;
     var Processor_1 = require("./Processor");
    -var bluebird_1 = __importDefault(require("bluebird"));
     var Parameters_1 = require("./Parameters");
     var CSVError_1 = __importDefault(require("./CSVError"));
     var ProcessorFork = /** @class */ (function (_super) {
    @@ -34,11 +39,12 @@ var ProcessorFork = /** @class */ (function (_super) {
         }
         ProcessorFork.prototype.flush = function () {
             var _this = this;
    -        return new bluebird_1.default(function (resolve, reject) {
    +        return new Promise(function (resolve, reject) {
    +            var _a;
                 // console.log("flush");
                 _this.finalChunk = true;
                 _this.next = resolve;
    -            _this.childProcess.stdin.end();
    +            (_a = _this.childProcess.stdin) === null || _a === void 0 ? void 0 : _a.end();
                 // this.childProcess.stdout.on("end",()=>{
                 //   // console.log("!!!!");
                 //   this.flushResult();
    @@ -47,10 +53,10 @@ var ProcessorFork = /** @class */ (function (_super) {
         };
         ProcessorFork.prototype.destroy = function () {
             this.childProcess.kill();
    -        return bluebird_1.default.resolve();
    +        return Promise.resolve();
         };
         ProcessorFork.prototype.prepareParam = function (param) {
    -        var clone = Parameters_1.mergeParams(param);
    +        var clone = (0, Parameters_1.mergeParams)(param);
             if (clone.ignoreColumns) {
                 clone.ignoreColumns = {
                     source: clone.ignoreColumns.source,
    @@ -67,6 +73,7 @@ var ProcessorFork = /** @class */ (function (_super) {
         };
         ProcessorFork.prototype.initWorker = function () {
             var _this = this;
    +        var _a, _b;
             this.childProcess.on("exit", function () {
                 _this.flushResult();
             });
    @@ -92,13 +99,13 @@ var ProcessorFork = /** @class */ (function (_super) {
                     // this.flushResult();
                 }
             });
    -        this.childProcess.stdout.on("data", function (data) {
    +        (_a = this.childProcess.stdout) === null || _a === void 0 ? void 0 : _a.on("data", function (data) {
                 // console.log("stdout", data.toString());
                 var res = data.toString();
                 // console.log(res);
                 _this.appendBuf(res);
             });
    -        this.childProcess.stderr.on("data", function (data) {
    +        (_b = this.childProcess.stderr) === null || _b === void 0 ? void 0 : _b.on("data", function (data) {
                 // console.log("stderr", data.toString());
                 _this.converter.emit("error", CSVError_1.default.fromJSON(JSON.parse(data.toString())));
             });
    @@ -137,11 +144,12 @@ var ProcessorFork = /** @class */ (function (_super) {
         };
         ProcessorFork.prototype.process = function (chunk) {
             var _this = this;
    -        return new bluebird_1.default(function (resolve, reject) {
    +        return new Promise(function (resolve, reject) {
    +            var _a;
                 // console.log("chunk", chunk.length);
                 _this.next = resolve;
                 // this.appendReadBuf(chunk);
    -            _this.childProcess.stdin.write(chunk, function () {
    +            (_a = _this.childProcess.stdin) === null || _a === void 0 ? void 0 : _a.write(chunk, function () {
                     // console.log("chunk callback");
                     _this.flushResult();
                 });
    @@ -151,4 +159,3 @@ var ProcessorFork = /** @class */ (function (_super) {
     }(Processor_1.Processor));
     exports.ProcessorFork = ProcessorFork;
     exports.EOM = "\x03";
    -//# sourceMappingURL=ProcessFork.js.map
    \ No newline at end of file
    
  • v2/ProcessFork.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"ProcessFork.js","sourceRoot":"","sources":["../src/ProcessFork.ts"],"names":[],"mappings":"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"}
    \ No newline at end of file
    
  • v2/Processor.d.ts+4 7 modified
    @@ -1,7 +1,4 @@
    -/// <reference types="node" />
    -/// <reference types="bluebird" />
     import { Converter } from "./Converter";
    -import P from "bluebird";
     import { JSONResult } from "./lineToJson";
     import { CSVParseParam } from "./Parameters";
     import { ParseRuntime } from "./ParseRuntime";
    @@ -10,8 +7,8 @@ export declare abstract class Processor {
         protected params: CSVParseParam;
         protected runtime: ParseRuntime;
         constructor(converter: Converter);
    -    abstract process(chunk: Buffer, finalChunk?: boolean): P<ProcessLineResult[]>;
    -    abstract destroy(): P<void>;
    -    abstract flush(): P<ProcessLineResult[]>;
    +    abstract process(chunk: Buffer, finalChunk?: boolean): Promise<ProcessLineResult[]>;
    +    abstract destroy(): Promise<void>;
    +    abstract flush(): Promise<ProcessLineResult[]>;
     }
    -export declare type ProcessLineResult = string | string[] | JSONResult;
    +export type ProcessLineResult = string | string[] | JSONResult;
    
  • v2/Processor.js+1 1 modified
    @@ -1,5 +1,6 @@
     "use strict";
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.Processor = void 0;
     var Processor = /** @class */ (function () {
         function Processor(converter) {
             this.converter = converter;
    @@ -9,4 +10,3 @@ var Processor = /** @class */ (function () {
         return Processor;
     }());
     exports.Processor = Processor;
    -//# sourceMappingURL=Processor.js.map
    \ No newline at end of file
    
  • v2/Processor.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"Processor.js","sourceRoot":"","sources":["../src/Processor.ts"],"names":[],"mappings":";;AAMA;IAGE,mBAAsB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;QACxC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC;IACxC,CAAC;IAIH,gBAAC;AAAD,CAAC,AAVD,IAUC;AAVqB,8BAAS"}
    \ No newline at end of file
    
  • v2/ProcessorLocal.d.ts+11 14 modified
    @@ -1,22 +1,19 @@
    -/// <reference types="bluebird" />
    -/// <reference types="node" />
     import { Processor, ProcessLineResult } from "./Processor";
    -import P from "bluebird";
     export declare class ProcessorLocal extends Processor {
    -    flush(): P<ProcessLineResult[]>;
    -    destroy(): P<void>;
    +    flush(): Promise<ProcessLineResult[]>;
    +    destroy(): Promise<void>;
         private rowSplit;
         private eolEmitted;
         private _needEmitEol?;
    -    private readonly needEmitEol;
    +    private get needEmitEol();
         private headEmitted;
         private _needEmitHead?;
    -    private readonly needEmitHead;
    -    process(chunk: Buffer, finalChunk?: boolean): P<ProcessLineResult[]>;
    -    private processCSV(csv, finalChunk);
    -    private processDataWithHead(lines);
    -    private filterHeader();
    -    private processCSVBody(lines);
    -    private prependLeftBuf(buf);
    -    private runPreLineHook(lines);
    +    private get needEmitHead();
    +    process(chunk: Buffer, finalChunk?: boolean): Promise<ProcessLineResult[]>;
    +    private processCSV;
    +    private processDataWithHead;
    +    private filterHeader;
    +    private processCSVBody;
    +    private prependLeftBuf;
    +    private runPreLineHook;
     }
    
  • v2/ProcessorLocal.js+30 26 modified
    @@ -1,9 +1,14 @@
     "use strict";
     var __extends = (this && this.__extends) || (function () {
    -    var extendStatics = Object.setPrototypeOf ||
    -        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
    -        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    +    var extendStatics = function (d, b) {
    +        extendStatics = Object.setPrototypeOf ||
    +            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
    +            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
    +        return extendStatics(d, b);
    +    };
         return function (d, b) {
    +        if (typeof b !== "function" && b !== null)
    +            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
             extendStatics(d, b);
             function __() { this.constructor = d; }
             d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    @@ -13,8 +18,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
         return (mod && mod.__esModule) ? mod : { "default": mod };
     };
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.ProcessorLocal = void 0;
     var Processor_1 = require("./Processor");
    -var bluebird_1 = __importDefault(require("bluebird"));
     var dataClean_1 = require("./dataClean");
     var getEol_1 = __importDefault(require("./getEol"));
     var fileline_1 = require("./fileline");
    @@ -41,19 +46,19 @@ var ProcessorLocal = /** @class */ (function (_super) {
                 return this.process(buf, true)
                     .then(function (res) {
                     if (_this.runtime.csvLineBuffer && _this.runtime.csvLineBuffer.length > 0) {
    -                    return bluebird_1.default.reject(CSVError_1.default.unclosed_quote(_this.runtime.parsedLineNumber, _this.runtime.csvLineBuffer.toString()));
    +                    return Promise.reject(CSVError_1.default.unclosed_quote(_this.runtime.parsedLineNumber, _this.runtime.csvLineBuffer.toString()));
                     }
                     else {
    -                    return bluebird_1.default.resolve(res);
    +                    return Promise.resolve(res);
                     }
                 });
             }
             else {
    -            return bluebird_1.default.resolve([]);
    +            return Promise.resolve([]);
             }
         };
         ProcessorLocal.prototype.destroy = function () {
    -        return bluebird_1.default.resolve();
    +        return Promise.resolve();
         };
         Object.defineProperty(ProcessorLocal.prototype, "needEmitEol", {
             get: function () {
    @@ -62,7 +67,7 @@ var ProcessorLocal = /** @class */ (function (_super) {
                 }
                 return this._needEmitEol;
             },
    -        enumerable: true,
    +        enumerable: false,
             configurable: true
         });
         Object.defineProperty(ProcessorLocal.prototype, "needEmitHead", {
    @@ -72,7 +77,7 @@ var ProcessorLocal = /** @class */ (function (_super) {
                 }
                 return this._needEmitHead;
             },
    -        enumerable: true,
    +        enumerable: false,
             configurable: true
         });
         ProcessorLocal.prototype.process = function (chunk, finalChunk) {
    @@ -83,9 +88,9 @@ var ProcessorLocal = /** @class */ (function (_super) {
                 csvString = chunk.toString();
             }
             else {
    -            csvString = dataClean_1.prepareData(chunk, this.converter.parseRuntime);
    +            csvString = (0, dataClean_1.prepareData)(chunk, this.converter.parseRuntime);
             }
    -        return bluebird_1.default.resolve()
    +        return Promise.resolve()
                 .then(function () {
                 if (_this.runtime.preRawDataHook) {
                     return _this.runtime.preRawDataHook(csvString);
    @@ -99,7 +104,7 @@ var ProcessorLocal = /** @class */ (function (_super) {
                     return _this.processCSV(csv, finalChunk);
                 }
                 else {
    -                return bluebird_1.default.resolve([]);
    +                return Promise.resolve([]);
                 }
             });
         };
    @@ -108,19 +113,19 @@ var ProcessorLocal = /** @class */ (function (_super) {
             var params = this.params;
             var runtime = this.runtime;
             if (!runtime.eol) {
    -            getEol_1.default(csv, runtime);
    +            (0, getEol_1.default)(csv, runtime);
             }
             if (this.needEmitEol && !this.eolEmitted && runtime.eol) {
                 this.converter.emit("eol", runtime.eol);
                 this.eolEmitted = true;
             }
             // trim csv file has initial blank lines.
             if (params.ignoreEmpty && !runtime.started) {
    -            csv = util_1.trimLeft(csv);
    +            csv = (0, util_1.trimLeft)(csv);
             }
    -        var stringToLineResult = fileline_1.stringToLines(csv, runtime);
    +        var stringToLineResult = (0, fileline_1.stringToLines)(csv, runtime);
             if (!finalChunk) {
    -            this.prependLeftBuf(util_1.bufFromString(stringToLineResult.partial));
    +            this.prependLeftBuf((0, util_1.bufFromString)(stringToLineResult.partial));
             }
             else {
                 stringToLineResult.lines.push(stringToLineResult.partial);
    @@ -132,7 +137,7 @@ var ProcessorLocal = /** @class */ (function (_super) {
                     prom = this.runPreLineHook(stringToLineResult.lines);
                 }
                 else {
    -                prom = bluebird_1.default.resolve(stringToLineResult.lines);
    +                prom = Promise.resolve(stringToLineResult.lines);
                 }
                 return prom.then(function (lines) {
                     if (!runtime.started
    @@ -145,7 +150,7 @@ var ProcessorLocal = /** @class */ (function (_super) {
                 });
             }
             else {
    -            return bluebird_1.default.resolve([]);
    +            return Promise.resolve([]);
             }
         };
         ProcessorLocal.prototype.processDataWithHead = function (lines) {
    @@ -169,10 +174,10 @@ var ProcessorLocal = /** @class */ (function (_super) {
                         break;
                     }
                     else {
    -                    left = line + getEol_1.default(line, this.runtime);
    +                    left = line + (0, getEol_1.default)(line, this.runtime);
                     }
                 }
    -            this.prependLeftBuf(util_1.bufFromString(left));
    +            this.prependLeftBuf((0, util_1.bufFromString)(left));
                 if (headerRow.length === 0) {
                     return [];
                 }
    @@ -230,7 +235,7 @@ var ProcessorLocal = /** @class */ (function (_super) {
                     //   }
                     // }
                 }
    -            this.runtime.headers = util_1.filterArray(this.runtime.headers, this.runtime.selectedColumns);
    +            this.runtime.headers = (0, util_1.filterArray)(this.runtime.headers, this.runtime.selectedColumns);
             }
         };
         ProcessorLocal.prototype.processCSVBody = function (lines) {
    @@ -239,12 +244,12 @@ var ProcessorLocal = /** @class */ (function (_super) {
             }
             else {
                 var result = this.rowSplit.parseMultiLines(lines);
    -            this.prependLeftBuf(util_1.bufFromString(result.partial));
    +            this.prependLeftBuf((0, util_1.bufFromString)(result.partial));
                 if (this.params.output === "csv") {
                     return result.rowsCells;
                 }
                 else {
    -                return lineToJson_1.default(result.rowsCells, this.converter);
    +                return (0, lineToJson_1.default)(result.rowsCells, this.converter);
                 }
             }
             // var jsonArr = linesToJson(lines.lines, params, this.recordNum);
    @@ -264,7 +269,7 @@ var ProcessorLocal = /** @class */ (function (_super) {
         };
         ProcessorLocal.prototype.runPreLineHook = function (lines) {
             var _this = this;
    -        return new bluebird_1.default(function (resolve, reject) {
    +        return new Promise(function (resolve, reject) {
                 processLineHook(lines, _this.runtime, 0, function (err) {
                     if (err) {
                         reject(err);
    @@ -307,4 +312,3 @@ function processLineHook(lines, runtime, offset, cb) {
             }
         }
     }
    -//# sourceMappingURL=ProcessorLocal.js.map
    \ No newline at end of file
    
  • v2/ProcessorLocal.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"ProcessorLocal.js","sourceRoot":"","sources":["../src/ProcessorLocal.ts"],"names":[],"mappings":"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"}
    \ No newline at end of file
    
  • v2/Result.d.ts+4 6 modified
    @@ -1,17 +1,15 @@
    -/// <reference types="bluebird" />
     import { Converter } from "./Converter";
     import { ProcessLineResult } from "./Processor";
    -import P from "bluebird";
     import CSVError from "./CSVError";
     export declare class Result {
         private converter;
    -    private readonly needEmitLine;
    +    private get needEmitLine();
         private _needPushDownstream?;
    -    private readonly needPushDownstream;
    -    private readonly needEmitAll;
    +    private get needPushDownstream();
    +    private get needEmitAll();
         private finalResult;
         constructor(converter: Converter);
    -    processResult(resultLines: ProcessLineResult[]): P<any>;
    +    processResult(resultLines: ProcessLineResult[]): Promise<any>;
         appendFinalResult(lines: any[]): void;
         processError(err: CSVError): void;
         endProcess(): void;
    
  • v2/Result.js+8 12 modified
    @@ -1,9 +1,6 @@
     "use strict";
    -var __importDefault = (this && this.__importDefault) || function (mod) {
    -    return (mod && mod.__esModule) ? mod : { "default": mod };
    -};
     Object.defineProperty(exports, "__esModule", { value: true });
    -var bluebird_1 = __importDefault(require("bluebird"));
    +exports.Result = void 0;
     var os_1 = require("os");
     var Result = /** @class */ (function () {
         function Result(converter) {
    @@ -14,7 +11,7 @@ var Result = /** @class */ (function () {
             get: function () {
                 return !!this.converter.parseRuntime.subscribe && !!this.converter.parseRuntime.subscribe.onNext || this.needPushDownstream;
             },
    -        enumerable: true,
    +        enumerable: false,
             configurable: true
         });
         Object.defineProperty(Result.prototype, "needPushDownstream", {
    @@ -24,15 +21,15 @@ var Result = /** @class */ (function () {
                 }
                 return this._needPushDownstream;
             },
    -        enumerable: true,
    +        enumerable: false,
             configurable: true
         });
         Object.defineProperty(Result.prototype, "needEmitAll", {
             get: function () {
                 return !!this.converter.parseRuntime.then && this.converter.parseParam.needEmitAll;
                 // return !!this.converter.parseRuntime.then;
             },
    -        enumerable: true,
    +        enumerable: false,
             configurable: true
         });
         Result.prototype.processResult = function (resultLines) {
    @@ -43,23 +40,23 @@ var Result = /** @class */ (function () {
                     pushDownstream(this.converter, "[" + os_1.EOL);
                 }
             }
    -        // let prom: P<any>;
    -        return new bluebird_1.default(function (resolve, reject) {
    +        // let prom: Promise<any>;
    +        return new Promise(function (resolve, reject) {
                 if (_this.needEmitLine) {
                     processLineByLine(resultLines, _this.converter, 0, _this.needPushDownstream, function (err) {
                         if (err) {
                             reject(err);
                         }
                         else {
                             _this.appendFinalResult(resultLines);
    -                        resolve();
    +                        resolve(undefined);
                         }
                     });
                     // resolve();
                 }
                 else {
                     _this.appendFinalResult(resultLines);
    -                resolve();
    +                resolve(undefined);
                 }
             });
         };
    @@ -161,4 +158,3 @@ function pushDownstream(conv, res) {
             conv.push(res);
         }
     }
    -//# sourceMappingURL=Result.js.map
    \ No newline at end of file
    
  • v2/Result.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"Result.js","sourceRoot":"","sources":["../src/Result.ts"],"names":[],"mappings":"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"}
    \ No newline at end of file
    
  • v2/rowSplit.d.ts+6 6 modified
    @@ -8,14 +8,14 @@ export declare class RowSplit {
         private cachedRegExp;
         private delimiterEmitted;
         private _needEmitDelimiter?;
    -    private readonly needEmitDelimiter;
    +    private get needEmitDelimiter();
         constructor(conv: Converter);
         parse(fileline: Fileline): RowSplitResult;
    -    private toCSVRow(rowArr, trim, quote, delimiter);
    -    private getDelimiter(fileline);
    -    private isQuoteOpen(str);
    -    private isQuoteClose(str);
    -    private escapeQuote(segment);
    +    private toCSVRow;
    +    private getDelimiter;
    +    private isQuoteOpen;
    +    private isQuoteClose;
    +    private escapeQuote;
         parseMultiLines(lines: Fileline[]): MultipleRowResult;
     }
     export interface MultipleRowResult {
    
  • v2/rowSplit.js+18 18 modified
    @@ -3,9 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
         return (mod && mod.__esModule) ? mod : { "default": mod };
     };
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.RowSplit = void 0;
     var getEol_1 = __importDefault(require("./getEol"));
     var util_1 = require("./util");
    -var defaulDelimiters = [",", "|", "\t", ";", ":"];
    +var defaultDelimiters = [",", "|", "\t", ";", ":"];
     var RowSplit = /** @class */ (function () {
         function RowSplit(conv) {
             this.conv = conv;
    @@ -23,7 +24,7 @@ var RowSplit = /** @class */ (function () {
                 }
                 return this._needEmitDelimiter;
             },
    -        enumerable: true,
    +        enumerable: false,
             configurable: true
         });
         RowSplit.prototype.parse = function (fileline) {
    @@ -61,7 +62,7 @@ var RowSplit = /** @class */ (function () {
             for (var i = 0, rowLen = rowArr.length; i < rowLen; i++) {
                 var e = rowArr[i];
                 if (!inquote && trim) {
    -                e = util_1.trimLeft(e);
    +                e = (0, util_1.trimLeft)(e);
                 }
                 var len = e.length;
                 if (!inquote) {
    @@ -72,7 +73,7 @@ var RowSplit = /** @class */ (function () {
                     else if (this.isQuoteOpen(e)) { //quote open
                         e = e.substr(1);
                         if (this.isQuoteClose(e)) { //quote close
    -                        e = e.substring(0, e.lastIndexOf(quote));
    +                        e = e.substr(0, e.lastIndexOf(quote));
                             e = this.escapeQuote(e);
                             row.push(e);
                             continue;
    @@ -94,7 +95,7 @@ var RowSplit = /** @class */ (function () {
                             }
                             if (count % 2 === 1) {
                                 if (trim) {
    -                                e = util_1.trimRight(e);
    +                                e = (0, util_1.trimRight)(e);
                                 }
                                 row.push(quote + e);
                                 continue;
    @@ -113,7 +114,7 @@ var RowSplit = /** @class */ (function () {
                     }
                     else {
                         if (trim) {
    -                        e = util_1.trimRight(e);
    +                        e = (0, util_1.trimRight)(e);
                         }
                         row.push(e);
                         continue;
    @@ -126,7 +127,7 @@ var RowSplit = /** @class */ (function () {
                         quoteBuff += delimiter + e;
                         quoteBuff = this.escapeQuote(quoteBuff);
                         if (trim) {
    -                        quoteBuff = util_1.trimRight(quoteBuff);
    +                        quoteBuff = (0, util_1.trimRight)(quoteBuff);
                         }
                         row.push(quoteBuff);
                         quoteBuff = "";
    @@ -142,26 +143,26 @@ var RowSplit = /** @class */ (function () {
             return { cells: row, closed: !inquote };
         };
         RowSplit.prototype.getDelimiter = function (fileline) {
    -        var checker;
    +        var possibleDelimiters;
             if (this.conv.parseParam.delimiter === "auto") {
    -            checker = defaulDelimiters;
    +            possibleDelimiters = defaultDelimiters;
             }
             else if (this.conv.parseParam.delimiter instanceof Array) {
    -            checker = this.conv.parseParam.delimiter;
    +            possibleDelimiters = this.conv.parseParam.delimiter;
             }
             else {
                 return this.conv.parseParam.delimiter;
             }
             var count = 0;
    -        var rtn = ",";
    -        checker.forEach(function (delim) {
    +        var delimiter = ",";
    +        possibleDelimiters.forEach(function (delim) {
                 var delimCount = fileline.split(delim).length;
                 if (delimCount > count) {
    -                rtn = delim;
    +                delimiter = delim;
                     count = delimCount;
                 }
             });
    -        return rtn;
    +        return delimiter;
         };
         RowSplit.prototype.isQuoteOpen = function (str) {
             var quote = this.quote;
    @@ -173,7 +174,7 @@ var RowSplit = /** @class */ (function () {
             var quote = this.quote;
             var escape = this.escape;
             if (this.conv.parseParam.trim) {
    -            str = util_1.trimRight(str);
    +            str = (0, util_1.trimRight)(str);
             }
             var count = 0;
             var idx = str.length - 1;
    @@ -211,20 +212,19 @@ var RowSplit = /** @class */ (function () {
                 }
                 if (row.closed || this.conv.parseParam.alwaysSplitAtEOL) {
                     if (this.conv.parseRuntime.selectedColumns) {
    -                    csvLines.push(util_1.filterArray(row.cells, this.conv.parseRuntime.selectedColumns));
    +                    csvLines.push((0, util_1.filterArray)(row.cells, this.conv.parseRuntime.selectedColumns));
                     }
                     else {
                         csvLines.push(row.cells);
                     }
                     left = "";
                 }
                 else {
    -                left = line + (getEol_1.default(line, this.conv.parseRuntime) || "\n");
    +                left = line + ((0, getEol_1.default)(line, this.conv.parseRuntime) || "\n");
                 }
             }
             return { rowsCells: csvLines, partial: left };
         };
         return RowSplit;
     }());
     exports.RowSplit = RowSplit;
    -//# sourceMappingURL=rowSplit.js.map
    \ No newline at end of file
    
  • v2/rowSplit.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"rowSplit.js","sourceRoot":"","sources":["../src/rowSplit.ts"],"names":[],"mappings":"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"}
    \ No newline at end of file
    
  • v2/util.d.ts+0 1 modified
    @@ -1,4 +1,3 @@
    -/// <reference types="node" />
     export declare function bufFromString(str: string): Buffer;
     export declare function emptyBuffer(): Buffer;
     export declare function filterArray(arr: any[], filter: number[]): any[];
    
  • v2/util.js+10 12 modified
    @@ -1,5 +1,9 @@
     "use strict";
     Object.defineProperty(exports, "__esModule", { value: true });
    +exports.trimRight = exports.trimLeft = void 0;
    +exports.bufFromString = bufFromString;
    +exports.emptyBuffer = emptyBuffer;
    +exports.filterArray = filterArray;
     function bufFromString(str) {
         var length = Buffer.byteLength(str);
         var buffer = Buffer.allocUnsafe
    @@ -8,14 +12,12 @@ function bufFromString(str) {
         buffer.write(str);
         return buffer;
     }
    -exports.bufFromString = bufFromString;
     function emptyBuffer() {
         var buffer = Buffer.allocUnsafe
             ? Buffer.allocUnsafe(0)
             : new Buffer(0);
         return buffer;
     }
    -exports.emptyBuffer = emptyBuffer;
     function filterArray(arr, filter) {
         var rtn = [];
         for (var i = 0; i < arr.length; i++) {
    @@ -25,15 +27,11 @@ function filterArray(arr, filter) {
         }
         return rtn;
     }
    -exports.filterArray = filterArray;
    -exports.trimLeft = String.prototype.trimLeft ? function trimLeftNative(str) {
    -    return str.trimLeft();
    -} : function trimLeftRegExp(str) {
    -    return str.replace(/^\s+/, "");
    +var trimLeft = function trimLeftNative(str) {
    +    return str.trimStart();
     };
    -exports.trimRight = String.prototype.trimRight ? function trimRightNative(str) {
    -    return str.trimRight();
    -} : function trimRightRegExp(str) {
    -    return str.replace(/\s+$/, "");
    +exports.trimLeft = trimLeft;
    +var trimRight = function trimRightNative(str) {
    +    return str.trimEnd();
     };
    -//# sourceMappingURL=util.js.map
    \ No newline at end of file
    +exports.trimRight = trimRight;
    
  • v2/util.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAAA,uBAA8B,GAAW;IACvC,IAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtC,IAAM,MAAM,GAAG,MAAM,CAAC,WAAW;QAC/B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC;AAPD,sCAOC;AAED;IACE,IAAM,MAAM,GAAG,MAAM,CAAC,WAAW;QAC/B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC;AALD,kCAKC;AAED,qBAA4B,GAAU,EAAE,MAAgB;IACtD,IAAM,GAAG,GAAU,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;YAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAClB;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AARD,kCAQC;AAEY,QAAA,QAAQ,GAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAA,CAAC,CAAA,wBAAwB,GAAU;IAChF,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAA,CAAC,CAAA,wBAAwB,GAAU;IAClC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC,CAAA;AAEY,QAAA,SAAS,GAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAA,CAAC,CAAA,yBAAyB,GAAU;IACnF,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC;AACzB,CAAC,CAAA,CAAC,CAAA,yBAAyB,GAAU;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC,CAAA"}
    \ No newline at end of file
    
  • v2/worker.js+0 1 modified
    @@ -69,4 +69,3 @@
     // process.on("disconnect", () => {
     //   process.exit(-1);
     // });
    -//# sourceMappingURL=worker.js.map
    \ No newline at end of file
    
  • v2/worker.js.map+0 1 removed
    @@ -1 +0,0 @@
    -{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,6DAA6D;AAC7D,qCAAqC;AACrC,gDAAgD;AAChD,qCAAqC;AACrC,uBAAuB;AACvB,sCAAsC;AACtC,8BAA8B;AAC9B,gEAAgE;AAChE,0BAA0B;AAC1B,mCAAmC;AACnC,qDAAqD;AACrD,kCAAkC;AAClC,sCAAsC;AACtC,gDAAgD;AAChD,wCAAwC;AACxC,0CAA0C;AAC1C,2CAA2C;AAC3C,cAAc;AACd,iBAAiB;AACjB,gDAAgD;AAChD,8BAA8B;AAC9B,sBAAsB;AACtB,mCAAmC;AACnC,eAAe;AACf,UAAU;AAEV,UAAU;AACV,gCAAgC;AAChC,sCAAsC;AACtC,0BAA0B;AAC1B,sDAAsD;AACtD,SAAS;AACT,sCAAsC;AACtC,0BAA0B;AAC1B,4DAA4D;AAC5D,SAAS;AACT,8BAA8B;AAC9B,yDAAyD;AACzD,yBAAyB;AACzB,2BAA2B;AAC3B,YAAY;AACZ,YAAY;AACZ,wBAAwB;AACxB,kDAAkD;AAClD,UAAU;AAGV,sCAAsC;AACtC,SAAS;AACT,0BAA0B;AAC1B,yCAAyC;AACzC,QAAQ;AAGR,MAAM;AACN,IAAI;AACJ,0BAA0B;AAC1B,qBAAqB;AACrB,iCAAiC;AACjC,oCAAoC;AACpC,WAAW;AACX,IAAI;AACJ,kDAAkD;AAClD,2BAA2B;AAC3B,kFAAkF;AAClF,MAAM;AACN,4BAA4B;AAC5B,qFAAqF;AACrF,MAAM;AACN,cAAc;AACd,IAAI;AAEJ,mCAAmC;AACnC,sBAAsB;AACtB,MAAM"}
    \ No newline at end of file
    

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

7

News mentions

0

No linked articles in our index yet.