diff options
Diffstat (limited to 'lib/models/id/role_id.ml')
| -rw-r--r-- | lib/models/id/role_id.ml | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/models/id/role_id.ml b/lib/models/id/role_id.ml index a86253c..0bbf8be 100644 --- a/lib/models/id/role_id.ml +++ b/lib/models/id/role_id.ml @@ -1,3 +1,13 @@ -type t = [ `Role_id of Snowflake.t ] [@@deriving sexp, yojson]
+open Core
+
+type t = [ `Role_id of Snowflake.t ] [@@deriving sexp]
+
+let of_yojson a : (t, string) result =
+ match Snowflake.of_yojson a with
+ | Ok id -> Ok (`Role_id id)
+ | Error err -> Error err
+
+let of_yojson_exn a : t = `Role_id (Snowflake.of_yojson_exn a)
+let to_yojson (`Role_id id) = (Snowflake.to_yojson id)
let get_id (`Role_id id) = id
\ No newline at end of file |