@nichoth/events
Advanced tools
+1
-1
@@ -89,3 +89,3 @@ "use strict"; | ||
| } | ||
| if (!data) { | ||
| if (data === void 0) { | ||
| return function(data2) { | ||
@@ -92,0 +92,0 @@ return self.emit(evName, data2); |
+1
-1
@@ -106,3 +106,3 @@ // myEvents = Bus.createEvents({ ... }) | ||
| // curry | ||
| if (!data) { | ||
| if (data === undefined) { | ||
| return function (data) { | ||
@@ -109,0 +109,0 @@ return self.emit(evName, data); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| "use strict";var l=Object.defineProperty;var i=(a,t)=>l(a,"name",{value:t,configurable:!0});export class Bus{_starListeners;_listeners;_validEvents;constructor(t){this._starListeners=[],this._listeners={},this._validEvents=null,t&&(this._validEvents=Array.isArray(t)?t:Bus.flatten(t))}static createEvents(t,s){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=s?s+"."+r:r,n),{}):Object.keys(t).reduce((n,r)=>r==="_"?Object.assign(n,Bus.createEvents(t[r],s||"")):(n[r]=Bus.createEvents(t[r],s?s+"."+r:r),n),{})}static flatten(t,s=[]){return typeof t=="string"?s.concat([t]):Object.keys(t).reduce((n,r)=>Bus.flatten(t[r],n),s)}on(t,s){if(t==="*")this._starListeners.push(s);else{if(this._validEvents&&!this._validEvents.includes(t))throw new Error("Invalid event name subscribed to");this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(s)}const n=this;return i(function(){t==="*"?n._starListeners=n._starListeners.filter(e=>e!==s):n._listeners[t]=n._listeners[t].filter(e=>e!==s)},"off")}emit(t,s){const n=this;if(this._validEvents&&!this._validEvents.includes(t))throw new Error("Invalid event name emitted");if(!s)return function(e){return n.emit(t,e)};const r=this._listeners[t]||[];return r&&r.length>0&&this._emit(r,t,s,!1),this._starListeners.length>0&&this._emit(this._starListeners,t,s,!0),this}_emit(t,s,n,r){if(t.length!==0){if(r){this._starListeners.forEach(e=>{e.call(e,s,n)});return}t.forEach(e=>{e.call(e,n)})}}}i(Bus,"Bus"); | ||
| "use strict";var l=Object.defineProperty;var i=(a,t)=>l(a,"name",{value:t,configurable:!0});export class Bus{_starListeners;_listeners;_validEvents;constructor(t){this._starListeners=[],this._listeners={},this._validEvents=null,t&&(this._validEvents=Array.isArray(t)?t:Bus.flatten(t))}static createEvents(t,s){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=s?s+"."+r:r,n),{}):Object.keys(t).reduce((n,r)=>r==="_"?Object.assign(n,Bus.createEvents(t[r],s||"")):(n[r]=Bus.createEvents(t[r],s?s+"."+r:r),n),{})}static flatten(t,s=[]){return typeof t=="string"?s.concat([t]):Object.keys(t).reduce((n,r)=>Bus.flatten(t[r],n),s)}on(t,s){if(t==="*")this._starListeners.push(s);else{if(this._validEvents&&!this._validEvents.includes(t))throw new Error("Invalid event name subscribed to");this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(s)}const n=this;return i(function(){t==="*"?n._starListeners=n._starListeners.filter(e=>e!==s):n._listeners[t]=n._listeners[t].filter(e=>e!==s)},"off")}emit(t,s){const n=this;if(this._validEvents&&!this._validEvents.includes(t))throw new Error("Invalid event name emitted");if(s===void 0)return function(e){return n.emit(t,e)};const r=this._listeners[t]||[];return r&&r.length>0&&this._emit(r,t,s,!1),this._starListeners.length>0&&this._emit(this._starListeners,t,s,!0),this}_emit(t,s,n,r){if(t.length!==0){if(r){this._starListeners.forEach(e=>{e.call(e,s,n)});return}t.forEach(e=>{e.call(e,n)})}}}i(Bus,"Bus"); |
+1
-1
| { | ||
| "name": "@nichoth/events", | ||
| "version": "3.1.5", | ||
| "version": "3.1.6", | ||
| "description": "Event emitter and helpers", | ||
@@ -5,0 +5,0 @@ "directories": { |
+1
-1
@@ -139,3 +139,3 @@ interface Listener { | ||
| // curry | ||
| if (!data) { | ||
| if (data === undefined) { | ||
| return function (data:any) { | ||
@@ -142,0 +142,0 @@ return self.emit(evName, data) |
+8
-0
@@ -127,2 +127,10 @@ import test from "tape"; | ||
| }); | ||
| test("emit a null event", (t) => { | ||
| t.plan(1); | ||
| const bus2 = new Bus(); | ||
| bus2.on("foo", () => { | ||
| t.pass("event listener was called"); | ||
| }); | ||
| bus2.emit("foo", null); | ||
| }); | ||
| test("star listener", (t) => { | ||
@@ -129,0 +137,0 @@ t.plan(2); |
+9
-0
@@ -126,2 +126,11 @@ import test from 'tape' | ||
| test('emit a null event', t => { | ||
| t.plan(1) | ||
| const bus = new Bus() | ||
| bus.on('foo', () => { | ||
| t.pass('event listener was called') | ||
| }) | ||
| bus.emit('foo', null) | ||
| }) | ||
| test('star listener', t => { | ||
@@ -128,0 +137,0 @@ t.plan(2) |
69781
0.59%776
2.11%