diff options
| author | Adelyn Breedlove <[email protected]> | 2019-01-16 23:36:59 -0700 |
|---|---|---|
| committer | Adelyn Breedlove <[email protected]> | 2019-01-16 23:36:59 -0700 |
| commit | 6354dbd89d354e5e2499b4c2bea5d5fa95e020df (patch) | |
| tree | a0fd199097bdc675628d5bd735017d92d2067e08 /lib/client.ml | |
| parent | Merge branch 'switch-to-deriving_yojson' into 'master' (diff) | |
| download | disml-6354dbd89d354e5e2499b4c2bea5d5fa95e020df.tar.xz disml-6354dbd89d354e5e2499b4c2bea5d5fa95e020df.zip | |
eliminate all functors in favour of a simpler approach
Diffstat (limited to 'lib/client.ml')
| -rw-r--r-- | lib/client.ml | 41 |
1 files changed, 17 insertions, 24 deletions
diff --git a/lib/client.ml b/lib/client.ml index 6ee4a3a..a60bf03 100644 --- a/lib/client.ml +++ b/lib/client.ml @@ -1,30 +1,23 @@ -module Make(T : S.Token)(H : S.Handler_f) = struct - open Async +open Async - module Http = Http.Make(T) - module Models = Models.Make(Http) - module Handler = H.Make(Models) - module Dispatch = Dispatch.Make(Handler) - module Sharder = Sharder.Make(Http)(Dispatch) +type t = { + sharder: Sharder.t; + token: string; +} - type t = { - sharder: Sharder.t; - token: string; - } +let create token = + Config.token := token - let token = T.token +let start ?count () = + Sharder.start ?count () + >>| fun sharder -> + { sharder; token = !Config.token; } - let start ?count () = - Sharder.start ?count () - >>| fun sharder -> - { sharder; token; } +let set_status ~status client = + Sharder.set_status ~status client.sharder - let set_status ~status client = - Sharder.set_status ~status client.sharder +let set_status_with ~f client = + Sharder.set_status_with ~f client.sharder - let set_status_with ~f client = - Sharder.set_status_with ~f client.sharder - - let request_guild_members ~guild ?query ?limit client = - Sharder.request_guild_members ~guild ?query ?limit client.sharder -end
\ No newline at end of file +let request_guild_members ~guild ?query ?limit client = + Sharder.request_guild_members ~guild ?query ?limit client.sharder
\ No newline at end of file |