Add more lib docs

This commit is contained in:
Jon Staab
2025-06-04 14:13:45 -07:00
parent d2d0b208ed
commit 95eae509cc
5 changed files with 147 additions and 282 deletions
+37
View File
@@ -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
```