Mitt 2 is out of preview!
-
It's written in TypeScript and ships type definitions (#107, thanks again @jackfranklin!)
-
Event handlers are now stored in a Map instead of an Object.
Upgrading: If you aren't passing an object to
mitt({}), version 2 is backwards-compatible.
If you were, turn your object into a map:-const handlers = { - foo: [() => alert(1)] -}; +const handlers = new Map(); +handlers.set('foo', [() => alert(1)]); const events = mitt(handlers);
-
The event handler Map is now exposed as
.all: (#105, thanks @jaylinski!)const events = mitt(); events.on('foo', () => alert(1)); events.on('bar', () => alert(2)); // access handlers directly if needed: events.all.get('foo') // [() => alert(1)] // remove all event handlers: events.all.clear();
Assets
2
This patch update for the 2.0 prerelease fixes missing type exports (#101).
It also reduces size and improves performance (#100).
Assets
2
developit
released this
Possible Breaking Change: mitt() previously accepted an optional Object "event map" argument. In 2.0.0, events are stored in an actual JavaScript Map rather than as properties on a plain object:
import mitt from 'mitt';
- const map = {};
+ const map = new Map();
const events = mitt(map);
const foo = () => {};
events.on('foo', foo);
- map.foo // [foo];
+ map.get('foo') // [foo];Now the good news: if you weren't using this argument, mitt@2 isn't a breaking change for you.
Also, Mitt is now written in TypeScript! Huge thanks to @jackfranklin for doing all the work including setting up a much nicer build toolchain.
Assets
2
It's Mitt's first release since 2017! That's the thing about a 200 byte library - there's not a lot of code here to necessitate constant updates. Take it as a sign of stability.
This release is primarily an improvement to the TypeScript definition we ship with Mitt:
- You can now invoke
mitt()with or withoutnewin TypeScript (#60/#67 - thanks @davidkpiano) .on('*', handler)now has types that pass the correct(event, data)arguments (#76, thanks @zbuttram)- The optional
allparameter, which lets you pass your own mapping of handler Arrays to Mitt, now has correct types (#73, thanks @jesperzach)
Assets
2
Assets
2
developit
released this
- Point
jsnext:mainentry to the ES Modules build instead ofsrc, sincesrccontains Flowtype annotations and a lot of comments.
Assets
2
developit
released this
- Avoid unnecessarily creating listener arrays in
off()if they don't exist (saves 4b)
Assets
2
- Refactor courtesy of @tunnckoCore
- Event types have been corrected to be case-sensitive, as they are in Node's EventEmitter.
Assets
2
Assets
2
Initial release!