Add more lib docs
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# Event Emitter
|
||||
|
||||
The `Emitter` class extends Node.js EventEmitter to automatically emit all events to `'*'` listeners in addition to specific event listeners.
|
||||
|
||||
## API
|
||||
|
||||
```typescript
|
||||
// Extended EventEmitter that also emits all events to '*' listeners
|
||||
export declare class Emitter extends EventEmitter {
|
||||
// Emits an event to listeners and to '*' listeners
|
||||
emit(type: string, ...args: any[]): boolean;
|
||||
}
|
||||
```
|
||||
|
||||
## Example
|
||||
|
||||
```typescript
|
||||
import { Emitter } from '@welshman/lib';
|
||||
|
||||
const emitter = new Emitter();
|
||||
|
||||
// Listen for specific events
|
||||
emitter.on('message', (data) => {
|
||||
console.log('Message:', data);
|
||||
});
|
||||
|
||||
// Listen for all events with '*'
|
||||
emitter.on('*', (eventType, ...args) => {
|
||||
console.log('Event:', eventType, args);
|
||||
});
|
||||
|
||||
// Emit an event - triggers both listeners
|
||||
emitter.emit('message', 'Hello world');
|
||||
// Output:
|
||||
// Event: message ['Hello world']
|
||||
// Message: Hello world
|
||||
```
|
||||
Reference in New Issue
Block a user