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 🙏

© 2026 – Pkg Stats / Ryan Hefner

eventbusx-js

v1.0.0

Published

轻量级事件总线,发射器监听状态派发事件,接收器统一处理业务逻辑

Readme

eventbus

极简轻量级事件总线工具,拆分事件发射事件接收,解耦状态监听与业务执行

作者信息

姓名:董翔 发布年份:2026 NPM账号:dongxiang678 联系邮箱:[email protected]

工作原理

  1. Emitter 事件发射器
  • 绑定需要监听的数据源
  • 自定义状态判断规则
  • 根据规则结果自动生成不同事件标识消息
  1. Acceptor 事件接收器
  • 接收发射器传递的事件消息
  • 匹配不同消息,执行对应业务逻辑
  • 纯消息转发,不干预状态判断逻辑

安装

npm install eventbusx-js

基础使用示例

const EventBus = require('eventbus');

// 定义监听数据源
const data = { value: 0 };

// 初始化发射器、接收器
const eventEmitter = new EventBus.Emitter(data);
const eventAcceptor = new EventBus.Acceptor();

// 业务监听函数
function monitorData() {
    // 设置事件基础标识
    eventEmitter.setBaseMsg("overflow");
    // 设置状态监听规则
    eventEmitter.watch(item => item.value >= 5);

    // 接收器接收消息并执行逻辑
    eventAcceptor.run(eventEmitter.execute(), (eventMsg) => {
        if (eventMsg === "overflow") {
            console.log(`消息:${eventMsg} 状态达标,执行超限逻辑`);
        } else {
            data.value++;
            console.log(`消息:${eventMsg} 正常运行中`);
        }
    });
    console.log("当前数值:", data.value, "\n");
}

// 循环监听触发
for (let i = 0; i < 6; i++) {
    monitorData();
}

开源协议

MIT License