metadata.ml1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20(*****************************************************************************) (* *) (* Copyright (C) 2024 Yves Ndiaye *) (* *) (* This Source Code Form is subject to the terms of the Mozilla Public *) (* License, v. 2.0. If a copy of the MPL was not distributed with this *) (* file, You can obtain one at https://mozilla.org/MPL/2.0/. *) (* *) (*****************************************************************************) type entry = { attributes : (string * string) list; value : string option } type entries = (string * entry) list let title t = Option.bind (List.assoc_opt "title" t) (fun { value; _ } -> value) let language t = Option.bind (List.assoc_opt "language" t) (fun { value; _ } -> value) let t = Option.bind (List.assoc_opt "author" t) (fun { value; _ } -> value)