package encoding
- Alphabetic
- By Inheritance
- encoding
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- class AliasEncoderCompanion[Out <: ResourceLike] extends AnyRef
- final case class BareLink(href: String) extends Link with Product with Serializable
- sealed trait Data extends AnyRef
- case class DeferredEncoding(identifier: ResourceIdentifier, includeSpec: Always, fieldsSpec: FieldsSpec) extends Product with Serializable
Represents an object that needs to be encoded and included in the final document based on the inclusion rules.
- final case class Document(disposition: Disposition, jsonapi: Option[Jsonapi] = None, links: Option[Map[String, Link]] = None) extends HasMeta[Document] with Product with Serializable
- case class EncodeContext[F[_]](loader: Loader[F], include: List[String] = Nil, fields: Map[String, Set[String]] = Map.empty, included: Map[String, Map[String, List[ResourceObject]]] = Map.empty)(implicit evidence$1: Monad[F]) extends Product with Serializable
- trait EncodeError extends AnyRef
- type EncodeResult[+A] = Validated[NonEmptyChain[EncodeError], A]
- final case class Error(id: Option[String] = None, links: Option[Map[String, Link]] = None, status: Option[String] = None, code: Option[String] = None, title: Option[String] = None, detail: Option[String] = None, source: Option[ErrorSource] = None, meta: Option[Map[String, JAny]] = None) extends HasMeta[Error] with Product with Serializable
- final case class ErrorSource(pointer: Option[String] = None, parameter: Option[String] = None) extends Product with Serializable
- case class FallibleFieldsSpec(fields: Map[String, Set[String]], default: Boolean = true) extends FieldsSpec with Product with Serializable
Used to track sparse fieldsets requested by the caller.
Used to track sparse fieldsets requested by the caller. See https://jsonapi.org/format/#fetching-sparse-fieldsets
Note that by specifying field names, you make it possible for encoding to fail due to an unrecognized field name. Contrast this with the InfallibleFieldsSpecs.
- default
should a field be included if its resourceType is not specified in the map?
- sealed trait FieldsSpec extends AnyRef
- sealed trait HasMeta[A] extends AnyRef
- case class IncludePathTooDeep(path: String, limit: Int) extends EncodeError with Product with Serializable
- sealed trait IncludeSpec extends AnyRef
Used to track the inclusion of related resources.
Used to track the inclusion of related resources. This represents a node in the tree containing all the include paths.
https://jsonapi.org/format/#fetching-includes
- case class IncludeTooLong(limit: Int) extends EncodeError with Product with Serializable
- case class Inclusions(objectMap: Map[String, Map[String, List[ResourceObject]]]) extends Product with Serializable
- sealed trait InfallibleFieldsSpec extends FieldsSpec
Using this to encode can never cause an EncodeError.
- sealed trait InfallibleIncludeSpec extends IncludeSpec
This can't cause a failure during encoding.
- case class InvalidFieldName(resourceType: String, field: String) extends EncodeError with Product with Serializable
- case class InvalidIncludePath(path: String) extends EncodeError with Product with Serializable
- final case class Jsonapi(version: Option[String] = None, meta: Option[Map[String, JAny]] = None) extends Product with Serializable
- sealed trait Link extends AnyRef
- type Loader[F[_]] = (ResourceIdentifier) => F[Option[ResourceObject]]
- sealed trait NullData extends PrimaryData with RelationshipData
- sealed trait PrimaryData extends Data
- final case class Relationship(data: Option[RelationshipData] = None, meta: Option[Map[String, JAny]] = None, links: Option[Map[String, Link]] = None) extends HasMeta[Relationship] with Product with Serializable
- sealed trait RelationshipData extends Data
- trait ResourceEncoder[In, +Out <: ResourceLike] extends Encoder[In, Out]
- final case class ResourceIdentifier(type: String, id: String, meta: Option[Map[String, JAny]] = None) extends ResourceIdentifierLike with HasMeta[ResourceIdentifier] with Product with Serializable
- case class ResourceIdentifierData(data: ResourceIdentifier) extends PrimaryData with RelationshipData with Product with Serializable
- type ResourceIdentifierEncoder[A] = ResourceEncoder[A, ResourceIdentifier]
- sealed trait ResourceIdentifierLike extends ResourceLike
- case class ResourceIdentifiersData(data: List[ResourceIdentifier]) extends PrimaryData with RelationshipData with Product with Serializable
- sealed trait ResourceLike extends AnyRef
- final case class ResourceObject(type: String, id: String, attributes: Option[Map[String, JAny]] = None, relationships: Option[Map[String, Relationship]] = None, meta: Option[Map[String, JAny]] = None, links: Option[Map[String, Link]] = None) extends ResourceObjectLike with ResourceIdentifierLike with HasMeta[ResourceObject] with Product with Serializable
- case class ResourceObjectData(data: ResourceObject) extends PrimaryData with Product with Serializable
- type ResourceObjectEncoder[A] = ResourceEncoder[A, ResourceObject]
- trait ResourceObjectLike extends ResourceLike
- final case class ResourceObjectOptionalId(type: String, id: Option[String] = None, attributes: Option[Map[String, JAny]] = None, relationships: Option[Map[String, Relationship]] = None, meta: Option[Map[String, JAny]] = None, links: Option[Map[String, Link]] = None) extends ResourceObjectLike with HasMeta[ResourceObjectOptionalId] with Product with Serializable
- case class ResourceObjectOptionalIdData(data: ResourceObjectOptionalId) extends PrimaryData with Product with Serializable
- type ResourceObjectOptionalIdEncoder[A] = ResourceEncoder[A, ResourceObjectOptionalId]
- case class ResourceObjectsData(data: List[ResourceObject]) extends PrimaryData with Product with Serializable
- final case class RichLink(href: Option[String] = None, meta: Option[Map[String, JAny]] = None) extends Link with HasMeta[RichLink] with Product with Serializable
- case class UnavailableIncludePath(path: String) extends EncodeError with Product with Serializable
Value Members
- object BareLink extends Serializable
- case object Document extends Product with Serializable
- object EncodeResult
- object Error extends Serializable
- object ErrorSource extends Serializable
- object FieldsSpec
- object GraphEncoder
- object IncludeSpec
- object Inclusions extends Serializable
- object Jsonapi extends Serializable
- object Link
- object Loader
- case object NullData extends NullData with Product with Serializable
- object PrimaryData
- object Relationship extends Serializable
- object RelationshipData
- object ResourceEncoder
- object ResourceIdentifier extends Serializable
- object ResourceIdentifierData extends Serializable
- object ResourceIdentifierEncoder extends AliasEncoderCompanion[ResourceIdentifier]
- object ResourceIdentifiersData extends Serializable
- object ResourceObject extends Serializable
- object ResourceObjectData extends Serializable
- object ResourceObjectEncoder extends AliasEncoderCompanion[ResourceObject]
- object ResourceObjectOptionalId extends Serializable
- object ResourceObjectOptionalIdData extends Serializable
- object ResourceObjectOptionalIdEncoder extends AliasEncoderCompanion[ResourceObjectOptionalId]
- object ResourceObjectsData extends Serializable
- object RichLink extends Serializable