Module Schema.Node

Parameters

module Contents_key : sig ... end
module Node_key : sig ... end

Signature

type t
val encoding : t Data_encoding.t
type contents_key = Contents_key.t
val contents_key_t : contents_key Brassaia_eio.Type.t
val contents_key_encoding : contents_key Data_encoding.t
type node_key = Node_key.t
val node_key_t : node_key Brassaia_eio.Type.t
val node_key_encoding : node_key Data_encoding.t
type value = [
  1. | `Contents of contents_key
  2. | `Node of node_key
]
val value_encoding : value Data_encoding.t
type hash = Hash.t
val hash_encoding : hash Data_encoding.t
val of_list : (Brassaia_eio.Path.step * value) list -> t
val list : ?offset:int -> ?length:int -> ?cache:bool -> t -> (Brassaia_eio.Path.step * value) list
val seq : ?offset:int -> ?length:int -> ?cache:bool -> t -> (Brassaia_eio.Path.step * value) Brassaia_eio.Import.Seq.t
val empty : unit -> t
val is_empty : t -> bool
val length : t -> int
val hash_exn : ?force:bool -> t -> hash
val clear : t -> unit
val find : ?cache:bool -> t -> Brassaia_eio.Path.step -> value option
val add : t -> Brassaia_eio.Path.step -> value -> t
val remove : t -> Brassaia_eio.Path.step -> t
val with_handler : ((expected_depth:int -> node_key -> t option) -> expected_depth:int -> node_key -> t option) -> t -> t
val head : t -> [ `Inode of int * (int * hash) list | `Node of (Brassaia_eio.Path.step * value) list ]
exception Dangling_hash of {
  1. context : string;
  2. hash : hash;
}
module Portable : sig ... end