@hg-ts/events 0.1.88 → 0.1.90

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/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@hg-ts/events",
3
- "version": "0.1.88",
3
+ "version": "0.1.90",
4
4
  "main": "dist/index.js",
5
5
  "exports": {
6
6
  ".": "./dist/index.js"
7
7
  },
8
8
  "repository": "git@gitlab.com:hyper-graph/framework.git",
9
9
  "scripts": {
10
- "prepack": "yarn build && yarn lint:ts",
10
+ "prepack": "yarn clear && yarn build && yarn lint:ts && yarn test",
11
+ "clear": "rm -rf dist",
11
12
  "build": "tsc",
12
13
  "build:dev": "tsc-watch",
13
14
  "lint:ts": "lint-ts",
@@ -16,10 +17,10 @@
16
17
  "test:dev": "yarn build:dev --onSuccess \"yarn test\""
17
18
  },
18
19
  "devDependencies": {
19
- "@hg-ts-config/typescript": "0.1.88",
20
- "@hg-ts/linter": "0.1.88",
21
- "@hg-ts/tests": "0.1.88",
22
- "@hg-ts/types": "0.1.88",
20
+ "@hg-ts-config/typescript": "0.1.90",
21
+ "@hg-ts/linter": "0.1.90",
22
+ "@hg-ts/tests": "0.1.90",
23
+ "@hg-ts/types": "0.1.90",
23
24
  "@types/node": "22.10.6",
24
25
  "eslint": "9.18.0",
25
26
  "reflect-metadata": "0.2.2",
@@ -1,8 +0,0 @@
1
- import { Suite } from '@hg-ts/tests';
2
- export declare class EventPublisherTestSuite extends Suite {
3
- private publisher;
4
- private eventListenerManager;
5
- addListener(): Promise<void>;
6
- beforeEach(): Promise<void>;
7
- }
8
- //# sourceMappingURL=event-listener-manager.test-suite.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-listener-manager.test-suite.d.ts","sourceRoot":"","sources":["../../src/tests/event-listener-manager.test-suite.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,EAAgB,MAAM,cAAc,CAAC;AAQ7D,qBACa,uBAAwB,SAAQ,KAAK;IACjD,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,oBAAoB,CAAuB;IAGtC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAgDnB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIjD"}
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventPublisherTestSuite = void 0;
4
- const tslib_1 = require("tslib");
5
- const tests_1 = require("@hg-ts/tests");
6
- const decorators_1 = require("../decorators");
7
- const event_handling_1 = require("../event-handling");
8
- const base_event_1 = require("../base.event");
9
- const empty_event_1 = require("../empty.event");
10
- let EventPublisherTestSuite = class EventPublisherTestSuite extends tests_1.Suite {
11
- publisher;
12
- eventListenerManager;
13
- async addListener() {
14
- class TestEvent extends base_event_1.BaseEvent {
15
- constructor() {
16
- super({ body: {} });
17
- }
18
- }
19
- class ExtendedEvent extends TestEvent {
20
- }
21
- class Listener {
22
- called = new Map();
23
- async empty(event) {
24
- this.check(event, empty_event_1.EmptyEvent);
25
- }
26
- async test(event) {
27
- this.check(event, TestEvent);
28
- }
29
- async extended(event) {
30
- this.check(event, ExtendedEvent);
31
- }
32
- check(event, ctor) {
33
- let count = this.called.get(ctor) ?? 0;
34
- (0, tests_1.expect)(event).toBeInstanceOf(ctor);
35
- count++;
36
- this.called.set(ctor, count);
37
- }
38
- }
39
- tslib_1.__decorate([
40
- (0, decorators_1.Listen)(empty_event_1.EmptyEvent),
41
- tslib_1.__metadata("design:type", Function),
42
- tslib_1.__metadata("design:paramtypes", [empty_event_1.EmptyEvent]),
43
- tslib_1.__metadata("design:returntype", Promise)
44
- ], Listener.prototype, "empty", null);
45
- tslib_1.__decorate([
46
- (0, decorators_1.Listen)(TestEvent),
47
- tslib_1.__metadata("design:type", Function),
48
- tslib_1.__metadata("design:paramtypes", [TestEvent]),
49
- tslib_1.__metadata("design:returntype", Promise)
50
- ], Listener.prototype, "test", null);
51
- tslib_1.__decorate([
52
- (0, decorators_1.Listen)(ExtendedEvent),
53
- tslib_1.__metadata("design:type", Function),
54
- tslib_1.__metadata("design:paramtypes", [ExtendedEvent]),
55
- tslib_1.__metadata("design:returntype", Promise)
56
- ], Listener.prototype, "extended", null);
57
- const listener = new Listener();
58
- this.eventListenerManager.addListener(listener);
59
- await this.publisher.publish(new empty_event_1.EmptyEvent());
60
- await this.publisher.publish(new TestEvent());
61
- await this.publisher.publish(new ExtendedEvent());
62
- (0, tests_1.expect)(listener.called.get(empty_event_1.EmptyEvent)).toBe(1);
63
- (0, tests_1.expect)(listener.called.get(TestEvent)).toBe(2);
64
- (0, tests_1.expect)(listener.called.get(ExtendedEvent)).toBe(1);
65
- tests_1.expect.assertions(7);
66
- }
67
- async beforeEach() {
68
- this.publisher = new event_handling_1.EventPublisher();
69
- this.eventListenerManager = new event_handling_1.EventListenerManager(this.publisher);
70
- }
71
- };
72
- exports.EventPublisherTestSuite = EventPublisherTestSuite;
73
- tslib_1.__decorate([
74
- (0, tests_1.Test)(),
75
- tslib_1.__metadata("design:type", Function),
76
- tslib_1.__metadata("design:paramtypes", []),
77
- tslib_1.__metadata("design:returntype", Promise)
78
- ], EventPublisherTestSuite.prototype, "addListener", null);
79
- exports.EventPublisherTestSuite = EventPublisherTestSuite = tslib_1.__decorate([
80
- (0, tests_1.Describe)()
81
- ], EventPublisherTestSuite);
82
- //# sourceMappingURL=event-listener-manager.test-suite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-listener-manager.test-suite.js","sourceRoot":"","sources":["../../src/tests/event-listener-manager.test-suite.ts"],"names":[],"mappings":";;;;AACA,wCAA6D;AAC7D,8CAAuC;AAEvC,sDAAyE;AAEzE,8CAA0C;AAC1C,gDAA4C;AAGrC,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,aAAK;IACzC,SAAS,CAAiB;IAC1B,oBAAoB,CAAuB;IAGtC,AAAN,KAAK,CAAC,WAAW;QACvB,MAAM,SAAU,SAAQ,sBAAa;YACpC;gBACC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrB,CAAC;SACD;QACD,MAAM,aAAc,SAAQ,SAAS;SAAG;QACxC,MAAM,QAAQ;YACN,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;YAGvC,AAAN,KAAK,CAAC,KAAK,CAAC,KAAiB;gBACnC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,wBAAU,CAAC,CAAC;YAC/B,CAAC;YAGY,AAAN,KAAK,CAAC,IAAI,CAAC,KAAgB;gBACjC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9B,CAAC;YAGY,AAAN,KAAK,CAAC,QAAQ,CAAC,KAAoB;gBACzC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAClC,CAAC;YAEO,KAAK,CAAC,KAAgB,EAAE,IAA6B;gBAC5D,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEvC,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACnC,KAAK,EAAE,CAAC;gBAER,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;SACD;QAtBa;YADZ,IAAA,mBAAM,EAAC,wBAAU,CAAC;;qDACO,wBAAU;;6CAEnC;QAGY;YADZ,IAAA,mBAAM,EAAC,SAAS,CAAC;;qDACO,SAAS;;4CAEjC;QAGY;YADZ,IAAA,mBAAM,EAAC,aAAa,CAAC;;qDACO,aAAa;;gDAEzC;QAWF,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEhC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEhD,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,wBAAU,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QAElD,IAAA,cAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,IAAA,cAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAA,cAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnD,cAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACe,KAAK,CAAC,UAAU;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,+BAAc,EAAE,CAAC;QACtC,IAAI,CAAC,oBAAoB,GAAG,IAAI,qCAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;CACD,CAAA;AAzDY,0DAAuB;AAKtB;IADZ,IAAA,YAAI,GAAE;;;;0DAgDN;kCApDW,uBAAuB;IADnC,IAAA,gBAAQ,GAAE;GACE,uBAAuB,CAyDnC"}
@@ -1,11 +0,0 @@
1
- import { Suite } from '@hg-ts/tests';
2
- export declare class EventPublisherTestSuite extends Suite {
3
- private publisher;
4
- publish(): Promise<void>;
5
- multipleListeners(): Promise<void>;
6
- multipleEvents(): Promise<void>;
7
- extendingEventsInherited(): Promise<void>;
8
- extendingEventsParent(): Promise<void>;
9
- beforeEach(): Promise<void>;
10
- }
11
- //# sourceMappingURL=event-publisher.test-suite.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-publisher.test-suite.d.ts","sourceRoot":"","sources":["../../src/tests/event-publisher.test-suite.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,EAAgB,MAAM,cAAc,CAAC;AAO7D,qBACa,uBAAwB,SAAQ,KAAK;IACjD,OAAO,CAAC,SAAS,CAAiB;IAGrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBlC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB/B,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BzC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjD"}
@@ -1,137 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventPublisherTestSuite = void 0;
4
- const tslib_1 = require("tslib");
5
- const tests_1 = require("@hg-ts/tests");
6
- const event_handling_1 = require("../event-handling");
7
- const base_event_1 = require("../base.event");
8
- const empty_event_1 = require("../empty.event");
9
- let EventPublisherTestSuite = class EventPublisherTestSuite extends tests_1.Suite {
10
- publisher;
11
- async publish() {
12
- const listener = async (event) => {
13
- (0, tests_1.expect)(event).toBeInstanceOf(empty_event_1.EmptyEvent);
14
- };
15
- this.publisher['addListener'](empty_event_1.EmptyEvent, listener);
16
- await this.publisher.publish(new empty_event_1.EmptyEvent());
17
- tests_1.expect.assertions(1);
18
- }
19
- async multipleListeners() {
20
- let callIndex = 1;
21
- const listener1 = async (event) => {
22
- (0, tests_1.expect)(event).toBeInstanceOf(empty_event_1.EmptyEvent);
23
- (0, tests_1.expect)(callIndex).toBe(1);
24
- callIndex++;
25
- };
26
- const listener2 = async (event) => {
27
- (0, tests_1.expect)(event).toBeInstanceOf(empty_event_1.EmptyEvent);
28
- (0, tests_1.expect)(callIndex).toBe(2);
29
- callIndex++;
30
- };
31
- this.publisher['addListener'](empty_event_1.EmptyEvent, listener1);
32
- this.publisher['addListener'](empty_event_1.EmptyEvent, listener2);
33
- await this.publisher.publish(new empty_event_1.EmptyEvent());
34
- tests_1.expect.assertions(4);
35
- }
36
- async multipleEvents() {
37
- class TestEvent extends base_event_1.BaseEvent {
38
- constructor() {
39
- super({ body: {} });
40
- }
41
- }
42
- const listener1 = async (event) => {
43
- (0, tests_1.expect)(event).toBeInstanceOf(empty_event_1.EmptyEvent);
44
- };
45
- const listener2 = async (event) => {
46
- (0, tests_1.expect)(event).toBeInstanceOf(TestEvent);
47
- };
48
- this.publisher['addListener'](empty_event_1.EmptyEvent, listener1);
49
- this.publisher['addListener'](TestEvent, listener2);
50
- await this.publisher.publish(new TestEvent());
51
- tests_1.expect.assertions(1);
52
- }
53
- async extendingEventsInherited() {
54
- class TestEvent extends base_event_1.BaseEvent {
55
- constructor() {
56
- super({ body: {} });
57
- }
58
- }
59
- class ExtendedEvent extends TestEvent {
60
- }
61
- const listener1 = async (event) => {
62
- (0, tests_1.expect)(event).toBeInstanceOf(empty_event_1.EmptyEvent);
63
- };
64
- const listener2 = async (event) => {
65
- (0, tests_1.expect)(event).toBeInstanceOf(TestEvent);
66
- };
67
- const listener3 = async (event) => {
68
- (0, tests_1.expect)(event).toBeInstanceOf(ExtendedEvent);
69
- };
70
- this.publisher['addListener'](empty_event_1.EmptyEvent, listener1);
71
- this.publisher['addListener'](TestEvent, listener2);
72
- this.publisher['addListener'](ExtendedEvent, listener3);
73
- await this.publisher.publish(new ExtendedEvent());
74
- tests_1.expect.assertions(2);
75
- }
76
- async extendingEventsParent() {
77
- class TestEvent extends base_event_1.BaseEvent {
78
- constructor() {
79
- super({ body: {} });
80
- }
81
- }
82
- class ExtendedEvent extends TestEvent {
83
- }
84
- const listener1 = async (event) => {
85
- (0, tests_1.expect)(event).toBeInstanceOf(empty_event_1.EmptyEvent);
86
- };
87
- const listener2 = async (event) => {
88
- (0, tests_1.expect)(event).toBeInstanceOf(TestEvent);
89
- };
90
- const listener3 = async (event) => {
91
- (0, tests_1.expect)(event).toBeInstanceOf(ExtendedEvent);
92
- };
93
- this.publisher['addListener'](empty_event_1.EmptyEvent, listener1);
94
- this.publisher['addListener'](TestEvent, listener2);
95
- this.publisher['addListener'](ExtendedEvent, listener3);
96
- await this.publisher.publish(new TestEvent());
97
- tests_1.expect.assertions(1);
98
- }
99
- async beforeEach() {
100
- this.publisher = new event_handling_1.EventPublisher();
101
- }
102
- };
103
- exports.EventPublisherTestSuite = EventPublisherTestSuite;
104
- tslib_1.__decorate([
105
- (0, tests_1.Test)(),
106
- tslib_1.__metadata("design:type", Function),
107
- tslib_1.__metadata("design:paramtypes", []),
108
- tslib_1.__metadata("design:returntype", Promise)
109
- ], EventPublisherTestSuite.prototype, "publish", null);
110
- tslib_1.__decorate([
111
- (0, tests_1.Test)(),
112
- tslib_1.__metadata("design:type", Function),
113
- tslib_1.__metadata("design:paramtypes", []),
114
- tslib_1.__metadata("design:returntype", Promise)
115
- ], EventPublisherTestSuite.prototype, "multipleListeners", null);
116
- tslib_1.__decorate([
117
- (0, tests_1.Test)(),
118
- tslib_1.__metadata("design:type", Function),
119
- tslib_1.__metadata("design:paramtypes", []),
120
- tslib_1.__metadata("design:returntype", Promise)
121
- ], EventPublisherTestSuite.prototype, "multipleEvents", null);
122
- tslib_1.__decorate([
123
- (0, tests_1.Test)(),
124
- tslib_1.__metadata("design:type", Function),
125
- tslib_1.__metadata("design:paramtypes", []),
126
- tslib_1.__metadata("design:returntype", Promise)
127
- ], EventPublisherTestSuite.prototype, "extendingEventsInherited", null);
128
- tslib_1.__decorate([
129
- (0, tests_1.Test)(),
130
- tslib_1.__metadata("design:type", Function),
131
- tslib_1.__metadata("design:paramtypes", []),
132
- tslib_1.__metadata("design:returntype", Promise)
133
- ], EventPublisherTestSuite.prototype, "extendingEventsParent", null);
134
- exports.EventPublisherTestSuite = EventPublisherTestSuite = tslib_1.__decorate([
135
- (0, tests_1.Describe)()
136
- ], EventPublisherTestSuite);
137
- //# sourceMappingURL=event-publisher.test-suite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-publisher.test-suite.js","sourceRoot":"","sources":["../../src/tests/event-publisher.test-suite.ts"],"names":[],"mappings":"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"}