1open Wonka_types;
2open Wonka_source_fromListener;
3
4let fromDomEvent = (element, event) => curry(sink => {
5 let addEventListener: (
6 Dom.element,
7 string,
8 (Dom.event) => unit
9 ) => unit = [%raw {|
10 function (element, event, handler) {
11 element.addEventListener(event, handler);
12 }
13 |}];
14
15 let removeEventListener: (
16 Dom.element,
17 string,
18 (Dom.event) => unit
19 ) => unit = [%raw {|
20 function (element, event, handler) {
21 element.removeEventListener(event, handler);
22 }
23 |}];
24
25 fromListener(
26 handler => addEventListener(element, event, handler),
27 handler => removeEventListener(element, event, handler),
28 sink
29 )
30});