@superhero/eventflow-spoke 4.5.0 → 4.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +1 -0
- package/manager/listeners.js +12 -9
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -213,6 +213,7 @@ export default class Spoke
|
|
|
213
213
|
|
|
214
214
|
async #onHubPublishMessage(_, domain, id, name, pid)
|
|
215
215
|
{
|
|
216
|
+
this.log.info`onHubPublishMessage ${domain} › ${id} › ${name} › ${pid}`
|
|
216
217
|
this.subscriptions[domain].emit(name, { domain, id, name, pid })
|
|
217
218
|
await this.db.updateEventPublishedToConsumedBySpoke(id, this.#spokeID)
|
|
218
219
|
&& this.consumers[domain].emit(name, { domain, id, name, pid })
|
package/manager/listeners.js
CHANGED
|
@@ -40,11 +40,12 @@ export default class ListenersManager
|
|
|
40
40
|
|
|
41
41
|
constructor()
|
|
42
42
|
{
|
|
43
|
-
|
|
43
|
+
const self = this
|
|
44
|
+
return new Proxy(self,
|
|
44
45
|
{
|
|
45
46
|
set: (_, domain, listener) =>
|
|
46
47
|
{
|
|
47
|
-
if(
|
|
48
|
+
if(self.#map.has(domain))
|
|
48
49
|
{
|
|
49
50
|
const error = new Error(`cannot overwrite an existing domain listener: ${domain}`)
|
|
50
51
|
error.code = 'E_EVENTFLOW_LISTENERS_DOMAIN_ALREADY_EXISTS'
|
|
@@ -53,7 +54,7 @@ export default class ListenersManager
|
|
|
53
54
|
|
|
54
55
|
if(listener instanceof Listener)
|
|
55
56
|
{
|
|
56
|
-
|
|
57
|
+
self.#map.set(domain, listener)
|
|
57
58
|
return true
|
|
58
59
|
}
|
|
59
60
|
else
|
|
@@ -63,12 +64,14 @@ export default class ListenersManager
|
|
|
63
64
|
throw error
|
|
64
65
|
}
|
|
65
66
|
},
|
|
66
|
-
deleteProperty : (_, domain) =>
|
|
67
|
-
has : (_, domain) =>
|
|
68
|
-
get : (target, domain) =>
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
deleteProperty : (_, domain) => self.#map.delete(domain),
|
|
68
|
+
has : (_, domain) => self.#map.has(domain),
|
|
69
|
+
get : (target, domain) => 'symbol' === typeof domain
|
|
70
|
+
? Reflect.get(target, domain)
|
|
71
|
+
: self.#map.get(domain)
|
|
72
|
+
?? ( domain in target
|
|
73
|
+
? target[domain]
|
|
74
|
+
: target.lazyload(domain))
|
|
72
75
|
})
|
|
73
76
|
}
|
|
74
77
|
|