Skip to content

@developit developit released this Jul 15, 2020

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
Pre-release
Pre-release

@developit developit released this May 27, 2020 · 9 commits to master since this release

This patch update for the 2.0 prerelease fixes missing type exports (#101).
It also reduces size and improves performance (#100).

Assets 2
Pre-release
Pre-release

@developit developit released this May 26, 2020 · 18 commits to master since this release

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

@developit developit released this Oct 21, 2019 · 32 commits to master since this release

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 without new in TypeScript (#60/#67 - thanks @davidkpiano)
  • .on('*', handler) now has types that pass the correct (event, data) arguments (#76, thanks @zbuttram)
  • The optional all parameter, which lets you pass your own mapping of handler Arrays to Mitt, now has correct types (#73, thanks @jesperzach)
Assets 2

@developit developit released this Dec 7, 2017 · 40 commits to master since this release

  • Fix handler removal (.off()) during emit (#65, thanks @sqal & @farskid)
  • Fix emit and EventHandler type annotations (#47, thanks @rvikmanis)
  • more precise type annotation for WildCardEventHandler (#58, thanks @tungv)
Assets 2

@developit developit released this Apr 17, 2017 · 50 commits to master since this release

  • Point jsnext:main entry to the ES Modules build instead of src, since src contains Flowtype annotations and a lot of comments.
Assets 2

@developit developit released this Apr 17, 2017 · 52 commits to master since this release

  • Avoid unnecessarily creating listener arrays in off() if they don't exist (saves 4b)
Assets 2

@developit developit released this Apr 17, 2017 · 64 commits to master since this release

  • Refactor courtesy of @tunnckoCore
  • Event types have been corrected to be case-sensitive, as they are in Node's EventEmitter.
Assets 2

@developit developit released this Jan 22, 2017 · 91 commits to master since this release

  • Fixes React Native complaining about a Babel configuration (#24, thanks @skellock!)
Assets 2

@developit developit released this Jan 22, 2017 · 113 commits to master since this release

Initial release!

Assets 2
You can’t perform that action at this time.