Types
EventHandler[T] = (T) -> void
EventEmitter[T] = ref object listeners: seq[EventHandler[T]] toAdd*: seq[EventHandler[T]] toRemove: seq[EventHandler[T]]
Procs
proc emitter[T](): EventEmitter[T]
proc contains[T](self: EventEmitter[T]; listener: EventHandler[T]): bool
proc numListeners[T](self: EventEmitter[T]): int
proc emit[T](self: var EventEmitter[T]; data: T): void
proc add[T](self: var EventEmitter[T]; listener: EventHandler[T]): void
proc remove[T](self: var EventEmitter[T]; listener: EventHandler[T]): void
proc toObservable[T](emitter: var EventEmitter[T]): Observable[T]
Templates
template createEvent(name: untyped; T: typedesc): untyped