Service
The base class for context services. A subclass loaded as a plugin registers itself as ctx.<name>.
Base class for services that expose a named API on ctx.
Subclasses call super(ctx, name) from their constructor. The service is registered immediately and is automatically removed with the owning fiber.
service.name
/** The service name this instance is registered under. */
public name!: stringThe service name this instance is registered under.
Static members
Service.init
/** Symbol key of an instance method run after construction (class plugins). */
static readonly init: unique symbolSymbol key of an instance method run after construction (class plugins).
Service.check
/** Symbol key of the availability predicate passed to `ctx.provide()`. */
static readonly check: unique symbolSymbol key of the availability predicate passed to ctx.provide().
Service.config
/** Symbol key of the phantom intercept-config type parameter. */
static readonly config: unique symbolSymbol key of the phantom intercept-config type parameter.
Service.invoke
/** Symbol key of the call body making a service callable (e.g. `ctx.logger()`). */
static readonly invoke: unique symbolSymbol key of the call body making a service callable (e.g. ctx.logger()).
Service.extend
/** Symbol key of the helper deriving an extended service instance. */
static readonly extend: unique symbolSymbol key of the helper deriving an extended service instance.
Service.tracker
/** Symbol key of the tracker metadata used for context tracing. */
static readonly tracker: unique symbolSymbol key of the tracker metadata used for context tracing.
Service.resolveConfig
/** Symbol key of the intercept-config resolution helper below. */
static readonly resolveConfig: unique symbolSymbol key of the intercept-config resolution helper below.