Skip to content

Commit 2475904

Browse files
garybnatefaubion
authored andcommitted
Move effect rows to the outside (#3)
1 parent 2416b9b commit 2475904

File tree

3 files changed

+22
-25
lines changed

3 files changed

+22
-25
lines changed

src/Halogen/VDom.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ module Halogen.VDom
44
, module Types
55
) where
66

7-
import Halogen.VDom.DOM (VDomEff, VDomMachine, VDomStep, VDomSpec(..), buildVDom) as DOM
7+
import Halogen.VDom.DOM (VDomMachine, VDomStep, VDomSpec(..), buildVDom) as DOM
88
import Halogen.VDom.Machine (Machine, Step(..), extract, step, halt) as Machine
99
import Halogen.VDom.Types (VDom(..), Graft, runGraft, ElemSpec(..), ElemName(..), Namespace(..)) as Types

src/Halogen/VDom/DOM.purs

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
module Halogen.VDom.DOM
2-
( VDomEff
3-
, VDomMachine
2+
( VDomMachine
43
, VDomStep
54
, VDomSpec(..)
65
, buildVDom
@@ -28,11 +27,9 @@ import Halogen.VDom.Util (forE, forInE, whenE, diffWithIxE, diffWithKeyAndIxE, s
2827

2928
data Quaple a b c d = Quaple a b c d
3029

31-
type VDomEff eff = Eff (dom DOM | eff)
30+
type VDomMachine eff a b = Machine (Eff eff) a b
3231

33-
type VDomMachine eff a b = Machine (VDomEff eff) a b
34-
35-
type VDomStep eff a b = VDomEff eff (Step (VDomEff eff) a b)
32+
type VDomStep eff a b = Eff eff (Step (Eff eff) a b)
3633

3734
newtype VDomSpec eff a w = VDomSpec
3835
{ buildWidget VDomSpec eff a w VDomMachine eff w DOM.Node
@@ -42,8 +39,8 @@ newtype VDomSpec eff a w = VDomSpec
4239

4340
buildVDom
4441
eff a w
45-
. VDomSpec eff a w
46-
VDomMachine eff (VDom a w) DOM.Node
42+
. VDomSpec (dom DOM | eff) a w
43+
VDomMachine (dom DOM | eff) (VDom a w) DOM.Node
4744
buildVDom spec = render
4845
where
4946
render = case _ of
@@ -55,9 +52,9 @@ buildVDom spec = render
5552

5653
buildText
5754
eff a w
58-
. VDomSpec eff a w
55+
. VDomSpec (dom DOM | eff) a w
5956
String
60-
VDomStep eff (VDom a w) DOM.Node
57+
VDomStep (dom DOM | eff) (VDom a w) DOM.Node
6158
buildText (VDomSpec spec) = render
6259
where
6360
render s = do
@@ -78,10 +75,10 @@ buildText (VDomSpec spec) = render
7875

7976
buildElem
8077
eff a w
81-
. VDomSpec eff a w
78+
. VDomSpec (dom DOM | eff) a w
8279
ElemSpec a
8380
Array (VDom a w)
84-
VDomStep eff (VDom a w) DOM.Node
81+
VDomStep (dom DOM | eff) (VDom a w) DOM.Node
8582
buildElem (VDomSpec spec) = render
8683
where
8784
render es1@(ElemSpec ns1 name1 as1) ch1 = do
@@ -132,10 +129,10 @@ buildElem (VDomSpec spec) = render
132129

133130
buildKeyed
134131
eff a w
135-
. VDomSpec eff a w
132+
. VDomSpec (dom DOM | eff) a w
136133
ElemSpec a
137134
Array (Tuple String (VDom a w))
138-
VDomStep eff (VDom a w) DOM.Node
135+
VDomStep (dom DOM | eff) (VDom a w) DOM.Node
139136
buildKeyed (VDomSpec spec) = render
140137
where
141138
render es1@(ElemSpec ns1 name1 as1) ch1 = do
@@ -192,9 +189,9 @@ buildKeyed (VDomSpec spec) = render
192189

193190
buildWidget
194191
eff a w
195-
. VDomSpec eff a w
192+
. VDomSpec (dom DOM | eff) a w
196193
w
197-
VDomStep eff (VDom a w) DOM.Node
194+
VDomStep (dom DOM | eff) (VDom a w) DOM.Node
198195
buildWidget (VDomSpec spec) = render
199196
where
200197
render w = do

test/Main.purs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ renderData st =
108108

109109
buildWidget
110110
eff
111-
. V.VDomSpec eff (Array Attribute) (Exists Thunk)
112-
V.VDomMachine eff (Exists Thunk) DOM.Node
111+
. V.VDomSpec (dom DOM | eff) (Array Attribute) (Exists Thunk)
112+
V.VDomMachine (dom DOM | eff) (Exists Thunk) DOM.Node
113113
buildWidget spec = render
114114
where
115115
render = runExists \(Thunk a render) → do
@@ -126,7 +126,7 @@ buildWidget spec = render
126126
buildAttributes
127127
eff
128128
. DOM.Element
129-
V.VDomMachine eff (Array Attribute) Unit
129+
V.VDomMachine (dom DOM | eff) (Array Attribute) Unit
130130
buildAttributes el = render
131131
where
132132
render as1 = do
@@ -155,7 +155,7 @@ buildAttributes el = render
155155
mkSpec
156156
eff
157157
. DOM.Document
158-
V.VDomSpec eff (Array Attribute) (Exists Thunk)
158+
V.VDomSpec (dom DOM | eff) (Array Attribute) (Exists Thunk)
159159
mkSpec document = V.VDomSpec
160160
{ buildWidget
161161
, buildAttributes
@@ -174,11 +174,11 @@ foreign import requestAnimationFrame ∷ ∀ eff. Eff (dom ∷ DOM | eff) Unit
174174

175175
mkRenderQueue
176176
eff a
177-
. V.VDomSpec (ref REF | eff) (Array Attribute) (Exists Thunk)
177+
. V.VDomSpec (dom DOM, ref REF | eff) (Array Attribute) (Exists Thunk)
178178
DOM.Node
179179
(a VDom)
180180
a
181-
V.VDomEff (ref REF | eff) (a V.VDomEff (ref REF | eff) Unit)
181+
Eff (dom DOM, ref REF | eff) (a Eff (dom DOM, ref REF | eff) Unit)
182182
mkRenderQueue spec parent render initialValue = do
183183
initMachine ← V.buildVDom spec (render initialValue)
184184
DOM.appendChild (V.extract initMachine) parent
@@ -196,11 +196,11 @@ mkRenderQueue spec parent render initialValue = do
196196

197197
mkRenderQueue'
198198
eff a
199-
. V.VDomSpec (ref REF | eff) (Array Attribute) (Exists Thunk)
199+
. V.VDomSpec (dom DOM, ref REF | eff) (Array Attribute) (Exists Thunk)
200200
DOM.Node
201201
(a VDom)
202202
a
203-
V.VDomEff (ref REF | eff) (a V.VDomEff (ref REF | eff) Unit)
203+
Eff (dom DOM, ref REF | eff) (a Eff (dom DOM, ref REF | eff) Unit)
204204
mkRenderQueue' spec parent render initialValue = do
205205
initMachine ← V.buildVDom spec (render initialValue)
206206
DOM.appendChild (V.extract initMachine) parent

0 commit comments

Comments
 (0)