API reference / @chanx-js/server / core / TopicBuilder
Interface: TopicBuilder<Pattern, User, State, Emits, Events>
Defined in: packages/server/src/topic.ts:118
What topic() returns: chain handlers, then list it in a consumer's topics.
Extends
Type Parameters
| Type Parameter | Default type |
|---|---|
Pattern extends string | - |
User | - |
State | Record<never, never> |
Emits extends Message | never |
Events extends Message | never |
Properties
[TOPIC]
readonly [TOPIC]: TopicDefinition;Defined in: packages/server/src/consumer.ts:194
Inherited from
~events?
readonly optional ~events?: Events;Defined in: packages/server/src/topic.ts:125
Methods
asConsumer()
asConsumer<Path>(path, options?): ConsumerBuilder<Path, Record<never, never>, User, never, Events>;Defined in: packages/server/src/topic.ts:169
Serve this topic alone on a route, where connecting subscribes it from the URL params and frames need no envelope.
Type Parameters
| Type Parameter |
|---|
Path extends string |
Parameters
| Parameter | Type |
|---|---|
path | Path |
options? | Omit<ConsumerOptions<Path, Record<never, never>, User, never>, "name" | "topics"> & object |
Returns
ConsumerBuilder<Path, Record<never, never>, User, never, Events>
event()
Call Signature
event<D>(message, handler): TopicBuilder<Pattern, User, State, Emits, Events | MessageOf<D>>;Defined in: packages/server/src/topic.ts:143
Type Parameters
| Type Parameter |
|---|
D extends AnyMessageDefinition |
Parameters
| Parameter | Type |
|---|---|
message | D |
handler | Handler<MessageOf<D>, TopicContext<Pattern, User, Emits, State>, void | Emits> |
Returns
TopicBuilder<Pattern, User, State, Emits, Events | MessageOf<D>>
Call Signature
event<D, O>(
message,
options,
handler
): TopicBuilder<Pattern, User, State, Emits, Events | MessageOf<D>>;Defined in: packages/server/src/topic.ts:151
Type Parameters
| Type Parameter | Default type |
|---|---|
D extends AnyMessageDefinition | - |
O extends Outputs | never |
Parameters
| Parameter | Type |
|---|---|
message | D |
options | HandlerOptions<O> |
handler | Handler<MessageOf<D>, TopicContext<Pattern, User, Emits | OutputMessages<O>, State>, Returned<O>> |
Returns
TopicBuilder<Pattern, User, State, Emits, Events | MessageOf<D>>
on()
Call Signature
on<D>(message, handler): TopicBuilder<Pattern, User, State, Emits, Events>;Defined in: packages/server/src/topic.ts:126
Type Parameters
| Type Parameter |
|---|
D extends AnyMessageDefinition |
Parameters
| Parameter | Type |
|---|---|
message | D |
handler | Handler<MessageOf<D>, TopicContext<Pattern, User, Emits, State>, void | Emits> |
Returns
TopicBuilder<Pattern, User, State, Emits, Events>
Call Signature
on<D, O>(
message,
options,
handler
): TopicBuilder<Pattern, User, State, Emits, Events>;Defined in: packages/server/src/topic.ts:134
Type Parameters
| Type Parameter | Default type |
|---|---|
D extends AnyMessageDefinition | - |
O extends Outputs | never |
Parameters
| Parameter | Type |
|---|---|
message | D |
options | HandlerOptions<O> |
handler | Handler<MessageOf<D>, TopicContext<Pattern, User, Emits | OutputMessages<O>, State>, Returned<O>> |
Returns
TopicBuilder<Pattern, User, State, Emits, Events>
passthrough()
passthrough<D>(...messages): TopicBuilder<Pattern, User, State, Emits, Events | MessageOf<D[number]>>;Defined in: packages/server/src/topic.ts:160
Type Parameters
| Type Parameter |
|---|
D extends readonly AnyMessageDefinition[] |
Parameters
| Parameter | Type |
|---|---|
...messages | D |
Returns
TopicBuilder<Pattern, User, State, Emits, Events | MessageOf<D[number]>>
with()
with(params): string;Defined in: packages/server/src/topic.ts:164
The topic string for these params: roomTopic.with({ room_name: 'lobby' }).
Parameters
| Parameter | Type |
|---|---|
params | PathParams<Pattern> |
Returns
string