Module
Droplet.Language.Internal.Condition
- Package
- purescript-droplet
- Repository
- easafe/purescript-droplet
Logical operators for filtering records
Do not import this module directly, it will break your code and make it not type safe. Use the sanitized Droplet.Language instead
#ToCondition Source
class ToCondition :: Type -> Row Type -> Symbol -> Constraintclass ToCondition (c :: Type) (fields :: Row Type) (alias :: Symbol)
SQL logical expressions
Instances
(ToCondition (Op a b) fields alias, ToCondition (Op c d) fields alias) => ToCondition (Op (Op a b) (Op c d)) fields aliasToCondition (Op Exists b) fields alias(Cons name t d fields, IsNullable t) => ToCondition (Op IsNotNull (Proxy name)) fields alias(Cons name t d fields, IsNullable t) => ToCondition (Op IsNotNull (Path alias name)) fields aliasToCondition (Op IsNotNull (Path table name)) fields alias(ToCondition a fields alias) => ToCondition (Op Not a) fields alias(ToCondition (Op a b) fields alias) => ToCondition (Op In (Op a (Array b))) fields alias(Comparision a fields alias t, Comparision b fields alias u, ValidComparision t u) => ToCondition (Op a b) fields alias
#ValidComparision Source
#OuterScope Source
data OuterScopeInstances
Comparision (Path table name) fields alias OuterScopeValidComparision t OuterScopeValidComparision OuterScope t
#In Source
data InInstances
(ToCondition (Op a b) fields alias) => ToCondition (Op In (Op a (Array b))) fields alias
#Comparision Source
class Comparision :: Type -> Row Type -> Symbol -> Type -> Constraintclass Comparision (c :: Type) (fields :: Row Type) (alias :: Symbol) (t :: Type) | c -> fields t
Whether expression can be compared
Instances
(Cons name t d fields, UnwrapDefinition t u) => Comparision (Proxy name) fields alias u(Cons name t d fields, UnwrapDefinition t u, UnwrapNullable u v) => Comparision (Path alias name) fields alias vComparision (Path table name) fields alias OuterScope(ToValue t) => Comparision t fields alias t
#Op Source
data Op b cWrapper for comparisons
Constructors
Op (Maybe BinaryOperator) b c
Instances
(ToCondition (Op a b) fields alias, ToCondition (Op c d) fields alias) => ToCondition (Op (Op a b) (Op c d)) fields aliasAND/OR
ToCondition (Op Exists b) fields alias(Cons name t d fields, IsNullable t) => ToCondition (Op IsNotNull (Proxy name)) fields alias(Cons name t d fields, IsNullable t) => ToCondition (Op IsNotNull (Path alias name)) fields aliasToCondition (Op IsNotNull (Path table name)) fields alias(ToCondition a fields alias) => ToCondition (Op Not a) fields alias(ToCondition (Op a b) fields alias) => ToCondition (Op In (Op a (Array b))) fields alias(Comparision a fields alias t, Comparision b fields alias u, ValidComparision t u) => ToCondition (Op a b) fields alias
#IsNotNull Source
data IsNotNullConstructors
Instances
(Cons name t d fields, IsNullable t) => ToCondition (Op IsNotNull (Proxy name)) fields alias(Cons name t d fields, IsNullable t) => ToCondition (Op IsNotNull (Path alias name)) fields aliasToCondition (Op IsNotNull (Path table name)) fields alias
#greaterThan Source
greaterThan :: forall compared field. field -> compared -> Op field compared#lesserThan Source
lesserThan :: forall compared field. field -> compared -> Op field compared#(.&&.) Source
Operator alias for Droplet.Language.Internal.Condition.and (left-associative / precedence 3)
#(.<>.) Source
Operator alias for Droplet.Language.Internal.Condition.notEquals (non-associative / precedence 4)
#(.=.) Source
Operator alias for Droplet.Language.Internal.Condition.equals (non-associative / precedence 4)
#(.||.) Source
Operator alias for Droplet.Language.Internal.Condition.or (left-associative / precedence 2)
- Modules
- Droplet.
Driver - Droplet.
Driver. Internal. Pool - Droplet.
Driver. Internal. Query - Droplet.
Driver. Unsafe - Droplet.
Language - Droplet.
Language. Internal. Condition - Droplet.
Language. Internal. Definition - Droplet.
Language. Internal. Function - Droplet.
Language. Internal. Keyword - Droplet.
Language. Internal. Query - Droplet.
Language. Internal. Syntax
AND/OR