Event Bus
Bindings for @solid-primitives/event-bus.
createEventBus
let createEventBus<'T>(): EventBus<'T>
See EventBus.
createEmitter
let createEmitter<'T>(): Emitter<'T>
See Emitter.
createMappedEmitter
let createMappedEmitter<'MessageSchema>(): MappedEmitter<'MessageSchema>
See MappedEmitter, a binding made for F#.
createEventHub
let createEventHub<'T> (?channels: 'T): EventHub<'T>
See EventHub.
EventBus
Created by createEventBus.
type EventBus<'T> = interface
A single-event emitter with listener management.
member listen: ('T -> unit) -> DisposeCallback
The listener is removed automatically on cleanup. Call the returned callback to remove it earlier.
member emit: 'T -> unit
member clear: unit -> unit
Emitter
Created by createEmitter. For a typed version, see createMappedEmitter and MappedEmitter.
type Emitter<'MessageTyper> = interface
An emitter for multiple named events.
member on: (string * (obj -> unit)) -> DisposeCallback
The subscription is removed automatically on cleanup. Call the returned callback to remove it earlier.
member emit: (string * obj) -> unit
member clear: unit -> unit
MappedEmitter
Created by createMappedEmitter.
type MappedEmitter<'MessageMapper> = interface
A type-safe Emitter, made for F#. The event key is the path to a member of 'MessageMapper, so the message has that member's type.
member on
(mapping: 'MessageMapper -> 'MessageType)
(callback: 'MessageType -> unit)
: DisposeCallback
member emit
(mapping: 'MessageMapper -> 'MessageType)
(message: 'MessageType)
: unit
member clear: unit -> unit
GlobalEmitter
type GlobalEmitter<'T> = inherit Emitter<'T>
An emitter that can also listen to every event.
member listen: (obj -> unit) -> DisposeCallback
EventHub
Created by createEventHub.
type EventHub<'T> = inherit GlobalEmitter<'T>
Helpers for using a group of event buses. Works with createEventBus, createEventStack, or any emitter with the same API.
