aboutsummaryrefslogtreecommitdiff
path: root/lib/models
diff options
context:
space:
mode:
authorMatias Goldfeld <[email protected]>2021-01-29 13:40:47 -0500
committerMatias Goldfeld <[email protected]>2021-01-29 13:40:47 -0500
commita44882d0e2c7b3397fc6c6c616e554eeb2248fdb (patch)
treef0fc6ff32bbf586b94d573ecb4c99b17324ea0ee /lib/models
parentRevert "Started conversion to ppx_yojson_conv" (diff)
downloaddisml-a44882d0e2c7b3397fc6c6c616e554eeb2248fdb.tar.xz
disml-a44882d0e2c7b3397fc6c6c616e554eeb2248fdb.zip
Revert "More Int64 refactors"
This reverts commit b499169e93e9f7bdd0f877a3cdf0247ec495abe1.
Diffstat (limited to 'lib/models')
-rw-r--r--lib/models/channel/channel.ml15
-rw-r--r--lib/models/channel/channel.mli2
-rw-r--r--lib/models/channel/message/message.ml4
-rw-r--r--lib/models/event_models.ml4
-rw-r--r--lib/models/guild/guild.ml6
-rw-r--r--lib/models/id/channel_id.ml15
-rw-r--r--lib/models/id/channel_id.mli2
-rw-r--r--lib/models/id/channel_id_t.ml2
-rw-r--r--lib/models/id/guild_id.ml2
-rw-r--r--lib/models/id/guild_id_t.ml2
-rw-r--r--lib/models/id/user_id_t.ml2
-rw-r--r--lib/models/snowflake.ml8
-rw-r--r--lib/models/snowflake.mli2
-rw-r--r--lib/models/user/user.ml4
14 files changed, 38 insertions, 32 deletions
diff --git a/lib/models/channel/channel.ml b/lib/models/channel/channel.ml
index 4d7b29d..47cf500 100644
--- a/lib/models/channel/channel.ml
+++ b/lib/models/channel/channel.ml
@@ -33,13 +33,16 @@ let delete ch =
let get_message ~id ch =
Http.get_message (get_id ch) id
-let get_messages ?(mode=`Around) ~id ?(limit=50) ch =
+let get_messages ?(mode=`Around) ?id ?(limit=50) ch =
let kind = match mode with
- | `Around -> "around", id
- | `Before -> "before", id
- | `After -> "after", id
+ | `Around -> "around", limit
+ | `Before -> "before", limit
+ | `After -> "after", limit
in
- Http.get_messages (get_id ch) limit kind
+ let id = match id with
+ | Some id -> id
+ | None -> raise No_message_found in
+ Http.get_messages (get_id ch) id kind
let broadcast_typing ch =
Http.broadcast_typing (get_id ch)
@@ -48,5 +51,5 @@ let get_pins ch =
Http.get_pinned_messages (get_id ch)
let bulk_delete msgs ch =
- let msgs = `List (List.map ~f:(fun id -> `Intlit (Int64.to_string id)) msgs) in
+ let msgs = `List (List.map ~f:(fun id -> `Int id) msgs) in
Http.bulk_delete (get_id ch) msgs \ No newline at end of file
diff --git a/lib/models/channel/channel.mli b/lib/models/channel/channel.mli
index cb01533..0d7431b 100644
--- a/lib/models/channel/channel.mli
+++ b/lib/models/channel/channel.mli
@@ -36,7 +36,7 @@ val delete : t -> Channel_t.t Deferred.Or_error.t
val get_message : id:Snowflake.t -> t -> Message_t.t Deferred.Or_error.t
val get_messages :
?mode:[ `Before | `After | `Around ] ->
- id:Snowflake.t ->
+ ?id:Snowflake.t ->
?limit:int ->
t ->
Message_t.t list Deferred.Or_error.t
diff --git a/lib/models/channel/message/message.ml b/lib/models/channel/message/message.ml
index a94d15e..7f03638 100644
--- a/lib/models/channel/message/message.ml
+++ b/lib/models/channel/message/message.ml
@@ -6,7 +6,7 @@ let add_reaction msg (emoji:Emoji.t) =
let `Message_id id = msg.id in
let `Channel_id channel_id = msg.channel_id in
let e = match emoji.id with
- | Some i -> Printf.sprintf "%s:%Ld" emoji.name i
+ | Some i -> Printf.sprintf "%s:%d" emoji.name i
| None -> emoji.name
in
Http.create_reaction channel_id id e
@@ -17,7 +17,7 @@ let remove_reaction msg (emoji:Emoji.t) (user:User_t.t) =
let `Channel_id channel_id = msg.channel_id in
let `User_id user_id = user.id in
let e = match emoji.id with
- | Some i -> Printf.sprintf "%s:%Ld" emoji.name i
+ | Some i -> Printf.sprintf "%s:%d" emoji.name i
| None -> emoji.name
in
Http.delete_reaction channel_id id e user_id
diff --git a/lib/models/event_models.ml b/lib/models/event_models.ml
index b9c417b..40ff299 100644
--- a/lib/models/event_models.ml
+++ b/lib/models/event_models.ml
@@ -415,7 +415,7 @@ module GuildRoleDelete = struct
if Cache.GuildMap.mem cache.guilds t.guild_id then
let guilds = match Cache.GuildMap.find cache.guilds t.guild_id with
| Some g ->
- let roles = List.filter g.roles ~f:(fun r -> Int64.(Role_id.get_id r.id <> Role_id.get_id t.role_id)) in
+ let roles = List.filter g.roles ~f:(fun r -> Role_id.get_id r.id <> Role_id.get_id t.role_id) in
let data = { g with roles } in
Cache.GuildMap.set cache.guilds ~key:t.guild_id ~data
| None -> cache.guilds in
@@ -437,7 +437,7 @@ module GuildRoleUpdate = struct
| Some g ->
let `Guild_id guild_id = t.guild_id in
let roles = List.map g.roles ~f:(fun r ->
- if Int64.(Role_id.get_id r.id = Role_id.get_id t.role.id) then Role_t.wrap ~guild_id t.role else r) in
+ if Role_id.get_id r.id = Role_id.get_id t.role.id then Role_t.wrap ~guild_id t.role else r) in
let data = { g with roles } in
Cache.GuildMap.set cache.guilds ~key:t.guild_id ~data
| None -> cache.guilds in
diff --git a/lib/models/guild/guild.ml b/lib/models/guild/guild.ml
index 14861fe..95485a4 100644
--- a/lib/models/guild/guild.ml
+++ b/lib/models/guild/guild.ml
@@ -89,7 +89,7 @@ let request_members guild =
Http.get_members (get_id guild)
let set_afk_channel ~id guild = Http.edit_guild (get_id guild) (`Assoc [
- ("afk_channel_id", `Intlit (Int64.to_string id));
+ ("afk_channel_id", `Int id);
])
let set_afk_timeout ~timeout guild = Http.edit_guild (get_id guild) (`Assoc [
@@ -119,10 +119,10 @@ let get_member ~(id:User_id_t.t) guild =
let get_channel ~(id:Channel_id_t.t) guild =
let `Channel_id id = id in
- match List.find ~f:(fun c -> Int64.(Channel_t.get_id c = id)) guild.channels with
+ match List.find ~f:(fun c -> Channel_t.get_id c = id) guild.channels with
| Some c -> Deferred.Or_error.return c
| None -> Http.get_channel id
(* TODO add HTTP fallback *)
let get_role ~(id:Role_id.t) guild =
- List.find ~f:(fun r -> Int64.(Role_id.get_id r.id = Role_id.get_id id)) guild.roles
+ List.find ~f:(fun r -> Role_id.get_id r.id = Role_id.get_id id) guild.roles
diff --git a/lib/models/id/channel_id.ml b/lib/models/id/channel_id.ml
index 7c62d84..1ea7a46 100644
--- a/lib/models/id/channel_id.ml
+++ b/lib/models/id/channel_id.ml
@@ -33,13 +33,16 @@ let delete ch =
let get_message ~id ch =
Http.get_message (get_id ch) id
-let get_messages ?(mode=`Around) ~id ?(limit=50) ch =
+let get_messages ?(mode=`Around) ?id ?(limit=50) ch =
let kind = match mode with
- | `Around -> "around", id
- | `Before -> "before", id
- | `After -> "after", id
+ | `Around -> "around", limit
+ | `Before -> "before", limit
+ | `After -> "after", limit
in
- Http.get_messages (get_id ch) limit kind
+ let id = match id with
+ | Some id -> id
+ | None -> raise No_message_found in
+ Http.get_messages (get_id ch) id kind
let broadcast_typing ch =
Http.broadcast_typing (get_id ch)
@@ -48,5 +51,5 @@ let get_pins ch =
Http.get_pinned_messages (get_id ch)
let bulk_delete msgs ch =
- let msgs = `List (List.map ~f:(fun id -> `Intlit (Int64.to_string id)) msgs) in
+ let msgs = `List (List.map ~f:(fun id -> `Int id) msgs) in
Http.bulk_delete (get_id ch) msgs \ No newline at end of file
diff --git a/lib/models/id/channel_id.mli b/lib/models/id/channel_id.mli
index 5ecad0c..2dfff8f 100644
--- a/lib/models/id/channel_id.mli
+++ b/lib/models/id/channel_id.mli
@@ -37,7 +37,7 @@ val delete : t -> Channel_t.t Deferred.Or_error.t
val get_message : id:Snowflake.t -> t -> Message_t.t Deferred.Or_error.t
val get_messages :
?mode:[ `Before | `After | `Around ] ->
- id:Snowflake.t ->
+ ?id:Snowflake.t ->
?limit:int ->
t ->
Message_t.t list Deferred.Or_error.t
diff --git a/lib/models/id/channel_id_t.ml b/lib/models/id/channel_id_t.ml
index c6b80ec..cea85e0 100644
--- a/lib/models/id/channel_id_t.ml
+++ b/lib/models/id/channel_id_t.ml
@@ -2,7 +2,7 @@ open Core
type t = [ `Channel_id of Snowflake.t ] [@@deriving sexp]
-let compare (`Channel_id t) (`Channel_id t') = Int64.compare t t'
+let compare (`Channel_id t) (`Channel_id t') = Int.compare t t'
let of_yojson a : (t, string) result =
match Snowflake.of_yojson a with
diff --git a/lib/models/id/guild_id.ml b/lib/models/id/guild_id.ml
index 1e0168f..d4db185 100644
--- a/lib/models/id/guild_id.ml
+++ b/lib/models/id/guild_id.ml
@@ -82,7 +82,7 @@ let request_members guild =
Http.get_members (get_id guild)
let set_afk_channel ~id guild = Http.edit_guild (get_id guild) (`Assoc [
- ("afk_channel_id", `Intlit (Int64.to_string id));
+ ("afk_channel_id", `Int id);
])
let set_afk_timeout ~timeout guild = Http.edit_guild (get_id guild) (`Assoc [
diff --git a/lib/models/id/guild_id_t.ml b/lib/models/id/guild_id_t.ml
index b2fd202..a39c07d 100644
--- a/lib/models/id/guild_id_t.ml
+++ b/lib/models/id/guild_id_t.ml
@@ -2,7 +2,7 @@ open Core
type t = [ `Guild_id of Snowflake.t ] [@@deriving sexp]
-let compare (`Guild_id t) (`Guild_id t') = Int64.compare t t'
+let compare (`Guild_id t) (`Guild_id t') = Int.compare t t'
let of_yojson a : (t, string) result =
match Snowflake.of_yojson a with
diff --git a/lib/models/id/user_id_t.ml b/lib/models/id/user_id_t.ml
index 214fa14..cf1634a 100644
--- a/lib/models/id/user_id_t.ml
+++ b/lib/models/id/user_id_t.ml
@@ -2,7 +2,7 @@ open Core
type t = [ `User_id of Snowflake.t ] [@@deriving sexp]
-let compare (`User_id t) (`User_id t') = Int64.compare t t'
+let compare (`User_id t) (`User_id t') = Int.compare t t'
let of_yojson a : (t, string) result =
match Snowflake.of_yojson a with
diff --git a/lib/models/snowflake.ml b/lib/models/snowflake.ml
index 868b2b9..f228bd7 100644
--- a/lib/models/snowflake.ml
+++ b/lib/models/snowflake.ml
@@ -1,16 +1,16 @@
open Core
-type t = int64 [@@deriving sexp]
+type t = Int.t [@@deriving sexp]
-let of_yojson_exn d = Yojson.Safe.Util.to_string d |> Int64.of_string
+let of_yojson_exn d = Yojson.Safe.Util.to_string d |> Int.of_string
let of_yojson d =
try Ok (of_yojson_exn d)
with Yojson.Safe.Util.Type_error (why,_) -> Error why
-let to_yojson s : Yojson.Safe.t = `String (Int64.to_string s)
+let to_yojson s : Yojson.Safe.t = `String (Int.to_string s)
-let timestamp snowflake = Int64.((snowflake lsr 22) + 1_420_070_400_000L)
+let timestamp snowflake = Int64.(+) (Int64.of_int (snowflake lsr 22)) 1_420_070_400_000L
let time_of_t snowflake =
let t = timestamp snowflake |> Int64.to_float in
diff --git a/lib/models/snowflake.mli b/lib/models/snowflake.mli
index fd9c597..7d5cca8 100644
--- a/lib/models/snowflake.mli
+++ b/lib/models/snowflake.mli
@@ -1,6 +1,6 @@
open Core
-type t = int64 [@@deriving sexp, yojson { exn = true }]
+type t = Int.t [@@deriving sexp, yojson { exn = true }]
(** Convert a snowflake into a {!Core.Time.t} *)
val time_of_t : t -> Time.t
diff --git a/lib/models/user/user.ml b/lib/models/user/user.ml
index 0d76d23..b8c3b25 100644
--- a/lib/models/user/user.ml
+++ b/lib/models/user/user.ml
@@ -6,10 +6,10 @@ let tag user =
let mention user =
let `User_id id = user.id in
- Printf.sprintf "<@%Ld>" id
+ Printf.sprintf "<@%d>" id
let default_avatar user =
- let avatar = Int64.(of_string user.discriminator % 5L) in
+ let avatar = Int.of_string user.discriminator % 5 in
Endpoints.cdn_default_avatar avatar
let face user =