API reference / @chanx-js/server / core / Topic
Abstract Class: Topic<User>
Defined in: packages/server/src/classes.ts:281
Base class for topics written as classes: set static pattern; the class name names its layer group. One instance serves one subscription.
Type Parameters
| Type Parameter | Default type |
|---|---|
User | unknown |
Constructors
Constructor
new Topic<User>(subscription): Topic<User>;Defined in: packages/server/src/classes.ts:291
Parameters
| Parameter | Type |
|---|---|
subscription | Subscription<User> |
Returns
Topic<User>
Properties
subscription
protected readonly subscription: Subscription<User>;Defined in: packages/server/src/classes.ts:291
description?
static optional description?: string;Defined in: packages/server/src/classes.ts:285
The AsyncAPI channel's description.
layer?
static optional layer?: string;Defined in: packages/server/src/classes.ts:287
The channel layer to publish on. Defaults to default.
passthrough?
static optional passthrough?: readonly AnyMessageDefinition[];Defined in: packages/server/src/classes.ts:289
Events forwarded to the client unchanged.
pattern
static pattern: string;Defined in: packages/server/src/classes.ts:283
The topic pattern, such as room:{room_name}.
Accessors
conn
Get Signature
get conn(): Connection<string, User>;Defined in: packages/server/src/classes.ts:293
Returns
Connection<string, User>
params
Get Signature
get params(): Readonly<Record<string, string>>;Defined in: packages/server/src/classes.ts:297
Returns
Readonly<Record<string, string>>
topic
Get Signature
get topic(): string;Defined in: packages/server/src/classes.ts:301
Returns
string
Methods
authorize()
authorize(): boolean | Promise<boolean>;Defined in: packages/server/src/classes.ts:316
Decide whether this connection may subscribe.
Returns
boolean | Promise<boolean>
onEventError()?
optional onEventError(
error,
event,
ctx
): void | Promise<void>;Defined in: packages/server/src/classes.ts:338
Override to change how a failing event handler is reported.
Parameters
| Parameter | Type |
|---|---|
error | unknown |
event | Message |
ctx | TopicClassContext |
Returns
void | Promise<void>
onHandlerError()?
optional onHandlerError(
error,
message,
ctx
): void | Promise<void>;Defined in: packages/server/src/classes.ts:332
Override to change how a failing message handler is reported.
Parameters
| Parameter | Type |
|---|---|
error | unknown |
message | Message |
ctx | TopicClassContext |
Returns
void | Promise<void>
onSubscribe()
onSubscribe(): void | Promise<void>;Defined in: packages/server/src/classes.ts:321
Once subscribed; what it sends is state, not a reply.
Returns
void | Promise<void>
onUnsubscribe()
onUnsubscribe(): void | Promise<void>;Defined in: packages/server/src/classes.ts:324
Before leaving, on unsubscribe and on disconnect.
Returns
void | Promise<void>
onValidationError()?
optional onValidationError(issues, ctx): void | Promise<void>;Defined in: packages/server/src/classes.ts:327
Override to change how a frame that failed validation is answered.
Parameters
| Parameter | Type |
|---|---|
issues | ValidationIssue[] |
ctx | TopicClassContext |
Returns
void | Promise<void>
publish()
publish(event, options?): Promise<void>;Defined in: packages/server/src/classes.ts:311
Publish an event to everyone subscribed to this topic, across processes.
Parameters
| Parameter | Type |
|---|---|
event | Message |
options? | PublishOptions |
Returns
Promise<void>
push()
push(message): Promise<void>;Defined in: packages/server/src/classes.ts:306
Send on this topic as a server push, without a ref.
Parameters
| Parameter | Type |
|---|---|
message | Message |
Returns
Promise<void>