eventemitter

event emitter for nim

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version Unknown
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-07-21 05:24

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.