aboutsummaryrefslogtreecommitdiff
path: root/lib/rites/rite_ef/lectionary_ef.mli
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rites/rite_ef/lectionary_ef.mli')
-rw-r--r--lib/rites/rite_ef/lectionary_ef.mli12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/rites/rite_ef/lectionary_ef.mli b/lib/rites/rite_ef/lectionary_ef.mli
index baf25d4..caefc74 100644
--- a/lib/rites/rite_ef/lectionary_ef.mli
+++ b/lib/rites/rite_ef/lectionary_ef.mli
@@ -53,6 +53,18 @@ module Commons : sig
assignment naming a common that does not exist (likewise). *)
val load : string -> (t, string) result
+ (** Builds a table directly, with exactly the validation {!load} applies to
+ a file (same four [Error]s, same canonical sort). Exposed so that a
+ caller can construct Commons from something other than a sexp file --
+ a future diocesan overlay, or a test that needs a table the shipped
+ data deliberately does not contain. The guard on {!readings}' step 4
+ is one such case: no shipped assignment names a temporal slug, so the
+ only way to exercise the guard at all is to build a table that does. *)
+ val of_tables :
+ commons:(Slug.t * Citation.t list) list ->
+ assigned:(Slug.t * Slug.t) list ->
+ (t, string) result
+
(** The Commons themselves, canonically sorted by id. *)
val formularies : t -> (Slug.t * Citation.t list) list