<!-- Generated by scripts/gen-cordis-catalog.ts — do not edit by hand.
     Run `pnpm run gen-cordis-catalog` to regenerate. -->

# 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.

[Source](../../../vendor/cordis/src/service.ts#L11)

### service.name

```ts cordis-catalog
/** The service name this instance is registered under. */
public name!: string
```

The service name this instance is registered under.

[Source](../../../vendor/cordis/src/service.ts#L30)

## Static members

### Service.init

```ts cordis-catalog
/** Symbol key of an instance method run after construction (class plugins). */
static readonly init: unique symbol
```

Symbol key of an instance method run after construction (class plugins).

[Source](../../../vendor/cordis/src/service.ts#L13)

### Service.check

```ts cordis-catalog
/** Symbol key of the availability predicate passed to `ctx.provide()`. */
static readonly check: unique symbol
```

Symbol key of the availability predicate passed to `ctx.provide()`.

[Source](../../../vendor/cordis/src/service.ts#L15)

### Service.config

```ts cordis-catalog
/** Symbol key of the phantom intercept-config type parameter. */
static readonly config: unique symbol
```

Symbol key of the phantom intercept-config type parameter.

[Source](../../../vendor/cordis/src/service.ts#L17)

### Service.invoke

```ts cordis-catalog
/** Symbol key of the call body making a service callable (e.g. `ctx.logger()`). */
static readonly invoke: unique symbol
```

Symbol key of the call body making a service callable (e.g. `ctx.logger()`).

[Source](../../../vendor/cordis/src/service.ts#L19)

### Service.extend

```ts cordis-catalog
/** Symbol key of the helper deriving an extended service instance. */
static readonly extend: unique symbol
```

Symbol key of the helper deriving an extended service instance.

[Source](../../../vendor/cordis/src/service.ts#L21)

### Service.tracker

```ts cordis-catalog
/** Symbol key of the tracker metadata used for context tracing. */
static readonly tracker: unique symbol
```

Symbol key of the tracker metadata used for context tracing.

[Source](../../../vendor/cordis/src/service.ts#L23)

### Service.resolveConfig

```ts cordis-catalog
/** Symbol key of the intercept-config resolution helper below. */
static readonly resolveConfig: unique symbol
```

Symbol key of the intercept-config resolution helper below.

[Source](../../../vendor/cordis/src/service.ts#L25)
