Node.jsのEventEmitterは便利なんですがすべてのイベントを取得できません。
何で実装していないのかよくわかりません。
EventEmitter2というEventEmitterを便利にしたものがありこれを使えば良いのですが、更新が止まっています...
頑張ればできるんじゃねと思って書いたら数分でできたのメモ的な意味を込めて記事にしてます。
コード
index.js
// いつものEventEmitterconstEventEmitter=require("events");// いつものEventEmitterを拡張classExtendEventEmitterextendsEventEmitter{// emitされた内容を"*"に再emitemit(name,...args){returnsuper.emit("*",name,...args);}}// 拡張したEventEmitterconstevent=newExtendEventEmitter();// ワイルドカードでイベントを受けるevent.on("*",(name,...callback)=>{console.log(`name: ${name} |`,...callback);});/* emit */event.emit("ready","ready...");event.emit("number",1,2,3,4);event.emit("array",["a","b"]);event.emit("object",{"abc":123,"def":456});
結果
name:ready|ready...name:number|1234name:array|['a','b']name:object|{abc:123,def:456}