endpoints4s
package endpoints4s
- Grouped
- Alphabetic
- By Inheritance
- endpoints4s
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Package Members
- package algebra
Algebra interfaces
- package circe
Interpreters producing Circe codecs
- package fetch
- package generic
Enriches algebras with operations performing generic derivation
- package http4s
Interpreters producing http4s clients and servers
- package openapi
Interpreters producing an OpenAPI model of endpoints
- package pekkohttp
Interpreters producing Pekko-HTTP servers and clients
- package playjson
Interpreters producing Play-JSON codecs
- package sttp
Client interpreter using Sttp
- package ujson
Interpreters producing JSON codecs using ujson
Type Members
- trait Codec[E, D] extends Decoder[E, D] with Encoder[D, E]
A way to encode and decode values
A way to encode and decode values
- E
Type of encoded values
- D
Type of decoded values
- trait Decoder[-From, +To] extends AnyRef
A way to decode a
From
value into aTo
value. - trait Encoder[-From, +To] extends AnyRef
A way to encode a
From
value into aTo
value - case class Invalid(errors: Seq[String]) extends Validated[Nothing] with Product with Serializable
A list of validation errors
- trait InvariantFunctor[F[_]] extends AnyRef
Defines ways to transform a given type constructor F
- trait InvariantFunctorSyntax extends AnyRef
Provides extensions methods for values of type InvariantFunctor
- trait MultipleOf[A] extends AnyRef
Type class that checks whether something is a multiple of another numeric value.
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.
- final class NumericConstraints[A] extends Serializable
Possible restrictions on the numeric value used.
Possible restrictions on the numeric value used. Needs an instance for
Ordering
to check whether values are valid w.r.t. to the properties. - trait PartialInvariantFunctor[F[_]] extends InvariantFunctor[F]
Given a type constructor
F
, a partial functionA => Validated[B]
and a total functionB => A
, turns anF[A]
into anF[B]
.Given a type constructor
F
, a partial functionA => Validated[B]
and a total functionB => A
, turns anF[A]
into anF[B]
.A partial invariant functor is an invariant functor whose covariant transformation function is total (ie,
A => Valid[B]
). - trait PartialInvariantFunctorSyntax extends InvariantFunctorSyntax
Provides extension methods for values of type PartialInvariantFunctor
- trait Semigroupal[F[_]] extends AnyRef
Ability for a type constructor
F
to combine together two values of typeF[A]
andF[B]
into a value of typeF[(A, B)]
- trait SemigroupalSyntax extends AnyRef
Provides extension methods for values of type Semigroupal
- trait Tupler[A, B] extends AnyRef
Defines a strategy for tupling
A
andB
values, according to typesA
andB
.Defines a strategy for tupling
A
andB
values, according to typesA
andB
.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
- trait Tupler1 extends AnyRef
- trait Tupler2 extends Tupler1
- trait Tupler3 extends Tupler2
- trait Tupler4 extends TuplerAppend
- trait Tupler5 extends Tupler4
- trait TuplerAppend extends Tupler3
Generated trait that provides Tupler instances for appending to tuples from 3 to 21 elements
- case class Valid[+A](value: A) extends Validated[A] with Product with Serializable
A valid value of type
A
- sealed trait Validated[+A] extends AnyRef
A validated value of type
A
can either beValid
orInvalid
A validated value of type
A
can either beValid
orInvalid
- A
Type of the validated value
Value Members
- object Codec
- object Decoder
- object Encoder
- object Invalid extends Serializable
- object MultipleOf
- object NumericConstraints extends Serializable
- object Tupler extends Tupler5
- object Validated