Module

Blessed.Internal.Core

Package
purescript-blessed
Repository
shamansir/purescript-blessed

#InitFn Source

type InitFn :: Subject -> Symbol -> Type -> Typetype InitFn subj id state = NodeKey subj id -> BlessedOp state Effect

#HandlerFn Source

type HandlerFn :: Subject -> Symbol -> Type -> Typetype HandlerFn subj id state = NodeKey subj id -> EventJson -> BlessedOp state Effect

#Attribute Source

data Attribute :: Subject -> Symbol -> Row Type -> Type -> Type -> Typedata Attribute (subj :: Subject) (id :: Symbol) (r :: Row Type) state e

Constructors

Instances

#SoleOption Source

data SoleOption :: Row Type -> Typedata SoleOption (r :: Row Type)

Constructors

Instances

#Blessed Source

type Blessed state = SNode state

#Node Source

type Node :: Subject -> Symbol -> Row Type -> Type -> Typetype Node (subj :: Subject) (id :: Symbol) (r :: Row Type) state = Array (Attribute subj id r state BlessedEvent) -> Array (Blessed state) -> Blessed state

#NodeAnd Source

type NodeAnd :: Subject -> Symbol -> Row Type -> Type -> Typetype NodeAnd (subj :: Subject) (id :: Symbol) (r :: Row Type) state = Array (Attribute subj id r state BlessedEvent) -> Array (Blessed state) -> InitFn subj id state -> Blessed state

#Leaf Source

type Leaf :: Subject -> Symbol -> Row Type -> Type -> Typetype Leaf (subj :: Subject) (id :: Symbol) (r :: Row Type) state = Array (Attribute subj id r state BlessedEvent) -> Blessed state

#LeafAnd Source

type LeafAnd :: Subject -> Symbol -> Row Type -> Type -> Typetype LeafAnd (subj :: Subject) (id :: Symbol) (r :: Row Type) state = Array (Attribute subj id r state BlessedEvent) -> InitFn subj id state -> Blessed state

#Handler Source

type Handler :: Subject -> Symbol -> Row Type -> Type -> Typetype Handler (subj :: Subject) (id :: Symbol) (r :: Row Type) state = HandlerFn subj id state -> Attribute subj id r state BlessedEvent

#splitAttributes Source

splitAttributes :: forall subj id r state e. IsSubject subj => IsSymbol id => Events e => Array (Attribute subj id r state e) -> (Array SProp) /\ (Array (SHandler state))

#option Source

option :: forall (subj :: Subject) (id :: Symbol) (sym :: Symbol) (r :: Row Type) state a e. IsSymbol sym => EncodeJson a => Proxy sym -> a -> Attribute subj id r state e

#optionWithHandlers Source

optionWithHandlers :: forall (subj :: Subject) (id :: Symbol) (sym :: Symbol) (r :: Row Type) state a e. IsSymbol sym => EncodeJson a => Proxy sym -> a -> Array (e /\ (HandlerFn subj id state)) -> Attribute subj id r state e

#onlyOption Source

onlyOption :: forall (sym :: Symbol) (r :: Row Type) a. IsSymbol sym => EncodeJson a => Proxy sym -> a -> SoleOption r

#handler Source

handler :: forall subj id r state e. Fires subj e => e -> Handler subj id r state

#on Source

on :: forall subj id r state e. Fires subj e => e -> Handler subj id r state

#Getter Source

type Getter :: Type -> (Type -> Type) -> Type -> Typetype Getter state m a = BlessedOpGet state m a

#Setter Source

type Setter :: forall k. Type -> (Type -> Type) -> k -> Typetype Setter state m a = BlessedOpSet state m

#Gets Source

class Gets :: Subject -> Subject -> Symbol -> Symbol -> (Type -> Type) -> Type -> Constraintclass (Extends parent subj, IsSubject subj, IsSymbol id, IsSymbol prop, Gets m a) <= Gets parent subj id prop m a 

Instances

#Gets2 Source

class Gets2 :: Subject -> Subject -> Symbol -> Symbol -> Symbol -> (Type -> Type) -> Type -> Constraintclass (Extends parent subj, IsSubject subj, IsSymbol id, IsSymbol propA, IsSymbol propB, Gets m a) <= Gets2 parent subj id propA propB m a 

Instances

