Module Codecs.Make

A functor for generating a Sharding Indexed codec that supports partial (en/de)coding via IO operations.

Parameters

module IO : Types.IO

Signature

val is_just_sharding : Chain.t -> bool

is_just_sharding t is true if the codec chain t contains only the sharding_indexed codec.

val partial_encode : Chain.t -> (Types.range list -> string list IO.t) -> (?append:bool -> (int * string) list -> unit IO.t) -> int -> 'a array_repr -> (int list * 'a) list -> 'a -> unit IO.t
val partial_decode : Chain.t -> (Types.range list -> string list IO.t) -> int -> 'a array_repr -> (int * int list) list -> 'a -> (int * 'a) list IO.t