From 20c3c617f76afb689bf766463d5516c5f6ad919b Mon Sep 17 00:00:00 2001 From: JordanMartinez Date: Wed, 26 Jul 2023 07:37:40 -0700 Subject: [PATCH] Fix FFI (#55) --- CHANGELOG.md | 8 ++++++++ src/Node/Stream.js | 4 ++-- src/Node/Stream.purs | 6 +++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03c2988..2f18188 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,14 @@ Bugfixes: Other improvements: +## Next + +Breaking changes: +- Correct type signature for `pipeline` + +Bugfixes: +- Fix FFI for `isPaused` and `pause` + ## [v8.0.0](https://github.com/purescript-node/purescript-node-streams/releases/tag/v8.0.0) - 2022-07-19 Breaking changes: diff --git a/src/Node/Stream.js b/src/Node/Stream.js index 2b35a80..7efa480 100644 --- a/src/Node/Stream.js +++ b/src/Node/Stream.js @@ -28,9 +28,9 @@ export const readableLengthImpl = (r) => r.readableLength; export const resumeImpl = (r) => r.resume(); -export const pauseImpl = (r) => r.pause; +export const pauseImpl = (r) => r.pause(); -export const isPausedImpl = (r) => r.isPaused; +export const isPausedImpl = (r) => r.isPaused(); export const pipeImpl = (r, w) => r.pipe(w); diff --git a/src/Node/Stream.purs b/src/Node/Stream.purs index efa81ea..cdc1930 100644 --- a/src/Node/Stream.purs +++ b/src/Node/Stream.purs @@ -488,10 +488,10 @@ allowHalfOpen d = runEffectFn1 allowHalfOpenImpl d foreign import allowHalfOpenImpl :: EffectFn1 (Duplex) (Boolean) -pipeline :: forall w r. Readable w -> Array Duplex -> Writable r -> (Error -> Effect Unit) -> Effect Unit -pipeline src transforms dest cb = runEffectFn4 pipelineImpl src transforms dest cb +pipeline :: forall w r. Readable w -> Array Duplex -> Writable r -> (Maybe Error -> Effect Unit) -> Effect Unit +pipeline src transforms dest cb = runEffectFn4 pipelineImpl src transforms dest $ mkEffectFn1 \err -> cb (toMaybe err) -foreign import pipelineImpl :: forall w r. EffectFn4 (Readable w) (Array Duplex) (Writable r) ((Error -> Effect Unit)) (Unit) +foreign import pipelineImpl :: forall w r. EffectFn4 (Readable w) (Array Duplex) (Writable r) (EffectFn1 (Nullable Error) Unit) (Unit) readableFromString :: String -> Encoding -> Effect (Readable ()) readableFromString str enc = runEffectFn2 readableFromStrImpl str (encodingToNode enc)