sig
type id = [ `Object ] Id.t
type archive = { files : (string * Digest.t) list; raw : Cstruct.t; }
type file = string * Cstruct.t
type contents = Archive of Object.archive | File of Object.file
type kind = [ `Archive | `File ]
type t
val id : Object.t -> Object.id
val contents : Object.t -> Object.contents
val kind : Object.t -> Object.kind
val archive : (string * Digest.t) list -> Cstruct.t -> Object.t
val file : string -> Cstruct.t -> Object.t
val equal : Object.t -> Object.t -> bool
val pp : Object.t Fmt.t
val json : Object.t Jsont.codec
end