A two-way Redis-based notification client
import { NotificationPublisher , NotificationSubscriber } from './src/index' ;
( async ( ) => {
const publisher = new NotificationPublisher ( {
namespace : 'test-ns' ,
prefix : 'pre' ,
redisConfig : { }
} ) ;
const subscriber = new NotificationSubscriber ( {
handler : console . log ,
loggerFactory : { create : ( ) => console } as any ,
prefix : 'pre' ,
redisConfig : { }
} ) ;
await subscriber . subscribe ( ) ;
setInterval ( async ( ) => {
await publisher . publish ( 'event' , 'some message' ) ;
} , 1000 ) ;
} ) ( ) ;
constructor(params: Object)
Name
Type
Description
params.namespace
String
The namespace that identifies this client
params.prefix
String
The prefix the server is configured with
params.redisConfig
Object
A RedisOptions obj
publish(event, message[, rooms, user])
Name
Type
Description
event
String
The event name to emit
message
Any
The message to send - could be any JSON-serializable data
rooms
Array
An optional list of rooms names to send the message to
user
Number or String
An optional user or handle ID to send the message to
constructor(params: Object)
Name
Type
Description
params.prefix
String
The prefix the server is configured with
params.redisConfig
Object
A RedisOptions obj
params.handler
Function
Callback to be invoked when a message is received