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

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

let compare (`Channel_id t) (`Channel_id t') = Int64.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