hasbolt-extras-0.0.0.22: Extras for hasbolt library

Safe HaskellNone
LanguageHaskell2010

Database.Bolt.Extras

Synopsis

Documentation

data Condition a Source #

Conditional expressions over type a and its mappings. Supported operations:

  • equality check :==
  • disunction :&&
  • conjunction :||

Typical usage:

Say we have variable var :: a, a function f :: a -> b and a value val :: b. Expression f :== val acts as f var == val.

Examples:

data D = D { fld1 :: Int
           , fld2 :: String
           , fld3 :: Double
           }

d = D 42 "noononno" 1.618
d `matches` (fld1 :== 12 :&& fld2 :== "abc")
False

d `matches` (fld1 :== 42 :|| fld3 == 1.0)
True

Constructors

Eq b => (a -> b) :== b infix 4 
(Condition a) :&& (Condition a) infixr 3 
(Condition a) :|| (Condition a) infixr 2 

tautology :: Condition a Source #

Matching tautology will always succeed.

whatever `matches` tautology == True

Match is lazy:

undefined `matches` tautology == True

matches :: a -> Condition a -> Bool Source #

Check whether data satisfies conditions on it.

itself :: a -> a Source #

Object itself instead of its mappings is matched with help of this alias.

42 `matches` (itself :== 42) == True
42 `matches` (itself :== 41) == False

type BoltId = Int Source #

BoltId is alias for Bolt Node, Relationship and URelationship identities.

data Persisted a Source #

Persisted is wrapper for some object that can be identified with BoltId.

Constructors

Persisted 

Fields

Instances
Functor Persisted Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Persisted

Methods

fmap :: (a -> b) -> Persisted a -> Persisted b #

(<$) :: a -> Persisted b -> Persisted a #

Eq a => Eq (Persisted a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Persisted

Methods

(==) :: Persisted a -> Persisted a -> Bool #

(/=) :: Persisted a -> Persisted a -> Bool #

Ord a => Ord (Persisted a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Persisted

Read a => Read (Persisted a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Persisted

Show a => Show (Persisted a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Persisted

Generic (Persisted a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Persisted

Associated Types

type Rep (Persisted a) :: Type -> Type #

Methods

from :: Persisted a -> Rep (Persisted a) x #

to :: Rep (Persisted a) x -> Persisted a #

ToJSON a => ToJSON (Persisted a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Persisted

FromJSON a => FromJSON (Persisted a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Persisted

GetBoltId (Persisted a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Persisted

type Rep (Persisted a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Persisted

type Rep (Persisted a) = D1 (MetaData "Persisted" "Database.Bolt.Extras.Internal.Persisted" "hasbolt-extras-0.0.0.22-LZuXEJbbtWlINUyIZE16XZ" False) (C1 (MetaCons "Persisted" PrefixI True) (S1 (MetaSel (Just "objectId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 BoltId) :*: S1 (MetaSel (Just "objectValue") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))

fromInt :: Int -> BoltId Source #

This is just check that your BoltId is valid.

class ToCypher a where Source #

The class for convertation into Cypher.

Methods

toCypher :: a -> Text Source #

Instances
ToCypher Value Source #

Convertation for Value into Cypher.

Instance details

Defined in Database.Bolt.Extras.Internal.Cypher

Methods

toCypher :: Value -> Text Source #

ToCypher Property Source #

Converts property with name and value to name:value.

Instance details

Defined in Database.Bolt.Extras.Internal.Cypher

ToCypher Label Source #

Label with name are formatted into :name

Instance details

Defined in Database.Bolt.Extras.Internal.Cypher

Methods

toCypher :: Label -> Text Source #

ToCypher Conds Source # 
Instance details

Defined in Database.Bolt.Extras.DSL.Internal.Instances

Methods

toCypher :: Conds -> Text Source #

ToCypher Cond Source # 
Instance details

Defined in Database.Bolt.Extras.DSL.Internal.Instances

Methods

toCypher :: Cond -> Text Source #

ToCypher Selectors Source # 
Instance details

Defined in Database.Bolt.Extras.DSL.Internal.Instances

ToCypher Selector Source # 
Instance details

Defined in Database.Bolt.Extras.DSL.Internal.Instances

ToCypher PathSelector Source # 
Instance details

Defined in Database.Bolt.Extras.DSL.Internal.Instances

ToCypher RelSelector Source # 
Instance details

Defined in Database.Bolt.Extras.DSL.Internal.Instances

ToCypher NodeSelector Source # 
Instance details

Defined in Database.Bolt.Extras.DSL.Internal.Instances

ToCypher [Property] Source #

Several properties are formatted with concatenation.

Instance details

Defined in Database.Bolt.Extras.Internal.Cypher

Methods

toCypher :: [Property] -> Text Source #

ToCypher [Label] Source #

Several labels are formatted with concatenation.

Instance details

Defined in Database.Bolt.Extras.Internal.Cypher

Methods

toCypher :: [Label] -> Text Source #

class FromValue a where Source #

FromValue means that something can be converted from Bolt Value.

Methods

fromValue :: Value -> a Source #

Instances
FromValue Bool Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

fromValue :: Value -> Bool Source #

FromValue Double Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

FromValue Float Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

FromValue Int Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

fromValue :: Value -> Int Source #

FromValue () Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

fromValue :: Value -> () Source #

FromValue Text Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

fromValue :: Value -> Text Source #

FromValue Structure Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

FromValue Value Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

FromValue a => FromValue [a] Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

fromValue :: Value -> [a] Source #

FromValue a => FromValue (Maybe a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

fromValue :: Value -> Maybe a Source #

FromValue (Map Text Value) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

type Label = Text Source #

Alias for Neo4j label.

class Labels a where Source #

Labels means that labels can be obtained from entity.

Methods

getLabels :: a -> [Label] Source #

Instances
Labels Node Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Types

Methods

getLabels :: Node -> [Label] Source #

Labels URelationship Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Types

class NodeLike a where Source #

NodeLike class represents convertable into and from Node.

Methods

toNode :: a -> Node Source #

fromNode :: Node -> a Source #

class Properties a where Source #

Properties means that properties can be obtained from entity.

Methods

getProps :: a -> Map Text Value Source #

type Property = (Text, Value) Source #

Alias for Neo4j property.

class ToValue a where Source #

ToValue means that something can be converted into Bolt Value.

Methods

toValue :: a -> Value Source #

Instances
ToValue Bool Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

toValue :: Bool -> Value Source #

ToValue Double Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

toValue :: Double -> Value Source #

ToValue Float Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

toValue :: Float -> Value Source #

ToValue Int Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

toValue :: Int -> Value Source #

ToValue () Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

toValue :: () -> Value Source #

ToValue Text Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

toValue :: Text -> Value Source #

ToValue Structure Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

ToValue Value Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

toValue :: Value -> Value Source #

ToValue a => ToValue [a] Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

toValue :: [a] -> Value Source #

ToValue a => ToValue (Maybe a) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances

Methods

toValue :: Maybe a -> Value Source #

ToValue (Map Text Value) Source # 
Instance details

Defined in Database.Bolt.Extras.Internal.Instances