@mqueue/multicast
Advanced tools
+1
-1
@@ -1,2 +0,2 @@ | ||
| 'use strict';var i=class{constructor(e,t={}){this._adapters=e;this._filter=t.filter??(s=>s);}type="multicast";_filter;async healthcheck(){await Promise.all(this._adapters.map(e=>e.healthcheck()));}async consume(e){await Promise.all(this._filter(this._adapters).map(t=>t.consume(e)));}async close(){await Promise.all(this._adapters.map(e=>e.close()));}};var a=class{constructor(e,t={}){this._adapters=e;this._filter=t.filter??(s=>s);}type="multicast";_filter;async healthcheck(){await Promise.all(this._adapters.map(e=>e.healthcheck()));}async sendMessage(e){await Promise.all(this._adapters.map(t=>t.sendMessage(e)));}async close(){await Promise.all(this._adapters.map(e=>e.close()));}};var u=class{constructor(){}static Outgoing=a;static Incoming=i};exports.MulticastQueue=u;//# sourceMappingURL=index.cjs.map | ||
| 'use strict';var u=class{constructor(e,t={}){this._adapters=e;this._filter=t.filter??(s=>s);}type="multicast";_filter;async healthcheck(){await Promise.all(this._adapters.map(e=>e.healthcheck()));}async consume(e){await Promise.all(this._filter(this._adapters).map(t=>t.consume(e)));}async close(){await Promise.all(this._adapters.map(e=>e.close()));}};var i=class{constructor(e,t={}){this._adapters=e;this._filter=t.filter??(s=>s);}type="multicast";_filter;async healthcheck(){await Promise.all(this._adapters.map(e=>e.healthcheck()));}async sendMessage(e){await Promise.all(this._filter(this._adapters,e).map(t=>t.sendMessage(e)));}async close(){await Promise.all(this._adapters.map(e=>e.close()));}};var a=class{constructor(){}static Outgoing=i;static Incoming=u};exports.MulticastIncomingQueue=u;exports.MulticastOutgoingQueue=i;exports.MulticastQueue=a;//# sourceMappingURL=index.cjs.map | ||
| //# sourceMappingURL=index.cjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/MulticastIncomingQueue.ts","../src/MulticastOutgoingQueue.ts","../src/MulticastQueue.ts"],"names":["MulticastIncomingQueue","_adapters","options","adapters","adapter","callback","MulticastOutgoingQueue","message","MulticastQueue"],"mappings":"aAaA,IAAqBA,EAArB,KAA4E,CAK1E,WACYC,CAAAA,CAAAA,CACVC,EAAyC,EAAC,CAC1C,CAFU,IAAA,CAAA,SAAA,CAAAD,EAGV,IAAK,CAAA,OAAA,CAAUC,CAAQ,CAAA,MAAA,GAAYC,GAAaA,CAClD,EAAA,CATO,IAAO,CAAA,WAAA,CAEJ,QASV,MAAa,WAAA,EAAc,CACzB,MAAM,QAAQ,GAAI,CAAA,IAAA,CAAK,SAAU,CAAA,GAAA,CAAKC,GAAYA,CAAQ,CAAA,WAAA,EAAa,CAAC,EAC1E,CAEA,MAAa,OAAA,CAAQC,CAAuD,CAAA,CAC1E,MAAM,OAAQ,CAAA,GAAA,CACZ,IAAK,CAAA,OAAA,CAAQ,KAAK,SAAS,CAAA,CAAE,GAAKD,CAAAA,CAAAA,EAAYA,EAAQ,OAAQC,CAAAA,CAAQ,CAAC,CACzE,EACF,CAEA,MAAa,KAAQ,EAAA,CACnB,MAAM,OAAQ,CAAA,GAAA,CAAI,IAAK,CAAA,SAAA,CAAU,IAAKD,CAAYA,EAAAA,CAAAA,CAAQ,KAAM,EAAC,CAAC,EACpE,CACF,EC5BA,IAAqBE,CAAAA,CAArB,KAA4E,CAK1E,WAAA,CACYL,CACVC,CAAAA,CAAAA,CAAyC,EACzC,CAAA,CAFU,IAAAD,CAAAA,SAAAA,CAAAA,CAAAA,CAGV,KAAK,OAAUC,CAAAA,CAAAA,CAAQ,MAAYC,GAAAA,CAAAA,EAAaA,GAClD,CATO,IAAA,CAAO,WAEJ,CAAA,OAAA,CASV,MAAa,WAAc,EAAA,CACzB,MAAM,OAAA,CAAQ,IAAI,IAAK,CAAA,SAAA,CAAU,GAAKC,CAAAA,CAAAA,EAAYA,EAAQ,WAAY,EAAC,CAAC,EAC1E,CAEA,MAAa,WAAA,CAAYG,EAAsC,CAC7D,MAAM,QAAQ,GACZ,CAAA,IAAA,CAAK,SAAU,CAAA,GAAA,CAAKH,GAAYA,CAAQ,CAAA,WAAA,CAAYG,CAAO,CAAC,CAC9D,EACF,CAEA,MAAa,KAAA,EAAQ,CACnB,MAAM,OAAA,CAAQ,GAAI,CAAA,IAAA,CAAK,UAAU,GAAKH,CAAAA,CAAAA,EAAYA,CAAQ,CAAA,KAAA,EAAO,CAAC,EACpE,CACF,CAAA,KChCqBI,CAArB,CAAA,KAAoC,CAC1B,WAAA,EAAc,EAEtB,OAAc,SAAWF,CACzB,CAAA,OAAc,SAAWN,CAC3B","file":"index.cjs","sourcesContent":["import {\n IncomingQueueAdapter,\n IncomingQueueMessageListener,\n} from \"@mqueue/queue\";\n\ntype MulticastIncomingQueueFilter = (\n adapters: IncomingQueueAdapter[],\n) => IncomingQueueAdapter[];\n\nexport interface MulticastIncomingQueueOptions {\n filter?: MulticastIncomingQueueFilter;\n}\n\nexport default class MulticastIncomingQueue implements IncomingQueueAdapter {\n public type = \"multicast\";\n\n protected _filter: MulticastIncomingQueueFilter;\n\n constructor(\n protected _adapters: IncomingQueueAdapter[],\n options: MulticastIncomingQueueOptions = {},\n ) {\n this._filter = options.filter ?? ((adapters) => adapters);\n }\n\n public async healthcheck() {\n await Promise.all(this._adapters.map((adapter) => adapter.healthcheck()));\n }\n\n public async consume(callback: IncomingQueueMessageListener): Promise<void> {\n await Promise.all(\n this._filter(this._adapters).map((adapter) => adapter.consume(callback)),\n );\n }\n\n public async close() {\n await Promise.all(this._adapters.map((adapter) => adapter.close()));\n }\n}\n","import { OutgoingQueueAdapter, QueueMessage } from \"@mqueue/queue\";\n\ntype MulticastOutgoingQueueFilter = (\n adapters: OutgoingQueueAdapter[],\n) => OutgoingQueueAdapter[];\n\nexport interface MulticastOutgoingQueueOptions {\n filter?: MulticastOutgoingQueueFilter;\n}\n\nexport default class MulticastOutgoingQueue implements OutgoingQueueAdapter {\n public type = \"multicast\";\n\n protected _filter: MulticastOutgoingQueueFilter;\n\n constructor(\n protected _adapters: OutgoingQueueAdapter[],\n options: MulticastOutgoingQueueOptions = {},\n ) {\n this._filter = options.filter ?? ((adapters) => adapters);\n }\n\n public async healthcheck() {\n await Promise.all(this._adapters.map((adapter) => adapter.healthcheck()));\n }\n\n public async sendMessage(message: QueueMessage): Promise<void> {\n await Promise.all(\n this._adapters.map((adapter) => adapter.sendMessage(message)),\n );\n }\n\n public async close() {\n await Promise.all(this._adapters.map((adapter) => adapter.close()));\n }\n}\n","import MulticastIncomingQueue from \"./MulticastIncomingQueue.js\";\nimport MulticastOutgoingQueue from \"./MulticastOutgoingQueue.js\";\n\nexport default class MulticastQueue {\n private constructor() {}\n\n public static Outgoing = MulticastOutgoingQueue;\n public static Incoming = MulticastIncomingQueue;\n}\n"]} | ||
| {"version":3,"sources":["../src/MulticastIncomingQueue.ts","../src/MulticastOutgoingQueue.ts","../src/MulticastQueue.ts"],"names":["MulticastIncomingQueue","_adapters","options","adapters","adapter","callback","MulticastOutgoingQueue","message","MulticastQueue"],"mappings":"aAeA,IAAqBA,EAArB,KAGA,CAKE,WACYC,CAAAA,CAAAA,CACVC,EAA4C,EAAC,CAC7C,CAFU,IAAA,CAAA,SAAA,CAAAD,EAGV,IAAK,CAAA,OAAA,CAAUC,EAAQ,MAAYC,GAAAA,CAAAA,EAAaA,GAClD,CATO,IAAA,CAAO,WAEJ,CAAA,OAAA,CASV,MAAa,WAAc,EAAA,CACzB,MAAM,OAAA,CAAQ,IAAI,IAAK,CAAA,SAAA,CAAU,GAAKC,CAAAA,CAAAA,EAAYA,EAAQ,WAAY,EAAC,CAAC,EAC1E,CAEA,MAAa,OAAQC,CAAAA,CAAAA,CAAuD,CAC1E,MAAM,QAAQ,GACZ,CAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,CAAK,SAAS,CAAE,CAAA,GAAA,CAAKD,CAAYA,EAAAA,CAAAA,CAAQ,QAAQC,CAAQ,CAAC,CACzE,EACF,CAEA,MAAa,KAAQ,EAAA,CACnB,MAAM,OAAA,CAAQ,IAAI,IAAK,CAAA,SAAA,CAAU,GAAKD,CAAAA,CAAAA,EAAYA,EAAQ,KAAM,EAAC,CAAC,EACpE,CACF,EC/BA,IAAqBE,EAArB,KAGA,CAKE,YACYL,CACVC,CAAAA,CAAAA,CAA4C,EAAC,CAC7C,CAFU,IAAAD,CAAAA,SAAAA,CAAAA,CAAAA,CAGV,IAAK,CAAA,OAAA,CAAUC,EAAQ,MAAYC,GAAAA,CAAAA,EAAaA,CAClD,EAAA,CATO,KAAO,WAEJ,CAAA,OAAA,CASV,MAAa,WAAc,EAAA,CACzB,MAAM,OAAQ,CAAA,GAAA,CAAI,IAAK,CAAA,SAAA,CAAU,IAAKC,CAAYA,EAAAA,CAAAA,CAAQ,WAAY,EAAC,CAAC,EAC1E,CAEA,MAAa,WAAA,CAAYG,EAAsC,CAC7D,MAAM,QAAQ,GACZ,CAAA,IAAA,CAAK,QAAQ,IAAK,CAAA,SAAA,CAAWA,CAAO,CAAA,CAAE,IAAKH,CACzCA,EAAAA,CAAAA,CAAQ,WAAYG,CAAAA,CAAO,CAC7B,CACF,EACF,CAEA,MAAa,OAAQ,CACnB,MAAM,QAAQ,GAAI,CAAA,IAAA,CAAK,UAAU,GAAKH,CAAAA,CAAAA,EAAYA,CAAQ,CAAA,KAAA,EAAO,CAAC,EACpE,CACF,MCvCqBI,CAArB,CAAA,KAAoC,CAC1B,WAAA,EAAc,EAEtB,OAAc,SAAWF,CACzB,CAAA,OAAc,SAAWN,CAC3B","file":"index.cjs","sourcesContent":["import {\n IncomingQueueAdapter,\n IncomingQueueMessageListener,\n} from \"@mqueue/queue\";\n\ntype MulticastIncomingQueueFilter<\n T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]],\n> = (adapters: T) => IncomingQueueAdapter[];\n\nexport interface MulticastIncomingQueueOptions<\n T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]],\n> {\n filter?: MulticastIncomingQueueFilter<T>;\n}\n\nexport default class MulticastIncomingQueue<\n T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]],\n> implements IncomingQueueAdapter\n{\n public type = \"multicast\";\n\n protected _filter: MulticastIncomingQueueFilter<T>;\n\n constructor(\n protected _adapters: T,\n options: MulticastIncomingQueueOptions<T> = {},\n ) {\n this._filter = options.filter ?? ((adapters) => adapters);\n }\n\n public async healthcheck() {\n await Promise.all(this._adapters.map((adapter) => adapter.healthcheck()));\n }\n\n public async consume(callback: IncomingQueueMessageListener): Promise<void> {\n await Promise.all(\n this._filter(this._adapters).map((adapter) => adapter.consume(callback)),\n );\n }\n\n public async close() {\n await Promise.all(this._adapters.map((adapter) => adapter.close()));\n }\n}\n","import { OutgoingQueueAdapter, QueueMessage } from \"@mqueue/queue\";\n\ntype MulticastOutgoingQueueFilter<\n T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]],\n> = (adapters: T, message: QueueMessage) => OutgoingQueueAdapter[];\n\nexport interface MulticastOutgoingQueueOptions<\n T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]],\n> {\n filter?: MulticastOutgoingQueueFilter<T>;\n}\n\nexport default class MulticastOutgoingQueue<\n T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]],\n> implements OutgoingQueueAdapter\n{\n public type = \"multicast\";\n\n protected _filter: MulticastOutgoingQueueFilter<T>;\n\n constructor(\n protected _adapters: T,\n options: MulticastOutgoingQueueOptions<T> = {},\n ) {\n this._filter = options.filter ?? ((adapters) => adapters);\n }\n\n public async healthcheck() {\n await Promise.all(this._adapters.map((adapter) => adapter.healthcheck()));\n }\n\n public async sendMessage(message: QueueMessage): Promise<void> {\n await Promise.all(\n this._filter(this._adapters, message).map((adapter) =>\n adapter.sendMessage(message),\n ),\n );\n }\n\n public async close() {\n await Promise.all(this._adapters.map((adapter) => adapter.close()));\n }\n}\n","import MulticastIncomingQueue from \"./MulticastIncomingQueue.js\";\nimport MulticastOutgoingQueue from \"./MulticastOutgoingQueue.js\";\n\nexport default class MulticastQueue {\n private constructor() {}\n\n public static Outgoing = MulticastOutgoingQueue;\n public static Incoming = MulticastIncomingQueue;\n}\n"]} |
+15
-15
| import { IncomingQueueAdapter, IncomingQueueMessageListener, OutgoingQueueAdapter, QueueMessage } from '@mqueue/queue'; | ||
| type MulticastIncomingQueueFilter = (adapters: IncomingQueueAdapter[]) => IncomingQueueAdapter[]; | ||
| interface MulticastIncomingQueueOptions { | ||
| filter?: MulticastIncomingQueueFilter; | ||
| type MulticastIncomingQueueFilter<T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]]> = (adapters: T) => IncomingQueueAdapter[]; | ||
| interface MulticastIncomingQueueOptions<T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]]> { | ||
| filter?: MulticastIncomingQueueFilter<T>; | ||
| } | ||
| declare class MulticastIncomingQueue implements IncomingQueueAdapter { | ||
| protected _adapters: IncomingQueueAdapter[]; | ||
| declare class MulticastIncomingQueue<T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]]> implements IncomingQueueAdapter { | ||
| protected _adapters: T; | ||
| type: string; | ||
| protected _filter: MulticastIncomingQueueFilter; | ||
| constructor(_adapters: IncomingQueueAdapter[], options?: MulticastIncomingQueueOptions); | ||
| protected _filter: MulticastIncomingQueueFilter<T>; | ||
| constructor(_adapters: T, options?: MulticastIncomingQueueOptions<T>); | ||
| healthcheck(): Promise<void>; | ||
@@ -17,11 +17,11 @@ consume(callback: IncomingQueueMessageListener): Promise<void>; | ||
| type MulticastOutgoingQueueFilter = (adapters: OutgoingQueueAdapter[]) => OutgoingQueueAdapter[]; | ||
| interface MulticastOutgoingQueueOptions { | ||
| filter?: MulticastOutgoingQueueFilter; | ||
| type MulticastOutgoingQueueFilter<T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]]> = (adapters: T, message: QueueMessage) => OutgoingQueueAdapter[]; | ||
| interface MulticastOutgoingQueueOptions<T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]]> { | ||
| filter?: MulticastOutgoingQueueFilter<T>; | ||
| } | ||
| declare class MulticastOutgoingQueue implements OutgoingQueueAdapter { | ||
| protected _adapters: OutgoingQueueAdapter[]; | ||
| declare class MulticastOutgoingQueue<T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]]> implements OutgoingQueueAdapter { | ||
| protected _adapters: T; | ||
| type: string; | ||
| protected _filter: MulticastOutgoingQueueFilter; | ||
| constructor(_adapters: OutgoingQueueAdapter[], options?: MulticastOutgoingQueueOptions); | ||
| protected _filter: MulticastOutgoingQueueFilter<T>; | ||
| constructor(_adapters: T, options?: MulticastOutgoingQueueOptions<T>); | ||
| healthcheck(): Promise<void>; | ||
@@ -38,2 +38,2 @@ sendMessage(message: QueueMessage): Promise<void>; | ||
| export { MulticastQueue }; | ||
| export { MulticastIncomingQueue, MulticastOutgoingQueue, MulticastQueue }; |
+15
-15
| import { IncomingQueueAdapter, IncomingQueueMessageListener, OutgoingQueueAdapter, QueueMessage } from '@mqueue/queue'; | ||
| type MulticastIncomingQueueFilter = (adapters: IncomingQueueAdapter[]) => IncomingQueueAdapter[]; | ||
| interface MulticastIncomingQueueOptions { | ||
| filter?: MulticastIncomingQueueFilter; | ||
| type MulticastIncomingQueueFilter<T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]]> = (adapters: T) => IncomingQueueAdapter[]; | ||
| interface MulticastIncomingQueueOptions<T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]]> { | ||
| filter?: MulticastIncomingQueueFilter<T>; | ||
| } | ||
| declare class MulticastIncomingQueue implements IncomingQueueAdapter { | ||
| protected _adapters: IncomingQueueAdapter[]; | ||
| declare class MulticastIncomingQueue<T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]]> implements IncomingQueueAdapter { | ||
| protected _adapters: T; | ||
| type: string; | ||
| protected _filter: MulticastIncomingQueueFilter; | ||
| constructor(_adapters: IncomingQueueAdapter[], options?: MulticastIncomingQueueOptions); | ||
| protected _filter: MulticastIncomingQueueFilter<T>; | ||
| constructor(_adapters: T, options?: MulticastIncomingQueueOptions<T>); | ||
| healthcheck(): Promise<void>; | ||
@@ -17,11 +17,11 @@ consume(callback: IncomingQueueMessageListener): Promise<void>; | ||
| type MulticastOutgoingQueueFilter = (adapters: OutgoingQueueAdapter[]) => OutgoingQueueAdapter[]; | ||
| interface MulticastOutgoingQueueOptions { | ||
| filter?: MulticastOutgoingQueueFilter; | ||
| type MulticastOutgoingQueueFilter<T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]]> = (adapters: T, message: QueueMessage) => OutgoingQueueAdapter[]; | ||
| interface MulticastOutgoingQueueOptions<T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]]> { | ||
| filter?: MulticastOutgoingQueueFilter<T>; | ||
| } | ||
| declare class MulticastOutgoingQueue implements OutgoingQueueAdapter { | ||
| protected _adapters: OutgoingQueueAdapter[]; | ||
| declare class MulticastOutgoingQueue<T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]]> implements OutgoingQueueAdapter { | ||
| protected _adapters: T; | ||
| type: string; | ||
| protected _filter: MulticastOutgoingQueueFilter; | ||
| constructor(_adapters: OutgoingQueueAdapter[], options?: MulticastOutgoingQueueOptions); | ||
| protected _filter: MulticastOutgoingQueueFilter<T>; | ||
| constructor(_adapters: T, options?: MulticastOutgoingQueueOptions<T>); | ||
| healthcheck(): Promise<void>; | ||
@@ -38,2 +38,2 @@ sendMessage(message: QueueMessage): Promise<void>; | ||
| export { MulticastQueue }; | ||
| export { MulticastIncomingQueue, MulticastOutgoingQueue, MulticastQueue }; |
+1
-1
@@ -1,2 +0,2 @@ | ||
| var i=class{constructor(e,t={}){this._adapters=e;this._filter=t.filter??(s=>s);}type="multicast";_filter;async healthcheck(){await Promise.all(this._adapters.map(e=>e.healthcheck()));}async consume(e){await Promise.all(this._filter(this._adapters).map(t=>t.consume(e)));}async close(){await Promise.all(this._adapters.map(e=>e.close()));}};var a=class{constructor(e,t={}){this._adapters=e;this._filter=t.filter??(s=>s);}type="multicast";_filter;async healthcheck(){await Promise.all(this._adapters.map(e=>e.healthcheck()));}async sendMessage(e){await Promise.all(this._adapters.map(t=>t.sendMessage(e)));}async close(){await Promise.all(this._adapters.map(e=>e.close()));}};var u=class{constructor(){}static Outgoing=a;static Incoming=i};export{u as MulticastQueue};//# sourceMappingURL=index.js.map | ||
| var u=class{constructor(e,t={}){this._adapters=e;this._filter=t.filter??(s=>s);}type="multicast";_filter;async healthcheck(){await Promise.all(this._adapters.map(e=>e.healthcheck()));}async consume(e){await Promise.all(this._filter(this._adapters).map(t=>t.consume(e)));}async close(){await Promise.all(this._adapters.map(e=>e.close()));}};var i=class{constructor(e,t={}){this._adapters=e;this._filter=t.filter??(s=>s);}type="multicast";_filter;async healthcheck(){await Promise.all(this._adapters.map(e=>e.healthcheck()));}async sendMessage(e){await Promise.all(this._filter(this._adapters,e).map(t=>t.sendMessage(e)));}async close(){await Promise.all(this._adapters.map(e=>e.close()));}};var a=class{constructor(){}static Outgoing=i;static Incoming=u};export{u as MulticastIncomingQueue,i as MulticastOutgoingQueue,a as MulticastQueue};//# sourceMappingURL=index.js.map | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/MulticastIncomingQueue.ts","../src/MulticastOutgoingQueue.ts","../src/MulticastQueue.ts"],"names":["MulticastIncomingQueue","_adapters","options","adapters","adapter","callback","MulticastOutgoingQueue","message","MulticastQueue"],"mappings":"AAaA,IAAqBA,EAArB,KAA4E,CAK1E,WACYC,CAAAA,CAAAA,CACVC,EAAyC,EAAC,CAC1C,CAFU,IAAA,CAAA,SAAA,CAAAD,EAGV,IAAK,CAAA,OAAA,CAAUC,CAAQ,CAAA,MAAA,GAAYC,GAAaA,CAClD,EAAA,CATO,IAAO,CAAA,WAAA,CAEJ,QASV,MAAa,WAAA,EAAc,CACzB,MAAM,QAAQ,GAAI,CAAA,IAAA,CAAK,SAAU,CAAA,GAAA,CAAKC,GAAYA,CAAQ,CAAA,WAAA,EAAa,CAAC,EAC1E,CAEA,MAAa,OAAA,CAAQC,CAAuD,CAAA,CAC1E,MAAM,OAAQ,CAAA,GAAA,CACZ,IAAK,CAAA,OAAA,CAAQ,KAAK,SAAS,CAAA,CAAE,GAAKD,CAAAA,CAAAA,EAAYA,EAAQ,OAAQC,CAAAA,CAAQ,CAAC,CACzE,EACF,CAEA,MAAa,KAAQ,EAAA,CACnB,MAAM,OAAQ,CAAA,GAAA,CAAI,IAAK,CAAA,SAAA,CAAU,IAAKD,CAAYA,EAAAA,CAAAA,CAAQ,KAAM,EAAC,CAAC,EACpE,CACF,EC5BA,IAAqBE,CAAAA,CAArB,KAA4E,CAK1E,WAAA,CACYL,CACVC,CAAAA,CAAAA,CAAyC,EACzC,CAAA,CAFU,IAAAD,CAAAA,SAAAA,CAAAA,CAAAA,CAGV,KAAK,OAAUC,CAAAA,CAAAA,CAAQ,MAAYC,GAAAA,CAAAA,EAAaA,GAClD,CATO,IAAA,CAAO,WAEJ,CAAA,OAAA,CASV,MAAa,WAAc,EAAA,CACzB,MAAM,OAAA,CAAQ,IAAI,IAAK,CAAA,SAAA,CAAU,GAAKC,CAAAA,CAAAA,EAAYA,EAAQ,WAAY,EAAC,CAAC,EAC1E,CAEA,MAAa,WAAA,CAAYG,EAAsC,CAC7D,MAAM,QAAQ,GACZ,CAAA,IAAA,CAAK,SAAU,CAAA,GAAA,CAAKH,GAAYA,CAAQ,CAAA,WAAA,CAAYG,CAAO,CAAC,CAC9D,EACF,CAEA,MAAa,KAAA,EAAQ,CACnB,MAAM,OAAA,CAAQ,GAAI,CAAA,IAAA,CAAK,UAAU,GAAKH,CAAAA,CAAAA,EAAYA,CAAQ,CAAA,KAAA,EAAO,CAAC,EACpE,CACF,CAAA,KChCqBI,CAArB,CAAA,KAAoC,CAC1B,WAAA,EAAc,EAEtB,OAAc,SAAWF,CACzB,CAAA,OAAc,SAAWN,CAC3B","file":"index.js","sourcesContent":["import {\n IncomingQueueAdapter,\n IncomingQueueMessageListener,\n} from \"@mqueue/queue\";\n\ntype MulticastIncomingQueueFilter = (\n adapters: IncomingQueueAdapter[],\n) => IncomingQueueAdapter[];\n\nexport interface MulticastIncomingQueueOptions {\n filter?: MulticastIncomingQueueFilter;\n}\n\nexport default class MulticastIncomingQueue implements IncomingQueueAdapter {\n public type = \"multicast\";\n\n protected _filter: MulticastIncomingQueueFilter;\n\n constructor(\n protected _adapters: IncomingQueueAdapter[],\n options: MulticastIncomingQueueOptions = {},\n ) {\n this._filter = options.filter ?? ((adapters) => adapters);\n }\n\n public async healthcheck() {\n await Promise.all(this._adapters.map((adapter) => adapter.healthcheck()));\n }\n\n public async consume(callback: IncomingQueueMessageListener): Promise<void> {\n await Promise.all(\n this._filter(this._adapters).map((adapter) => adapter.consume(callback)),\n );\n }\n\n public async close() {\n await Promise.all(this._adapters.map((adapter) => adapter.close()));\n }\n}\n","import { OutgoingQueueAdapter, QueueMessage } from \"@mqueue/queue\";\n\ntype MulticastOutgoingQueueFilter = (\n adapters: OutgoingQueueAdapter[],\n) => OutgoingQueueAdapter[];\n\nexport interface MulticastOutgoingQueueOptions {\n filter?: MulticastOutgoingQueueFilter;\n}\n\nexport default class MulticastOutgoingQueue implements OutgoingQueueAdapter {\n public type = \"multicast\";\n\n protected _filter: MulticastOutgoingQueueFilter;\n\n constructor(\n protected _adapters: OutgoingQueueAdapter[],\n options: MulticastOutgoingQueueOptions = {},\n ) {\n this._filter = options.filter ?? ((adapters) => adapters);\n }\n\n public async healthcheck() {\n await Promise.all(this._adapters.map((adapter) => adapter.healthcheck()));\n }\n\n public async sendMessage(message: QueueMessage): Promise<void> {\n await Promise.all(\n this._adapters.map((adapter) => adapter.sendMessage(message)),\n );\n }\n\n public async close() {\n await Promise.all(this._adapters.map((adapter) => adapter.close()));\n }\n}\n","import MulticastIncomingQueue from \"./MulticastIncomingQueue.js\";\nimport MulticastOutgoingQueue from \"./MulticastOutgoingQueue.js\";\n\nexport default class MulticastQueue {\n private constructor() {}\n\n public static Outgoing = MulticastOutgoingQueue;\n public static Incoming = MulticastIncomingQueue;\n}\n"]} | ||
| {"version":3,"sources":["../src/MulticastIncomingQueue.ts","../src/MulticastOutgoingQueue.ts","../src/MulticastQueue.ts"],"names":["MulticastIncomingQueue","_adapters","options","adapters","adapter","callback","MulticastOutgoingQueue","message","MulticastQueue"],"mappings":"AAeA,IAAqBA,EAArB,KAGA,CAKE,WACYC,CAAAA,CAAAA,CACVC,EAA4C,EAAC,CAC7C,CAFU,IAAA,CAAA,SAAA,CAAAD,EAGV,IAAK,CAAA,OAAA,CAAUC,EAAQ,MAAYC,GAAAA,CAAAA,EAAaA,GAClD,CATO,IAAA,CAAO,WAEJ,CAAA,OAAA,CASV,MAAa,WAAc,EAAA,CACzB,MAAM,OAAA,CAAQ,IAAI,IAAK,CAAA,SAAA,CAAU,GAAKC,CAAAA,CAAAA,EAAYA,EAAQ,WAAY,EAAC,CAAC,EAC1E,CAEA,MAAa,OAAQC,CAAAA,CAAAA,CAAuD,CAC1E,MAAM,QAAQ,GACZ,CAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,CAAK,SAAS,CAAE,CAAA,GAAA,CAAKD,CAAYA,EAAAA,CAAAA,CAAQ,QAAQC,CAAQ,CAAC,CACzE,EACF,CAEA,MAAa,KAAQ,EAAA,CACnB,MAAM,OAAA,CAAQ,IAAI,IAAK,CAAA,SAAA,CAAU,GAAKD,CAAAA,CAAAA,EAAYA,EAAQ,KAAM,EAAC,CAAC,EACpE,CACF,EC/BA,IAAqBE,EAArB,KAGA,CAKE,YACYL,CACVC,CAAAA,CAAAA,CAA4C,EAAC,CAC7C,CAFU,IAAAD,CAAAA,SAAAA,CAAAA,CAAAA,CAGV,IAAK,CAAA,OAAA,CAAUC,EAAQ,MAAYC,GAAAA,CAAAA,EAAaA,CAClD,EAAA,CATO,KAAO,WAEJ,CAAA,OAAA,CASV,MAAa,WAAc,EAAA,CACzB,MAAM,OAAQ,CAAA,GAAA,CAAI,IAAK,CAAA,SAAA,CAAU,IAAKC,CAAYA,EAAAA,CAAAA,CAAQ,WAAY,EAAC,CAAC,EAC1E,CAEA,MAAa,WAAA,CAAYG,EAAsC,CAC7D,MAAM,QAAQ,GACZ,CAAA,IAAA,CAAK,QAAQ,IAAK,CAAA,SAAA,CAAWA,CAAO,CAAA,CAAE,IAAKH,CACzCA,EAAAA,CAAAA,CAAQ,WAAYG,CAAAA,CAAO,CAC7B,CACF,EACF,CAEA,MAAa,OAAQ,CACnB,MAAM,QAAQ,GAAI,CAAA,IAAA,CAAK,UAAU,GAAKH,CAAAA,CAAAA,EAAYA,CAAQ,CAAA,KAAA,EAAO,CAAC,EACpE,CACF,MCvCqBI,CAArB,CAAA,KAAoC,CAC1B,WAAA,EAAc,EAEtB,OAAc,SAAWF,CACzB,CAAA,OAAc,SAAWN,CAC3B","file":"index.js","sourcesContent":["import {\n IncomingQueueAdapter,\n IncomingQueueMessageListener,\n} from \"@mqueue/queue\";\n\ntype MulticastIncomingQueueFilter<\n T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]],\n> = (adapters: T) => IncomingQueueAdapter[];\n\nexport interface MulticastIncomingQueueOptions<\n T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]],\n> {\n filter?: MulticastIncomingQueueFilter<T>;\n}\n\nexport default class MulticastIncomingQueue<\n T extends [IncomingQueueAdapter, ...IncomingQueueAdapter[]],\n> implements IncomingQueueAdapter\n{\n public type = \"multicast\";\n\n protected _filter: MulticastIncomingQueueFilter<T>;\n\n constructor(\n protected _adapters: T,\n options: MulticastIncomingQueueOptions<T> = {},\n ) {\n this._filter = options.filter ?? ((adapters) => adapters);\n }\n\n public async healthcheck() {\n await Promise.all(this._adapters.map((adapter) => adapter.healthcheck()));\n }\n\n public async consume(callback: IncomingQueueMessageListener): Promise<void> {\n await Promise.all(\n this._filter(this._adapters).map((adapter) => adapter.consume(callback)),\n );\n }\n\n public async close() {\n await Promise.all(this._adapters.map((adapter) => adapter.close()));\n }\n}\n","import { OutgoingQueueAdapter, QueueMessage } from \"@mqueue/queue\";\n\ntype MulticastOutgoingQueueFilter<\n T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]],\n> = (adapters: T, message: QueueMessage) => OutgoingQueueAdapter[];\n\nexport interface MulticastOutgoingQueueOptions<\n T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]],\n> {\n filter?: MulticastOutgoingQueueFilter<T>;\n}\n\nexport default class MulticastOutgoingQueue<\n T extends [OutgoingQueueAdapter, ...OutgoingQueueAdapter[]],\n> implements OutgoingQueueAdapter\n{\n public type = \"multicast\";\n\n protected _filter: MulticastOutgoingQueueFilter<T>;\n\n constructor(\n protected _adapters: T,\n options: MulticastOutgoingQueueOptions<T> = {},\n ) {\n this._filter = options.filter ?? ((adapters) => adapters);\n }\n\n public async healthcheck() {\n await Promise.all(this._adapters.map((adapter) => adapter.healthcheck()));\n }\n\n public async sendMessage(message: QueueMessage): Promise<void> {\n await Promise.all(\n this._filter(this._adapters, message).map((adapter) =>\n adapter.sendMessage(message),\n ),\n );\n }\n\n public async close() {\n await Promise.all(this._adapters.map((adapter) => adapter.close()));\n }\n}\n","import MulticastIncomingQueue from \"./MulticastIncomingQueue.js\";\nimport MulticastOutgoingQueue from \"./MulticastOutgoingQueue.js\";\n\nexport default class MulticastQueue {\n private constructor() {}\n\n public static Outgoing = MulticastOutgoingQueue;\n public static Incoming = MulticastIncomingQueue;\n}\n"]} |
+5
-5
| { | ||
| "name": "@mqueue/multicast", | ||
| "version": "0.0.8", | ||
| "version": "0.0.9", | ||
| "type": "module", | ||
@@ -43,3 +43,3 @@ "description": "MQueue adapter for multi-backend publishing and subscribing", | ||
| "peerDependencies": { | ||
| "@mqueue/queue": "0.0.8" | ||
| "@mqueue/queue": "0.0.9" | ||
| }, | ||
@@ -52,4 +52,4 @@ "devDependencies": { | ||
| "typescript": "^5.8.3", | ||
| "@mqueue/queue": "0.0.8", | ||
| "@mqueue/null": "0.0.8" | ||
| "@mqueue/queue": "0.0.9", | ||
| "@mqueue/null": "0.0.9" | ||
| }, | ||
@@ -59,5 +59,5 @@ "scripts": { | ||
| "typecheck": "tsc --noEmit", | ||
| "test": "node --import tsx --test tests/**/*.test.ts tests/*.test.ts", | ||
| "test": "node --import tsx --test --test-reporter=spec tests/**/*.test.ts tests/*.test.ts", | ||
| "lint:publint": "publint" | ||
| } | ||
| } |
+5
-0
@@ -47,2 +47,7 @@ # Mulitcast Strategy for MQueue | ||
| // Or filter by message detail | ||
| cosnt filter = (adapters, message) => { | ||
| return message.headers.example === "something" ? adapter[0] : adapter; | ||
| }; | ||
| const outgoingQueue = new MQueue.Outgoing( | ||
@@ -49,0 +54,0 @@ new MulticastQueue.Outgoing([ |
18842
10.46%70
7.69%