Object

quasar.ejson

JsonCodec

Related Doc: package ejson

Permalink

object JsonCodec

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsonCodec
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class DecodingFailed[A](reason: slamdata.Predef.String, value: A) extends Product with Serializable

    Permalink

    Error describing why decoding the given value failed.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): scala.Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val ByteK: slamdata.Predef.String

    Permalink
  5. val CharK: slamdata.Predef.String

    Permalink
  6. val ExtKeys: ISet[slamdata.Predef.String]

    Permalink
  7. val IntK: slamdata.Predef.String

    Permalink
  8. val KeyK: slamdata.Predef.String

    Permalink
  9. val MapK: slamdata.Predef.String

    Permalink
  10. val MetaK: slamdata.Predef.String

    Permalink
  11. val Sigil: scala.Char

    Permalink

    Constants used in the Json encoding.

  12. val ValueK: slamdata.Predef.String

    Permalink
  13. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  14. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. def decodeƒ[J](implicit JC: Aux[J, Json], JR: Aux[J, Json]): Coalgebra[[γ$0$]CoEnv[DecodingFailed[J], [A]Coproduct[Extension, Common, A], γ$0$], J]

    Permalink

    Attempt to decode an EJson value from Json.

  16. def encodeƒ[J](implicit JC: Aux[J, Json], JR: Aux[J, Json]): Algebra[EJson, J]

    Permalink

    Encode an EJson value as Json.

    Encode an EJson value as Json.

    In order to remain compatible with JSON and achieve a compact encoding the following scheme is used:

    1. All JSON compatible values are encoded verbatim.

    2. Extended values are encoded as

    Meta -> { ∃value: ..., ∃meta: ...} Map -> { ∃map: [{∃key: ..., ∃value: ...}, ...] } Byte -> { ∃byte: 42 } Char -> { ∃char: "x" } Int -> { ∃int: 2345 }

    3. A Map where the keys are all strings will be encoded as a Json object with encoded EJson values.

    4. Any map keys in a source EJson value that begin with '∃' are prefixed with an additional '∃'.

  17. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  19. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  21. def hashCode(): scala.Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  24. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  27. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: scala.Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped