blob: 8a4eb2e06b105a1d3e53be699fada321bb3b574d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
(* Auto-generated from "activity.atd" *)
[@@@ocaml.warning "-27-32-35-39"]
type snowflake = Snowflake_t.t
type t = Activity_t.t = { id: snowflake }
let write_snowflake = (
Snowflake_j.write_t
)
let string_of_snowflake ?(len = 1024) x =
let ob = Bi_outbuf.create len in
write_snowflake ob x;
Bi_outbuf.contents ob
let read_snowflake = (
Snowflake_j.read_t
)
let snowflake_of_string s =
read_snowflake (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
let write_t : _ -> t -> _ = (
fun ob x ->
Bi_outbuf.add_char ob '{';
let is_first = ref true in
if !is_first then
is_first := false
else
Bi_outbuf.add_char ob ',';
Bi_outbuf.add_string ob "\"id\":";
(
write_snowflake
)
ob x.id;
Bi_outbuf.add_char ob '}';
)
let string_of_t ?(len = 1024) x =
let ob = Bi_outbuf.create len in
write_t ob x;
Bi_outbuf.contents ob
let read_t = (
fun p lb ->
Yojson.Safe.read_space p lb;
Yojson.Safe.read_lcurl p lb;
let field_id = ref (Obj.magic (Sys.opaque_identity 0.0)) in
let bits0 = ref 0 in
try
Yojson.Safe.read_space p lb;
Yojson.Safe.read_object_end lb;
Yojson.Safe.read_space p lb;
let f =
fun s pos len ->
if pos < 0 || len < 0 || pos + len > String.length s then
invalid_arg "out-of-bounds substring position or length";
if len = 2 && String.unsafe_get s pos = 'i' && String.unsafe_get s (pos+1) = 'd' then (
0
)
else (
-1
)
in
let i = Yojson.Safe.map_ident p f lb in
Atdgen_runtime.Oj_run.read_until_field_value p lb;
(
match i with
| 0 ->
field_id := (
(
read_snowflake
) p lb
);
bits0 := !bits0 lor 0x1;
| _ -> (
Yojson.Safe.skip_json p lb
)
);
while true do
Yojson.Safe.read_space p lb;
Yojson.Safe.read_object_sep p lb;
Yojson.Safe.read_space p lb;
let f =
fun s pos len ->
if pos < 0 || len < 0 || pos + len > String.length s then
invalid_arg "out-of-bounds substring position or length";
if len = 2 && String.unsafe_get s pos = 'i' && String.unsafe_get s (pos+1) = 'd' then (
0
)
else (
-1
)
in
let i = Yojson.Safe.map_ident p f lb in
Atdgen_runtime.Oj_run.read_until_field_value p lb;
(
match i with
| 0 ->
field_id := (
(
read_snowflake
) p lb
);
bits0 := !bits0 lor 0x1;
| _ -> (
Yojson.Safe.skip_json p lb
)
);
done;
assert false;
with Yojson.End_of_object -> (
if !bits0 <> 0x1 then Atdgen_runtime.Oj_run.missing_fields p [| !bits0 |] [| "id" |];
(
{
id = !field_id;
}
: t)
)
)
let t_of_string s =
read_t (Yojson.Safe.init_lexer ()) (Lexing.from_string s)
|