Schema.Node
module Contents_key : sig ... end
module Node_key : sig ... end
val t : t Brassaia_eio.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
val value_t : value Brassaia_eio.Type.t
val value_encoding : value Data_encoding.t
type hash = Hash.t
val hash_t : hash Brassaia_eio.Type.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 of_seq : (Brassaia_eio.Path.step * value) Brassaia_eio.Import.Seq.t -> t
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 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 head :
t ->
[ `Inode of int * (int * hash) list
| `Node of (Brassaia_eio.Path.step * value) list ]
val merge :
contents:contents_key option Brassaia_eio.Merge.t ->
node:node_key option Brassaia_eio.Merge.t ->
t Brassaia_eio.Merge.t
module Portable : sig ... end