sig
type error = Corrupted of (string * string) | Version of int * int
val pp_error : Stdlib.Format.formatter -> Topkg_codec.error -> unit
exception Error of Topkg_codec.error
val err : kind:string -> string -> 'a
type 'a t
val v :
kind:string ->
enc:('a -> string) -> dec:(string -> 'a) -> 'a Topkg_codec.t
val kind : 'a Topkg_codec.t -> string
val enc : 'a Topkg_codec.t -> 'a -> string
val dec : 'a Topkg_codec.t -> string -> 'a
val dec_result : 'a Topkg_codec.t -> string -> 'a Topkg_result.result
val with_kind : string -> 'a Topkg_codec.t -> 'a Topkg_codec.t
val write :
Topkg_fpath.t -> 'a Topkg_codec.t -> 'a -> unit Topkg_result.result
val read : Topkg_fpath.t -> 'a Topkg_codec.t -> 'a Topkg_result.result
val unit : unit Topkg_codec.t
val const : 'a -> 'a Topkg_codec.t
val bool : bool Topkg_codec.t
val int : int Topkg_codec.t
val string : string Topkg_codec.t
val option : 'a Topkg_codec.t -> 'a option Topkg_codec.t
val result :
ok:'a Topkg_codec.t ->
error:'b Topkg_codec.t -> ('a, 'b) Topkg_result.r Topkg_codec.t
val list : 'a Topkg_codec.t -> 'a list Topkg_codec.t
val pair : 'a Topkg_codec.t -> 'b Topkg_codec.t -> ('a * 'b) Topkg_codec.t
val t2 : 'a Topkg_codec.t -> 'b Topkg_codec.t -> ('a * 'b) Topkg_codec.t
val t3 :
'a Topkg_codec.t ->
'b Topkg_codec.t -> 'c Topkg_codec.t -> ('a * 'b * 'c) Topkg_codec.t
val t4 :
'a Topkg_codec.t ->
'b Topkg_codec.t ->
'c Topkg_codec.t -> 'd Topkg_codec.t -> ('a * 'b * 'c * 'd) Topkg_codec.t
val t5 :
'a Topkg_codec.t ->
'b Topkg_codec.t ->
'c Topkg_codec.t ->
'd Topkg_codec.t ->
'e Topkg_codec.t -> ('a * 'b * 'c * 'd * 'e) Topkg_codec.t
val alt :
kind:string -> ('a -> int) -> 'a Topkg_codec.t array -> 'a Topkg_codec.t
val version : int -> 'a Topkg_codec.t -> 'a Topkg_codec.t
val view :
?kind:string ->
('a -> 'b) * ('b -> 'a) -> 'b Topkg_codec.t -> 'a Topkg_codec.t
val msg : [ `Msg of string ] Topkg_codec.t
val result_error_msg :
'a Topkg_codec.t -> 'a Topkg_result.result Topkg_codec.t
val fpath : Topkg_fpath.t Topkg_codec.t
val cmd : Topkg_cmd.t Topkg_codec.t
end