sig
type 'src source = {
emit : 'a. ('src, 'a) CConv.Decode.inner_decoder -> 'src -> 'a;
}
and ('src, 'into) inner_decoder = {
accept_unit : 'src CConv.Decode.source -> unit -> 'into;
accept_bool : 'src CConv.Decode.source -> bool -> 'into;
accept_float : 'src CConv.Decode.source -> float -> 'into;
accept_int : 'src CConv.Decode.source -> int -> 'into;
accept_int32 : 'src CConv.Decode.source -> int32 -> 'into;
accept_int64 : 'src CConv.Decode.source -> int64 -> 'into;
accept_nativeint : 'src CConv.Decode.source -> nativeint -> 'into;
accept_char : 'src CConv.Decode.source -> char -> 'into;
accept_string : 'src CConv.Decode.source -> string -> 'into;
accept_list : 'src CConv.Decode.source -> 'src list -> 'into;
accept_option : 'src CConv.Decode.source -> 'src option -> 'into;
accept_record : 'src CConv.Decode.source -> (string * 'src) list -> 'into;
accept_tuple : 'src CConv.Decode.source -> 'src list -> 'into;
accept_sum : 'src CConv.Decode.source -> string -> 'src list -> 'into;
}
type 'into decoder = {
dec : 'src. ('src, 'into) CConv.Decode.inner_decoder;
}
val apply :
'src CConv.Decode.source -> 'into CConv.Decode.decoder -> 'src -> 'into
val int : int CConv.Decode.decoder
val char : char CConv.Decode.decoder
val int32 : int32 CConv.Decode.decoder
val int64 : int64 CConv.Decode.decoder
val nativeint : nativeint CConv.Decode.decoder
val float : float CConv.Decode.decoder
val bool : bool CConv.Decode.decoder
val unit : unit CConv.Decode.decoder
val string : string CConv.Decode.decoder
val list : 'a CConv.Decode.decoder -> 'a list CConv.Decode.decoder
val array : 'a CConv.Decode.decoder -> 'a array CConv.Decode.decoder
val sequence :
'a CConv.Decode.decoder -> 'a CConv.sequence CConv.Decode.decoder
val map : ('a -> 'b) -> 'a CConv.Decode.decoder -> 'b CConv.Decode.decoder
val arg0 : 'src list -> unit
val arg1 :
'a CConv.Decode.decoder -> 'src CConv.Decode.source -> 'src list -> 'a
val arg2 :
'a CConv.Decode.decoder ->
'b CConv.Decode.decoder ->
'src CConv.Decode.source -> 'src list -> 'a * 'b
val arg3 :
'a CConv.Decode.decoder ->
'b CConv.Decode.decoder ->
'c CConv.Decode.decoder ->
'src CConv.Decode.source -> 'src list -> 'a * 'b * 'c
val option : 'a CConv.Decode.decoder -> 'a option CConv.Decode.decoder
val pair :
'a CConv.Decode.decoder ->
'b CConv.Decode.decoder -> ('a * 'b) CConv.Decode.decoder
val triple :
'a CConv.Decode.decoder ->
'b CConv.Decode.decoder ->
'c CConv.Decode.decoder -> ('a * 'b * 'c) CConv.Decode.decoder
val record_get :
string ->
'into CConv.Decode.decoder ->
'src CConv.Decode.source -> (string * 'src) list -> 'into
val record_get_opt :
string ->
'into CConv.Decode.decoder ->
'src CConv.Decode.source -> (string * 'src) list -> 'into option
type 'into record_decoder = {
record_accept :
'src. 'src CConv.Decode.source -> (string * 'src) list -> 'into;
}
val record :
'into CConv.Decode.record_decoder -> 'into CConv.Decode.decoder
val record_fix :
('into CConv.Decode.decoder -> 'into CConv.Decode.record_decoder) ->
'into CConv.Decode.decoder
type 'into sum_decoder = {
sum_accept :
'src. 'src CConv.Decode.source -> string -> 'src list -> 'into;
}
val sum : 'into CConv.Decode.sum_decoder -> 'into CConv.Decode.decoder
val sum_fix :
('into CConv.Decode.decoder -> 'into CConv.Decode.sum_decoder) ->
'into CConv.Decode.decoder
type 'into tuple_decoder = {
tuple_accept : 'src. 'src CConv.Decode.source -> 'src list -> 'into;
}
val tuple : 'into CConv.Decode.tuple_decoder -> 'into CConv.Decode.decoder
end