TypedPubSub<Engine, Map>
Creates a type-safe wrapper around a PubSub implementation.
This utility ensures that your subscription channels and their payloads are properly typed, helping catch potential errors at compile time.
Param
The PubSub engine instance (e.g., PubSub, RedisPubSub)
Param
Configuration options
Example
// Define your event map
type PubSubMap = {
"user-updated": User;
[c: `user-updated-${string}`]: User;
};
// Create typed PubSub instance
const pubsub = new TypedPubSub<PubSub, PubSubMap>(new PubSub());
// Usage with Redis
const pubsub = new TypedPubSub<RedisPubSub, PubSubMap>(
new RedisPubSub({
publisher: new Redis(options),
subscriber: new Redis(options),
}),
{
prefix: "feature-1:",
},
);
Type Parameters
| Type Parameter |
|---|
|
|
|
|
Constructors
Constructor
new TypedPubSub<
Engine,Map>(pubsub,options?):TypedPubSub<Engine,Map>
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
Returns
TypedPubSub<Engine, Map>
Properties
| Property | Modifier | Type |
|---|---|---|
|
|
| |
|
|
| |
|
|
Methods
asyncIterableIterator()
asyncIterableIterator<
C>(triggers, ...rest):AsyncIterableIterator<Map[C],any,any>
Type Parameters
| Type Parameter |
|---|
|
|
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
... |
|
Returns
AsyncIterableIterator<Map[C], any, any>
mapChannel()
protectedmapChannel<C>(channel):string
Type Parameters
| Type Parameter |
|---|
|
|
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
string
mapTriggers()
protectedmapTriggers<C>(triggers):string|string[]
Type Parameters
| Type Parameter |
|---|
|
|
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
string | string[]
publish()
publish<
C>(channel,message, ...rest):Promise<void>
Type Parameters
| Type Parameter |
|---|
|
|
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
|
... |
|
Returns
Promise<void>
subscribe()
subscribe<
C>(channel,onMessage, ...rest):Promise<number>
Type Parameters
| Type Parameter |
|---|
|
|
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
|
... |
|
Returns
Promise<number>
unsubscribe()
unsubscribe(
subId, ...rest):void
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
... |
|
Returns
void