@warlock.js/herald 4.0.103 → 4.0.104

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.
@@ -5,7 +5,8 @@
5
5
  * It's highly recommended using it instead of declaring manual channel namd and publishing data
6
6
  */
7
7
  import { type ObjectValidator } from "@warlock.js/seal";
8
- export declare abstract class EventMessage {
8
+ export declare abstract class EventMessage<TPayload = Record<string, any>> {
9
+ protected data?: TPayload;
9
10
  /**
10
11
  * Event Name
11
12
  */
@@ -29,12 +30,13 @@ export declare abstract class EventMessage {
29
30
  /**
30
31
  * Data that will be sent with the event (Payload)
31
32
  */
32
- abstract toJSON(): Record<string, any>;
33
+ toJSON(): TPayload;
34
+ constructor(data?: TPayload);
33
35
  /**
34
36
  * Serialize the event to be ready for publishing
35
37
  */
36
38
  serialize(): {
37
- payload: Record<string, any>;
39
+ payload: TPayload;
38
40
  metadata: Record<string, any>;
39
41
  messageId: string;
40
42
  eventName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"event-message.d.ts","sourceRoot":"","sources":["../../src/message-managers/event-message.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,8BAAsB,YAAY;IAChC;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEtC;;OAEG;IACI,SAAS,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACI,MAAM,CAAC,EAAE,eAAe,CAAC;IAEhC;;OAEG;aACa,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE7C;;OAEG;IACI,SAAS;;;;;;;;;CAWjB"}
1
+ {"version":3,"file":"event-message.d.ts","sourceRoot":"","sources":["../../src/message-managers/event-message.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,8BAAsB,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAiC5C,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ;IAhC5C;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEtC;;OAEG;IACI,SAAS,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACI,MAAM,CAAC,EAAE,eAAe,CAAC;IAEhC;;OAEG;IACI,MAAM,IAAI,QAAQ;gBAII,IAAI,CAAC,EAAE,QAAQ;IAE5C;;OAEG;IACI,SAAS;;;;;;;;;CAiBjB"}
@@ -1,4 +1,5 @@
1
1
  'use strict';var crypto=require('crypto');class EventMessage {
2
+ data;
2
3
  /**
3
4
  * Event version
4
5
  */
@@ -15,12 +16,25 @@
15
16
  * Schema of payload that will be used to determine whether this event should be published
16
17
  */
17
18
  schema;
19
+ /**
20
+ * Data that will be sent with the event (Payload)
21
+ */
22
+ toJSON() {
23
+ return this.data;
24
+ }
25
+ constructor(data) {
26
+ this.data = data;
27
+ }
18
28
  /**
19
29
  * Serialize the event to be ready for publishing
20
30
  */
21
31
  serialize() {
32
+ if (!this.data && !this.toJSON) {
33
+ throw new Error("No data or toJSON method provided");
34
+ }
35
+ const payload = this.toJSON();
22
36
  return {
23
- payload: this.toJSON(),
37
+ payload,
24
38
  metadata: this.metadata,
25
39
  messageId: this.messageId ?? crypto.randomUUID(),
26
40
  eventName: this.eventName,
@@ -1 +1 @@
1
- {"version":3,"file":"event-message.js","sources":["../../src/message-managers/event-message.ts"],"sourcesContent":[null],"names":["randomUUID"],"mappings":"gDASsB,YAAY,CAAA;AAMhC;;AAEG;AACI,IAAA,OAAO,CAAU;AAExB;;AAEG;AACI,IAAA,QAAQ,CAAuB;AAEtC;;AAEG;AACI,IAAA,SAAS,CAAU;AAE1B;;AAEG;AACI,IAAA,MAAM,CAAmB;AAOhC;;AAEG;IACI,SAAS,GAAA;QACd,OAAO;AACL,YAAA,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAIA,iBAAU,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,IAAI,EAAE;AACtB,YAAA,SAAS,EAAE,cAAc;SAC1B,CAAC;KACH;AACF"}
1
+ {"version":3,"file":"event-message.js","sources":["../../src/message-managers/event-message.ts"],"sourcesContent":[null],"names":["randomUUID"],"mappings":"gDASsB,YAAY,CAAA;AAiCH,IAAA,IAAA,CAAA;AA3B7B;;AAEG;AACI,IAAA,OAAO,CAAU;AAExB;;AAEG;AACI,IAAA,QAAQ,CAAuB;AAEtC;;AAEG;AACI,IAAA,SAAS,CAAU;AAE1B;;AAEG;AACI,IAAA,MAAM,CAAmB;AAEhC;;AAEG;IACI,MAAM,GAAA;QACX,OAAO,IAAI,CAAC,IAAgB,CAAC;KAC9B;AAED,IAAA,WAAA,CAA6B,IAAe,EAAA;QAAf,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAW;KAAI;AAEhD;;AAEG;IACI,SAAS,GAAA;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAC9B,YAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACtD,SAAA;AAED,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE9B,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAIA,iBAAU,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,IAAI,EAAE;AACtB,YAAA,SAAS,EAAE,cAAc;SAC1B,CAAC;KACH;AACF"}
@@ -5,7 +5,8 @@
5
5
  * It's highly recommended using it instead of declaring manual channel namd and publishing data
6
6
  */
7
7
  import { type ObjectValidator } from "@warlock.js/seal";
8
- export declare abstract class EventMessage {
8
+ export declare abstract class EventMessage<TPayload = Record<string, any>> {
9
+ protected data?: TPayload;
9
10
  /**
10
11
  * Event Name
11
12
  */
@@ -29,12 +30,13 @@ export declare abstract class EventMessage {
29
30
  /**
30
31
  * Data that will be sent with the event (Payload)
31
32
  */
32
- abstract toJSON(): Record<string, any>;
33
+ toJSON(): TPayload;
34
+ constructor(data?: TPayload);
33
35
  /**
34
36
  * Serialize the event to be ready for publishing
35
37
  */
36
38
  serialize(): {
37
- payload: Record<string, any>;
39
+ payload: TPayload;
38
40
  metadata: Record<string, any>;
39
41
  messageId: string;
40
42
  eventName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"event-message.d.ts","sourceRoot":"","sources":["../../src/message-managers/event-message.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,8BAAsB,YAAY;IAChC;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEtC;;OAEG;IACI,SAAS,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACI,MAAM,CAAC,EAAE,eAAe,CAAC;IAEhC;;OAEG;aACa,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE7C;;OAEG;IACI,SAAS;;;;;;;;;CAWjB"}
1
+ {"version":3,"file":"event-message.d.ts","sourceRoot":"","sources":["../../src/message-managers/event-message.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,8BAAsB,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAiC5C,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ;IAhC5C;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEtC;;OAEG;IACI,SAAS,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACI,MAAM,CAAC,EAAE,eAAe,CAAC;IAEhC;;OAEG;IACI,MAAM,IAAI,QAAQ;gBAII,IAAI,CAAC,EAAE,QAAQ;IAE5C;;OAEG;IACI,SAAS;;;;;;;;;CAiBjB"}
@@ -1,4 +1,5 @@
1
1
  import {randomUUID}from'crypto';class EventMessage {
2
+ data;
2
3
  /**
3
4
  * Event version
4
5
  */
@@ -15,12 +16,25 @@ import {randomUUID}from'crypto';class EventMessage {
15
16
  * Schema of payload that will be used to determine whether this event should be published
16
17
  */
17
18
  schema;
19
+ /**
20
+ * Data that will be sent with the event (Payload)
21
+ */
22
+ toJSON() {
23
+ return this.data;
24
+ }
25
+ constructor(data) {
26
+ this.data = data;
27
+ }
18
28
  /**
19
29
  * Serialize the event to be ready for publishing
20
30
  */
21
31
  serialize() {
32
+ if (!this.data && !this.toJSON) {
33
+ throw new Error("No data or toJSON method provided");
34
+ }
35
+ const payload = this.toJSON();
22
36
  return {
23
- payload: this.toJSON(),
37
+ payload,
24
38
  metadata: this.metadata,
25
39
  messageId: this.messageId ?? randomUUID(),
26
40
  eventName: this.eventName,
@@ -1 +1 @@
1
- {"version":3,"file":"event-message.js","sources":["../../src/message-managers/event-message.ts"],"sourcesContent":[null],"names":[],"mappings":"sCASsB,YAAY,CAAA;AAMhC;;AAEG;AACI,IAAA,OAAO,CAAU;AAExB;;AAEG;AACI,IAAA,QAAQ,CAAuB;AAEtC;;AAEG;AACI,IAAA,SAAS,CAAU;AAE1B;;AAEG;AACI,IAAA,MAAM,CAAmB;AAOhC;;AAEG;IACI,SAAS,GAAA;QACd,OAAO;AACL,YAAA,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,IAAI,EAAE;AACtB,YAAA,SAAS,EAAE,cAAc;SAC1B,CAAC;KACH;AACF"}
1
+ {"version":3,"file":"event-message.js","sources":["../../src/message-managers/event-message.ts"],"sourcesContent":[null],"names":[],"mappings":"sCASsB,YAAY,CAAA;AAiCH,IAAA,IAAA,CAAA;AA3B7B;;AAEG;AACI,IAAA,OAAO,CAAU;AAExB;;AAEG;AACI,IAAA,QAAQ,CAAuB;AAEtC;;AAEG;AACI,IAAA,SAAS,CAAU;AAE1B;;AAEG;AACI,IAAA,MAAM,CAAmB;AAEhC;;AAEG;IACI,MAAM,GAAA;QACX,OAAO,IAAI,CAAC,IAAgB,CAAC;KAC9B;AAED,IAAA,WAAA,CAA6B,IAAe,EAAA;QAAf,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAW;KAAI;AAEhD;;AAEG;IACI,SAAS,GAAA;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAC9B,YAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACtD,SAAA;AAED,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE9B,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,IAAI,EAAE;AACtB,YAAA,SAAS,EAAE,cAAc;SAC1B,CAAC;KACH;AACF"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@warlock.js/herald",
3
- "version": "4.0.103",
3
+ "version": "4.0.104",
4
4
  "description": "Message bus/communicators for RabbitMQ, Kafka, and more",
5
5
  "main": "./cjs/index.js",
6
6
  "dependencies": {
7
7
  "@mongez/copper": "^1.0.1",
8
8
  "@mongez/events": "^2.1.0",
9
9
  "@mongez/reinforcements": "^2.3.17",
10
- "@warlock.js/logger": "4.0.103",
11
- "@warlock.js/seal": "4.0.103"
10
+ "@warlock.js/logger": "4.0.104",
11
+ "@warlock.js/seal": "4.0.104"
12
12
  },
13
13
  "scripts": {
14
14
  "update": "npx ncu -u",