npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

evee

v3.0.1

Published

The lightweight ES6 event library.

Downloads

591

Readme

MIT License Evee on NPM

evee.js

The blazing fast event library 🔥

Evee is a lightweight event library, written in just ~200 lines of JavaScript.
Evee exports ESM, CommonJS and Browser globals, so you can use it in any environment.

How to install

npm install evee # if you're using NPM
yarn add evee # if you're using Yarn

Introducing Evee 3

Evee now natively supports ESM and CommonJS.

We export two things:

  • Evee (default export): The class you can use to create new instances of Evee.
  • evee (named export): A pre-made instance of Evee so you can immediately start using it.

If you're planning to use Evee in NodeJS, you can now import it like this:

import Evee, { evee } from 'evee'; // If you're using ESM (import/export)
const { default: Evee, evee } = require('evee'); // If you're using CommonJS (require)

If you're planning to use Evee in the browser, you can now import it like this:

<!-- ESM if you're targeting modern browsers -->
<script type="module">
  import Evee, { evee } from 'https://cdn.jsdelivr.net/npm/evee@3';
</script>

<!-- Global export if you're targeting older browsers -->
<script src="https://cdn.jsdelivr.net/npm/evee@3/dist/browser/index.min.js"></script>
<script>
  // You can use the `Evee` (class) and `evee` (instance) globals here
</script>

How to use

import { evee } from 'evee'

// Subscribe to the 'update' event
evee.on('update', e => console.log(`Received event #${e.data}`))

for (let i = 0; i < 100; i++) {

  // Dispatch the 'update' event
  evee.emit('update', i);
}

You can also keep track of your event listeners unsubscribe from events you don't need anymore.

import { evee } from 'evee'

// Subscribe to the 'say' event
var receiver = evee.on('say', e => console.log(e.data));

// Dispatch the 'say' event
evee.emit('say', 'Hello, world!');

// Unsubscribe from the 'say' event
evee.drop(receiver);

If you want to fire an event only once, you can do that too!
The event will be automatically removed after the first usage:

import { evee } from 'evee'

// Subscribe to the 'say' event
evee.once('say', e => console.log('hello, world'));

// Dispatch the 'say' event two times
evee.signal('say');
evee.signal('say');

// hello, world is only printed once!

As you can see, evee is really easy to use!
Start using evee today and stop worrying about slow events :)