Notifier
Subscription utility used internally by State and AttributeList.
Methods
addListener(event, listener)
Registers a listener for an event. Returns a release function to unsubscribe.
const release = notifier.addListener("change", (value) => {
console.log(value)
})
// Unsubscribe
release()
If the listener has an onSubscribe callback, it is called immediately with the release function — useful for auto-cleanup:
const listener = (value: string) => console.log(value)
listener.onSubscribe = (release) => {
node.addHook("BeforeRemove", release) // auto-cleanup on node remove
}
notifier.addListener("change", listener)
removeListener(event, listener)
Removes a specific listener from an event.
notifier.removeListener("change", listener)
notify(event, ...args)
Calls all listeners registered for an event.
notifier.notify("change", newValue)
Listener type
type Listener = ((...args: any[]) => any) & {
onSubscribe?: (release: () => void) => void
}
onSubscribe is called once when the listener is registered. Use it to tie the listener's lifetime to another object.