Emitter
Represents a socket message emitter bound to a specific topic. Use it to send typed payloads over WebSocket or Server-Sent Events connections via the socket adapter.
Import
import { Emitter } from "@hyper-fetch/sockets"
Source
Package
Parameters
class Emitter<Payload, Topic, Socket, HasPayload, HasParams> {
constructor(socket: Socket, emitterOptions: EmitterOptionsType<Topic, ExtractSocketAdapterType<Socket>>) {};
topic: Topic;
socket: Socket;
payload: undefined | Payload;
params: ParamsType;
options: undefined | ExtractAdapterEmitterOptionsType<ExtractSocketAdapterType<Socket>>;
emitterOptions: EmitterOptionsType<Topic, ExtractSocketAdapterType<Socket>>;
emit() => EmitType<Emitter<Payload, Topic, Socket, HasPayload, HasParams>>;
clone<NewPayload, NewHasPayload, NewHasParams>(config?: EmitterCloneOptionsType<NewPayload, ParamsType, Topic, Socket>) => Emitter<NewPayload, Topic, Socket, NewHasPayload, NewHasParams>;
setOptions(options: undefined | ExtractAdapterEmitterOptionsType<ExtractSocketAdapterType<Socket>>) => Emitter<Payload, Topic, Socket, HasPayload, HasParams>;
setParams(params: NonNullable<ExtractUrlParams<Topic>>) => Emitter<Payload, Topic, Socket, HasPayload, true>;
setPayload<D>(payload: D) => Emitter<D, Topic, Socket, D extends EmptyTypes ? false : true, HasParams>;
setPayloadMapper<DataMapper>(payloadMapper: DataMapper) => Emitter<Payload, Topic, Socket, HasPayload, HasParams>;
}
Parameters
| Name | Type | Description |
|---|---|---|
| socket | | |
| emitterOptions | |
Properties
Methods
clone()
Create a new emitter instance with optional configuration overrides.
Source
Preview
clone<NewPayload, NewHasPayload, NewHasParams>(config: EmitterCloneOptionsType<NewPayload, ParamsType, Topic, Socket>)
Parameters
Parameters
| Name | Type | Description |
|---|---|---|
| config | |
Returns
Emitter<NewPayload, Topic, Socket, NewHasPayload, NewHasParams>
setOptions()
Set adapter-specific emit options (e.g., acknowledgment, timeout).
Source
Preview
setOptions(options: undefined | ExtractAdapterEmitterOptionsType<ExtractSocketAdapterType<Socket>>)
Parameters
Parameters
| Name | Type | Description |
|---|---|---|
| options | |
Returns
Emitter<Payload, Topic, Socket, HasPayload, HasParams>
setParams()
Set the URL path parameters for the topic (e.g.,
:channelId
).
Source
Preview
setParams(params: NonNullable<ExtractUrlParams<Topic>>)
Parameters
Parameters
| Name | Type | Description |
|---|---|---|
| params | |
Returns
Emitter<Payload, Topic, Socket, HasPayload, true>
setPayload()
Set the message payload to be emitted.
Source
Preview
setPayload<D>(payload: D)
Parameters
Parameters
| Name | Type | Description |
|---|---|---|
| payload | |
Returns
Emitter<D, Topic, Socket, D extends EmptyTypes ? false : true, HasParams>
setPayloadMapper()
Set a mapper function that transforms the payload before it is sent.
Source
Preview
setPayloadMapper<DataMapper>(payloadMapper: DataMapper)
Parameters
Parameters
| Name | Type | Description |
|---|---|---|
| payloadMapper | |
Returns
Emitter<Payload, Topic, Socket, HasPayload, HasParams>
