@reactway/tiny-emitter
Version:
Small change emitter
46 lines (28 loc) • 1.51 kB
Markdown
[](https://www.npmjs.com/package/@reactway/tiny-emitter)
[](https://dev.azure.com/reactway/ReactWay/_build?definitionId=6)
[](https://dev.azure.com/reactway/ReactWay/_build?definitionId=6)
[](https://david-dm.org/reactway/tiny-emitter)
[](https://david-dm.org/reactway/tiny-emitter?type=dev)
# @reactway/tiny-emitter
Small library to handle change emits.
## Get started
```sh
$ npm install @reactway/tiny-emitter
```
## Example
```ts
type CounterHandler = (count: number) => void;
const handler: CounterHandler = count => console.log("Counter:", count);
const counterEmitter = new TinyEmitter<CounterHandler>();
const removeListener = counterEmitter.addListener(handler);
counterEmitter.emit(1); // Emit change with value count=1
// Console log: Counter: 1
removeListener(); // Remove registered listener
```
## API
`.addListener(handler: Callback): () => void`
`.removeListener(handler: Callback): void`
`.emit(...payload: any): void`
`.getListenersCount(): number`
## License
Released under the [MIT license](LICENSE).