From 8ba33e88cfbbdcf142fa3793d03757f10c592d51 Mon Sep 17 00:00:00 2001 From: Orion Kindel Date: Fri, 3 May 2024 14:05:51 -0500 Subject: [PATCH] fix: maybe this has already been emitted --- src/Node.Stream.CSV.Parse.purs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Node.Stream.CSV.Parse.purs b/src/Node.Stream.CSV.Parse.purs index 1521a82..f568b2a 100644 --- a/src/Node.Stream.CSV.Parse.purs +++ b/src/Node.Stream.CSV.Parse.purs @@ -17,7 +17,7 @@ import Data.Either (Either(..)) import Data.Filterable (filter) import Data.Map (Map) import Data.Map as Map -import Data.Maybe (Maybe(..)) +import Data.Maybe (Maybe(..), isNothing) import Data.Newtype (wrap) import Data.Nullable (Nullable) import Data.Nullable as Nullable @@ -117,7 +117,10 @@ foreach foreach stream cb = do UnliftAff unlift <- askUnliftAff - liftAff $ makeAff \res -> pure mempty <* flip (Event.once columnsH) stream $ const do + alreadyHaveCols <- liftEffect $ getOrInitColumnsMap stream + when (isNothing alreadyHaveCols) + $ liftAff + $ makeAff \res -> pure mempty <* flip (Event.once columnsH) stream $ const do void $ getOrInitColumnsMap stream res $ Right unit