package sihl-facade

  1. Overview
  2. Docs

Source file schedule.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
open Sihl_contract.Schedule
open Sihl_core.Container

let instance : (module Sig) option ref = ref None

let schedule schedule =
  let module Service = (val unpack name instance : Sig) in
  Service.schedule schedule
;;

let lifecycle () =
  let module Service = (val unpack name instance : Sig) in
  Service.lifecycle
;;

let register implementation =
  let module Service = (val implementation : Sig) in
  instance := Some implementation;
  Service.register ()
;;
OCaml

Innovation. Community. Security.