Module

Graphics.CanvasAction.Run

Package
purescript-canvas-action
Repository
artemisSystem/purescript-canvas-action

#CTX Source

type CTX :: Row (Type -> Type) -> Row (Type -> Type)type CTX r = (ctx :: Reader Context2D | r)

#_ctx Source

_ctx :: Proxy "ctx"

Proxy for "ctx"

#runCtx Source

runCtx :: forall r. Context2D -> (Run (CTX + r)) ~> (Run r)

Runs a CTX reader effect.

#liftCanvasAction Source

liftCanvasAction :: forall r. CanvasAction ~> (Run (CTX + EFFECT + r))

Lift a CanvasAction into Run via the ctx and effect labels

#liftCanvasActionAt Source

liftCanvasActionAt :: forall ctx effect ra rb r. IsSymbol ctx => IsSymbol effect => Cons ctx (Reader Context2D) ra r => Cons effect Effect rb r => Proxy ctx -> Proxy effect -> CanvasAction ~> (Run r)

Lift a CanvasAction into Run via the provided labels

#runBaseCanvas Source

runBaseCanvas :: (Run (CTX + EFFECT + ())) ~> CanvasAction

Runs CTX and EFFECT effects in CanvasAction

#runBaseCanvasAt Source

runBaseCanvasAt :: forall ctx effect r1 r2. IsSymbol ctx => IsSymbol effect => Cons ctx (Reader Context2D) () r1 => Cons effect Effect r1 r2 => Proxy ctx -> Proxy effect -> (Run r2) ~> CanvasAction

Runs Reader Context2D and Effect in CanvasAction at the provided labels

#liftCanvasAff Source

liftCanvasAff :: forall r. CanvasAff ~> (Run (CTX + AFF + r))

Lift a CanvasAff into Run via the ctx and aff labels

#liftCanvasAffAt Source

liftCanvasAffAt :: forall ctx aff ra rb r. IsSymbol ctx => IsSymbol aff => Cons ctx (Reader Context2D) ra r => Cons aff Aff rb r => Proxy ctx -> Proxy aff -> CanvasAff ~> (Run r)

Lift a CanvasAff into Run via the provided labels

#runBaseCanvasAff Source

runBaseCanvasAff :: (Run (CTX + AFF + ())) ~> CanvasAff

Runs CTX and AFF effects in CanvasAff

#runBaseCanvasAffAt Source

runBaseCanvasAffAt :: forall ctx aff r1 r2. IsSymbol ctx => IsSymbol aff => Cons ctx (Reader Context2D) () r1 => Cons aff Aff r1 r2 => Proxy ctx -> Proxy aff -> (Run r2) ~> CanvasAff

Runs Reader Context2D and Aff in CanvasAff at the provided labels

#runBaseCanvasAff' Source

runBaseCanvasAff' :: (Run (CTX + EFFECT + AFF + ())) ~> CanvasAff

Runs CTX, EFFECT, and AFF effects in CanvasAff

#runBaseCanvasAffAt' Source

runBaseCanvasAffAt' :: forall ctx effect aff r1 r2 r3. IsSymbol ctx => IsSymbol effect => IsSymbol aff => Cons ctx (Reader Context2D) () r1 => Cons effect Effect r1 r2 => Cons aff Aff r2 r3 => Proxy ctx -> Proxy effect -> Proxy aff -> (Run r3) ~> CanvasAff

Runs Reader Context2D, Effect, and Aff in CanvasAff at the provided labels