mirror of
https://github.com/al-bimani/eventemitter
synced 2026-01-02 11:04:43 +00:00
No description
| src | ||
| .gitignore | ||
| eventemitter.nimble | ||
| LICENSE | ||
| README.md | ||
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.