open Wonka_types; open Wonka_source_fromListener; let fromDomEvent = (element, event) => curry(sink => { let addEventListener: ( Dom.element, string, (Dom.event) => unit ) => unit = [%raw {| function (element, event, handler) { element.addEventListener(event, handler); } |}]; let removeEventListener: ( Dom.element, string, (Dom.event) => unit ) => unit = [%raw {| function (element, event, handler) { element.removeEventListener(event, handler); } |}]; fromListener( handler => addEventListener(element, event, handler), handler => removeEventListener(element, event, handler), sink ) });