smithy4s.codecs

package smithy4s.codecs

Members list

Type members

Classlikes

object BlobDecoder

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object BlobEncoder

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
trait Decoder[F[_], -In, A]

An abstraction that codifies the action of reading data from some input.

An abstraction that codifies the action of reading data from some input.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Self type
Decoder[F, In, A]
object Decoder

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Decoder.type
trait Encoder[+Out, -A]

An abstraction that codifies the notion of transforming a piece of data into some output.

An abstraction that codifies the notion of transforming a piece of data into some output.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Self type
Encoder[Out, A]
object Encoder

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Encoder.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class PayloadError(path: PayloadPath, expected: String, message: String) extends Throwable, NoStackTrace

Attributes

Companion
object
Supertypes
trait Product
trait Equals
trait NoStackTrace
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
object PayloadError

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class PayloadPath(segments: List[Segment])

Attributes

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

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
trait Writer[Message, -A]

An abstraction that codifies the notion of modifying a message with some additional information.

An abstraction that codifies the notion of modifying a message with some additional information.

This has two input channels:

  • one for the message that is being modified (Message)
  • one for the actual data (A)

This is particularly useful for http requests/responses, where different subsets of data have a different impact on different locations of the http message : some fields may impact headers, some fields may impact the http body, other things that are driven from static information (smithy traits) may lead to a transformation of the message.

Having the ability to decompose the notion of encoding a piece of data into different writers that can be composed together is powerful and helps centralising some complexity in third-party agnostic code.

Type parameters

A:

the type of data that is being written into the output channel

Message:

some data being modified with the added information contained by A.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Self type
Writer[Message, A]
object Writer

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Writer.type

Types

type BlobDecoder[A] = Decoder[[_] =>> Either[PayloadError, _$1], Blob, A]
type BlobEncoder[A] = Encoder[Blob, A]
type PayloadDecoder[A] = Decoder[[_] =>> Either[PayloadError, _$3], Blob, A]
type PayloadEncoder[A] = Encoder[Blob, A]