Module Make_persistent.Raw

include Irmin_pack.Pack_value.S with type t = Pack.value with type hash := hash with type key := hash Pack_key.t
include Irmin.Type.S with type t = Pack.value
type t = Pack.value
val t : t Repr__Type.ty
val hash : t -> hash
val length_header : Irmin_pack.Pack_value.Kind.t -> [ `Varint ] option

Describes the length header formats for the data sections of pack entries.

val weight : t -> Irmin_pack__.Pack_value_intf.weight

weight t is the t's LRU weight.

val encode_bin : dict:(string -> int option) -> offset_of_key:(hash Pack_key.t -> Optint.Int63.t option) -> hash -> t Irmin.Type.encode_bin
val decode_bin : dict:(int -> string option) -> key_of_offset:(Optint.Int63.t -> hash Pack_key.t) -> key_of_hash:(hash -> hash Pack_key.t) -> t Irmin.Type.decode_bin
val decode_bin_length : string -> int -> int
val to_kinded : t -> Irmin_pack__.Pack_value_intf.kinded

to_kinded t returns a kinded version of t.

val of_kinded : Irmin_pack__.Pack_value_intf.kinded -> t

of_kinded k is the inverse of to_kinded t.

It is expected that an implementation only works for k that is returned from to_kinded t and will raise an exception otherwise.

val depth : t -> int option
exception Invalid_depth of {
  1. expected : int;
  2. got : int;
  3. v : t;
}
val decode_children_offsets : entry_of_offset:(Optint.Int63.t -> 'a) -> entry_of_hash:(hash -> 'a) -> string -> int Stdlib.ref -> 'a list