diff --git a/spago.lock b/spago.lock index 92197d8..5a527af 100644 --- a/spago.lock +++ b/spago.lock @@ -6,11 +6,12 @@ workspace: - aff: ">=7.1.0 <8.0.0" - arrays: ">=7.3.0 <8.0.0" - bifunctors: ">=6.0.0 <7.0.0" + - control - datetime: ">=6.1.0 <7.0.0" - effect: ">=4.0.0 <5.0.0" - either: ">=6.1.0 <7.0.0" - exceptions: ">=6.0.0 <7.0.0" - - filterable + - filterable: ">=5.0.0 <6.0.0" - foldable-traversable: ">=6.0.0 <7.0.0" - foreign: ">=7.0.0 <8.0.0" - foreign-object: ">=4.1.0 <5.0.0" @@ -23,6 +24,7 @@ workspace: - node-streams: ">=9.0.0 <10.0.0" - nullable: ">=6.0.0 <7.0.0" - numbers: ">=9.0.1 <10.0.0" + - ordered-collections - precise-datetime: ">=7.0.0 <8.0.0" - prelude: ">=6.0.1 <7.0.0" - record: ">=4.0.0 <5.0.0" diff --git a/spago.yaml b/spago.yaml index ca74d74..c9bd353 100644 --- a/spago.yaml +++ b/spago.yaml @@ -13,6 +13,7 @@ package: - aff: ">=7.1.0 <8.0.0" - arrays: ">=7.3.0 <8.0.0" - bifunctors: ">=6.0.0 <7.0.0" + - control: ">=6.0.0 <7.0.0" - datetime: ">=6.1.0 <7.0.0" - effect: ">=4.0.0 <5.0.0" - either: ">=6.1.0 <7.0.0" @@ -30,6 +31,7 @@ package: - node-streams: ">=9.0.0 <10.0.0" - nullable: ">=6.0.0 <7.0.0" - numbers: ">=9.0.1 <10.0.0" + - ordered-collections: ">=3.2.0 <4.0.0" - precise-datetime: ">=7.0.0 <8.0.0" - prelude: ">=6.0.1 <7.0.0" - record: ">=4.0.0 <5.0.0" diff --git a/src/Node.Stream.CSV.Parse.js b/src/Node.Stream.CSV.Parse.js index e0483ab..2c11e46 100644 --- a/src/Node.Stream.CSV.Parse.js +++ b/src/Node.Stream.CSV.Parse.js @@ -10,21 +10,14 @@ class ParserWithColumns extends Parser { /** @type {(s: import('csv-parse').Options) => () => ParserWithColumns} */ export const makeImpl = c => () => { const parser = new ParserWithColumns(c) - parser.once('data', columns => { - parser.columns = columns; + parser.once('readable', () => { + parser.columns = parser.read(); }) return parser } /** @type {(s: ParserWithColumns) => () => Array | null} */ -export const readImpl = p => () => { - const chunk = p.read(); - if (chunk === p.columns) { - return p.read() - } else { - return chunk - } -} +export const readImpl = p => () => p.read(); /** @type {(s: ParserWithColumns) => () => Array} */ export const columnsArrayImpl = p => () => p.columns