diff --git a/packages/csv/samples/.gitignore b/packages/csv/samples/.gitignore new file mode 100644 index 000000000..72d9b673e --- /dev/null +++ b/packages/csv/samples/.gitignore @@ -0,0 +1,2 @@ +example.fs.input.csv +example.fs.output.csv diff --git a/packages/csv/samples/example.fs.js b/packages/csv/samples/example.fs.js new file mode 100644 index 000000000..51c32f2c4 --- /dev/null +++ b/packages/csv/samples/example.fs.js @@ -0,0 +1,24 @@ +import fs from "node:fs"; +import assert from "node:assert"; +import { finished } from "node:stream/promises"; +import { parse, transform, stringify } from "csv"; + +const __dirname = new URL(".", import.meta.url).pathname; +await fs.promises.writeFile( + `${__dirname}/example.fs.input.csv`, + "a,b,c\n1,2,3" +); + +await finished( + fs + .createReadStream(`${__dirname}/example.fs.input.csv`) + .pipe(parse()) + .pipe(transform((record) => record.reverse())) + .pipe(stringify()) + .pipe(fs.createWriteStream(`${__dirname}/example.fs.output.csv`)) +); + +assert.equal( + await fs.promises.readFile(`${__dirname}/example.fs.output.csv`, "utf8"), + "c,b,a\n3,2,1\n" +);