packages feed

ipfs 1.0.0 → 1.0.1

raw patch · 9 files changed

+27/−86 lines, 9 filesnew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Network.IPFS.Config: get :: (MonadReader cfg m, Has a cfg) => m a
- Network.IPFS.Internal.Constraint: type MonadRIO cfg m = (MonadIO m, MonadReader cfg m)
- Network.IPFS.Internal.Orphanage.ByteString.Lazy: instance Data.Aeson.Types.FromJSON.FromJSON Data.ByteString.Internal.ByteString
+ Network.IPFS.Internal.Orphanage.ByteString.Lazy: instance Data.Aeson.Types.FromJSON.FromJSON Data.ByteString.Lazy.Internal.ByteString
- Network.IPFS: class Monad m => MonadRemoteIPFS m
+ Network.IPFS: class MonadIO m => MonadRemoteIPFS m
- Network.IPFS.Pin: add :: (MonadRIO cfg m, MonadRemoteIPFS m, MonadLogger m) => CID -> m (Either Error CID)
+ Network.IPFS.Pin: add :: (MonadRemoteIPFS m, MonadLogger m) => CID -> m (Either Error CID)
- Network.IPFS.Pin: rm :: (MonadRIO cfg m, MonadRemoteIPFS m, MonadLogger m) => CID -> m (Either Error CID)
+ Network.IPFS.Pin: rm :: (MonadRemoteIPFS m, MonadLogger m) => CID -> m (Either Error CID)
- Network.IPFS.Process: runProc :: (MonadRIO cfg m, HasProcessContext cfg, HasLogFunc cfg) => (ProcessConfig stdin stdout () -> m a) -> FilePath -> StreamIn stdin -> StreamOut stdout -> [Opt] -> m a
+ Network.IPFS.Process: runProc :: (MonadIO m, MonadReader cfg m, HasProcessContext cfg, HasLogFunc cfg) => (ProcessConfig stdin stdout () -> m a) -> FilePath -> StreamIn stdin -> StreamOut stdout -> [Opt] -> m a
- Network.IPFS.Remote.Class: class Monad m => MonadRemoteIPFS m
+ Network.IPFS.Remote.Class: class MonadIO m => MonadRemoteIPFS m

Files

