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