https://github.com/khirayama/micro-emitter
Micro Event Emitter in TypeScript
https://github.com/khirayama/micro-emitter
addlistener emitter trigger typescript
Last synced: 5 months ago
JSON representation
Micro Event Emitter in TypeScript
- Host: GitHub
- URL: https://github.com/khirayama/micro-emitter
- Owner: khirayama
- License: mit
- Created: 2015-09-27T02:46:04.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2023-08-24T01:10:21.000Z (almost 3 years ago)
- Last Synced: 2025-10-28T14:59:08.441Z (8 months ago)
- Topics: addlistener, emitter, trigger, typescript
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/micro-emitter
- Size: 578 KB
- Stars: 14
- Watchers: 2
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MicroEmitter
[](https://badge.fury.io/js/micro-emitter)
micro event emitter in TypeScript.
Before v1.2.0, micro-emitter made by es6. If you want see that, please check it.
## Motivation
I wanted a simple emitter for my apps I created. So, I made an independent, no-dependency emitter under 100 lines.
## Getting Started
```
$ npm install micro-emitter
```
```javascript
import MicroEmitter from 'micro-emitter';
let emitter = new MicroEmitter();
```
```javascript
var MicroEmitter = require('micro-emitter');
var emitter = new MicroEmitter();
```
## API
It has 4 API and some alias only.
- addListener(on)
- addOnceListener(once)
- removeLister(off)
- emit(trigger)
### addListene(on)/addOnceListener(once)
```javascript
const CHANGE_EVENT = 'CHANGE_EVENT';
emitter.addListener(CHANGE_EVENT, callbak);
emitter.on(CHANGE_EVENT, callbak);
emitter.addOnceListener(CHANGE_EVENT, callbak); // only first time
emitter.once(CHANGE_EVENT, callbak); // only first time
```
### removeListener(off)
```javascript
const CHANGE_EVENT = 'CHANGE_EVENT';
emitter.removeListener(CHANGE_EVENT);
emitter.off(CHANGE_EVENT);
```
### emit(trigger)
```javascript
const CHANGE_EVENT = 'CHANGE_EVENT';
emitter.addListener(CHANGE_EVENT, (payload) => {
console.log(payload); // { message: 'Hello MicroEmitter!' }
});
emitter.emit(CHANGE_EVENT, { message: 'Hello MicroEmitter!' });
```
## Example
### simple and complete example.
```javascript
import MicroEmitter from 'micro-emitter';
const CHANGE_EVENT = 'CHANGE_EVENT';
const emitter = new MicroEmitter();
emitter.addListener(CHANGE_EVENT, (payload) => {
alert(payload.message);
});
setTimeout(() => {
emitter.emit(CHANGE_EVENT, { message: 'Hello MicroEmitter!' }});
}, 1000);
```