MessageEncoder

io.github.pidoveproject.showdown.protocol.MessageEncoder
See theMessageEncoder companion trait

Attributes

Companion
trait
Source
MessageEncoder.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

inline def derived[A](using m: Of[A]): MessageEncoder[A]

Derive an encoder from a case class or an enum.

Derive an encoder from a case class or an enum.

Type parameters

A

the result type

Value parameters

m

the mirror representing the result type

Attributes

Returns

a encoder automatically generated for the type A

Source
MessageEncoder.scala
def fail(error: ProtocolError): MessageEncoder[Any]

Create an always-failing encoder.

Create an always-failing encoder.

Value parameters

error

the error of the encoder

Attributes

Returns

a encoder that always fail with the passed error

Source
MessageEncoder.scala
def succeed[A](value: String): MessageEncoder[A]

Create an always-succeeding encoder.

Create an always-succeeding encoder.

Type parameters

A

the input type

Value parameters

value

the result of the encoder

Attributes

Returns

a encoder that always succeeds with the passed value

Source
MessageEncoder.scala

Givens

Givens

given boolean: MessageEncoder[Boolean]

Attributes

Source
MessageEncoder.scala
inline given derivedUnion[A](using m: UnionTypeMirror[A]): MessageEncoder[A]

Derive an encoder from an union type.

Derive an encoder from an union type.

Type parameters

A

the result type (union)

Value parameters

m

the mirror representing the union type

Attributes

Returns

an encoder automatically generated for the type A

Source
MessageEncoder.scala
given double: MessageEncoder[Double]

Attributes

Source
MessageEncoder.scala
given emptyTuple: MessageEncoder[EmptyTuple]

Attributes

Source
MessageEncoder.scala
given int: MessageEncoder[Int]

Attributes

Source
MessageEncoder.scala
inline given ironType[A, C](using encoder: MessageEncoder[A]): MessageEncoder[IronType[A, C]]

Attributes

Source
MessageEncoder.scala
given list[A](using encoder: MessageEncoder[A]): MessageEncoder[List[A]]

Attributes

Source
MessageEncoder.scala
given long: MessageEncoder[Long]

Attributes

Source
MessageEncoder.scala
inline given newtype[A](using mirror: Mirror[A]): MessageEncoder[A]

Attributes

Source
MessageEncoder.scala
given nonEmptyTuple[A, T <: Tuple](using headEncoder: MessageEncoder[A], tailEncoder: MessageEncoder[T]): MessageEncoder[A *: T]

Attributes

Source
MessageEncoder.scala
given option[A](using encoder: MessageEncoder[A]): MessageEncoder[Option[A]]

Attributes

Source
MessageEncoder.scala
given string: MessageEncoder[String]

Attributes

Source
MessageEncoder.scala