aboutsummaryrefslogtreecommitdiff
path: root/lib/models/id/user_id_t.ml
blob: cf1634a8c9100dc8af203f55e76657e868ee8a72 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
open Core

type t = [ `User_id of Snowflake.t ] [@@deriving sexp]

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
    | Ok id -> Ok (`User_id id)
    | Error err -> Error err

let of_yojson_exn a : t = `User_id (Snowflake.of_yojson_exn a)
let to_yojson (`User_id id) = (Snowflake.to_yojson id)

let get_id (`User_id id) = id