Skip to content

@saflib/notify


Class: InProcessChangeEmitter ​

Single-process ChangeEmitter with per-org subscribers and a small ring buffer for Last-Event-ID reconnect replay.

Implements ​

Constructors ​

Constructor ​

new InProcessChangeEmitter(options): InProcessChangeEmitter

Parameters ​

ParameterType
optionsInProcessChangeEmitterOptions

Returns ​

InProcessChangeEmitter

Methods ​

getEventsAfter() ​

getEventsAfter(orgId, lastEventId): ChangeEventWithId[]

Events strictly after lastEventId still held in the per-org ring buffer. Empty when the id is unknown, expired, or at the tip.

Parameters ​

ParameterType
orgIdstring
lastEventIdstring

Returns ​

ChangeEventWithId[]

Implementation of ​

ChangeEmitter.getEventsAfter


publish() ​

publish(event): void

Publish a change for the event's org_id channel.

Parameters ​

ParameterType
eventChangeEvent

Returns ​

void

Implementation of ​

ChangeEmitter.publish


subscribe() ​

subscribe(orgId, listener): () => void

Subscribe to an org channel. Returns an unsubscribe function. Does not replay history — use getEventsAfter with Last-Event-ID for that.

Parameters ​

ParameterType
orgIdstring
listenerChangeEventListener

Returns ​

(): void

Returns ​

void

Implementation of ​

ChangeEmitter.subscribe