sealed
A transput is EITHER an input, or an output (see: https://ell.stackexchange.com/questions/21405/hypernym-for-input-and-output). The transput traits contain common functionality, shared by all inputs and outputs.
Note that implementations of EndpointIO
can be used BOTH as inputs and outputs.
The hierarchy is as follows:
/---> EndpointInput
>---\ EndpointTransput
>--- ---> EndpointIO
---> EndpointOutput
>---/
- Companion
- object
trait EndpointInput[T]
trait EndpointIO[T]
trait Single[I]
trait Basic[I]
class Empty[T]
class FixedHeader[T]
class Header[T]
class Headers[T]
trait Single[T]
trait Basic[T]
class Cookie[T]
class ExtractFromRequest[T]
class FixedMethod[T]
class FixedPath[T]
class PathCapture[T]
class PathsCapture[T]
class Query[T]
class QueryParams[T]
trait EndpointOutput[T]
trait Single[T]
trait Basic[T]
class FixedStatusCode[T]
class StatusCode[T]
class Void[T]
trait Basic[T]
trait Pair[T]