sig
val decompose_key : string -> string * string list
module Out :
sig
type t
val open_out : ?set_type:string -> string -> Dosebase.Out.t
val close_out : Dosebase.Out.t -> unit
val add_package :
Dosebase.Out.t ->
archive:string ->
day:Lifetime.day -> (string * string * string list) list -> unit
val rebuild_index : string -> unit
end
module In :
sig
type t
type package
val open_in : string -> Dosebase.In.t
val close_in : Dosebase.In.t -> unit
val count_population : Dosebase.In.t -> int
val get_type : Dosebase.In.t -> string
val iter :
?package:(unit_name:string ->
version:string ->
architecture:string -> Dosebase.In.package -> unit) ->
?lifetime:(archive:string ->
unit_name:string ->
version:string ->
architecture:string -> Lifetime.lifetime -> unit) ->
Dosebase.In.t -> unit
val iter_over_fields :
(string * string * string list -> unit) ->
Dosebase.In.t -> Dosebase.In.package -> unit
val find_package :
Dosebase.In.t ->
unit_name:string ->
version:string -> architecture:string -> Dosebase.In.package
val find_lifetime :
Dosebase.In.t ->
architecture:string ->
archive:string ->
unit_name:string -> version:string -> Lifetime.lifetime
val get_package_id : Dosebase.In.t -> Dosebase.In.package -> int
val get_field :
Dosebase.In.t ->
Dosebase.In.package -> string -> string * string list
val get_field_first :
Dosebase.In.t -> Dosebase.In.package -> string -> string
val known_fields : Dosebase.In.t -> string list
end
val napkin_of_fields : (string -> string) -> Napkin.default_package
end