endpoints4s

package endpoints4s

Members list

Packages

Type members

Classlikes

trait Codec[E, D] extends Decoder[E, D], Encoder[D, E]

A way to encode and decode values

A way to encode and decode values

Type parameters

D

Type of decoded values

E

Type of encoded values

Attributes

Companion
object
Supertypes
trait Encoder[D, E]
trait Decoder[E, D]
class Object
trait Matchable
class Any
object Codec

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Codec.type
trait Decoder[-From, +To]

A way to decode a From value into a To value.

A way to decode a From value into a To value.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Codec[E, D]
object Decoder

Attributes

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

A way to encode a From value into a To value

A way to encode a From value into a To value

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Codec[E, D]
object Encoder

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Encoder.type
case class Invalid(errors: Seq[String]) extends Validated[Nothing]

A list of validation errors

A list of validation errors

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Validated[Nothing]
class Object
trait Matchable
class Any
Show all
object Invalid

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Invalid.type
trait InvariantFunctor[F[_]]

Defines ways to transform a given type constructor F

Defines ways to transform a given type constructor F

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Provides extensions methods for values of type InvariantFunctor

Provides extensions methods for values of type InvariantFunctor

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait MultipleOf[A]

Type class that checks whether something is a multiple of another numeric value. Added since the std-lib Numeric does not have a modulo function.

Type class that checks whether something is a multiple of another numeric value. Added since the std-lib Numeric does not have a modulo function.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object MultipleOf

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
MultipleOf.type
final class NumericConstraints[A] extends Serializable

Possible restrictions on the numeric value used. Needs an instance for Ordering to check whether values are valid w.r.t. to the properties.

Possible restrictions on the numeric value used. Needs an instance for Ordering to check whether values are valid w.r.t. to the properties.

Attributes

Companion
object
Supertypes
trait Serializable
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
trait PartialInvariantFunctor[F[_]] extends InvariantFunctor[F]

Given a type constructor F, a partial function A => Validated[B] and a total function B => A, turns an F[A] into an F[B].

Given a type constructor F, a partial function A => Validated[B] and a total function B => A, turns an F[A] into an F[B].

A partial invariant functor is an invariant functor whose covariant transformation function is total (ie, A => Valid[B]).

Attributes

Supertypes
trait InvariantFunctor[F]
class Object
trait Matchable
class Any

Provides extension methods for values of type PartialInvariantFunctor

Provides extension methods for values of type PartialInvariantFunctor

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Tupler[A, B]

Defines a strategy for tupling A and B values, according to types A and B.

Defines a strategy for tupling A and B values, according to types A and B.

The actual implementation avoids nested tuples and eliminates Unit, so that instead of ending with, e.g., the following type:

 ((Unit, Int), (((Unit, Unit), String)))

We just get:

 (Int, String)

The following rules are implemented (by increasing priority):

  • A, B -> (A, B)
  • A, (B, C) -> (A, B, C)
  • (A, B), C -> (A, B, C)
  • A, (B, C, D) -> (A, B, C, D)
  • (A, B), (C, D) -> (A, B, C, D)
  • A, (B, C, D, E) -> (A, B, C, D, E)
  • (A, B), (C, D, E) -> (A, B, C, D, E)
  • (A, B, C), D -> (A, B, C, D)
  • (A, B, C, D), E -> (A, B, C, D, E)
  • (A, B, C, D, E), F -> (A, B, C, D, E, F)
  • A, Unit -> A
  • Unit, A -> A

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Tupler extends Tupler5

Attributes

Companion
trait
Supertypes
trait Tupler5
trait Tupler4
trait TuplerAppend
trait Tupler3
trait Tupler2
trait Tupler1
class Object
trait Matchable
class Any
Show all
Self type
Tupler.type
trait Tupler1

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Tupler2
trait Tupler3
trait TuplerAppend
trait Tupler4
trait Tupler5
object Tupler.type
Show all
trait Tupler2 extends Tupler1

Attributes

Supertypes
trait Tupler1
class Object
trait Matchable
class Any
Known subtypes
trait Tupler3
trait TuplerAppend
trait Tupler4
trait Tupler5
object Tupler.type
trait Tupler3 extends Tupler2

Attributes

Supertypes
trait Tupler2
trait Tupler1
class Object
trait Matchable
class Any
Known subtypes
trait TuplerAppend
trait Tupler4
trait Tupler5
object Tupler.type
trait Tupler4 extends TuplerAppend

Attributes

Supertypes
trait TuplerAppend
trait Tupler3
trait Tupler2
trait Tupler1
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Tupler5
object Tupler.type
trait Tupler5 extends Tupler4

Attributes

Supertypes
trait Tupler4
trait TuplerAppend
trait Tupler3
trait Tupler2
trait Tupler1
class Object
trait Matchable
class Any
Show all
Known subtypes
object Tupler.type
trait TuplerAppend extends Tupler3

Generated trait that provides Tupler instances for appending to tuples from 3 to 21 elements

Generated trait that provides Tupler instances for appending to tuples from 3 to 21 elements

Attributes

Supertypes
trait Tupler3
trait Tupler2
trait Tupler1
class Object
trait Matchable
class Any
Show all
Known subtypes
trait Tupler4
trait Tupler5
object Tupler.type
case class Valid[+A](value: A) extends Validated[A]

A valid value of type A

A valid value of type A

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Validated[A]
class Object
trait Matchable
class Any
Show all
sealed trait Validated[+A]

A validated value of type A can either be Valid or Invalid

A validated value of type A can either be Valid or Invalid

Type parameters

A

Type of the validated value

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Invalid
class Valid[A]
object Validated

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Validated.type