README.md view
@@ -1,3 +1,5 @@+![](https://github.com/fission-suite/PROJECTNAME/raw/master/assets/logo.png?sanitize=true)+ # ipfs-haskell  [![Build Status](https://travis-ci.org/fission-suite/PROJECTNAME.svg?branch=master)](https://travis-ci.org/fission-suite/ipfs-haskell)
ipfs.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 0ce7658c51aedc29d36dcf7bc42ec1a99ebc4eb32b76ffb58916cf586f58ba7b+-- hash: 57e69b16ed496b39a019d745c36aca0c13d5eca31deb91fbf3503b2fd1852e90  name:           ipfs-version:        1.0.0+version:        1.0.1 synopsis:       Access IPFS locally and remotely description:    Interact with the IPFS network by shelling out to a local IPFS node or communicating via the HTTP interface of a remote IPFS node. category:       Network@@ -44,7 +44,6 @@       Network.IPFS.Client.Error.Types       Network.IPFS.Client.Param       Network.IPFS.Client.Pin-      Network.IPFS.Config       Network.IPFS.DAG       Network.IPFS.DAG.Link       Network.IPFS.DAG.Link.Types@@ -56,7 +55,6 @@       Network.IPFS.Get.Error       Network.IPFS.Ignored.Types       Network.IPFS.Info.Types-      Network.IPFS.Internal.Constraint       Network.IPFS.Internal.Orphanage.ByteString.Lazy       Network.IPFS.Internal.Orphanage.Natural       Network.IPFS.Internal.Orphanage.Utf8Builder
− library/Network/IPFS/Config.hs
@@ -1,32 +0,0 @@--- | Application configuration and top-level 'RIO' helpers-module Network.IPFS.Config-  ( get-  ) where--import RIO-import Data.Has---- $setup------ >>> import RIO--- >>> import Data.Has--- >>>--- >>> :set -XBlockArguments--- >>> :set -XMultiParamTypeClasses--- >>> :set -XOverloadedStrings---- | Get a value from the reader config------   >>> data Field = Field Text---   >>> data Cfg = Cfg Field---   >>>---   >>> instance Has Field Cfg where hasLens = \f (Cfg field) -> Cfg <$> f field---   >>>---   >>> :{---   >>>   runRIO (Cfg $ Field "hello world") do---   >>>     Field txt <- get---   >>>     return txt---   >>> :}---   "hello world"-get :: (MonadReader cfg m, Has a cfg) => m a-get = view hasLens
− library/Network/IPFS/Internal/Constraint.hs
@@ -1,5 +0,0 @@-module Network.IPFS.Internal.Constraint (MonadRIO) where--import RIO--type MonadRIO cfg m = (MonadIO m, MonadReader cfg m)
library/Network/IPFS/Internal/Orphanage/ByteString/Lazy.hs view
@@ -10,5 +10,5 @@ instance MimeRender PlainText Lazy.ByteString where   mimeRender _proxy = identity -instance FromJSON ByteString where-  parseJSON = withText "ByteString" (pure . encodeUtf8)+instance FromJSON Lazy.ByteString where+  parseJSON = withText "ByteString" (pure . Lazy.fromStrict . encodeUtf8)
library/Network/IPFS/Pin.hs view
@@ -13,13 +13,7 @@ import           Servant.Client.Core  -- | Pin a CID-add ::-  ( MonadRIO cfg m-  , MonadRemoteIPFS m-  , MonadLogger     m-  )-  => IPFS.CID-  -> m (Either IPFS.Add.Error CID)+add :: (MonadRemoteIPFS m, MonadLogger m) => IPFS.CID -> m (Either IPFS.Add.Error CID) add cid = ipfsPin cid >>= \case   Right Pin.Response { cids } ->     case cids of@@ -36,13 +30,7 @@     return <| Left formattedError  -- | Unpin a CID-rm ::-  ( MonadRIO cfg m-  , MonadRemoteIPFS  m-  , MonadLogger      m-  )-  => IPFS.CID-  -> m (Either IPFS.Add.Error CID)+rm :: (MonadRemoteIPFS m, MonadLogger m) => IPFS.CID -> m (Either IPFS.Add.Error CID) rm cid = ipfsUnpin cid False >>= \case   Right Pin.Response { cids } ->     case cids of@@ -59,36 +47,26 @@     return <| Right cid  -- | Parse and Log the Servant Client Error returned from the IPFS Daemon-parseClientError ::-  ( MonadRIO        cfg m-  , MonadLogger     m-  )-  => ClientError-  -> m Error+parseClientError :: MonadLogger m => ClientError -> m Error parseClientError err = do   logError <| displayShow err   return <| case err of-        FailureResponse _ response ->-          response-          |> responseBody-          |> decode-          |> \case-            Just IPFS.ErrorBody {message} ->-              IPFSDaemonErr <| UTF8.textShow message+    FailureResponse _ response ->+      response+        |> responseBody+        |> decode+        |> \case+          Just IPFS.ErrorBody {message} ->+            IPFSDaemonErr <| UTF8.textShow message -            _ ->-              UnexpectedOutput <| UTF8.textShow err+          _ ->+            UnexpectedOutput <| UTF8.textShow err -        unknownClientError ->-          UnknownAddErr <| UTF8.textShow unknownClientError+    unknownClientError ->+      UnknownAddErr <| UTF8.textShow unknownClientError  -- | Parse and Log unexpected output when attempting to pin-parseUnexpectedOutput ::-  ( MonadRIO cfg m-  , MonadLogger m-  )-  => Text-  -> m IPFS.Add.Error+parseUnexpectedOutput :: MonadLogger m => Text -> m IPFS.Add.Error parseUnexpectedOutput errStr = do   let     baseError = UnexpectedOutput errStr
library/Network/IPFS/Prelude.hs view
@@ -4,7 +4,6 @@   , module Control.Monad.Logger   , module Data.Aeson   , module Data.Has-  , module Network.IPFS.Internal.Constraint   , module Flow   , module RIO   , module RIO.Process@@ -21,7 +20,6 @@ import Data.Aeson import Data.Has -import Network.IPFS.Internal.Constraint import Network.IPFS.Internal.Orphanage.Utf8Builder ()  import Flow
library/Network/IPFS/Process.hs view
@@ -4,7 +4,8 @@ import Network.IPFS.Process.Types  runProc ::-  ( MonadRIO          cfg m+  ( MonadIO               m+  , MonadReader       cfg m   , HasProcessContext cfg   , HasLogFunc        cfg   )
library/Network/IPFS/Remote/Class.hs view
@@ -18,14 +18,15 @@ import qualified Network.IPFS.Client.Pin as Pin import qualified Network.IPFS.File.Types      as File -class Monad m => MonadRemoteIPFS m where+class MonadIO m => MonadRemoteIPFS m where   runRemote :: ClientM a       -> m (Either ClientError a)   ipfsAdd   :: Lazy.ByteString -> m (Either ClientError CID)   ipfsCat   :: CID             -> m (Either ClientError File.Serialized)   ipfsPin   :: CID             -> m (Either ClientError Pin.Response)   ipfsUnpin :: CID -> Bool     -> m (Either ClientError Pin.Response)+   -- defaults   ipfsAdd raw                   = runRemote <| IPFS.Client.add raw-  ipfsCat (CID cid)             = runRemote <| IPFS.Client.cat cid-  ipfsPin (CID cid)             = runRemote <| IPFS.Client.pin cid+  ipfsCat   (CID cid)           = runRemote <| IPFS.Client.cat cid+  ipfsPin   (CID cid)           = runRemote <| IPFS.Client.pin cid   ipfsUnpin (CID cid) recursive = runRemote <| IPFS.Client.unpin cid recursive