@@ -1,104 +0,0 @@
6−isUndefined : Ptr -> IO Bool
9− FFun "%0 === undefined" [FPtr] FString) p
14−--------------------------------------------------------------------------------
16−--------------------------------------------------------------------------------
18−data Event : Type where
19− MkEvent : Ptr -> Event
21−--------------------------------------------------------------------------------
23−--------------------------------------------------------------------------------
25−data Element : Type where
26− MkElem : Ptr -> Element
28−setText : Element -> String -> IO ()
29−setText (MkElem p) s =
30− mkForeign (FFun "%0.textContent=%1" [FPtr, FString] FUnit) p s
33−setOnClick : Element -> (Event -> IO Bool) -> IO ()
34−setOnClick (MkElem e) f =
36− FFun "%0['onclick']=%1" [ FPtr
37− , FFunction (FAny Event) (FAny (IO Bool))
39−--------------------------------------------------------------------------------
41−--------------------------------------------------------------------------------
43−data NodeList : Type where
44− MkNodeList : Ptr -> NodeList
46−elemAt : NodeList -> Nat -> IO (Maybe Element)
47−elemAt (MkNodeList p) i = do
48− e <- mkForeign (FFun "%0.item(%1)" [FPtr, FInt] FPtr) p (
49− prim__truncBigInt_Int (cast i)
53− then return $ Just (MkElem e)
56−--------------------------------------------------------------------------------
58−--------------------------------------------------------------------------------
60−data Interval : Type where
61− MkInterval : Ptr -> Interval
63−setInterval : (() -> IO ()) -> Float -> IO Interval
66− FFun "setInterval(%0,%1)" [FFunction FUnit (FAny (IO ())), FFloat] FPtr
68− return (MkInterval e)
70−clearInterval : Interval -> IO ()
71−clearInterval (MkInterval p) =
72− mkForeign (FFun "clearInterval(%0)" [FPtr] FUnit) p
74−--------------------------------------------------------------------------------
76−--------------------------------------------------------------------------------
77−data Timeout : Type where
78− MkTimeout : Ptr -> Timeout
80−setTimeout : (() -> IO ()) -> Float -> IO Timeout
83− FFun "setTimeout(%0,%1)" [FFunction FUnit (FAny (IO ())), FFloat] FPtr
87−clearTimeout : Timeout -> IO ()
88−clearTimeout (MkTimeout p) =
89− mkForeign (FFun "clearTimeout(%0)" [FPtr] FUnit) p
91−--------------------------------------------------------------------------------
93−--------------------------------------------------------------------------------
94−alert : String -> IO ()
96− mkForeign (FFun "alert(%0)" [FString] FUnit) msg
98−--------------------------------------------------------------------------------
100−--------------------------------------------------------------------------------
101−query : String -> IO NodeList
103− e <- mkForeign (FFun "document.querySelectorAll(%0)" [FString] FPtr) q
104− return (MkNodeList e)