Packages

package json

This package is meant to give you a rought equivalent experience to using the intented "busymachines-commons-json" module. Therefore, type alias are the same in both modules, but here they are mapped approximately to spray versions (ObjectEncoder is not quite the same as RootJsonFormat), but for most practical purposes it will work.

Since

10 Aug 2017

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

Type Members

  1. trait AnomalyJsonCodec extends AnyRef
  2. trait BusymachinesDefaultJsonCodec extends FailureMessageJsonCodec with BasicFormats with AdditionalFormats with StandardFormats with CollectionFormats

    This trait excludes the spray.json.ProductFormats on purpose, because there should be only one way to derive a formatter is through the derive object

    This trait excludes the spray.json.ProductFormats on purpose, because there should be only one way to derive a formatter is through the derive object

    Since

    26 Oct 2017

  3. type Codec[A] = RootJsonFormat[A]

    Since Codec is the desired type signature when using derivation if we want to keep it syntactically consistent with the other json module, then we have no choice but to sacrifice a bit of semantic sense (for this particular case) for the greater good.

  4. type Decoder[A] = RootJsonReader[A]
  5. type Encoder[A] = RootJsonWriter[A]
  6. trait FailureMessageJsonCodec extends AnyRef
  7. type Json = JsValue
  8. final case class JsonDecodingFailure(msg: String) extends InvalidInputFailure with Product with Serializable
  9. type JsonObject = JsObject
  10. final case class JsonParsingFailure(msg: String) extends InvalidInputFailure with Product with Serializable
  11. trait JsonSyntax extends AnyRef

    Since

    19 Oct 2017

  12. type ValueCodec[A] = JsonFormat[A]
  13. type ValueDecoder[A] = JsonReader[A]
  14. type ValueEncoder[A] = JsonWriter[A]

Value Members

  1. val JsonObject: JsObject.type
  2. final val ValueDecoder: JsonReader.type
  3. final val ValueEncoder: JsonWriter.type
  4. object AnomalyJsonCodec extends AnomalyJsonCodec

    Since

    26 Dec 2017

  5. object FailureMessageJsonCodec extends FailureMessageJsonCodec

    Since

    10 Aug 2017

  6. object JsonAnomalyIDs

  7. object JsonDecoding

    Since

    10 Aug 2017

  8. object JsonParsing

    Since

    10 Aug 2017

  9. object PrettyJson
  10. object syntax extends JsonSyntax

    This file exists for two reasons: 1) - didn't want to have the library depend too much on package objects 2) - out of the blue we started getting the following compiler error in client code

    This file exists for two reasons: 1) - didn't want to have the library depend too much on package objects 2) - out of the blue we started getting the following compiler error in client code

    Error:(20, 11) package cats contains object and package with same name: implicits
     one of them needs to be removed from classpath
     c.as[String].right.map(FailureID.apply)

    Therefore "package-like" imports are modeled as much as possible as static imports of the properties in a simple object

    Since

    19 Oct 2017

Inherited from AnyRef

Inherited from Any

Ungrouped