this repo has no description
1(** Intermediate representation for pages hierarchies to be able to add pages
2 before *)
3
4module Id = Odoc_model.Paths.Identifier
5open Odoc_model
6
7type in_progress
8(** A directory *)
9
10(** {1 Initial value} *)
11
12val empty_t : Id.ContainerPage.t option -> in_progress
13(** Start a hierarchy for a parent ID ([None] is for the absolute root) *)
14
15(** {1 Add to the initial value} *)
16
17val add_page : in_progress -> Lang.Page.t -> unit
18(** Add a leaf pages in the given dir *)
19
20val add_module : in_progress -> Lang.Compilation_unit.t -> unit
21(** Add a mpodule in the given dir *)
22
23val add_implementation : in_progress -> Lang.Implementation.t -> unit
24(** Add a mpodule in the given dir *)
25
26(** {1 Getters} *)
27
28val root_dir : in_progress -> Id.ContainerPage.t option
29(** [root dir] is the parent ID represented by [dir] *)
30
31val leafs : in_progress -> (Id.LeafPage.t * Lang.Page.t) list
32(** [leafs dir] returns the leaf pages in [dir] *)
33
34val dirs : in_progress -> (Id.ContainerPage.t * in_progress) list
35(** [dirs dir] returns the intermediate directories in [dir] *)
36
37val modules : in_progress -> (Id.RootModule.t * Skeleton.t) list
38(** [modules dir] returns the modules in [dir] *)
39
40val implementations :
41 in_progress -> (Id.SourcePage.t * Lang.Implementation.t) list
42(** [implementations dir] returns the implementations in [dir] *)
43
44val index : in_progress -> (Id.LeafPage.t * Lang.Page.t) option
45(** [index dir] returns the potential [index] leaf page in [dir] *)