diff options
| author | Jason Miller <[email protected]> | 2020-07-15 14:40:59 +0000 |
|---|---|---|
| committer | Jason Miller <[email protected]> | 2020-07-15 14:40:59 +0000 |
| commit | 0f41ead697945b38d55435306a21068c04445863 (patch) | |
| tree | a40295bf7bd467641b7b9edbc819563c636471ef | |
| parent | 5116df46a020ae498eec6783cfe9147fc9add015 (diff) | |
| parent | 76a353cb867a7302a9ddfb9a2a96ab5364af1db9 (diff) | |
Merge branch 'expose-all' of https://github.com/jaylinski/mitt
| -rw-r--r-- | README.md | 8 | ||||
| -rw-r--r-- | src/index.ts | 15 | ||||
| -rw-r--r-- | test/index_test.ts | 8 |
3 files changed, 27 insertions, 4 deletions
@@ -69,6 +69,9 @@ emitter.on('*', (type, e) => console.log(type, e) ) // fire an event emitter.emit('foo', { a: 'b' }) +// clearing all events +emitter.all.clear() + // working with handler references: function onFoo() {} emitter.on('foo', onFoo) // listen @@ -99,6 +102,7 @@ const emitter: mitt.Emitter = mitt(); #### Table of Contents - [mitt](#mitt) +- [all](#all) - [on](#on) - [Parameters](#parameters) - [off](#off) @@ -112,6 +116,10 @@ Mitt: Tiny (~200b) functional event emitter / pubsub. Returns **Mitt** +### all + +A Map of event names to registered handler functions. + ### on Register an event handler for the given type. diff --git a/src/index.ts b/src/index.ts index c681fd0..ae85607 100644 --- a/src/index.ts +++ b/src/index.ts @@ -13,6 +13,8 @@ export type WildCardEventHandlerList = Array<WildcardHandler>; export type EventHandlerMap = Map<EventType, EventHandlerList | WildCardEventHandlerList>; export interface Emitter { + all: EventHandlerMap; + on<T = any>(type: EventType, handler: Handler<T>): void; on(type: '*', handler: WildcardHandler): void; @@ -23,9 +25,10 @@ export interface Emitter { emit(type: '*', event?: any): void; } -/** Mitt: Tiny (~200b) functional event emitter / pubsub. - * @name mitt - * @returns {Mitt} +/** + * Mitt: Tiny (~200b) functional event emitter / pubsub. + * @name mitt + * @returns {Mitt} */ export default function mitt(all?: EventHandlerMap): Emitter { all = all || new Map(); @@ -33,6 +36,11 @@ export default function mitt(all?: EventHandlerMap): Emitter { return { /** + * A Map of event names to registered handler functions. + */ + all, + + /** * Register an event handler for the given type. * @param {string|symbol} type Type of event to listen for, or `"*"` for all events * @param {Function} handler Function to call in response to given event @@ -48,7 +56,6 @@ export default function mitt(all?: EventHandlerMap): Emitter { /** * Remove an event handler for the given type. - * * @param {string|symbol} type Type of event to unregister `handler` from, or `"*"` * @param {Function} handler Handler function to remove * @memberOf mitt diff --git a/test/index_test.ts b/test/index_test.ts index 1f1d9bb..5c25b55 100644 --- a/test/index_test.ts +++ b/test/index_test.ts @@ -30,6 +30,14 @@ describe('mitt#', () => { inst = mitt(events); }); + describe('properties', () => { + it('should expose the event handler map', () => { + expect(inst) + .to.have.property('all') + .that.is.a('map'); + }); + }); + describe('on()', () => { it('should be a function', () => { expect(inst) |
