Module
Data.TSCompat.Class
- Package
- purescript-tscompat
- Repository
- doolse/purescript-tscompat
#OptionField Source
data OptionField :: Boolean -> Type -> TypeInstances
(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 -> oInstances
(IsEq t t2 eq, TsTypeExists t tail tailEq, Or eq tailEq out) => TsTypeExists t (Cons "typed" t2 tail) outTsTypeExists 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) bConstainsAll Nil b
#TSCompatible Source
class TSCompatible (s :: Symbol) a b (eq :: Boolean) | a -> b, b -> aInstances
TSCompatible s a b TrueTSCompatible s a a False
#IsOptional Source
class IsOptional (s :: Symbol) (m :: RowList) (b :: Boolean) | s m -> bInstances
IsOptional s (Cons s any tail) False(IsOptional s tail b) => IsOptional s (Cons s2 any tail) bIsOptional 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 mIsEqRowList Nil b m
#IsEq Source
class IsEq a b (eq :: Boolean) | a b -> eqInstances
IsEq a a TrueIsEq a Any True(RowToList b rl, TsTypeExists a rl eq) => IsEq a (OneOf b) eqIsEq Int Number TrueIsEq (StringConst s) String TrueIsEq (Effect a) (EffectFn1 e a) TrueIsEq (Effect a) (EffectFn2 e b a) TrueIsEq (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) eqIsEq a b False