aboutsummaryrefslogtreecommitdiff
path: root/lib/dispatch.ml
blob: 4a9b79174dabc80f17ca55dabbeaf9f246d8d8ef (plain) (blame)
1
2
3
4
5
6
7
8
9
module Make(H : sig val handle_event : Event.t -> unit end) : S.Dispatch = struct
    let dispatch ~ev contents =
        (* Printf.printf "Dispatching %s\n%!" ev; *)
        (* print_endline (Yojson.Safe.prettify contents); *)
        try
            Event.event_of_yojson ~contents ev
            |> H.handle_event
        with Event.Invalid_event ev -> Printf.printf "Unknown event: %s%!" ev
end