mischief-ecs
Safe HaskellNone
LanguageGHC2024

Mischief.ECS.Mappable

Documentation

class Mappable (flag :: k) a b | flag a -> b where Source #

Methods

mapTuple :: a -> b Source #

Instances

Instances details
TryMapId (MapIsId a) flag a out => Mappable (flag :: k) a out Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: a -> out Source #

(Mappable flag a0 b0, Mappable flag a1 b1) => Mappable (flag :: k) (a0, a1) (b0, b1) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1) -> (b0, b1) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2) => Mappable (flag :: k) (a0, a1, a2) (b0, b1, b2) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2) -> (b0, b1, b2) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3) => Mappable (flag :: k) (a0, a1, a2, a3) (b0, b1, b2, b3) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3) -> (b0, b1, b2, b3) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4) => Mappable (flag :: k) (a0, a1, a2, a3, a4) (b0, b1, b2, b3, b4) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4) -> (b0, b1, b2, b3, b4) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4, Mappable flag a5 b5) => Mappable (flag :: k) (a0, a1, a2, a3, a4, a5) (b0, b1, b2, b3, b4, b5) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4, a5) -> (b0, b1, b2, b3, b4, b5) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4, Mappable flag a5 b5, Mappable flag a6 b6) => Mappable (flag :: k) (a0, a1, a2, a3, a4, a5, a6) (b0, b1, b2, b3, b4, b5, b6) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4, a5, a6) -> (b0, b1, b2, b3, b4, b5, b6) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4, Mappable flag a5 b5, Mappable flag a6 b6, Mappable flag a7 b7) => Mappable (flag :: k) (a0, a1, a2, a3, a4, a5, a6, a7) (b0, b1, b2, b3, b4, b5, b6, b7) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4, a5, a6, a7) -> (b0, b1, b2, b3, b4, b5, b6, b7) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4, Mappable flag a5 b5, Mappable flag a6 b6, Mappable flag a7 b7, Mappable flag a8 b8) => Mappable (flag :: k) (a0, a1, a2, a3, a4, a5, a6, a7, a8) (b0, b1, b2, b3, b4, b5, b6, b7, b8) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4, a5, a6, a7, a8) -> (b0, b1, b2, b3, b4, b5, b6, b7, b8) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4, Mappable flag a5 b5, Mappable flag a6 b6, Mappable flag a7 b7, Mappable flag a8 b8, Mappable flag a9 b9) => Mappable (flag :: k) (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) -> (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4, Mappable flag a5 b5, Mappable flag a6 b6, Mappable flag a7 b7, Mappable flag a8 b8, Mappable flag a9 b9, Mappable flag a10 b10) => Mappable (flag :: k) (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4, Mappable flag a5 b5, Mappable flag a6 b6, Mappable flag a7 b7, Mappable flag a8 b8, Mappable flag a9 b9, Mappable flag a10 b10, Mappable flag a11 b11) => Mappable (flag :: k) (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4, Mappable flag a5 b5, Mappable flag a6 b6, Mappable flag a7 b7, Mappable flag a8 b8, Mappable flag a9 b9, Mappable flag a10 b10, Mappable flag a11 b11, Mappable flag a12 b12) => Mappable (flag :: k) (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4, Mappable flag a5 b5, Mappable flag a6 b6, Mappable flag a7 b7, Mappable flag a8 b8, Mappable flag a9 b9, Mappable flag a10 b10, Mappable flag a11 b11, Mappable flag a12 b12, Mappable flag a13 b13) => Mappable (flag :: k) (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) -> (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) Source #

(Mappable flag a0 b0, Mappable flag a1 b1, Mappable flag a2 b2, Mappable flag a3 b3, Mappable flag a4 b4, Mappable flag a5 b5, Mappable flag a6 b6, Mappable flag a7 b7, Mappable flag a8 b8, Mappable flag a9 b9, Mappable flag a10 b10, Mappable flag a11 b11, Mappable flag a12 b12, Mappable flag a13 b13, Mappable flag a14 b14) => Mappable (flag :: k) (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

mapTuple :: (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) -> (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14) Source #

class TryMapId (flag :: k) (flag' :: k1) c out | flag flag' c -> out where Source #

Methods

tryMapId :: c -> out Source #

Instances

Instances details
TryMapId 'True MapQueryVal a a Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: a -> a Source #

TryMapId 'True MapQueryValidity a a Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: a -> a Source #

TryMapId 'False MapQueryVal (Result a) a Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: Result a -> a Source #

TryMapId (MapIsId a) MapQueryValidity a out => TryMapId 'False MapQueryValidity (RelQueryOutput a) a Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: RelQueryOutput a -> a Source #

TryMapId (MapIsId a) MapQueryVal a out => TryMapId 'False MapQueryVal (RelQueryOutput a) (RelQueryOutput out) Source # 
Instance details

Defined in Mischief.ECS.Mappable

TryMapId (MapIsId a) MapQueryVal a out => TryMapId 'False MapQueryVal (Maybe a) (Maybe out) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: Maybe a -> Maybe out Source #

TryMapId (MapIsId a) MapQueryVal a out => TryMapId 'False MapQueryVal [a] [out] Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: [a] -> [out] Source #

TryMapId 'False MapQueryValidity (Result a) (Result a) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: Result a -> Result a Source #

TryMapId (MapIsId a) MapQueryValidity a out => TryMapId 'False MapQueryValidity (Maybe a) (Maybe out) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: Maybe a -> Maybe out Source #

TryMapId (MapIsId a) MapQueryValidity a out => TryMapId 'False MapQueryValidity [a] [out] Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: [a] -> [out] Source #

type family MapIsId c :: Bool where ... Source #

Equations

MapIsId (Maybe a) = 'False 
MapIsId (Result a) = 'False 
MapIsId (RelQueryOutput a) = 'False 
MapIsId [a] = 'False 
MapIsId a = 'True 

data MapQueryVal Source #

Instances

Instances details
TryMapId 'True MapQueryVal a a Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: a -> a Source #

TryMapId 'False MapQueryVal (Result a) a Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: Result a -> a Source #

TryMapId (MapIsId a) MapQueryVal a out => TryMapId 'False MapQueryVal (RelQueryOutput a) (RelQueryOutput out) Source # 
Instance details

Defined in Mischief.ECS.Mappable

TryMapId (MapIsId a) MapQueryVal a out => TryMapId 'False MapQueryVal (Maybe a) (Maybe out) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: Maybe a -> Maybe out Source #

TryMapId (MapIsId a) MapQueryVal a out => TryMapId 'False MapQueryVal [a] [out] Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: [a] -> [out] Source #

data MapQueryValidity Source #

Instances

Instances details
TryMapId 'True MapQueryValidity a a Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: a -> a Source #

TryMapId (MapIsId a) MapQueryValidity a out => TryMapId 'False MapQueryValidity (RelQueryOutput a) a Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: RelQueryOutput a -> a Source #

TryMapId 'False MapQueryValidity (Result a) (Result a) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: Result a -> Result a Source #

TryMapId (MapIsId a) MapQueryValidity a out => TryMapId 'False MapQueryValidity (Maybe a) (Maybe out) Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: Maybe a -> Maybe out Source #

TryMapId (MapIsId a) MapQueryValidity a out => TryMapId 'False MapQueryValidity [a] [out] Source # 
Instance details

Defined in Mischief.ECS.Mappable

Methods

tryMapId :: [a] -> [out] Source #