1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
type t =
| Visible [@name "visible"]
| Left [@name "left"]
| Centered [@name "centered"]
[@@deriving yojson]
let all = [ Visible; Left; Centered ]
let to_string = function
| Visible -> "visible"
| Left -> "left"
| Centered -> "centered"
;;
let of_string = function
| "visible" -> Ok Visible
| "left" -> Ok Left
| "centered" -> Ok Centered
| s -> Error (Printf.sprintf "unrecognized align: %S" s)
;;