Skip to content

ShardingRegistrationEvent

The ShardingRegistrationEvent module models the live notifications emitted by Sharding when the local runner registers an entity handler or singleton. Consumers can use these events to wait for registrations during startup, inspect which capabilities a runner made available, or assert registration behavior in tests.

6 exports Added in v4.0.0 Source

Constructors

Creates an event for an entity registered by the local runner.

Signature

declare const EntityRegistered: ConstructorFrom<EntityRegistered, "_tag">;

Creates an event for a singleton registered by the local runner.

Signature

declare const SingletonRegistered: ConstructorFrom<SingletonRegistered, "_tag">;

Models

EntityRegistered interface

Added in v4.0.0 Source

Represents an event that occurs when a new entity is registered with a runner.

Signature

interface EntityRegistered {
  readonly _tag: "EntityRegistered";
  readonly entity: Entity<any, any>;
}

Represents events that can occur when a runner registers entities or singletons.

Signature

type ShardingRegistrationEvent = EntityRegistered | SingletonRegistered;

SingletonRegistered interface

Added in v4.0.0 Source

Represents an event that occurs when a new singleton is registered with a runner.

Signature

interface SingletonRegistered {
  readonly _tag: "SingletonRegistered";
  readonly address: SingletonAddress;
}

Pattern Matching

match

Added in v4.0.0 Source

Pattern matches on a sharding registration event and dispatches to the matching variant handler.

Signature

declare const match: {
  <
    Cases extends {
      EntityRegistered: (args: EntityRegistered) => any;
      SingletonRegistered: (args: SingletonRegistered) => any;
    },
  >(
    cases: Cases,
  ): (
    value: ShardingRegistrationEvent,
  ) => Unify<ReturnType<Cases["EntityRegistered" | "SingletonRegistered"]>>;
  <
    Cases extends {
      EntityRegistered: (args: EntityRegistered) => any;
      SingletonRegistered: (args: SingletonRegistered) => any;
    },
  >(
    value: ShardingRegistrationEvent,
    cases: Cases,
  ): Unify<ReturnType<Cases["EntityRegistered" | "SingletonRegistered"]>>;
};