packages feed

rds-data 0.1.1.0 → 0.1.1.1

raw patch · 6 files changed

+65/−17 lines, 6 files

Files

rds-data.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.6  name:                   rds-data-version:                0.1.1.0+version:                0.1.1.1 synopsis:               Codecs for use with AWS rds-data description:            Codecs for use with AWS rds-data. category:               Data@@ -118,12 +118,14 @@                         Data.RdsData.Aws                         Data.RdsData.Decode.Array                         Data.RdsData.Decode.Row+                        Data.RdsData.Decode.ToRows                         Data.RdsData.Decode.Value                         Data.RdsData.Default                         Data.RdsData.Encode.Array                         Data.RdsData.Encode.Param                         Data.RdsData.Encode.Params                         Data.RdsData.Encode.Row+                        Data.RdsData.Encode.ToSqlParameters                         Data.RdsData.Encode.Value                         Data.RdsData.Internal.Aeson                         Data.RdsData.Internal.Convert@@ -133,6 +135,7 @@                         Data.RdsData.Orphans                         Data.RdsData.Types                         Data.RdsData.Types.Array+                        Data.RdsData.Types.EncodedParams                         Data.RdsData.Types.Param                         Data.RdsData.Types.Value   other-modules:        Paths_rds_data
src/Data/RdsData/Decode/Row.hs view
@@ -5,6 +5,7 @@  module Data.RdsData.Decode.Row   ( DecodeRow(..)+  , ToRows(..)   , integer   , int   , int8@@ -55,6 +56,7 @@  import qualified Data.Aeson                    as J import qualified Data.ByteString.Lazy          as LBS+import           Data.RdsData.Decode.ToRows import qualified Data.RdsData.Decode.Value     as DV import qualified Data.RdsData.Internal.Convert as CONV import qualified Data.Text                     as T@@ -62,7 +64,7 @@ import qualified Data.UUID                     as UUID  newtype DecodeRow a = DecodeRow-  { unDecodeRow :: ExceptT Text (StateT [Value] Identity) a+  { run :: ExceptT Text (StateT [Value] Identity) a   }   deriving (Applicative, Functor, Monad, MonadState [Value], MonadError Text) @@ -225,7 +227,7 @@   void $ column DV.rdsValue  decodeRow :: DecodeRow a -> [Value] -> Either Text a-decodeRow r = evalState (runExceptT r.unDecodeRow)+decodeRow r = evalState (runExceptT r.run) -decodeRows :: DecodeRow a ->  [[Value]] -> Either Text [a]-decodeRows r = traverse (decodeRow r)+decodeRows :: ToRows res => DecodeRow a -> res -> Either Text [a]+decodeRows r = traverse (decodeRow r) . toRows
+ src/Data/RdsData/Decode/ToRows.hs view
@@ -0,0 +1,19 @@+module Data.RdsData.Decode.ToRows+  ( ToRows(..)+  ) where++import qualified Amazonka.RDSData          as AWS+import           Data.Generics.Product.Any+import           Data.Maybe+import           Data.RdsData.Types+import           Lens.Micro                ((^.))++class ToRows a where+    toRows :: a -> [[Value]]++instance ToRows [[Value]] where+    toRows = id++instance ToRows AWS.ExecuteStatementResponse where+    toRows res =+        fromMaybe [] $ mapM (mapM fromField) =<< res ^. the @"records"
src/Data/RdsData/Encode/Params.hs view
@@ -50,6 +50,7 @@ import           Data.Int import           Data.RdsData.Encode.Array            (EncodeArray (..)) import           Data.RdsData.Encode.Param            (EncodeParam (..))+import           Data.RdsData.Types.EncodedParams import           Data.RdsData.Types.Param import           Data.Text                            (Text) import           Data.Time@@ -65,18 +66,6 @@ import qualified Data.RdsData.Encode.Param            as EP import qualified Data.Text.Lazy                       as LT import qualified Prelude                              as P--newtype EncodedParams = EncodedParams-  { run :: [Param] -> [Param]-  }--instance Semigroup EncodedParams where-  EncodedParams f <> EncodedParams g =-    EncodedParams (f . g)--instance Monoid EncodedParams where-  mempty =-    EncodedParams id  newtype EncodeParams a = EncodeParams   { run :: a -> [Param] -> [Param]
+ src/Data/RdsData/Encode/ToSqlParameters.hs view
@@ -0,0 +1,18 @@+module Data.RdsData.Encode.ToSqlParameters+  ( ToSqlParameters(..)+  ) where++import           Data.RdsData.Encode.Params+import           Data.RdsData.Types.Param++import qualified Amazonka.RDSData           as AWS++class ToSqlParameters a where+  toSqlParameters :: a -> [AWS.SqlParameter]++instance ToSqlParameters [AWS.SqlParameter] where+  toSqlParameters = id++instance ToSqlParameters EncodedParams where+  toSqlParameters encodedParams =+    fmap toSqlParameter (encodedParams.run [])
+ src/Data/RdsData/Types/EncodedParams.hs view
@@ -0,0 +1,17 @@+module Data.RdsData.Types.EncodedParams+  ( EncodedParams(..)+  ) where++import           Data.RdsData.Types.Param++newtype EncodedParams = EncodedParams+  { run :: [Param] -> [Param]+  }++instance Semigroup EncodedParams where+  EncodedParams f <> EncodedParams g =+    EncodedParams (f . g)++instance Monoid EncodedParams where+  mempty =+    EncodedParams id