FromTo

@implicitNotFound("Could not find an implicit WeePickle.FromTo[${T}]. Consider adding one with `object ${T} { implicit val pickler: WeePickle.FromTo[${T}] = macroFromTo }`")
trait FromTo[T] extends From[T] with To[T]

A combined To and From, along with some utility methods.

Companion
object
trait To[T]
trait Visitor[Any, T]
trait AutoCloseable
trait From[T]
class Object
trait Matchable
class Any
trait TaggedFromTo[T]
class Leaf[T]
class Node[T]

Value members

Concrete methods

def bimap[In](f: In => T, g: T => In): FromTo[In]
override
def narrow[K]: FromTo[K]
Definition Classes
To -> From

Inherited methods

override
def close(): Unit

==Responsibility== Generally, whoever creates the visitor should be responsible for closing it, i.e. not intermediate transform(v: Visitor) methods themselves.

==Responsibility== Generally, whoever creates the visitor should be responsible for closing it, i.e. not intermediate transform(v: Visitor) methods themselves.

==Self Closing== 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.

==Multiple close() calls/Idempotency== 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.

Definition Classes
Visitor -> AutoCloseable
Inherited from
Visitor
def comap[U](f: U => T): MapFrom[U, T]
Inherited from
From
def comapNulls[U](f: U => T): MapFromNulls[U, T]
Inherited from
From
override
def map[Z](f: T => Z): To[Z]
Definition Classes
Inherited from
To
override
def mapNulls[Z](f: T => Z): To[Z]
Definition Classes
Inherited from
To
def transform[Out](in: T, out: Visitor[_, Out]): Out
Inherited from
From
def transform0[Out](in: T, out: Visitor[_, Out]): Out
Inherited from
From
def visitArray(length: Int): ArrVisitor[Any, T]
Returns

a Visitor used for visiting the elements of the array

Inherited from
Visitor
def visitBinary(bytes: Array[Byte], offset: Int, len: Int): T

Raw bytes.

Raw bytes.

Inherited from
Visitor
def visitChar(c: Char): T
Inherited from
Visitor
def visitExt(tag: Byte, bytes: Array[Byte], offset: Int, len: Int): T

MsgPack extension type.

MsgPack extension type.

Inherited from
Visitor
def visitFalse(): T
Inherited from
Visitor
def visitFloat32(d: Float): T
Inherited from
Visitor
def visitFloat64(d: Double): T

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).

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

Value Params
d

the input number

Inherited from
Visitor
def visitFloat64String(s: String): T

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

Value Params
s

the text string being visited

Inherited from
Visitor
def visitFloat64StringParts(cs: CharSequence, decIndex: Int, expIndex: Int): T

Visit the number in its text representation.

Visit the number in its text representation.

Value Params
cs

unparsed text representation of the number.

decIndex

index of the ., relative to the start of the CharSequence, or -1 if omitted

expIndex

index of e or E relative to the start of the CharSequence, or -1 if omitted

Inherited from
Visitor
def visitInt32(i: Int): T
Inherited from
Visitor
def visitInt64(l: Long): T
Inherited from
Visitor
def visitNull(): T
Inherited from
Visitor
def visitObject(length: Int): ObjVisitor[Any, T]
Returns

a ObjVisitor used for visiting the keys/values of the object

Inherited from
Visitor
def visitString(cs: CharSequence): T
Value Params
cs

the text string being visited

Inherited from
Visitor
def visitTimestamp(instant: Instant): T
Inherited from
Visitor
def visitTrue(): T
Inherited from
Visitor
def visitUInt64(ul: Long): T
Inherited from
Visitor