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
Fromvalue into aTovalue. - trait Encoder[-From, +To] extends AnyRef
A way to encode a
Fromvalue into aTovalue - 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
Orderingto 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
Fto 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
AandBvalues, according to typesAandB.Defines a strategy for tupling
AandBvalues, according to typesAandB.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
Acan either beValidorInvalidA validated value of type
Acan either beValidorInvalid- 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