Generally, whoever creates the visitor should be responsible for closing it, i.e.
Generally, whoever creates the visitor should be responsible for closing it,
i.e. not intermediate transform(v: Visitor)
methods themselves.
Given that common usage is most often single-valued (e.g. "{}"),
rather than multi-valued (e.g. "{} {} {}"), Visitors may self-close
(e.g. visitor.map{v => Try(v.close); v)
} after a single value to
prevent resource leaks, but are encouraged to expose both forms
(i.e. single/multiple), if supportable.
Visitors are encouraged to respond gracefully if close() is called multiple times.
If an underlying resource would throw if already closed, this may mean adding a
private var isClosed: Boolean
field to prevent multiple calls.
a Visitor used for visiting the elements of the array
Raw bytes.
Raw bytes.
MsgPack extension type.
MsgPack extension type.
Optional handler for raw double values; can be overriden for performance in cases where you're translating directly between numbers to avoid the overhead of stringifying and re-parsing your numbers (e.g.
Optional handler for raw double values; can be overriden for performance in cases where you're translating directly between numbers to avoid the overhead of stringifying and re-parsing your numbers (e.g. the WebJson transformer gets raw doubles from the underlying Json.parse).
Delegates to visitFloat64StringParts
if not overriden
the input number
Convenience methods to help you compute the decimal-point-index and exponent-index of an arbitrary numeric string
Convenience methods to help you compute the decimal-point-index and exponent-index of an arbitrary numeric string
the text string being visited
Visit the number in its text representation.
Visit the number in its text representation.
unparsed text representation of the number.
index of the .
, relative to the start of the CharSequence, or -1 if omitted
index of e
or E
relative to the start of the CharSequence, or -1 if omitted
a ObjVisitor used for visiting the keys/values of the object
the text string being visited
NoOpVisitor discards all JSON AST information.
This is the simplest possible visitor. It could be useful for checking JSON for correctness (via parsing) without worrying about saving the data.
It will always return Unit on any successful parse, no matter the content.