hasbolt-extras 0.0.0.25 → 0.0.1.0
raw patch · 4 files changed
+21/−10 lines, 4 filesdep ~hasboltPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: hasbolt
API changes (from Hackage documentation)
+ Database.Bolt.Extras.Utils: exact :: (MonadIO m, RecordValue a) => Value -> m a
- Database.Bolt.Extras.Graph: relations :: forall n_abgy a_abgz b_abgA b_alaP. Lens (Graph n_abgy a_abgz b_abgA) (Graph n_abgy a_abgz b_alaP) (Map (n_abgy, n_abgy) b_abgA) (Map (n_abgy, n_abgy) b_alaP)
+ Database.Bolt.Extras.Graph: relations :: forall n_abh1 a_abh2 b_abh3 b_albi. Lens (Graph n_abh1 a_abh2 b_abh3) (Graph n_abh1 a_abh2 b_albi) (Map (n_abh1, n_abh1) b_abh3) (Map (n_abh1, n_abh1) b_albi)
- Database.Bolt.Extras.Graph: vertices :: forall n_abgy a_abgz b_abgA a_alaQ. Lens (Graph n_abgy a_abgz b_abgA) (Graph n_abgy a_alaQ b_abgA) (Map n_abgy a_abgz) (Map n_abgy a_alaQ)
+ Database.Bolt.Extras.Graph: vertices :: forall n_abh1 a_abh2 b_abh3 a_albj. Lens (Graph n_abh1 a_abh2 b_abh3) (Graph n_abh1 a_albj b_abh3) (Map n_abh1 a_abh2) (Map n_abh1 a_albj)
- Database.Bolt.Extras.Utils: exactValues :: (Monad m, RecordValue a) => Text -> [Record] -> m [a]
+ Database.Bolt.Extras.Utils: exactValues :: (MonadIO m, RecordValue a) => Text -> [Record] -> m [a]
Files
- CHANGELOG.md +6/−0
- hasbolt-extras.cabal +2/−2
- src/Database/Bolt/Extras/Graph/Internal/Put.hs +4/−5
- src/Database/Bolt/Extras/Utils.hs +9/−3
CHANGELOG.md view
@@ -6,6 +6,12 @@ ## [Unreleased] +## [0.0.1.0] - 2019-12-17+### Changed+- Use `hasbolt` 0.1.4.0.+### Added+- Compatibility function `exact` from older `hasbolt`.+ ## [0.0.0.25] - 2019-12-07 ### Added - `makeNodeLikeWith` and `makeURelationLikeWith` functions.
hasbolt-extras.cabal view
@@ -1,5 +1,5 @@ name: hasbolt-extras-version: 0.0.0.25+version: 0.0.1.0 synopsis: Extras for hasbolt library description: Extras for hasbolt library homepage: https://github.com/biocad/hasbolt-extras#readme@@ -56,7 +56,7 @@ , aeson-casing >= 0.1.0.5 , containers >= 0.5.10.2 , free >= 5.0- , hasbolt >= 0.1.3.5+ , hasbolt >= 0.1.4.0 , lens >= 4.16 , mtl >= 2.2.0 , neat-interpolation >= 0.3.2.0
src/Database/Bolt/Extras/Graph/Internal/Put.hs view
@@ -2,7 +2,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE RecordWildCards #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-orphans -Wno-deprecations #-} module Database.Bolt.Extras.Graph.Internal.Put (@@ -19,10 +19,8 @@ import Data.Text (Text, intercalate, pack)-import Database.Bolt (Node (..), RecordValue (..),- URelationship (..),- Value (..),- exact)+import Database.Bolt (Node (..), URelationship (..),+ Value (..)) import Database.Bolt.Extras (BoltId, ToCypher (..), fromInt) import Database.Bolt.Extras.Graph.Internal.AbstractGraph (Graph (..),@@ -31,6 +29,7 @@ import Database.Bolt.Extras.Graph.Internal.Class (Extractable (..), Requestable (..), Returnable (..))+import Database.Bolt.Extras.Utils (exact) import NeatInterpolation (text) ------------------------------------------------------------------------------------------------
src/Database/Bolt/Extras/Utils.hs view
@@ -7,15 +7,16 @@ , currentLoc , exactValues , exactValuesM+ , exact ) where -import Control.Monad.IO.Class (MonadIO)+import Control.Monad.IO.Class (MonadIO (..)) import Data.List (nub) import Data.Map.Strict as M ((!), (!?)) import qualified Data.Map.Strict as M (union) import Data.Text (Text) import Database.Bolt as B (BoltActionT, Node (..), Record,- RecordValue, Value (..), exact)+ RecordValue (..), Value (..)) import Language.Haskell.TH (Exp (..), Lit (..), Loc (..), Q, location) import Text.Printf (printf)@@ -42,9 +43,14 @@ loc <- location pure $ LitE $ StringL $ printf "%s:%d: " (loc_module loc) (fst $ loc_start loc) +-- | Unpack a value, using 'fail' in 'IO` to report errors.+{-# DEPRECATED exact "This function exists for compatibility, consider using pure exactEither or exactMaybe instead." #-}+exact :: (MonadIO m, RecordValue a) => Value -> m a+exact = either (liftIO . fail . show) pure . exactEither+ -- | Extract values ---exactValues :: (Monad m, RecordValue a) => Text -> [Record] -> m [a]+exactValues :: (MonadIO m, RecordValue a) => Text -> [Record] -> m [a] exactValues var = mapM (exact . (! var)) -- | Extract values (maybe)