···158158let jsont =
159159 let kind = "CiTO intent" in
160160 let doc = "A Citation Typing Ontology intent annotation" in
161161- let dec = of_string in
162162- let enc = to_string in
163163- Jsont.map ~kind ~doc ~dec ~enc Jsont.string
161161+ Jsont.map ~kind ~doc ~dec:of_string ~enc:to_string Jsont.string
+17-36
lib/item.ml
···147147 }
148148 in
149149150150- (* Encoders to extract fields from item *)
151151- let enc_id t = t.id in
152152- let enc_content_html t = content_html t in
153153- let enc_content_text t = content_text t in
154154- let enc_url t = t.url in
155155- let enc_external_url t = t.external_url in
156156- let enc_title t = t.title in
157157- let enc_summary t = t.summary in
158158- let enc_image t = t.image in
159159- let enc_banner_image t = t.banner_image in
160160- let enc_date_published t = t.date_published in
161161- let enc_date_modified t = t.date_modified in
162162- let enc_authors t = t.authors in
163163- let enc_tags t = t.tags in
164164- let enc_language t = t.language in
165165- let enc_attachments t = t.attachments in
166166- let enc_references t = t.references in
167167- let enc_unknown t = t.unknown in
168168-169150 Jsont.Object.map ~kind ~doc make_from_json
170170- |> Jsont.Object.mem "id" Jsont.string ~enc:enc_id
171171- |> Jsont.Object.opt_mem "content_html" Jsont.string ~enc:enc_content_html
172172- |> Jsont.Object.opt_mem "content_text" Jsont.string ~enc:enc_content_text
173173- |> Jsont.Object.opt_mem "url" Jsont.string ~enc:enc_url
174174- |> Jsont.Object.opt_mem "external_url" Jsont.string ~enc:enc_external_url
175175- |> Jsont.Object.opt_mem "title" Jsont.string ~enc:enc_title
176176- |> Jsont.Object.opt_mem "summary" Jsont.string ~enc:enc_summary
177177- |> Jsont.Object.opt_mem "image" Jsont.string ~enc:enc_image
178178- |> Jsont.Object.opt_mem "banner_image" Jsont.string ~enc:enc_banner_image
179179- |> Jsont.Object.opt_mem "date_published" Rfc3339.jsont ~enc:enc_date_published
180180- |> Jsont.Object.opt_mem "date_modified" Rfc3339.jsont ~enc:enc_date_modified
181181- |> Jsont.Object.opt_mem "authors" (Jsont.list Author.jsont) ~enc:enc_authors
182182- |> Jsont.Object.opt_mem "tags" (Jsont.list Jsont.string) ~enc:enc_tags
183183- |> Jsont.Object.opt_mem "language" Jsont.string ~enc:enc_language
151151+ |> Jsont.Object.mem "id" Jsont.string ~enc:id
152152+ |> Jsont.Object.opt_mem "content_html" Jsont.string ~enc:content_html
153153+ |> Jsont.Object.opt_mem "content_text" Jsont.string ~enc:content_text
154154+ |> Jsont.Object.opt_mem "url" Jsont.string ~enc:url
155155+ |> Jsont.Object.opt_mem "external_url" Jsont.string ~enc:external_url
156156+ |> Jsont.Object.opt_mem "title" Jsont.string ~enc:title
157157+ |> Jsont.Object.opt_mem "summary" Jsont.string ~enc:summary
158158+ |> Jsont.Object.opt_mem "image" Jsont.string ~enc:image
159159+ |> Jsont.Object.opt_mem "banner_image" Jsont.string ~enc:banner_image
160160+ |> Jsont.Object.opt_mem "date_published" Rfc3339.jsont ~enc:date_published
161161+ |> Jsont.Object.opt_mem "date_modified" Rfc3339.jsont ~enc:date_modified
162162+ |> Jsont.Object.opt_mem "authors" (Jsont.list Author.jsont) ~enc:authors
163163+ |> Jsont.Object.opt_mem "tags" (Jsont.list Jsont.string) ~enc:tags
164164+ |> Jsont.Object.opt_mem "language" Jsont.string ~enc:language
184165 |> Jsont.Object.opt_mem "attachments"
185166 (Jsont.list Attachment.jsont)
186186- ~enc:enc_attachments
167167+ ~enc:attachments
187168 |> Jsont.Object.opt_mem "_references"
188169 (Jsont.list Reference.jsont)
189189- ~enc:enc_references
170170+ ~enc:references
190171 |> Jsont.Object.opt_mem "_extensions" Jsont.json_object ~enc:(fun _t -> None)
191191- |> Jsont.Object.keep_unknown Jsont.json_mems ~enc:enc_unknown
172172+ |> Jsont.Object.keep_unknown Jsont.json_mems ~enc:unknown
192173 |> Jsont.Object.finish