made.Done
See theDone companion object
Mirror for operation-centric types, describing the methods and fields of a type T as a tuple of DoneOperations.
While Made models a type by its constructor parameters or subtypes, Done models it by its members: each val, def, or field becomes an operation whose input parameters and output type are captured at the type level. This makes Done suited to describing services, RPC interfaces, enums with behavior, and other types where the API surface (rather than the data shape) is what matters.
Attributes
- See also
- Example
-
import made.* trait Service: def ping(message: String): Boolean def version: Int val done: Done.Of[Service] = Done.derived[Service] // done type members: // type Type = Service // type Label = "Service" // type Metadata = EmptyTuple // type Operations = DoneOperation { ... "ping" ... } *: DoneOperation { ... "version" ... } *: EmptyTuple - Companion
- object
- Graph
-
- Supertypes
Members list
In this article