From bb4bdc74ea8c591f5154b8f5c59f3de8d5d56049 Mon Sep 17 00:00:00 2001 From: Ardis Lu Date: Thu, 9 Jan 2025 21:45:15 -0800 Subject: [PATCH] Explicitly await for stream close Otherwise, a race condition occurs when running these examples in test cases --- examples/ex1.js | 2 +- examples/ex2.js | 2 +- examples/ex3.js | 2 +- examples/ex4.js | 2 +- examples/ex5.js | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/ex1.js b/examples/ex1.js index b2457d9..d08d007 100644 --- a/examples/ex1.js +++ b/examples/ex1.js @@ -14,6 +14,6 @@ function timesTwo(row) { return [Number(row[0]) * 2, Number(row[1]) * 2]; } -createCSVReadableStream(new URL('./data/ex1-in.csv', import.meta.url)) +await createCSVReadableStream(new URL('./data/ex1-in.csv', import.meta.url)) .pipeThrough(createCSVTransformStream(timesTwo)) .pipeTo(createCSVWritableStream(new URL('./data/ex1-out.csv', import.meta.url))); \ No newline at end of file diff --git a/examples/ex2.js b/examples/ex2.js index 16c1c60..dfedb32 100644 --- a/examples/ex2.js +++ b/examples/ex2.js @@ -18,6 +18,6 @@ function sum(row) { return [...row, Number(row[0]) + Number(row[1])]; } -createCSVReadableStream(new URL('./data/ex2-in.csv', import.meta.url)) +await createCSVReadableStream(new URL('./data/ex2-in.csv', import.meta.url)) .pipeThrough(createCSVTransformStream(sum, { includeHeaders: true })) .pipeTo(createCSVWritableStream(new URL('./data/ex2-out.csv', import.meta.url))); \ No newline at end of file diff --git a/examples/ex3.js b/examples/ex3.js index 32a907d..85a3c82 100644 --- a/examples/ex3.js +++ b/examples/ex3.js @@ -22,7 +22,7 @@ function calculate(obj) { return [name, paddedId]; } -createCSVReadableStream(new URL('./data/ex3-in.csv', import.meta.url)) +await createCSVReadableStream(new URL('./data/ex3-in.csv', import.meta.url)) .pipeThrough(createCSVTransformStream(parse, { includeHeaders: true, rawOutput: true })) .pipeThrough(createCSVTransformStream(calculate, { includeHeaders: true, rawInput: true })) .pipeTo(createCSVWritableStream(new URL('./data/ex3-out.csv', import.meta.url))); \ No newline at end of file diff --git a/examples/ex4.js b/examples/ex4.js index 638605f..9039354 100644 --- a/examples/ex4.js +++ b/examples/ex4.js @@ -30,7 +30,7 @@ const headers = [ } ]; -createCSVReadableStream(new URL('./data/ex4-in.csv', import.meta.url)) +await createCSVReadableStream(new URL('./data/ex4-in.csv', import.meta.url)) .pipeThrough(createCSVNormalizationStream(headers)) .pipeThrough(createCSVDenormalizationStream()) .pipeTo(createCSVWritableStream(new URL('./data/ex4-out.csv', import.meta.url))); \ No newline at end of file diff --git a/examples/ex5.js b/examples/ex5.js index 2b0f9a3..7d8b5eb 100644 --- a/examples/ex5.js +++ b/examples/ex5.js @@ -24,6 +24,6 @@ function parse(row) { return [report, id, date, ...row]; } -createCSVReadableStream(new URL('./data/ex5-in.csv', import.meta.url)) +await createCSVReadableStream(new URL('./data/ex5-in.csv', import.meta.url)) .pipeThrough(createCSVTransformStream(parse, { includeHeaders: true })) .pipeTo(createCSVWritableStream(new URL('./data/ex5-out.csv', import.meta.url))); \ No newline at end of file -- 2.47.3