@hg-ts/events 0.7.12 → 0.7.14
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/dist/event-handling/base.event-transport.d.ts +1 -0
- package/dist/event-handling/base.event-transport.d.ts.map +1 -1
- package/dist/event-handling/base.event-transport.js.map +1 -1
- package/dist/event-handling/event-emitter.d.ts +1 -0
- package/dist/event-handling/event-emitter.d.ts.map +1 -1
- package/dist/event-handling/event-emitter.js +3 -0
- package/dist/event-handling/event-emitter.js.map +1 -1
- package/dist/event-handling/event-publisher.d.ts +1 -0
- package/dist/event-handling/event-publisher.d.ts.map +1 -1
- package/dist/event-handling/event-publisher.js +3 -0
- package/dist/event-handling/event-publisher.js.map +1 -1
- package/package.json +5 -5
- package/src/event-handling/base.event-transport.ts +1 -0
- package/src/event-handling/event-emitter.ts +4 -0
- package/src/event-handling/event-publisher.ts +4 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { BaseEvent } from '../base.event.js';
|
|
2
2
|
export declare abstract class BaseEventTransport {
|
|
3
|
+
abstract getEvents(): Class<BaseEvent>[];
|
|
3
4
|
abstract publish(event: BaseEvent | BaseEvent[]): Promise<void>;
|
|
4
5
|
}
|
|
5
6
|
//# sourceMappingURL=base.event-transport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.event-transport.d.ts","sourceRoot":"","sources":["../../src/event-handling/base.event-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,8BAAsB,kBAAkB;aACvB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACtE"}
|
|
1
|
+
{"version":3,"file":"base.event-transport.d.ts","sourceRoot":"","sources":["../../src/event-handling/base.event-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,8BAAsB,kBAAkB;aACvB,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;aAC/B,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.event-transport.js","sourceRoot":"","sources":["../../src/event-handling/base.event-transport.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,kBAAkB;
|
|
1
|
+
{"version":3,"file":"base.event-transport.js","sourceRoot":"","sources":["../../src/event-handling/base.event-transport.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,kBAAkB;CAGvC"}
|
|
@@ -4,5 +4,6 @@ export declare class EventEmitter {
|
|
|
4
4
|
private readonly transports;
|
|
5
5
|
constructor(eventPublisher: EventPublisher);
|
|
6
6
|
emit(event: BaseEvent | BaseEvent[]): Promise<void>;
|
|
7
|
+
getAllEvents(): Promise<Class<BaseEvent, any[]>[]>;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=event-emitter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../src/event-handling/event-emitter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qBACa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAE/B,cAAc,EAAE,cAAc;IAIpC,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../src/event-handling/event-emitter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qBACa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAE/B,cAAc,EAAE,cAAc;IAIpC,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;CAG/D"}
|
|
@@ -9,6 +9,9 @@ let EventEmitter = class EventEmitter {
|
|
|
9
9
|
async emit(event) {
|
|
10
10
|
await Promise.all(this.transports.map(async (transport) => transport.publish(event)));
|
|
11
11
|
}
|
|
12
|
+
async getAllEvents() {
|
|
13
|
+
return this.transports.flatMap(event => event.getEvents());
|
|
14
|
+
}
|
|
12
15
|
};
|
|
13
16
|
EventEmitter = __decorate([
|
|
14
17
|
Injectable(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../src/event-handling/event-emitter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG/C,IAAM,YAAY,GAAlB,MAAM,YAAY;IACP,UAAU,CAAuB;IAElD,YAAmB,cAA8B;QAChD,IAAI,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,KAA8B;QAC/C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;CACD,CAAA;
|
|
1
|
+
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../src/event-handling/event-emitter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG/C,IAAM,YAAY,GAAlB,MAAM,YAAY;IACP,UAAU,CAAuB;IAElD,YAAmB,cAA8B;QAChD,IAAI,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,KAA8B;QAC/C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IAEM,KAAK,CAAC,YAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;CACD,CAAA;AAdY,YAAY;IADxB,UAAU,EAAE;qCAIuB,cAAc;GAHrC,YAAY,CAcxB"}
|
|
@@ -3,6 +3,7 @@ import type { EventHandler } from '../decorators/index.js';
|
|
|
3
3
|
import type { BaseEventTransport } from './base.event-transport.js';
|
|
4
4
|
export declare class EventPublisher implements BaseEventTransport {
|
|
5
5
|
private readonly listeners;
|
|
6
|
+
getEvents(): Class<BaseEvent, any[]>[];
|
|
6
7
|
publish(event: BaseEvent | BaseEvent[]): Promise<void>;
|
|
7
8
|
protected publishOne(event: BaseEvent): Promise<void>;
|
|
8
9
|
protected addListener<Event extends BaseEvent>(eventCtor: Class<Event>, listener: EventHandler<Event>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-publisher.d.ts","sourceRoot":"","sources":["../../src/event-handling/event-publisher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,cAAe,YAAW,kBAAkB;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoD;
|
|
1
|
+
{"version":3,"file":"event-publisher.d.ts","sourceRoot":"","sources":["../../src/event-handling/event-publisher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,cAAe,YAAW,kBAAkB;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoD;IAEvE,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;IAIhC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;cAMnD,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,SAAS,CAAC,WAAW,CAAC,KAAK,SAAS,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI;IAQ5G,OAAO,CAAC,aAAa;CASrB"}
|
|
@@ -2,6 +2,9 @@ import assert from 'node:assert/strict';
|
|
|
2
2
|
import { BaseEvent } from '../base.event.js';
|
|
3
3
|
export class EventPublisher {
|
|
4
4
|
listeners = new Map();
|
|
5
|
+
getEvents() {
|
|
6
|
+
return [...this.listeners.keys()];
|
|
7
|
+
}
|
|
5
8
|
async publish(event) {
|
|
6
9
|
const events = Array.isArray(event) ? event : [event];
|
|
7
10
|
await Promise.all(events.map(async (event) => this.publishOne(event)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-publisher.js","sourceRoot":"","sources":["../../src/event-handling/event-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,MAAM,OAAO,cAAc;IACT,SAAS,GAA0C,IAAI,GAAG,EAAE,CAAC;IAEvE,KAAK,CAAC,OAAO,CAAC,KAA8B;QAClD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEtD,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,YAAY,SAAS,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE5C,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAES,WAAW,CAA0B,SAAuB,EAAE,QAA6B;QACpG,MAAM,SAAS,GAA0B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAE7E,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,SAA2B,CAAC,CAAC;IAC5D,CAAC;IAEO,aAAa,CAAC,KAAgB;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAE,CAAC,WAAW,CAAC;QAC5D,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhD,OAAO,YAAY;aACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,YAAY,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC;aACzE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACnD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"event-publisher.js","sourceRoot":"","sources":["../../src/event-handling/event-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,MAAM,OAAO,cAAc;IACT,SAAS,GAA0C,IAAI,GAAG,EAAE,CAAC;IAEvE,SAAS;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,KAA8B;QAClD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEtD,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,YAAY,SAAS,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE5C,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAES,WAAW,CAA0B,SAAuB,EAAE,QAA6B;QACpG,MAAM,SAAS,GAA0B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAE7E,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,SAA2B,CAAC,CAAC;IAC5D,CAAC;IAEO,aAAa,CAAC,KAAgB;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAE,CAAC,WAAW,CAAC;QAC5D,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhD,OAAO,YAAY;aACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,YAAY,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC;aACzE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACnD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;CACD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hg-ts/events",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.14",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"test:dev": "vitest watch"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@hg-ts-config/typescript": "0.7.
|
|
22
|
-
"@hg-ts/linter": "0.7.
|
|
23
|
-
"@hg-ts/tests": "0.7.
|
|
24
|
-
"@hg-ts/types": "0.7.
|
|
21
|
+
"@hg-ts-config/typescript": "0.7.14",
|
|
22
|
+
"@hg-ts/linter": "0.7.14",
|
|
23
|
+
"@hg-ts/tests": "0.7.14",
|
|
24
|
+
"@hg-ts/types": "0.7.14",
|
|
25
25
|
"@nestjs/common": "11.1.0",
|
|
26
26
|
"@nestjs/core": "11.1.0",
|
|
27
27
|
"@types/node": "22.19.1",
|
|
@@ -14,4 +14,8 @@ export class EventEmitter {
|
|
|
14
14
|
public async emit(event: BaseEvent | BaseEvent[]): Promise<void> {
|
|
15
15
|
await Promise.all(this.transports.map(async transport => transport.publish(event)));
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
public async getAllEvents(): Promise<Class<BaseEvent, any[]>[]> {
|
|
19
|
+
return this.transports.flatMap(event => event.getEvents());
|
|
20
|
+
}
|
|
17
21
|
}
|
|
@@ -7,6 +7,10 @@ import type { BaseEventTransport } from './base.event-transport.js';
|
|
|
7
7
|
export class EventPublisher implements BaseEventTransport {
|
|
8
8
|
private readonly listeners: Map<Class<BaseEvent>, EventHandler[]> = new Map();
|
|
9
9
|
|
|
10
|
+
public getEvents(): Class<BaseEvent, any[]>[] {
|
|
11
|
+
return [...this.listeners.keys()];
|
|
12
|
+
}
|
|
13
|
+
|
|
10
14
|
public async publish(event: BaseEvent | BaseEvent[]): Promise<void> {
|
|
11
15
|
const events = Array.isArray(event) ? event : [event];
|
|
12
16
|
|