Dom

io.bullet.borer.Dom
object Dom

Simple Document Object Model (DOM) for CBOR.

Practically all valid CBOR encodings can be decoded into this structure and vice versa. Provided as an alternative to plain Writer-based encoding and Reader-based decoding.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Dom.type

Members list

Type members

Classlikes

sealed abstract class AbstractBytesElem(dataItem: Int) extends Element

Attributes

Supertypes
class Element
class Object
trait Matchable
class Any
Known subtypes
sealed abstract class AbstractTextElem(dataItem: Int) extends Element

Attributes

Supertypes
class Element
class Object
trait Matchable
class Any
Known subtypes
sealed abstract class ArrayElem(dataItem: Int) extends Element

Attributes

Companion
object
Supertypes
class Element
class Object
trait Matchable
class Any
Known subtypes
class Sized
class Unsized
object ArrayElem

Attributes

Companion
class
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
ArrayElem.type
final case class BooleanElem(value: Boolean) extends Element

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
object BooleanElem

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class ByteArrayElem(bytes: Array[Byte]) extends AbstractBytesElem

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
final case class BytesStreamElem(elems: Vector[AbstractBytesElem]) extends AbstractBytesElem

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
final case class DoubleElem(value: Double) extends Element

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
sealed abstract class Element(val dataItemShift: Int)

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class StringElem
class ArrayElem
class Sized
class Unsized
class BooleanElem
class DoubleElem
class Float16Elem
class FloatElem
class IntElem
class LongElem
class MapElem
class Sized
class Unsized
object NullElem.type
class OverLongElem
class TaggedElem
object UndefinedElem.type
Show all
final case class Float16Elem(value: Float) extends Element

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
final case class FloatElem(value: Float) extends Element

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
final case class IntElem(value: Int) extends Element

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
final case class LongElem(value: Long) extends Element

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
sealed abstract class MapElem(val elems: Array[Element], dataItem: Int) extends Element

Attributes

Companion
object
Supertypes
class Element
class Object
trait Matchable
class Any
Known subtypes
class Sized
class Unsized
object MapElem

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
MapElem.type
case object NullElem extends Element

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
Self type
NullElem.type
final case class NumberStringElem(value: String) extends Element

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
final case class OverLongElem(negative: Boolean, value: Long) extends Element

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
final case class SimpleValueElem(value: SimpleValue) extends Element

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
final case class StringElem(value: String) extends AbstractTextElem

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
final case class TaggedElem(tag: Tag, value: Element) extends Element

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
final case class TextStreamElem(elems: Vector[AbstractTextElem]) extends AbstractTextElem

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
object Transformer

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait Transformer extends Element => Element

A Dom.Transformer encapsulates the ability for arbitrary DOM transformations. The default implementation applies a NOP transformation, i.e. returns an identical DOM structure.

A Dom.Transformer encapsulates the ability for arbitrary DOM transformations. The default implementation applies a NOP transformation, i.e. returns an identical DOM structure.

Override some or all methods to customize the transformation logic.

Attributes

Companion
object
Supertypes
trait Element => Element
class Object
trait Matchable
class Any
Known subtypes
trait ToJsonSubset
case object UndefinedElem extends Element

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Element
class Object
trait Matchable
class Any
Show all
Self type

Value members

Implicits

Implicits

implicit def decoder[T <: Element]: Decoder[T]
implicit def encoder[T <: Element]: Encoder[T]