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