couchdb-conduit 0.5.0 → 0.5.1
raw patch · 3 files changed
+19/−7 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Database.CouchDB.Conduit: quoteQueryParam :: ByteString -> ByteString
Files
- couchdb-conduit.cabal +1/−1
- src/Database/CouchDB/Conduit.hs +9/−1
- src/Database/CouchDB/Conduit/View.hs +9/−5
couchdb-conduit.cabal view
@@ -1,5 +1,5 @@ name: couchdb-conduit-version: 0.5.0 +version: 0.5.1 cabal-version: >= 1.8 build-type: Simple stability: Stable
src/Database/CouchDB/Conduit.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE OverloadedStrings #-} + {- | CouchDB To work with concrete objects, use the following modules: @@ -41,10 +43,13 @@ -- * "Database.CouchDB.Conduit.Generic" Generic JSON methods couchRev, couchRev', - couchDelete + couchDelete, + -- * Utility + quoteQueryParam ) where +import Data.ByteString (ByteString, append) import Data.Conduit (ResourceT) import Database.CouchDB.Conduit.Internal.Connection import qualified Database.CouchDB.Conduit.Internal.Doc as D @@ -72,3 +77,6 @@ -> ResourceT m () couchDelete db p = D.couchDelete (mkPath [db, p]) +-- | Simple query param quotation. +quoteQueryParam :: ByteString -> ByteString +quoteQueryParam a = "\"" `append` a `append` "\""
src/Database/CouchDB/Conduit/View.hs view
@@ -24,7 +24,10 @@ import qualified Data.Aeson as A import Data.Attoparsec -import Data.Conduit +import Data.Conduit (ResourceIO, ResourceT, + Source, Conduit, Sink, ($$), ($=), + sequenceSink, SequencedSinkResponse(..), + resourceThrow ) import qualified Data.Conduit.List as CL import qualified Data.Conduit.Attoparsec as CA @@ -53,7 +56,7 @@ -- | Run CouchDB view in manner like 'H.http'. -- --- > runCouch def {couchDB="mydb"} $ do +-- > runCouch def $ do -- > -- > -- Print all upon receipt. -- > src <- couchView "mydb" "mydesign" "myview" [] @@ -77,13 +80,14 @@ -- | Brain-free version of 'couchView'. Takes 'Sink' to consume response. ----- > runCouch def {couchDB="mydb"} $ do +-- > runCouch def $ do -- > -- > -- Print all upon receipt.--- > couchView' "mydesign" "myview" [] $ CL.mapM_ (liftIO . print) +-- > couchView' "mydb" "mydesign" "myview" [] $ CL.mapM_ (liftIO . print) -- > -- > -- ... Or extract row value and consume --- > res <- couchView' "mydesign" "myview" [] $ rowValue =$ CL.consume +-- > res <- couchView' "mydb" "mydesign" "myview" [] $ +-- > rowValue =$ CL.consume couchView' :: MonadCouch m => Path -- ^ Database -> Path -- ^ Design document