#GetsC Source

class GetsC :: forall k. Subject -> Subject -> Symbol -> Symbol -> (Type -> Type) -> k -> Constraintclass (Extends parent subj, IsSubject subj, IsSymbol id, IsSymbol prop, GetsC m a) <= GetsC parent subj id prop m a 

Instances

#GetsC2 Source

class GetsC2 :: forall k. Subject -> Subject -> Symbol -> Symbol -> Symbol -> (Type -> Type) -> k -> Constraintclass (Extends parent subj, IsSubject subj, IsSymbol id, IsSymbol propA, IsSymbol propB, GetsC m a) <= GetsC2 parent subj id propA propB m a 

Instances

#Sets Source

class Sets :: Subject -> Subject -> Symbol -> Symbol -> (Type -> Type) -> Type -> Constraintclass (Extends parent subj, IsSubject subj, IsSymbol id, IsSymbol prop, Sets m a) <= Sets parent subj id prop m a 

Instances

#Sets2 Source

class Sets2 :: Subject -> Subject -> Symbol -> Symbol -> Symbol -> (Type -> Type) -> Type -> Constraintclass (Extends parent subj, IsSubject subj, IsSymbol id, IsSymbol propA, IsSymbol propB, Sets m a) <= Sets2 parent subj id propA propB m a 

Instances

#SetsC Source

class SetsC :: forall k. Subject -> Subject -> Symbol -> Symbol -> (Type -> Type) -> k -> Constraintclass (Extends parent subj, IsSubject subj, IsSymbol id, IsSymbol prop, SetsC m a) <= SetsC parent subj id prop m a 

Instances

#SetsC2 Source

class SetsC2 :: forall k. Subject -> Subject -> Symbol -> Symbol -> Symbol -> (Type -> Type) -> k -> Constraintclass (Extends parent subj, IsSubject subj, IsSymbol id, IsSymbol propA, IsSymbol propB, SetsC m a) <= SetsC2 parent subj id propA propB m a 

Instances

#GetterFn Source

type GetterFn :: Subject -> Symbol -> Symbol -> Type -> (Type -> Type) -> Type -> Typetype GetterFn (subj :: Subject) (id :: Symbol) (prop :: Symbol) state (m :: Type -> Type) a = Proxy prop -> NodeKey subj id -> Getter state m a

#GetterFn2 Source

type GetterFn2 :: Subject -> Symbol -> Symbol -> Symbol -> Type -> (Type -> Type) -> Type -> Typetype GetterFn2 (subj :: Subject) (id :: Symbol) (propA :: Symbol) (propB :: Symbol) state (m :: Type -> Type) a = Proxy propA -> Proxy propB -> NodeKey subj id -> Getter state m a

#GetterFnC Source

type GetterFnC :: Subject -> Symbol -> Symbol -> Type -> (Type -> Type) -> Type -> Typetype GetterFnC (subj :: Subject) (id :: Symbol) (prop :: Symbol) state (m :: Type -> Type) a = Proxy prop -> JsonCodec a -> NodeKey subj id -> Getter state m a

#GetterFnC2 Source

type GetterFnC2 :: Subject -> Symbol -> Symbol -> Symbol -> Type -> (Type -> Type) -> Type -> Typetype GetterFnC2 (subj :: Subject) (id :: Symbol) (propA :: Symbol) (propB :: Symbol) state (m :: Type -> Type) a = Proxy propA -> Proxy propB -> JsonCodec a -> NodeKey subj id -> Getter state m a

#SetterFn Source

type SetterFn :: Subject -> Symbol -> Symbol -> Type -> (Type -> Type) -> Type -> Typetype SetterFn (subj :: Subject) (id :: Symbol) (prop :: Symbol) state (m :: Type -> Type) a = Proxy prop -> a -> NodeKey subj id -> Setter state m a

#SetterFn2 Source

type SetterFn2 :: Subject -> Symbol -> Symbol -> Symbol -> Type -> (Type -> Type) -> Type -> Typetype SetterFn2 (subj :: Subject) (id :: Symbol) (propA :: Symbol) (propB :: Symbol) state (m :: Type -> Type) a = Proxy propA -> Proxy propB -> a -> NodeKey subj id -> Setter state m a

#SetterFnC Source

