aboutsummaryrefslogtreecommitdiff
path: root/lib/event.ml
diff options
context:
space:
mode:
authorAdelyn Breelove <[email protected]>2019-01-11 12:44:22 -0700
committerAdelyn Breelove <[email protected]>2019-01-11 12:44:22 -0700
commitcba1fa3ab1b085600f3a73dae62682d21d112afb (patch)
tree89ef10a59d8a355356561e564f23777b4a8f66bf /lib/event.ml
parentFix some deserializing bits (diff)
downloaddisml-cba1fa3ab1b085600f3a73dae62682d21d112afb.tar.xz
disml-cba1fa3ab1b085600f3a73dae62682d21d112afb.zip
More deserialization fixes
Diffstat (limited to 'lib/event.ml')
-rw-r--r--lib/event.ml32
1 files changed, 16 insertions, 16 deletions
diff --git a/lib/event.ml b/lib/event.ml
index 824cd58..d6a6372 100644
--- a/lib/event.ml
+++ b/lib/event.ml
@@ -19,19 +19,19 @@ type t =
| GUILD_EMOJIS_UPDATE of Yojson.Safe.json
| GUILD_INTEGRATIONS_UPDATE of Yojson.Safe.json
| GUILD_MEMBER_ADD of Member_t.t
-| GUILD_MEMBER_REMOVE of Member_t.t
-| GUILD_MEMBER_UPDATE of Member_t.t
+| GUILD_MEMBER_REMOVE of Member_t.member_wrapper
+| GUILD_MEMBER_UPDATE of Member_t.member_update
| GUILD_MEMBERS_CHUNK of Member_t.t list
| GUILD_ROLE_CREATE of Role_t.t (* * Guild_t.t *)
| GUILD_ROLE_UPDATE of Role_t.t (* * Guild_t.t *)
| GUILD_ROLE_DELETE of Role_t.t (* * Guild_t.t *)
| MESSAGE_CREATE of Message_t.t
-| MESSAGE_UPDATE of Message_t.t
-| MESSAGE_DELETE of Message_t.t
-| MESSAGE_BULK_DELETE of Message_t.t list
-| MESSAGE_REACTION_ADD of (* Message_t.t * *) Reaction_t.t
-| MESSAGE_REACTION_REMOVE of (* Message_t.t * *) Reaction_t.t
-| MESSAGE_REACTION_REMOVE_ALL of (* Message_t.t * *) Reaction_t.t list
+| MESSAGE_UPDATE of Message_t.message_update
+| MESSAGE_DELETE of Snowflake.t * Snowflake.t
+| MESSAGE_BULK_DELETE of Snowflake.t list
+| MESSAGE_REACTION_ADD of Reaction_t.reaction_event
+| MESSAGE_REACTION_REMOVE of Reaction_t.reaction_event
+| MESSAGE_REACTION_REMOVE_ALL of Reaction_t.t list
| PRESENCE_UPDATE of Presence.t
| TYPING_START of Yojson.Safe.json
| USER_UPDATE of Yojson.Safe.json
@@ -56,18 +56,18 @@ let event_of_yojson ~contents t = match t with
| "GUILD_EMOJIS_UPDATE" -> GUILD_EMOJIS_UPDATE contents
| "GUILD_INTEGRATIONS_UPDATE" -> GUILD_INTEGRATIONS_UPDATE contents
| "GUILD_MEMBER_ADD" -> GUILD_MEMBER_ADD (Member_t.of_yojson_exn contents)
- | "GUILD_MEMBER_REMOVE" -> GUILD_MEMBER_REMOVE (let Member_t.{guild_id;member} = Member_t.member_update_of_yojson_exn contents in Member_t.wrap ~guild_id member)
- | "GUILD_MEMBER_UPDATE" -> GUILD_MEMBER_UPDATE (let Member_t.{guild_id;member} = Member_t.member_update_of_yojson_exn contents in Member_t.wrap ~guild_id member)
+ | "GUILD_MEMBER_REMOVE" -> GUILD_MEMBER_REMOVE (Member_t.member_wrapper_of_yojson_exn contents)
+ | "GUILD_MEMBER_UPDATE" -> GUILD_MEMBER_UPDATE (Member_t.member_update_of_yojson_exn contents)
| "GUILD_MEMBERS_CHUNK" -> GUILD_MEMBERS_CHUNK (Yojson.Safe.Util.to_list contents |> List.map ~f:Member_t.of_yojson_exn)
| "GUILD_ROLE_CREATE" -> GUILD_ROLE_CREATE (let Role_t.{guild_id;role} = Role_t.role_update_of_yojson_exn contents in Role_t.wrap ~guild_id role)
| "GUILD_ROLE_UPDATE" -> GUILD_ROLE_UPDATE (let Role_t.{guild_id;role} = Role_t.role_update_of_yojson_exn contents in Role_t.wrap ~guild_id role)
| "GUILD_ROLE_DELETE" -> GUILD_ROLE_DELETE (let Role_t.{guild_id;role} = Role_t.role_update_of_yojson_exn contents in Role_t.wrap ~guild_id role)
| "MESSAGE_CREATE" -> MESSAGE_CREATE (Message_t.of_yojson_exn contents)
- | "MESSAGE_UPDATE" -> MESSAGE_UPDATE (Message_t.of_yojson_exn contents)
- | "MESSAGE_DELETE" -> MESSAGE_DELETE (Message_t.of_yojson_exn contents)
- | "MESSAGE_BULK_DELETE" -> MESSAGE_BULK_DELETE (Yojson.Safe.Util.to_list contents |> List.map ~f:Message_t.of_yojson_exn)
- | "MESSAGE_REACTION_ADD" -> MESSAGE_REACTION_ADD (Reaction_t.of_yojson_exn contents)
- | "MESSAGE_REACTION_REMOVE" -> MESSAGE_REACTION_REMOVE (Reaction_t.of_yojson_exn contents)
+ | "MESSAGE_UPDATE" -> MESSAGE_UPDATE (Message_t.message_update_of_yojson_exn contents)
+ | "MESSAGE_DELETE" -> MESSAGE_DELETE (Yojson.Safe.Util.(member "id" contents |> Snowflake.of_yojson_exn), Yojson.Safe.Util.(member "channel_id" contents |> Snowflake.of_yojson_exn))
+ | "MESSAGE_BULK_DELETE" -> MESSAGE_BULK_DELETE (Yojson.Safe.Util.to_list contents |> List.map ~f:Snowflake.of_yojson_exn)
+ | "MESSAGE_REACTION_ADD" -> MESSAGE_REACTION_ADD (Reaction_t.reaction_event_of_yojson_exn contents)
+ | "MESSAGE_REACTION_REMOVE" -> MESSAGE_REACTION_REMOVE (Reaction_t.reaction_event_of_yojson_exn contents)
| "MESSAGE_REACTION_REMOVE_ALL" -> MESSAGE_REACTION_REMOVE_ALL (Yojson.Safe.Util.to_list contents |> List.map ~f:Reaction_t.of_yojson_exn)
| "PRESENCE_UPDATE" -> PRESENCE_UPDATE (Presence.of_yojson_exn contents)
| "TYPING_START" -> TYPING_START contents
@@ -75,4 +75,4 @@ let event_of_yojson ~contents t = match t with
| "VOICE_STATE_UPDATE" -> VOICE_STATE_UPDATE contents
| "VOICE_SERVER_UPDATE" -> VOICE_SERVER_UPDATE contents
| "WEBHOOKS_UPDATE" -> WEBHOOKS_UPDATE contents
- | s -> raise (Invalid_event s) \ No newline at end of file
+ | s -> raise @@ Invalid_event s \ No newline at end of file