cconv

Combinators for Type Conversion in OCaml, and ppx_deriving plugin.
Library cconv
Module CConv

Bidirectional Conversion

exception ConversionFailure of string
type 'a sequence = ( 'a -> unit ) -> unit
val report_error : ( 'a, Buffer.t, unit, 'b ) format4 -> 'a

Helper to report conversion errors.

  • raises ConversionFailure

    if the conversion failed (!)

Encode

Helps encoding values into a serialization format (building values of some type 'a, such as a JSON tree)

module Encode : sig ... end
module Decode : sig ... end
type 'a or_error = [
| `Ok of 'a
| `Error of string
]
val encode : 'src Encode.encoder -> 'into Encode.output -> 'src -> 'into

Encode a value into the serialization format 'into

val to_string : 'src Encode.encoder -> 'src -> string

Use Encode.string_target to print the value

val decode_exn : 'src Decode.source -> 'into Decode.decoder -> 'src -> 'into

Decode a serialized value

val decode : 'src Decode.source -> 'into Decode.decoder -> 'src -> 'into or_error