Module type Writer_stream.Intf
val create_encoder' : add_char:(char -> unit) -> add_string:(string -> unit) -> incr:int -> eol:string -> t
create_encoder' ~add_char ~add_string ~incr ~eol
is the low level function used to create the various stream encoders. Theadd_char c
andadd_string s
functions handle adding achar
c
andstring
s
to the output respectively.incr
andeol
work together to output human readable output.incr
defines the increase in indentation andeol
the end of line sequence. A typet
is returned
val create_encoder : add_char:(char -> unit) -> add_string:(string -> unit) -> t
create_encoder ~add_char ~add_string
creates a compact encoder.add_char
andadd_string
add achar
andstring
to the output respectively A typet
is returned
val create_encoder_hum : add_char:(char -> unit) -> add_string:(string -> unit) -> t
create_encoder_hum ~add_char ~add_string
creates a human readable encoder.add_char
andadd_string
add achar
andstring
to the output respectively. The increment is set to 2 and end of line LF (\n). A typet
is returned
val create_encoder_channel : Stdlib.out_channel -> t
create_encoder_channel oc
creates a compact encoder outputing to channeloc
val create_encoder_channel_hum : Stdlib.out_channel -> t
create_encoder_channel_hum oc
creates a human readable encoder outputing to channeloc
val encode_stream_exn : t -> 'a Jsonxt__.Json_internal.constrained_stream -> unit
encode_stream_exn t json_stream
encodes and outputs the elementjson_stream
. Errors cause a Failure exception to be raised.
val encode_stream : t -> 'a Jsonxt__.Json_internal.constrained_stream -> (unit, string) Stdlib.result
encode_stream_exn t json_stream
encodes and outputs the elementjson_stream
. Errors are reported via theresult
value.