My agentic slop goes here. Not intended for anyone else!
1(** JMAP Mail Parser Module
2
3 This module provides a centralized location for all mail-specific JSON
4 parsing functions. It builds on top of the core parser module and adds
5 mail-specific type parsing.
6
7open Jmap_core
8
9 The parser uses ezjsonm for JSON handling, following the same pattern
10 as jmap_parser.ml in jmap-core.
11
12 Reference: RFC 8621 (JMAP for Mail)
13 Test files: test/data/mail/*.json
14*)
15
16(** Parse Mailbox from JSON *)
17let parse_mailbox json =
18 Jmap_mailbox.Parser.of_json json
19
20(** Parse Thread from JSON *)
21let parse_thread json =
22 Jmap_thread.Parser.of_json json
23
24(** Parse Email from JSON *)
25let parse_email json =
26 Jmap_email.Parser.of_json json
27
28(** Parse EmailAddress from JSON *)
29let parse_email_address json =
30 Jmap_email.EmailAddress.of_json json
31
32(** Parse EmailHeader from JSON *)
33let parse_email_header json =
34 Jmap_email.EmailHeader.of_json json
35
36(** Parse BodyPart from JSON *)
37let parse_body_part json =
38 Jmap_email.BodyPart.of_json json
39
40(** Parse BodyValue from JSON *)
41let parse_body_value json =
42 Jmap_email.BodyValue.of_json json
43
44(** Parse Identity from JSON *)
45let parse_identity json =
46 Jmap_identity.Parser.of_json json
47
48(** Parse EmailSubmission from JSON *)
49let parse_email_submission json =
50 Jmap_email_submission.Parser.of_json json
51
52(** Parse EmailSubmission Envelope from JSON *)
53let parse_envelope json =
54 Jmap_email_submission.Envelope.of_json json
55
56(** Parse EmailSubmission Address from JSON *)
57let parse_address json =
58 Jmap_email_submission.Address.of_json json
59
60(** Parse DeliveryStatus from JSON *)
61let parse_delivery_status json =
62 Jmap_email_submission.DeliveryStatus.of_json json
63
64(** Parse VacationResponse from JSON *)
65let parse_vacation_response json =
66 Jmap_vacation_response.Parser.of_json json
67
68(** Parse SearchSnippet from JSON *)
69let parse_search_snippet json =
70 Jmap_search_snippet.Parser.of_json json
71
72(** Parse Mailbox/get request from JSON *)
73let parse_mailbox_get_request json =
74 Jmap_mailbox.Get.request_of_json json
75
76(** Parse Mailbox/get response from JSON *)
77let parse_mailbox_get_response json =
78 Jmap_mailbox.Get.response_of_json json
79
80(** Parse Mailbox/query request from JSON *)
81let parse_mailbox_query_request json =
82 Jmap_mailbox.Query.request_of_json json
83
84(** Parse Mailbox/query response from JSON *)
85let parse_mailbox_query_response json =
86 Jmap_mailbox.Query.response_of_json json
87
88(** Parse Mailbox/set request from JSON *)
89let parse_mailbox_set_request json =
90 Jmap_mailbox.Set.request_of_json json
91
92(** Parse Mailbox/set response from JSON *)
93let parse_mailbox_set_response json =
94 Jmap_mailbox.Set.response_of_json json
95
96(** Parse Thread/get request from JSON *)
97let parse_thread_get_request json =
98 Jmap_thread.Get.request_of_json json
99
100(** Parse Thread/get response from JSON *)
101let parse_thread_get_response json =
102 Jmap_thread.Get.response_of_json json
103
104(** Parse Email/get request from JSON *)
105let parse_email_get_request json =
106 Jmap_email.Get.request_of_json json
107
108(** Parse Email/get response from JSON *)
109let parse_email_get_response json =
110 Jmap_email.Get.response_of_json json
111
112(** Parse Email/query request from JSON *)
113let parse_email_query_request json =
114 Jmap_email.Query.request_of_json json
115
116(** Parse Email/query response from JSON *)
117let parse_email_query_response json =
118 Jmap_email.Query.response_of_json json
119
120(** Parse Email/set request from JSON *)
121let parse_email_set_request json =
122 Jmap_email.Set.request_of_json json
123
124(** Parse Email/set response from JSON *)
125let parse_email_set_response json =
126 Jmap_email.Set.response_of_json json
127
128(** Parse Email/import request from JSON *)
129let parse_email_import_request json =
130 Jmap_email.Import.request_of_json json
131
132(** Parse Email/import response from JSON *)
133let parse_email_import_response json =
134 Jmap_email.Import.response_of_json json
135
136(** Parse Email/parse request from JSON *)
137let parse_email_parse_request json =
138 Jmap_email.Parse.request_of_json json
139
140(** Parse Email/parse response from JSON *)
141let parse_email_parse_response json =
142 Jmap_email.Parse.response_of_json json
143
144(** Parse Identity/get request from JSON *)
145let parse_identity_get_request json =
146 Jmap_identity.Get.request_of_json json
147
148(** Parse Identity/get response from JSON *)
149let parse_identity_get_response json =
150 Jmap_identity.Get.response_of_json json
151
152(** Parse EmailSubmission/get request from JSON *)
153let parse_email_submission_get_request json =
154 Jmap_email_submission.Get.request_of_json json
155
156(** Parse EmailSubmission/get response from JSON *)
157let parse_email_submission_get_response json =
158 Jmap_email_submission.Get.response_of_json json
159
160(** Parse EmailSubmission/query request from JSON *)
161let parse_email_submission_query_request json =
162 Jmap_email_submission.Query.request_of_json json
163
164(** Parse EmailSubmission/query response from JSON *)
165let parse_email_submission_query_response json =
166 Jmap_email_submission.Query.response_of_json json
167
168(** Parse EmailSubmission/set request from JSON *)
169let parse_email_submission_set_request json =
170 Jmap_email_submission.Set.request_of_json json
171
172(** Parse EmailSubmission/set response from JSON *)
173let parse_email_submission_set_response json =
174 Jmap_email_submission.Set.response_of_json json
175
176(** Parse VacationResponse/get request from JSON *)
177let parse_vacation_response_get_request json =
178 Jmap_vacation_response.Get.request_of_json json
179
180(** Parse VacationResponse/get response from JSON *)
181let parse_vacation_response_get_response json =
182 Jmap_vacation_response.Get.response_of_json json
183
184(** Parse VacationResponse/set request from JSON *)
185let parse_vacation_response_set_request json =
186 Jmap_vacation_response.Set.request_of_json json
187
188(** Parse VacationResponse/set response from JSON *)
189let parse_vacation_response_set_response json =
190 Jmap_vacation_response.Set.response_of_json json
191
192(** Parse SearchSnippet/get request from JSON *)
193let parse_search_snippet_get_request json =
194 Jmap_search_snippet.Get.request_of_json json
195
196(** Parse SearchSnippet/get response from JSON *)
197let parse_search_snippet_get_response json =
198 Jmap_search_snippet.Get.response_of_json json
199
200(** Parse Mailbox Filter from JSON *)
201let parse_mailbox_filter json =
202 Jmap_mailbox.Filter.of_json json
203
204(** Parse Email Filter from JSON *)
205let parse_email_filter json =
206 Jmap_email.Filter.of_json json
207
208(** Parse EmailSubmission Filter from JSON *)
209let parse_email_submission_filter json =
210 Jmap_email_submission.Filter.of_json json
211
212(** Parse Mailbox Rights from JSON *)
213let parse_mailbox_rights json =
214 Jmap_mailbox.Rights.of_json json
215
216(** Serialize Mailbox to JSON *)
217let mailbox_to_json mailbox =
218 Jmap_mailbox.Parser.to_json mailbox
219
220(** Serialize Thread to JSON *)
221let thread_to_json thread =
222 Jmap_thread.Parser.to_json thread
223
224(** Serialize Email to JSON *)
225let email_to_json email =
226 Jmap_email.Parser.to_json email
227
228(** Serialize Identity to JSON *)
229let identity_to_json identity =
230 Jmap_identity.Parser.to_json identity
231
232(** Serialize EmailSubmission to JSON *)
233let email_submission_to_json submission =
234 Jmap_email_submission.Parser.to_json submission
235
236(** Serialize VacationResponse to JSON *)
237let vacation_response_to_json vacation =
238 Jmap_vacation_response.Parser.to_json vacation
239
240(** Serialize SearchSnippet to JSON *)
241let search_snippet_to_json snippet =
242 Jmap_search_snippet.Parser.to_json snippet