Module
Data.TSCompat.Class
- Package
- purescript-tscompat
- Repository
- doolse/purescript-tscompat
#OptionField Source
data OptionField :: Boolean -> Type -> Type
Instances
(IsEq a b eq) => IsEq (Nullable a) (OptionField True b) eq
(IsEq a b eq) => IsEq a (OptionField o b) eq
#TsTypeExists Source
class TsTypeExists t (rl :: RowList) (o :: Boolean) | t rl -> o
Instances
(IsEq t t2 eq, TsTypeExists t tail tailEq, Or eq tailEq out) => TsTypeExists t (Cons "typed" t2 tail) out
TsTypeExists t Nil False
#ConstainsAll Source
class ConstainsAll (out :: RowList) (b :: Row Type)
Instances
(ConstainsAll tail b, Cons s any btail b) => ConstainsAll (Cons s t tail) b
ConstainsAll Nil b
#TSCompatible Source
class TSCompatible (s :: Symbol) a b (eq :: Boolean) | a -> b, b -> a
Instances
TSCompatible s a b True
TSCompatible s a a False
#IsOptional Source
class IsOptional (s :: Symbol) (m :: RowList) (b :: Boolean) | s m -> b
Instances
IsOptional s (Cons s any tail) False
(IsOptional s tail b) => IsOptional s (Cons s2 any tail) b
IsOptional s Nil True
#IsEqRowList Source
class IsEqRowList (l :: RowList) (b :: Row Type) (m :: RowList)
Instances
(Cons s tb tailb b, IsOptional s m o, IsEq ta (OptionField o tb) eq, TSCompatible s ta tb eq, IsEqRowList taila b m) => IsEqRowList (Cons s ta taila) b m
IsEqRowList Nil b m
#IsEq Source
class IsEq a b (eq :: Boolean) | a b -> eq
Instances
IsEq a a True
IsEq a Any True
(RowToList b rl, TsTypeExists a rl eq) => IsEq a (OneOf b) eq
IsEq Int Number True
IsEq (StringConst s) String True
IsEq (Effect a) (EffectFn1 e a) True
IsEq (Effect a) (EffectFn2 e b a) True
IsEq (EffectFn1 e a) (EffectFn2 e b a) True
(IsEq a b eq) => IsEq (m a) (m b) eq
(RowToList a al, RowToList mand ml, IsEqRowList al all ml, ConstainsAll ml a) => IsEq (Record a) (OptionRecord all mand) True
(IsEq a b eq) => IsEq (Nullable a) (OptionField True b) eq
(IsEq a b eq) => IsEq a (OptionField o b) eq
IsEq a b False