type SetterFnC :: Subject -> Symbol -> Symbol -> Type -> (Type -> Type) -> Type -> Typetype SetterFnC (subj :: Subject) (id :: Symbol) (prop :: Symbol) state (m :: Type -> Type) a = Proxy prop -> JsonCodec a -> a -> NodeKey subj id -> Setter state m a

#SetterFnC2 Source

type SetterFnC2 :: Subject -> Symbol -> Symbol -> Symbol -> Type -> (Type -> Type) -> Type -> Typetype SetterFnC2 (subj :: Subject) (id :: Symbol) (propA :: Symbol) (propB :: Symbol) state (m :: Type -> Type) a = Proxy propA -> Proxy propB -> JsonCodec a -> a -> NodeKey subj id -> Setter state m a

#getter Source

getter :: forall parent subj id prop state m a. Gets parent subj id prop m a => Proxy parent -> GetterFn subj id prop state m a

#getterC Source

getterC :: forall parent subj id prop state m a. GetsC parent subj id prop m a => Proxy parent -> GetterFnC subj id prop state m a

#getter2 Source

getter2 :: forall parent subj id propA propB state m a. Gets2 parent subj id propA propB m a => Proxy parent -> GetterFn2 subj id propA propB state m a

#getterC2 Source

getterC2 :: forall parent subj id propA propB state m a. GetsC2 parent subj id propA propB m a => Proxy parent -> GetterFnC2 subj id propA propB state m a

#method Source

method :: forall subj id state (m :: Type -> Type). IsSubject subj => IsSymbol id => NodeKey subj id -> String -> Array Json -> BlessedOp state m

#nmethod Source

nmethod :: forall subj id state (m :: Type -> Type). IsSubject subj => IsSymbol id => NodeKey subj id -> String -> Array (NodeOrJson state) -> BlessedOp state m

#cmethod Source

cmethod :: forall subj id state (m :: Type -> Type) e. Fires subj e => Events e => IsSubject subj => IsSymbol id => NodeKey subj id -> String -> Array Json -> Array (e /\ (HandlerFn subj id state)) -> BlessedOp state m

#subscription Source

subscription :: forall subj id state (m :: Type -> Type) e. IsSubject subj => IsSymbol id => Fires subj e => NodeKey subj id -> e -> HandlerFn subj id state -> BlessedOp state m

#on' Source

on' :: forall subj id state (m :: Type -> Type) e. IsSubject subj => IsSymbol id => Fires subj e => e -> HandlerFn subj id state -> NodeKey subj id -> BlessedOp state m

#setter Source

setter :: forall parent subj id prop state (m :: Type -> Type) a. Sets parent subj id prop m a => Proxy parent -> SetterFn subj id prop state m a

#setter2 Source

setter2 :: forall parent subj id propA propB state (m :: Type -> Type) a. Sets2 parent subj id propA propB m a => Proxy parent -> SetterFn2 subj id propA propB state m a

#setterC Source

setterC :: forall parent subj id prop state (m :: Type -> Type) a. SetsC parent subj id prop m a => Proxy parent -> SetterFnC subj id prop state m a

#setterC2 Source

setterC2 :: forall parent subj id propA propB state (m :: Type -> Type) a. SetsC2 parent subj id propA propB m a => Proxy parent -> SetterFnC2 subj id propA propB state m a

#encode Source

encode :: forall state. Ref state -> Blessed state -> BlessedEnc

#node Source

node :: forall subj id state r. IsSubject subj => IsSymbol id => NodeKey subj id -> Node subj id state r

#nodeAnd Source

nodeAnd :: forall subj id state r e. IsSubject subj => IsSymbol id => Events e => Proxy e -> NodeKey subj id -> NodeAnd subj id state r

#run Source

run :: forall state. state -> Blessed state -> Effect Unit

#runAnd Source

