module Jbuffer:sig
..end
Rich text buffers with JSON marshalling.
typejson =
Json.t
val format : ?indent:int ->
?margin:int ->
('a, Stdlib.Format.formatter, unit, json) Stdlib.format4 -> 'a
All-in-one formatter. Return the JSON encoding of formatted text.
val to_json : ?indent:int ->
?margin:int -> (Stdlib.Format.formatter -> 'a -> unit) -> 'a -> json
All-in-one formatter. Return the JSON encoding of formatted text.
type
buffer
Buffer for encoding formatted text.
val create : ?indent:int -> ?margin:int -> unit -> buffer
Create a formatter with ~indent
maximum indentation and
~margin
right-margin. Defaults are those of Format.make_formatter
,
which are ~indent:68
and ~margin:78
with OCaml 4.05.
val formatter : buffer -> Stdlib.Format.formatter
The underlying formatter of a buffer.
val bprintf : buffer -> ('a, Stdlib.Format.formatter, unit) Stdlib.format -> 'a
Prints into the buffer formatter.
val append : buffer -> string -> int -> int -> unit
val flush : buffer -> unit -> unit
val push_tag : buffer -> Stdlib.Format.stag -> unit
val pop_tag : buffer -> Stdlib.Format.stag -> unit
val contents : buffer -> json
Flushes the buffer and returns its JSON enoding. This pops all pending tags.
val is_empty : json -> bool
When is_empty js
holds, the JSON is sure to be empty.
val fprintf : Stdlib.Format.formatter -> json -> unit
Prints back a JSON encoding into the provided formatter.
Yojson.Basic.Util.Type_error
in case of ill formatted buffer.