Done

made.Done
See theDone companion object
sealed trait Done

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
class Object
trait Matchable
class Any

Members list

Type members

Types

type Label <: String

The simple name of T (or the override provided by @name).

The simple name of T (or the override provided by @name).

Attributes

type Metadata <: Tuple

Annotation metadata on T, represented as a Tuple of Meta @ann entries. When no MetaAnnotation annotations are present, Metadata = EmptyTuple. When annotations are present, Metadata becomes (Meta @Ann1, Meta @Ann2, ...).

Annotation metadata on T, represented as a Tuple of Meta @ann entries. When no MetaAnnotation annotations are present, Metadata = EmptyTuple. When annotations are present, Metadata becomes (Meta @Ann1, Meta @Ann2, ...).

Attributes

type Operations <: Tuple

Tuple of DoneOperation subtypes, one per field or method of T.

Tuple of DoneOperation subtypes, one per field or method of T.

Attributes

type Type

The mirrored type T.

The mirrored type T.

Attributes

Value members

Abstract methods

Givens

Givens

Path-dependent evidence that Metadata is a tuple of Meta entries.

Path-dependent evidence that Metadata is a tuple of Meta entries.

Attributes

Path-dependent evidence that Operations is a tuple of DoneOperations.

Path-dependent evidence that Operations is a tuple of DoneOperations.

Attributes