fix: finish may not emit until all chunks are read

This commit is contained in:
2024-06-20 15:40:17 -05:00
parent f3ea830379
commit a8702f4849
6 changed files with 53 additions and 27 deletions

View File

@@ -86,9 +86,14 @@ chunked size = do
a <- MaybeT await
chunkPut a
len <- lift chunkLength
when (len >= size) $ lift $ yield =<< Just <$> chunkTake
when (len >= size) do
chunk <- lift chunkTake
lift $ yield $ Just chunk
len <- chunkLength
when (len > 0) $ yield =<< Just <$> chunkTake
when (len > 0) do
chunk <- chunkTake
yield $ Just chunk
yield Nothing
-- | Equivalent of unix `uniq`, filtering out duplicate values passed to it.