Comparing version
{ | ||
"name": "tsee", | ||
"version": "1.3.3", | ||
"version": "1.3.4", | ||
"description": "Typed EventEmitter implemented with typed args", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -8,2 +8,4 @@ [](https://www.npmjs.com/package/tsee) [](https://www.npmjs.com/package/tsee) | ||
[Check 'tseep'! Same api but world fastest event emitter](https://github.com/Morglod/tseep) | ||
## Install & use | ||
@@ -16,23 +18,25 @@ | ||
Simple usage: | ||
```ts | ||
import { EventEmitter } from 'tsee'; | ||
import { EventEmitter } from "tsee"; | ||
const events = new EventEmitter<{ | ||
foo: (a: number, b: string) => void, | ||
foo: (a: number, b: string) => void; | ||
}>(); | ||
// foo's arguments is fully type checked | ||
events.emit('foo', 123, 'hello world'); | ||
events.emit("foo", 123, "hello world"); | ||
``` | ||
Cast any other compatible to `NodeJS.EventEmitter` to typed: | ||
```ts | ||
import { asTypedEventEmitter } from 'tsee'; | ||
import { asTypedEventEmitter } from "tsee"; | ||
const typedEmitter = asTypedEventEmitter<{ | ||
foo: (a: number, b: string) => void, | ||
boo: (a: number, b: string) => void, | ||
foo: (a: number, b: string) => void; | ||
boo: (a: number, b: string) => void; | ||
}>(myEmitter); | ||
typedEmitter.emit('foo', 123, 'hello world'); | ||
typedEmitter.emit("foo", 123, "hello world"); | ||
``` | ||
@@ -39,0 +43,0 @@ |
21439
0.45%67
6.35%