dhax_or
Joined 1 year ago
Karma
37
Submissions
11
Member since
May 24
Joined 1 year ago
- once() for one-time listeners - hasListeners() and listenerCount() for introspection - clear() to reset everything - Safer emission that protects against handler modification during events - Full TypeScript support with generic types
Same familiar API as Node's EventEmitter and original Mitt, so it's a drop-in replacement. I've been using it in production and it's been solid.
GitHub: https://github.com/Dhaxor/better-mitt
NPM: npm install better-mitt
Would love feedback from the community - and if you find it useful, a GitHub star would be much appreciated!
I built Mynota, a minimal, browser-based text editor where the entire note is compressed and stored in the URL hash. That makes notes instantly shareable without any backend, accounts, or tracking.
Key ideas:
Uses the browser’s native Compression Streams API (deflate-raw)
Everything runs client-side (no servers, no DB, no analytics)
URL hash is the primary storage; localStorage is a fallback
Works offline and can be bookmarked
I’d love feedback on the approach, compression strategy, or edge cases you think I’ve missed.