Compare commits
2 Commits
cda67508d4
...
c73d934a5c
Author | SHA1 | Date | |
---|---|---|---|
c73d934a5c | |||
dc1ba322a9 |
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "purescript-node-stream-pipes",
|
"name": "purescript-node-stream-pipes",
|
||||||
"version": "v2.1.0",
|
"version": "v2.1.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"csv-parse": "^5.5.6",
|
"csv-parse": "^5.5.6",
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package:
|
package:
|
||||||
name: node-stream-pipes
|
name: node-stream-pipes
|
||||||
publish:
|
publish:
|
||||||
version: '2.1.0'
|
version: '2.1.1'
|
||||||
license: 'GPL-3.0-or-later'
|
license: 'GPL-3.0-or-later'
|
||||||
location:
|
location:
|
||||||
githubOwner: 'cakekindel'
|
githubOwner: 'cakekindel'
|
||||||
|
@ -8,7 +8,7 @@ import Control.Monad.Error.Class (class MonadError, class MonadThrow, catchError
|
|||||||
import Control.Monad.Except (ExceptT, runExceptT)
|
import Control.Monad.Except (ExceptT, runExceptT)
|
||||||
import Control.Monad.Fork.Class (class MonadBracket, class MonadFork, fork)
|
import Control.Monad.Fork.Class (class MonadBracket, class MonadFork, fork)
|
||||||
import Control.Monad.Maybe.Trans (MaybeT(..), runMaybeT)
|
import Control.Monad.Maybe.Trans (MaybeT(..), runMaybeT)
|
||||||
import Control.Monad.Morph (hoist)
|
import Control.Monad.Morph (class MFunctor, hoist)
|
||||||
import Control.Monad.Rec.Class (class MonadRec, Step(..), tailRecM)
|
import Control.Monad.Rec.Class (class MonadRec, Step(..), tailRecM)
|
||||||
import Control.Monad.ST.Class (liftST)
|
import Control.Monad.ST.Class (liftST)
|
||||||
import Control.Monad.ST.Ref (STRef)
|
import Control.Monad.ST.Ref (STRef)
|
||||||
@ -131,6 +131,18 @@ getAsyncIO (Pure _) = pure Nothing
|
|||||||
instance MonadTrans (AsyncPipe a b) where
|
instance MonadTrans (AsyncPipe a b) where
|
||||||
lift = M <<< map Pure
|
lift = M <<< map Pure
|
||||||
|
|
||||||
|
instance MFunctor (AsyncPipe a b) where
|
||||||
|
hoist _ (Pure a) = Pure a
|
||||||
|
hoist f (M m) = M $ f $ hoist f <$> m
|
||||||
|
hoist f (AsyncIO ({read, write, awaitWrite, awaitRead} /\ m)) =
|
||||||
|
AsyncIO
|
||||||
|
$ { read: f read
|
||||||
|
, write: f <<< write
|
||||||
|
, awaitWrite: f awaitWrite
|
||||||
|
, awaitRead: f awaitRead
|
||||||
|
}
|
||||||
|
/\ hoist f m
|
||||||
|
|
||||||
instance Monad m => Functor (AsyncPipe a b m) where
|
instance Monad m => Functor (AsyncPipe a b m) where
|
||||||
map f (Pure r) = Pure $ f r
|
map f (Pure r) = Pure $ f r
|
||||||
map f (M m) = M $ map f <$> m
|
map f (M m) = M $ map f <$> m
|
||||||
|
Loading…
Reference in New Issue
Block a user