From d342c4cf9fe907d2107cd815f9988f8ad147218b Mon Sep 17 00:00:00 2001 From: Mishio595 Date: Sat, 24 Nov 2018 09:51:03 -0700 Subject: Major structural changes --- lib/client.ml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 lib/client.ml (limited to 'lib/client.ml') diff --git a/lib/client.ml b/lib/client.ml new file mode 100644 index 0000000..7c2d532 --- /dev/null +++ b/lib/client.ml @@ -0,0 +1,35 @@ +open Async + +type t = { + sharder: Sharder.t Ivar.t; + handler: (string * Model.t) Pipe.Writer.t; + token: string; +} + +let make ~handler token = + { + sharder = Ivar.create (); + handler; + token; + } + +let start ?count client = + Sharder.start ?count ~handler:client.handler client.token + >>| fun sharder -> + Ivar.fill_if_empty client.sharder sharder; + client + +let set_status client status = + Ivar.read client.sharder + >>= fun sharder -> + Sharder.set_status sharder status + +let set_status_with client f = + Ivar.read client.sharder + >>= fun sharder -> + Sharder.set_status_with sharder f + +let request_guild_members ~guild ?query ?limit client = + Ivar.read client.sharder + >>= fun sharder -> + Sharder.request_guild_members ~guild ?query ?limit sharder -- cgit v1.2.3 From 011e3224c0292dfcb0024daf474d4ef1e00b82f0 Mon Sep 17 00:00:00 2001 From: Mishio595 Date: Sun, 25 Nov 2018 16:02:37 -0700 Subject: A lot is going on... --- lib/client.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/client.ml') diff --git a/lib/client.ml b/lib/client.ml index 7c2d532..374287c 100644 --- a/lib/client.ml +++ b/lib/client.ml @@ -2,7 +2,7 @@ open Async type t = { sharder: Sharder.t Ivar.t; - handler: (string * Model.t) Pipe.Writer.t; + handler: string Pipe.Writer.t; token: string; } @@ -14,7 +14,7 @@ let make ~handler token = } let start ?count client = - Sharder.start ?count ~handler:client.handler client.token + Sharder.start ?count client.token >>| fun sharder -> Ivar.fill_if_empty client.sharder sharder; client -- cgit v1.2.3 From 048fe6388e84eaccb3440fe0d0c7101b3877701d Mon Sep 17 00:00:00 2001 From: Mishio595 Date: Sun, 25 Nov 2018 16:13:59 -0700 Subject: Naming consistency --- lib/client.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/client.ml') diff --git a/lib/client.ml b/lib/client.ml index 374287c..e88b1d5 100644 --- a/lib/client.ml +++ b/lib/client.ml @@ -6,7 +6,7 @@ type t = { token: string; } -let make ~handler token = +let create ~handler token = { sharder = Ivar.create (); handler; @@ -19,12 +19,12 @@ let start ?count client = Ivar.fill_if_empty client.sharder sharder; client -let set_status client status = +let set_status ~status client = Ivar.read client.sharder >>= fun sharder -> Sharder.set_status sharder status -let set_status_with client f = +let set_status_with ~f client = Ivar.read client.sharder >>= fun sharder -> Sharder.set_status_with sharder f -- cgit v1.2.3 From 473072f66e6c7e228b4f26730cbc7304941fb12b Mon Sep 17 00:00:00 2001 From: Adelyn Breelove Date: Thu, 29 Nov 2018 12:55:10 -0700 Subject: functors! --- lib/client.ml | 61 +++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 27 deletions(-) (limited to 'lib/client.ml') diff --git a/lib/client.ml b/lib/client.ml index e88b1d5..7adaae3 100644 --- a/lib/client.ml +++ b/lib/client.ml @@ -1,35 +1,42 @@ open Async -type t = { - sharder: Sharder.t Ivar.t; - handler: string Pipe.Writer.t; - token: string; -} +module Make(T : S.Token) = struct + include T + + module Http = Http.Make(T) + module Sharder = Sharder.Make(Http) -let create ~handler token = - { - sharder = Ivar.create (); - handler; - token; + type t = { + sharder: Sharder.t Ivar.t; + handler: string Pipe.Writer.t; + token: string; } -let start ?count client = - Sharder.start ?count client.token - >>| fun sharder -> - Ivar.fill_if_empty client.sharder sharder; - client + let init ~handler () = + { + sharder = Ivar.create (); + handler; + token; + } -let set_status ~status client = - Ivar.read client.sharder - >>= fun sharder -> - Sharder.set_status sharder status + let start ?count client = + Sharder.start ?count client.token + >>| fun sharder -> + Ivar.fill_if_empty client.sharder sharder; + client -let set_status_with ~f client = - Ivar.read client.sharder - >>= fun sharder -> - Sharder.set_status_with sharder f + let set_status ~status client = + Ivar.read client.sharder + >>= fun sharder -> + Sharder.set_status sharder status -let request_guild_members ~guild ?query ?limit client = - Ivar.read client.sharder - >>= fun sharder -> - Sharder.request_guild_members ~guild ?query ?limit sharder + let set_status_with ~f client = + Ivar.read client.sharder + >>= fun sharder -> + Sharder.set_status_with sharder f + + let request_guild_members ~guild ?query ?limit client = + Ivar.read client.sharder + >>= fun sharder -> + Sharder.request_guild_members ~guild ?query ?limit sharder +end \ No newline at end of file -- cgit v1.2.3 From eaccd45894e5b519bca82662d0b950b5f1d9c598 Mon Sep 17 00:00:00 2001 From: Mishio595 Date: Thu, 29 Nov 2018 18:10:45 -0700 Subject: Fix all the errors from coding without merlin --- lib/client.ml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/client.ml') diff --git a/lib/client.ml b/lib/client.ml index 7adaae3..b27a2ee 100644 --- a/lib/client.ml +++ b/lib/client.ml @@ -2,7 +2,7 @@ open Async module Make(T : S.Token) = struct include T - + module Http = Http.Make(T) module Sharder = Sharder.Make(Http) @@ -20,7 +20,7 @@ module Make(T : S.Token) = struct } let start ?count client = - Sharder.start ?count client.token + Sharder.start ?count () >>| fun sharder -> Ivar.fill_if_empty client.sharder sharder; client @@ -28,12 +28,12 @@ module Make(T : S.Token) = struct let set_status ~status client = Ivar.read client.sharder >>= fun sharder -> - Sharder.set_status sharder status + Sharder.set_status ~status sharder let set_status_with ~f client = Ivar.read client.sharder >>= fun sharder -> - Sharder.set_status_with sharder f + Sharder.set_status_with ~f sharder let request_guild_members ~guild ?query ?limit client = Ivar.read client.sharder -- cgit v1.2.3 From c046760eb599e42226c683aecbe33753dfc4d500 Mon Sep 17 00:00:00 2001 From: Adelyn Breelove Date: Wed, 12 Dec 2018 15:23:14 -0700 Subject: Complete event dispatch --- lib/client.ml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'lib/client.ml') diff --git a/lib/client.ml b/lib/client.ml index b27a2ee..018f3e6 100644 --- a/lib/client.ml +++ b/lib/client.ml @@ -1,21 +1,20 @@ open Async -module Make(T : S.Token) = struct +module Make(T : S.Token)(H : S.Handler) = struct include T module Http = Http.Make(T) - module Sharder = Sharder.Make(Http) + module Dispatch = Dispatch.Make(H) + module Sharder = Sharder.Make(Http)(Dispatch) type t = { sharder: Sharder.t Ivar.t; - handler: string Pipe.Writer.t; token: string; } - let init ~handler () = + let init () = { sharder = Ivar.create (); - handler; token; } -- cgit v1.2.3 From 73d115ce6260e97f5f7ee47f743d842ffd292662 Mon Sep 17 00:00:00 2001 From: Adelyn Breelove Date: Thu, 13 Dec 2018 14:11:54 -0700 Subject: Working on deriving types from json --- lib/client.ml | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) (limited to 'lib/client.ml') diff --git a/lib/client.ml b/lib/client.ml index 018f3e6..9211281 100644 --- a/lib/client.ml +++ b/lib/client.ml @@ -8,34 +8,21 @@ module Make(T : S.Token)(H : S.Handler) = struct module Sharder = Sharder.Make(Http)(Dispatch) type t = { - sharder: Sharder.t Ivar.t; + sharder: Sharder.t; token: string; } - let init () = - { - sharder = Ivar.create (); - token; - } - - let start ?count client = + let start ?count () = Sharder.start ?count () >>| fun sharder -> - Ivar.fill_if_empty client.sharder sharder; - client + { sharder; token; } let set_status ~status client = - Ivar.read client.sharder - >>= fun sharder -> - Sharder.set_status ~status sharder + Sharder.set_status ~status client.sharder let set_status_with ~f client = - Ivar.read client.sharder - >>= fun sharder -> - Sharder.set_status_with ~f sharder + Sharder.set_status_with ~f client.sharder let request_guild_members ~guild ?query ?limit client = - Ivar.read client.sharder - >>= fun sharder -> - Sharder.request_guild_members ~guild ?query ?limit sharder + Sharder.request_guild_members ~guild ?query ?limit client.sharder end \ No newline at end of file -- cgit v1.2.3 From af684566617ebce536e9f30693aa3e225af906c4 Mon Sep 17 00:00:00 2001 From: Adelyn Breelove Date: Fri, 14 Dec 2018 10:52:36 -0700 Subject: There's a lot going on --- lib/client.ml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/client.ml') diff --git a/lib/client.ml b/lib/client.ml index 9211281..229c9cc 100644 --- a/lib/client.ml +++ b/lib/client.ml @@ -1,10 +1,12 @@ open Async -module Make(T : S.Token)(H : S.Handler) = struct +module Make(T : S.Token)(H : S.Handler_f) = struct include T module Http = Http.Make(T) - module Dispatch = Dispatch.Make(H) + module Models = Models.Make(Http) + module Handler = H.Make(Models) + module Dispatch = Dispatch.Make(Handler) module Sharder = Sharder.Make(Http)(Dispatch) type t = { -- cgit v1.2.3