ts-simple-event-bus
Advanced tools
+1
-1
@@ -1,1 +0,1 @@ | ||
| !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["ts-event-bus"]=t():e["ts-event-bus"]=t()}(this,(function(){return(()=>{"use strict";var e={225:function(e,t){var s=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(i,o){function n(e){try{c(r.next(e))}catch(e){o(e)}}function u(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(n,u)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.EventBus=t.MessageTimeoutError=void 0;class r extends Error{constructor(e){super("Message timeout error"),this.message=`Message timeout error on message ${e}`}}t.MessageTimeoutError=r,t.EventBus=class{constructor(e){this.subcriptions=[],this.idGenerator=e}publish({queue:e,message:t,id:r}){return s(this,void 0,void 0,(function*(){this.subcriptions.forEach((i=>s(this,void 0,void 0,(function*(){i.queue===e&&i.callback(t,r)}))))}))}subscribe({queue:e,callback:t}){const s=this.idGenerator();return this.subcriptions.push({queue:e,callback:t,id:s}),{unsubscribe:()=>{this.subcriptions=this.subcriptions.filter((e=>e.id!==s))}}}publishAndWaitForResponse({message:e,queue:t,responseQueue:s,timeout:i=5e3}){return new Promise(((o,n)=>{const u=this.idGenerator(),c=setTimeout((()=>{n(new r)}),i);this.subscribe({queue:s,callback:(e,t)=>{t===u&&(clearTimeout(c),o(e))}}),this.publish({queue:t,message:e,id:u})}))}}},607:function(e,t,s){var r=this&&this.__createBinding||(Object.create?function(e,t,s,r){void 0===r&&(r=s),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,r){void 0===r&&(r=s),e[r]=t[s]}),i=this&&this.__exportStar||function(e,t){for(var s in e)"default"===s||Object.prototype.hasOwnProperty.call(t,s)||r(t,e,s)};Object.defineProperty(t,"__esModule",{value:!0}),i(s(225),t)}},t={};return function s(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,s),o.exports}(607)})()})); | ||
| !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["ts-simple-event-bus"]=t():e["ts-simple-event-bus"]=t()}(this,(function(){return(()=>{"use strict";var e={225:function(e,t){var s=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(r,o){function n(e){try{c(i.next(e))}catch(e){o(e)}}function u(e){try{c(i.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(n,u)}c((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.EventBus=t.MessageTimeoutError=void 0;class i extends Error{constructor(e){super("Message timeout error"),this.message=`Message timeout error on message ${e}`}}t.MessageTimeoutError=i,t.EventBus=class{constructor(e){this.subcriptions=[],this.idGenerator=e}publish({queue:e,message:t,id:i}){return s(this,void 0,void 0,(function*(){this.subcriptions.forEach((r=>s(this,void 0,void 0,(function*(){r.queue===e&&r.callback(t,i)}))))}))}subscribe({queue:e,callback:t}){const s=this.idGenerator();return this.subcriptions.push({queue:e,callback:t,id:s}),{unsubscribe:()=>{this.subcriptions=this.subcriptions.filter((e=>e.id!==s))}}}publishAndWaitForResponse({message:e,queue:t,responseQueue:s,timeout:r=5e3}){return new Promise(((o,n)=>{const u=this.idGenerator(),c=setTimeout((()=>{n(new i)}),r);this.subscribe({queue:s,callback:(e,t)=>{t===u&&(clearTimeout(c),o(e))}}),this.publish({queue:t,message:e,id:u})}))}}},607:function(e,t,s){var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),r=this&&this.__exportStar||function(e,t){for(var s in e)"default"===s||Object.prototype.hasOwnProperty.call(t,s)||i(t,e,s)};Object.defineProperty(t,"__esModule",{value:!0}),r(s(225),t)}},t={};return function s(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i].call(o.exports,o,o.exports,s),o.exports}(607)})()})); |
+1
-1
| { | ||
| "name": "ts-simple-event-bus", | ||
| "version": "2.0.3", | ||
| "version": "2.0.4", | ||
| "main": "dist/index.js", | ||
@@ -5,0 +5,0 @@ "types": "dist/index.d.ts", |
+1
-0
| # TS-simple-event-bus | ||
|  | ||
@@ -3,0 +4,0 @@ A simple event bus that implements a pub / sub pattern. Fully typed. |
@@ -10,3 +10,3 @@ const path = require('path'); | ||
| path: path.resolve(__dirname, 'dist'), | ||
| library: "ts-event-bus", | ||
| library: "ts-simple-event-bus", | ||
| libraryTarget: 'umd', | ||
@@ -13,0 +13,0 @@ globalObject: "this", |
-63
| "use strict"; | ||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
| function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
| return new (P || (P = Promise))(function (resolve, reject) { | ||
| function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
| function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
| function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
| step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
| }); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.EventBus = exports.MessageTimeoutError = void 0; | ||
| class MessageTimeoutError extends Error { | ||
| constructor(message) { | ||
| super("Message timeout error"); | ||
| this.message = `Message timeout error on message ${message}`; | ||
| } | ||
| } | ||
| exports.MessageTimeoutError = MessageTimeoutError; | ||
| class EventBus { | ||
| constructor(idGenerator) { | ||
| this.subcriptions = []; | ||
| this.idGenerator = idGenerator; | ||
| } | ||
| publish({ queue, message, id }) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| this.subcriptions.forEach((sub) => __awaiter(this, void 0, void 0, function* () { | ||
| if (sub.queue === queue) { | ||
| sub.callback(message, id); | ||
| } | ||
| })); | ||
| }); | ||
| } | ||
| subscribe({ queue, callback, }) { | ||
| const id = this.idGenerator(); | ||
| this.subcriptions.push({ queue, callback, id }); | ||
| return { | ||
| unsubscribe: () => { | ||
| this.subcriptions = this.subcriptions.filter((sub) => sub.id !== id); | ||
| }, | ||
| }; | ||
| } | ||
| publishAndWaitForResponse({ message, queue, responseQueue, timeout = 5000, }) { | ||
| return new Promise((res, rej) => { | ||
| const msgId = this.idGenerator(); | ||
| const timeoutId = setTimeout(() => { | ||
| rej(new MessageTimeoutError()); | ||
| }, timeout); | ||
| this.subscribe({ | ||
| queue: responseQueue, | ||
| callback: (handledMessage, id) => { | ||
| if (id === msgId) { | ||
| clearTimeout(timeoutId); | ||
| res(handledMessage); | ||
| } | ||
| }, | ||
| }); | ||
| this.publish({ queue, message, id: msgId }); | ||
| }); | ||
| } | ||
| } | ||
| exports.EventBus = EventBus; | ||
| //# sourceMappingURL=bus.js.map |
| {"version":3,"file":"bus.js","sourceRoot":"","sources":["../src/bus.ts"],"names":[],"mappings":";;;;;;;;;;;;AAcA,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAiB;QAC3B,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,oCAAoC,OAAO,EAAE,CAAC;IAC/D,CAAC;CACF;AALD,kDAKC;AAED,MAAa,QAAQ;IAInB,YAAY,WAAwB;QAH5B,iBAAY,GAAwB,EAAE,CAAC;QAI7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEK,OAAO,CAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAA4C;;YAC/F,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAO,GAAG,EAAE,EAAE;gBACtC,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,EAAE;oBACvB,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;iBAC3B;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAED,SAAS,CAAoB,EAC3B,KAAK,EACL,QAAQ,GAIT;QACC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,OAAO;YACL,WAAW,EAAE,GAAG,EAAE;gBAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;SACF,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAwC,EAC/D,OAAO,EACP,KAAK,EACL,aAAa,EACb,OAAO,GAAG,IAAI,GAMf;QACC,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;YACjC,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE;oBAC/B,IAAI,EAAE,KAAK,KAAK,EAAE;wBAChB,YAAY,CAAC,SAAS,CAAC,CAAC;wBACxB,GAAG,CAAC,cAAc,CAAC,CAAC;qBACrB;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA9DD,4BA8DC"} |
-100
| "use strict"; | ||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
| function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
| return new (P || (P = Promise))(function (resolve, reject) { | ||
| function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
| function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
| function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
| step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
| }); | ||
| }; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const chai_1 = __importDefault(require("chai")); | ||
| const chai_spies_1 = __importDefault(require("chai-spies")); | ||
| const _1 = require("."); | ||
| const chai_as_promised_1 = __importDefault(require("chai-as-promised")); | ||
| const nanoid_1 = require("nanoid"); | ||
| chai_1.default.use(chai_spies_1.default); | ||
| chai_1.default.use(chai_as_promised_1.default); | ||
| const expect = chai_1.default.expect; | ||
| describe("Event bus", () => { | ||
| const idGenerator = nanoid_1.nanoid; | ||
| it("Doesn't receive a message published to channel not subscribed to", () => { | ||
| const bus = new _1.EventBus(idGenerator); | ||
| const callback = (message) => { }; | ||
| const spiedCallback = chai_1.default.spy(callback); | ||
| bus.subscribe({ queue: "queue", callback: spiedCallback }); | ||
| bus.publish({ queue: "notqueue", message: { truc: "truc" } }); | ||
| expect(spiedCallback).to.not.have.been.called.once; | ||
| }); | ||
| it("Receives the message published to a channel which is subscribed to", () => { | ||
| const bus = new _1.EventBus(idGenerator); | ||
| const callback = (message) => { }; | ||
| const spiedCallback = chai_1.default.spy(callback); | ||
| bus.subscribe({ queue: "queue", callback: spiedCallback }); | ||
| bus.publish({ queue: "queue", message: { truc: "truc" } }); | ||
| expect(spiedCallback).to.have.been.called.once; | ||
| }); | ||
| it("Can unsubscribe to a channel", () => { | ||
| const bus = new _1.EventBus(idGenerator); | ||
| const callback = (message) => { }; | ||
| const spiedCallback = chai_1.default.spy(callback); | ||
| const { unsubscribe } = bus.subscribe({ queue: "queue", callback: spiedCallback }); | ||
| unsubscribe(); | ||
| bus.publish({ queue: "queue", message: { truc: "truc" } }); | ||
| expect(spiedCallback).to.not.have.been.called.once; | ||
| }); | ||
| it("Can publish and wait for response", () => __awaiter(void 0, void 0, void 0, function* () { | ||
| const bus = new _1.EventBus(idGenerator); | ||
| const responseQueueName = "event-response"; | ||
| bus.subscribe({ | ||
| queue: "event-request", | ||
| callback: (msg, id) => { | ||
| bus.publish({ queue: responseQueueName, message: { truc: "response" }, id }); | ||
| }, | ||
| }); | ||
| const result = yield bus.publishAndWaitForResponse({ | ||
| queue: "event-request", | ||
| responseQueue: responseQueueName, | ||
| message: { truc: "request" }, | ||
| timeout: 1000, | ||
| }); | ||
| expect(result).to.deep.equal({ truc: "response" }); | ||
| })); | ||
| it("Will throw MessageTimeoutError if publishAndWaitForResponse does not complete in time", () => __awaiter(void 0, void 0, void 0, function* () { | ||
| const bus = new _1.EventBus(idGenerator); | ||
| yield expect(bus.publishAndWaitForResponse({ | ||
| queue: "event-request", | ||
| responseQueue: "event-response", | ||
| message: { truc: "truc" }, | ||
| timeout: 1000, | ||
| })).to.be.rejectedWith(_1.MessageTimeoutError); | ||
| })); | ||
| it("Can handle Promise response", () => __awaiter(void 0, void 0, void 0, function* () { | ||
| const bus = new _1.EventBus(idGenerator); | ||
| const responseQueueName = "event-response"; | ||
| bus.subscribe({ | ||
| queue: "event-request", | ||
| callback: (msg, id) => { | ||
| return new Promise((req, rej) => { | ||
| const timeoutId = setTimeout(() => { | ||
| bus.publish({ queue: responseQueueName, message: { trac: "response" }, id }); | ||
| req(); | ||
| clearTimeout(timeoutId); | ||
| }, 1000); | ||
| }); | ||
| }, | ||
| }); | ||
| const result = yield bus.publishAndWaitForResponse({ | ||
| queue: "event-request", | ||
| responseQueue: responseQueueName, | ||
| message: { truc: "request" }, | ||
| timeout: 2000, | ||
| }); | ||
| expect(result).to.deep.equal({ trac: "response" }); | ||
| })); | ||
| }); | ||
| //# sourceMappingURL=bus.test.js.map |
| {"version":3,"file":"bus.test.js","sourceRoot":"","sources":["../src/bus.test.ts"],"names":[],"mappings":"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"} |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAsB"} |
107
0.94%15588
-45.09%13
-27.78%309
-34.26%