aboutsummaryrefslogtreecommitdiff
path: root/lib/models/id/channel_id_t.ml
blob: c28a749b27cd1d88a683c866e067320994f6697b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
type t = [ `Channel_id of Snowflake.t ] [@@deriving sexp]

let compare (`Channel_id t) (`Channel_id t') = Base.Int.compare t t'

let of_yojson a : (t, string) result =
    match Snowflake.of_yojson a with
    | Ok id -> Ok (`Channel_id id)
    | Error err -> Error err

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

let get_id (`Channel_id id) = id