/
G.purs
38 lines (33 loc) · 852 Bytes
/
G.purs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
module Deku.DOM.Elt.G where
import Bolson.Core (Entity(..), fixed)
import Control.Plus (empty)
import Data.Array (mapWithIndex)
import Deku.Attribute (Attribute)
import Deku.Control as DC
import Deku.Core (Domable(..), Domable', unsafeSetPos)
import FRP.Event (Event)
import Safe.Coerce (coerce)
data G_
g
:: forall lock payload
. Event (Attribute G_)
-> Array (Domable lock payload)
-> Domable lock payload
g attributes kids = Domable
( Element'
( DC.elementify "g" attributes
( (coerce :: Domable' lock payload -> Domable lock payload)
(fixed (coerce (mapWithIndex unsafeSetPos kids)))
)
)
)
g_
:: forall lock payload
. Array (Domable lock payload)
-> Domable lock payload
g_ = g empty
g__
:: forall lock payload
. String
-> Domable lock payload
g__ t = g_ [ DC.text_ t ]