3 | import public Web.Internal.Types
4 | import public Web.Raw.Html
13 | Callback BlobCallback (Maybe Blob -> JSIO ()) where
14 | callback f = toBlobCallback $
runJS . f . nullableToMaybe
17 | Callback CustomElementConstructor (IO HTMLElement) where
18 | callback = toCustomElementConstructor . const
21 | Callback EventHandlerNonNull (Event -> JSIO ()) where
22 | callback f = toEventHandlerNonNull (map (toFFI . MkAny) . runJS . f)
25 | Callback FunctionStringCallback (String -> JSIO ()) where
26 | callback f = toFunctionStringCallback (runJS . f)
29 | Callback OnBeforeUnloadEventHandlerNonNull (Event -> JSIO (Maybe String)) where
30 | callback f = toOnBeforeUnloadEventHandlerNonNull $
map maybeToNullable
31 | . runJSWithDefault Nothing
34 | Callback OnErrorEventHandlerNonNull ( HSum [Event, String]
41 | callback f = toOnErrorEventHandlerNonNull $
\u,b,c,d,e =>
42 | map toFFI $
runJSWithDefault (MkAny ()) $
do
43 | ns <- tryFromFFI "JS.Html.ErrorEventHandlerNonNull.callback" u
46 | (undeforToOptional b)
47 | (undeforToOptional c)
48 | (undeforToOptional d)
49 | (MkAny <$> undeforToOptional e)
52 | Callback FocusEventHandler (FocusEvent -> JSIO ()) where
53 | callback f = toFocusEventHandler (runJS . f)
56 | Callback InputEventHandler (InputEvent -> JSIO ()) where
57 | callback f = toInputEventHandler (runJS . f)
60 | Callback KeyboardEventHandler (KeyboardEvent -> JSIO ()) where
61 | callback f = toKeyboardEventHandler (runJS . f)
64 | Callback MouseEventHandler (MouseEvent -> JSIO ()) where
65 | callback f = toMouseEventHandler (runJS . f)
68 | Callback UIEventHandler (UIEvent -> JSIO ()) where
69 | callback f = toUIEventHandler (runJS . f)
72 | Callback WheelEventHandler (WheelEvent -> JSIO ()) where
73 | callback f = toWheelEventHandler (runJS . f)