Skip to content

Commit d7ac187

Browse files
committed
Driver is a function
1 parent 053df57 commit d7ac187

File tree

3 files changed

+8
-7
lines changed

3 files changed

+8
-7
lines changed

src/Cycle.purs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ import Prelude (Unit())
44

55
import Control.Monad.Eff (Eff())
66

7-
foreign import run :: forall inputs outputs eff.
8-
({ | inputs } -> { | outputs }) -> { | inputs } -> Eff eff Unit
7+
foreign import run :: forall inputs outputs drivers eff.
8+
({ | inputs } -> { | outputs }) -> { | drivers } -> Eff eff Unit

src/Cycle/Dom.purs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@ type CycleHTML = HTML Void (Identity Unit)
1717
renderHTML :: CycleHTML -> VTree
1818
renderHTML = Renderer.renderHTML (pure <<< runIdentity)
1919

20-
foreign import data DomDriver :: *
20+
type DomDriver = VTree -> DomInput
2121

2222
foreign import makeDomDriver :: String -> DomDriver
2323

24-
foreign import data Selection :: *
24+
foreign import data DomInput :: *
25+
foreign import data DomSelection :: *
2526

26-
foreign import select :: String -> DomDriver -> Selection
27-
foreign import events :: String -> Selection -> Observable Event
27+
foreign import select :: String -> DomInput -> DomSelection
28+
foreign import events :: String -> DomSelection -> Observable Event

src/Main.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import Halogen.Internal.VirtualDOM (VTree())
1313

1414
main = run app drivers
1515

16-
app :: { dom :: DomDriver } -> { dom :: Observable VTree }
16+
app :: { dom :: DomInput } -> { dom :: Observable VTree }
1717
app requests = { dom: map (renderHTML <<< render) count }
1818
where
1919
clicks = requests.dom # select "#count" # events "click"

0 commit comments

Comments
 (0)