runAnd :: forall state. state -> Blessed state -> BlessedOp state Effect -> Effect Unit
Modules
Blessed
Blessed.Core.Align
Blessed.Core.Border
Blessed.Core.Callback
Blessed.Core.Color
Blessed.Core.Coord
Blessed.Core.Cursor
Blessed.Core.Dimension
Blessed.Core.EndStyle
Blessed.Core.Flex
Blessed.Core.Helpers
Blessed.Core.Key
Blessed.Core.Label
Blessed.Core.ListStyle
Blessed.Core.Offset
Blessed.Core.Orientation
Blessed.Core.Padding
Blessed.Core.Style
Blessed.Core.Terminal
Blessed.Demo
Blessed.Internal.ArgonautCodecExtra
Blessed.Internal.BlessedOp
Blessed.Internal.BlessedSubj
Blessed.Internal.Codec
Blessed.Internal.Command
Blessed.Internal.Core
Blessed.Internal.Dump
Blessed.Internal.Emitter
Blessed.Internal.Foreign
Blessed.Internal.JsApi
Blessed.Internal.NodeKey
Blessed.UI.Base.Element.Event
Blessed.UI.Base.Element.Method
Blessed.UI.Base.Element.Method.Content
Blessed.UI.Base.Element.Option
Blessed.UI.Base.Element.Property
Blessed.UI.Base.Element.PropertySet
Blessed.UI.Base.Node.Event
Blessed.UI.Base.Node.Method
Blessed.UI.Base.Node.Option
Blessed.UI.Base.Node.Property
Blessed.UI.Base.Screen
Blessed.UI.Base.Screen.Event
Blessed.UI.Base.Screen.Method
Blessed.UI.Base.Screen.Option
Blessed.UI.Base.Screen.Property
Blessed.UI.Boxes.BigText.Option
Blessed.UI.Boxes.Box
Blessed.UI.Boxes.Box.Event
Blessed.UI.Boxes.Box.Method
Blessed.UI.Boxes.Box.Option
Blessed.UI.Boxes.Box.Property
Blessed.UI.Boxes.Line
Blessed.UI.Boxes.Line.Event
Blessed.UI.Boxes.Line.Option
Blessed.UI.Boxes.Text.Option
Blessed.UI.DataDisplay.Log
Blessed.UI.DataDisplay.Log.Event
Blessed.UI.DataDisplay.Log.Method
Blessed.UI.DataDisplay.Log.Option
Blessed.UI.DataDisplay.Log.Property
Blessed.UI.DataDisplay.ProgressBar.Event
Blessed.UI.DataDisplay.ProgressBar.Method
Blessed.UI.DataDisplay.ProgressBar.Option
Blessed.UI.DataDisplay.Table.Method
Blessed.UI.DataDisplay.Table.Option
Blessed.UI.Forms.Button
Blessed.UI.Forms.Button.Event
Blessed.UI.Forms.Button.Method
Blessed.UI.Forms.Button.Option
Blessed.UI.Forms.Checkbox
Blessed.UI.Forms.Checkbox.Event
Blessed.UI.Forms.Checkbox.Method
Blessed.UI.Forms.Checkbox.Option
Blessed.UI.Forms.Checkbox.Property
Blessed.UI.Forms.Form.Event
Blessed.UI.Forms.Form.Method
Blessed.UI.Forms.Form.Option
Blessed.UI.Forms.Form.Property
Blessed.UI.Forms.TextArea
Blessed.UI.Forms.TextArea.Event
Blessed.UI.Forms.TextArea.Method
Blessed.UI.Forms.TextArea.Option
Blessed.UI.Forms.TextArea.Property
Blessed.UI.Forms.TextBox
Blessed.UI.Forms.TextBox.Event
Blessed.UI.Forms.TextBox.Option
Blessed.UI.Forms.TextBox.Property
Blessed.UI.Lists.FileManager.Event
Blessed.UI.Lists.FileManager.Method
Blessed.UI.Lists.FileManager.Option
Blessed.UI.Lists.FileManager.Property
Blessed.UI.Lists.List
Blessed.UI.Lists.List.Event
Blessed.UI.Lists.List.Method
Blessed.UI.Lists.List.Option
Blessed.UI.Lists.List.Property
Blessed.UI.Lists.ListBar
Blessed.UI.Lists.ListBar.Event
Blessed.UI.Lists.ListBar.Method
Blessed.UI.Lists.ListBar.Option
Blessed.UI.Lists.ListTable.Method
Blessed.UI.Lists.ListTable.Option
Blessed.UI.Prompts.Loading.Method
Blessed.UI.Prompts.Message.Method
Blessed.UI.Prompts.Prompt.Method
Blessed.UI.Prompts.Question.Method
Blessed.UI.Special.Terminal.Option
Data.Unfoldable1.Extra