eventemitter
event emitter for nim
Summary
| Latest Version | Unknown |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:24 |
Tags
Installation
nimble install eventemitter
choosenim install eventemitter
git clone https://github.com/al-bimani/eventemitter
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| eventemitter | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://github.com/al-bimani/eventemitter |
|---|---|
| Homepage | https://github.com/al-bimani/eventemitter |
| Registry Source | nimble_official |
README
Simple EventEmitter library for nim.
Examples:
basic usage
import eventemitter
type ReadyArgs = ref object of Args
text: string
var evts = createEventEmitter()
evts.on("ready") do(a: Args):
var args = ReadyArgs(a)
echo args.text, ": from [1st] handler"
evts.once("ready") do(a: Args):
var args = ReadyArgs(a)
echo args.text, ": from [2nd] handler"
evts.emit("ready", ReadyArgs(text:"Hello, World"))
evts.emit("ready", ReadyArgs(text:"Hello, World"))
types
type Args* = ref object of RootObj
type Handler* = proc (args: Args) {.closure.}
type Event* = tuple[name:string, handlers:seq[Handler]]
type EventEmitter* = ref object
events: seq[Event]
contributing
Feel free to open issues or submit pull requests.