conex

Establishing trust in community repositories
IN THIS PACKAGE
Module Conex_io

IO provider

type t = {
basedir : string;
description : string;
file_type : Conex_utils.path -> ( Conex_utils.file_type, string ) result;
read : Conex_utils.path -> ( string, string ) result;
write : Conex_utils.path -> string -> ( unit, string ) result;
read_dir : Conex_utils.path -> ( Conex_utils.item list, string ) result;
exists : Conex_utils.path -> bool;
}

A provider contains its base directory, a description, and read/write/exist functionality. TODO: define this as a module type.

pp t is a pretty printer for t.

Reading of resource files

type r_err = [
| `NotFound of Conex_resource.typ * Conex_resource.name
| `ParseError of Conex_resource.typ * Conex_resource.name * string
| `NameMismatch of Conex_resource.typ * Conex_resource.name * Conex_resource.name
| `InvalidPath of Conex_resource.name * Conex_utils.path
]

The variant of read and parse errors.

val pp_r_err : r_err Conex_utils.fmt

pp_r_err is a pretty printer for r_err.

val read_root : t -> Conex_resource.name -> ( Conex_resource.Root.t * string list, [> r_err ] ) result
val write_root : t -> Conex_resource.Root.t -> ( unit, string ) result
val read_targets : t -> Conex_resource.Root.t -> bool -> Conex_resource.identifier -> ( Conex_resource.Targets.t * string list, [> r_err ] ) result
val write_targets : t -> Conex_resource.Root.t -> Conex_resource.Targets.t -> ( unit, string ) result
val compute_checksum : ?prefix:Conex_utils.path -> t -> bool -> ( string -> Conex_resource.Digest.t ) -> Conex_utils.path -> ( Conex_resource.Target.t list, string ) result
val compute_checksum_tree : ?prefix:Conex_utils.path -> t -> ( string -> Conex_resource.Digest.t ) -> ( (Conex_resource.Digest.t * Conex_utils.Uint.t) Conex_utils.Tree.t, string ) result