@adviser/cement 0.5.18 → 0.5.19

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.
@@ -4,8 +4,14 @@ exports.TestWSPair = exports.TestWSConnection = void 0;
4
4
  const index_js_1 = require("./index.cjs");
5
5
  class TestWSConnection {
6
6
  #other;
7
- side;
8
7
  #onopen;
8
+ side;
9
+ #events = new Map();
10
+ transfers;
11
+ constructor(side, transfers) {
12
+ this.side = side;
13
+ this.transfers = transfers;
14
+ }
9
15
  get onopen() {
10
16
  return this.#onopen;
11
17
  }
@@ -22,10 +28,13 @@ class TestWSConnection {
22
28
  onclose = (_e) => {
23
29
  throw new Error("OnClose Method not implemented.");
24
30
  };
25
- transfers;
26
- constructor(side, transfers) {
27
- this.side = side;
28
- this.transfers = transfers;
31
+ removeEventListener(key, listener) {
32
+ this.#events.get(key)?.delete(listener);
33
+ }
34
+ addEventListener(key, listener) {
35
+ this.#events.set(key, (this.#events.get(key) ?? new Set()).add(listener));
36
+ }
37
+ accept() {
29
38
  }
30
39
  connect(other) {
31
40
  this.#other = other;
@@ -33,9 +42,13 @@ class TestWSConnection {
33
42
  send = (data) => {
34
43
  const uint8 = (0, index_js_1.to_uint8)(data);
35
44
  this.transfers?.push({ from: this.side, data: uint8 });
36
- this.#other.onmessage({
45
+ const msg = {
37
46
  data: uint8,
38
- });
47
+ };
48
+ this.#other.onmessage(msg);
49
+ this.#other.#events
50
+ .get("message")
51
+ ?.forEach((listener) => (typeof listener === "function" ? listener(msg) : listener.handleEvent(msg)));
39
52
  };
40
53
  }
41
54
  exports.TestWSConnection = TestWSConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.js","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":";;;AAAA,yCAAyD;AAQzD;IACE,MAAM,CAAwB;IACrB,IAAI,CAAS;IAEtB,OAAO,CAAc;IAErB,IAAI,MAAM,GAAe;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC;IAAA,CACrB;IACD,IAAI,MAAM,CAAC,EAAc,EAAE;QACzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,EAAE,EAAE,CAAC;IAAA,CACN;IACD,SAAS,GAAgB,CAAI,EAAmB,EAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAAA,CACtD,CAAC;IACF,OAAO,GAAc,CAAC,EAAS,EAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACpD,CAAC;IACF,OAAO,GAAc,CAAC,EAAc,EAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACpD,CAAC;IAEO,SAAS,CAAwC;IAE1D,YAAY,IAAY,EAAE,SAAgD,EAAE;QAC1E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAAA,CAC5B;IACD,OAAO,CAAC,KAA2B,EAAQ;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IAAA,CACrB;IAED,IAAI,GAAG,CAAC,IAAuB,EAAQ,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,KAAK;SAC2B,CAAC,CAAC;IAAA,CAC3C,CAAC;CACH;;AAED;IACW,IAAI,GAAyC,EAAE,CAAC;IACzC,EAAE,GAAyB,IAAI,gBAAgB,CAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,EAAE,GAAyB,IAAI,gBAAgB,CAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAErF,MAAM,CAAC,MAAM,GAAe;QAC1B,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IAAA,CACb;IAED,cAAsB;IAAC,CAEtB;CACF"}
1
+ {"version":3,"file":"test-ws-pair.js","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,10 @@ export type WebSocketSimple = Pick<WebSocket, "onerror" | "onmessage" | "onclose
3
3
  export type OnErrorFn = (e: Event) => void;
4
4
  export type OnMessageFn = <T = unknown>(e: MessageEvent<T>) => void;
5
5
  export type OnCloseFn = (e: CloseEvent) => void;
6
+ export type EventType = "message" | "error" | "close";
6
7
  export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
7
8
  #private;
8
9
  readonly side: string;
9
- get onopen(): () => void;
10
- set onopen(fn: () => void);
11
- onmessage: OnMessageFn;
12
- onerror: OnErrorFn;
13
- onclose: OnCloseFn;
14
10
  readonly transfers?: {
15
11
  from: string;
16
12
  data: Uint8Array;
@@ -19,6 +15,14 @@ export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> im
19
15
  from: string;
20
16
  data: Uint8Array;
21
17
  }[]);
18
+ get onopen(): () => void;
19
+ set onopen(fn: () => void);
20
+ onmessage: OnMessageFn;
21
+ onerror: OnErrorFn;
22
+ onclose: OnCloseFn;
23
+ removeEventListener(key: EventType, listener: EventListenerOrEventListenerObject): void;
24
+ addEventListener(key: EventType, listener: EventListenerOrEventListenerObject): void;
25
+ accept(): void;
22
26
  connect(other: TestWSConnection<WS>): void;
23
27
  send: (data: CoerceBinaryInput) => void;
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.d.ts","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAEvG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAEhD,qBAAa,gBAAgB,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS,CAAE,YAAW,eAAe;;IAE9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAItB,IAAI,MAAM,IAAI,MAAM,IAAI,CAEvB;IACD,IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,EAGxB;IACD,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAE1D,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGzE;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAEzC;IAED,IAAI,oCAMF;CACH;AAED,qBAAa,UAAU,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS;IAC5D,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IACrF,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IAErF,MAAM,CAAC,MAAM,IAAI,UAAU,CAK1B;IAED,OAAO,eAEN;CACF"}
1
+ {"version":3,"file":"test-ws-pair.d.ts","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAEvG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtD,qBAAa,gBAAgB,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS,CAAE,YAAW,eAAe;;IAG9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAE1D,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGzE;IAED,IAAI,MAAM,IAAI,MAAM,IAAI,CAEvB;IACD,IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,EAGxB;IACD,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CAEtF;IACD,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CAEnF;IAED,MAAM,IAAI,IAAI,CAEb;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAEzC;IACD,IAAI,oCAUF;CACH;AAED,qBAAa,UAAU,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS;IAC5D,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IACrF,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IAErF,MAAM,CAAC,MAAM,IAAI,UAAU,CAK1B;IACD,OAAO,eAEN;CACF"}
@@ -68,4 +68,27 @@ const test_ws_pair_js_1 = require("./test-ws-pair.cjs");
68
68
  (0, vitest_1.expect)(receivedByP2).toHaveLength(1);
69
69
  (0, vitest_1.expect)(receivedByP2[0]).toEqual(new Uint8Array([10, 20, 30]));
70
70
  });
71
+ (0, vitest_1.it)("ws pair addEventListener integration test", () => {
72
+ const { p1, p2 } = test_ws_pair_js_1.TestWSPair.create();
73
+ const msgFn = vitest_1.vi.fn();
74
+ const onMsgFn = vitest_1.vi.fn();
75
+ const closeFn = vitest_1.vi.fn();
76
+ const errorFn = vitest_1.vi.fn();
77
+ p1.addEventListener("message", msgFn);
78
+ p1.addEventListener("close", closeFn);
79
+ p1.addEventListener("error", errorFn);
80
+ p1.onmessage = onMsgFn;
81
+ p2.send(new Uint8Array([1, 2, 3]));
82
+ (0, vitest_1.expect)(msgFn).toHaveBeenCalledTimes(1);
83
+ (0, vitest_1.expect)(msgFn.mock.calls[0][0].data).toEqual(new Uint8Array([1, 2, 3]));
84
+ (0, vitest_1.expect)(onMsgFn.mock.calls[0][0].data).toEqual(new Uint8Array([1, 2, 3]));
85
+ (0, vitest_1.expect)(closeFn).toHaveBeenCalledTimes(0);
86
+ (0, vitest_1.expect)(errorFn).toHaveBeenCalledTimes(0);
87
+ p1.removeEventListener("message", msgFn);
88
+ p1.removeEventListener("close", closeFn);
89
+ p1.removeEventListener("error", errorFn);
90
+ p2.send(new Uint8Array([1, 2, 3]));
91
+ (0, vitest_1.expect)(msgFn).toHaveBeenCalledTimes(1);
92
+ (0, vitest_1.expect)(onMsgFn).toHaveBeenCalledTimes(2);
93
+ });
71
94
  //# sourceMappingURL=test-ws-pair.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.test.js","sourceRoot":"","sources":["../../../src/test-ws-pair.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-ws-pair.test.js","sourceRoot":"","sources":["../../../src/test-ws-pair.test.ts"],"names":[],"mappings":"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"}
package/cjs/version.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = "0.5.18";
4
+ exports.VERSION = "0.5.19";
5
5
  //# sourceMappingURL=version.js.map
package/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adviser/cement",
3
- "version": "0.5.18",
3
+ "version": "0.5.19",
4
4
  "license": "AFL-2.0",
5
5
  "exports": {
6
6
  ".": "./src/index.ts",
@@ -3,14 +3,10 @@ export type WebSocketSimple = Pick<WebSocket, "onerror" | "onmessage" | "onclose
3
3
  export type OnErrorFn = (e: Event) => void;
4
4
  export type OnMessageFn = <T = unknown>(e: MessageEvent<T>) => void;
5
5
  export type OnCloseFn = (e: CloseEvent) => void;
6
+ export type EventType = "message" | "error" | "close";
6
7
  export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
7
8
  #private;
8
9
  readonly side: string;
9
- get onopen(): () => void;
10
- set onopen(fn: () => void);
11
- onmessage: OnMessageFn;
12
- onerror: OnErrorFn;
13
- onclose: OnCloseFn;
14
10
  readonly transfers?: {
15
11
  from: string;
16
12
  data: Uint8Array;
@@ -19,6 +15,14 @@ export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> im
19
15
  from: string;
20
16
  data: Uint8Array;
21
17
  }[]);
18
+ get onopen(): () => void;
19
+ set onopen(fn: () => void);
20
+ onmessage: OnMessageFn;
21
+ onerror: OnErrorFn;
22
+ onclose: OnCloseFn;
23
+ removeEventListener(key: EventType, listener: EventListenerOrEventListenerObject): void;
24
+ addEventListener(key: EventType, listener: EventListenerOrEventListenerObject): void;
25
+ accept(): void;
22
26
  connect(other: TestWSConnection<WS>): void;
23
27
  send: (data: CoerceBinaryInput) => void;
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.d.ts","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAEvG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAEhD,qBAAa,gBAAgB,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS,CAAE,YAAW,eAAe;;IAE9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAItB,IAAI,MAAM,IAAI,MAAM,IAAI,CAEvB;IACD,IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,EAGxB;IACD,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAE1D,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGzE;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAEzC;IAED,IAAI,oCAMF;CACH;AAED,qBAAa,UAAU,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS;IAC5D,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IACrF,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IAErF,MAAM,CAAC,MAAM,IAAI,UAAU,CAK1B;IAED,OAAO,eAEN;CACF"}
1
+ {"version":3,"file":"test-ws-pair.d.ts","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAEvG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtD,qBAAa,gBAAgB,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS,CAAE,YAAW,eAAe;;IAG9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAE1D,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGzE;IAED,IAAI,MAAM,IAAI,MAAM,IAAI,CAEvB;IACD,IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,EAGxB;IACD,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CAEtF;IACD,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CAEnF;IAED,MAAM,IAAI,IAAI,CAEb;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAEzC;IACD,IAAI,oCAUF;CACH;AAED,qBAAa,UAAU,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS;IAC5D,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IACrF,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IAErF,MAAM,CAAC,MAAM,IAAI,UAAU,CAK1B;IACD,OAAO,eAEN;CACF"}
@@ -1,8 +1,14 @@
1
1
  import { to_uint8 } from "./index.js";
2
2
  export class TestWSConnection {
3
3
  #other;
4
- side;
5
4
  #onopen;
5
+ side;
6
+ #events = new Map();
7
+ transfers;
8
+ constructor(side, transfers) {
9
+ this.side = side;
10
+ this.transfers = transfers;
11
+ }
6
12
  get onopen() {
7
13
  return this.#onopen;
8
14
  }
@@ -19,10 +25,13 @@ export class TestWSConnection {
19
25
  onclose = (_e) => {
20
26
  throw new Error("OnClose Method not implemented.");
21
27
  };
22
- transfers;
23
- constructor(side, transfers) {
24
- this.side = side;
25
- this.transfers = transfers;
28
+ removeEventListener(key, listener) {
29
+ this.#events.get(key)?.delete(listener);
30
+ }
31
+ addEventListener(key, listener) {
32
+ this.#events.set(key, (this.#events.get(key) ?? new Set()).add(listener));
33
+ }
34
+ accept() {
26
35
  }
27
36
  connect(other) {
28
37
  this.#other = other;
@@ -30,9 +39,13 @@ export class TestWSConnection {
30
39
  send = (data) => {
31
40
  const uint8 = to_uint8(data);
32
41
  this.transfers?.push({ from: this.side, data: uint8 });
33
- this.#other.onmessage({
42
+ const msg = {
34
43
  data: uint8,
35
- });
44
+ };
45
+ this.#other.onmessage(msg);
46
+ this.#other.#events
47
+ .get("message")
48
+ ?.forEach((listener) => (typeof listener === "function" ? listener(msg) : listener.handleEvent(msg)));
36
49
  };
37
50
  }
38
51
  export class TestWSPair {
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.js","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQzD,MAAM,OAAO,gBAAgB;IAC3B,MAAM,CAAwB;IACrB,IAAI,CAAS;IAEtB,OAAO,CAAc;IAErB,IAAI,MAAM,GAAe;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC;IAAA,CACrB;IACD,IAAI,MAAM,CAAC,EAAc,EAAE;QACzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,EAAE,EAAE,CAAC;IAAA,CACN;IACD,SAAS,GAAgB,CAAI,EAAmB,EAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAAA,CACtD,CAAC;IACF,OAAO,GAAc,CAAC,EAAS,EAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACpD,CAAC;IACF,OAAO,GAAc,CAAC,EAAc,EAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACpD,CAAC;IAEO,SAAS,CAAwC;IAE1D,YAAY,IAAY,EAAE,SAAgD,EAAE;QAC1E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAAA,CAC5B;IACD,OAAO,CAAC,KAA2B,EAAQ;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IAAA,CACrB;IAED,IAAI,GAAG,CAAC,IAAuB,EAAQ,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,KAAK;SAC2B,CAAC,CAAC;IAAA,CAC3C,CAAC;CACH;AAED,MAAM,OAAO,UAAU;IACZ,IAAI,GAAyC,EAAE,CAAC;IACzC,EAAE,GAAyB,IAAI,gBAAgB,CAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,EAAE,GAAyB,IAAI,gBAAgB,CAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAErF,MAAM,CAAC,MAAM,GAAe;QAC1B,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IAAA,CACb;IAED,cAAsB;IAAC,CAEtB;CACF"}
1
+ {"version":3,"file":"test-ws-pair.js","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"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"}
@@ -66,4 +66,27 @@ it("should work when send method is passed without bind", () => {
66
66
  expect(receivedByP2).toHaveLength(1);
67
67
  expect(receivedByP2[0]).toEqual(new Uint8Array([10, 20, 30]));
68
68
  });
69
+ it("ws pair addEventListener integration test", () => {
70
+ const { p1, p2 } = TestWSPair.create();
71
+ const msgFn = vi.fn();
72
+ const onMsgFn = vi.fn();
73
+ const closeFn = vi.fn();
74
+ const errorFn = vi.fn();
75
+ p1.addEventListener("message", msgFn);
76
+ p1.addEventListener("close", closeFn);
77
+ p1.addEventListener("error", errorFn);
78
+ p1.onmessage = onMsgFn;
79
+ p2.send(new Uint8Array([1, 2, 3]));
80
+ expect(msgFn).toHaveBeenCalledTimes(1);
81
+ expect(msgFn.mock.calls[0][0].data).toEqual(new Uint8Array([1, 2, 3]));
82
+ expect(onMsgFn.mock.calls[0][0].data).toEqual(new Uint8Array([1, 2, 3]));
83
+ expect(closeFn).toHaveBeenCalledTimes(0);
84
+ expect(errorFn).toHaveBeenCalledTimes(0);
85
+ p1.removeEventListener("message", msgFn);
86
+ p1.removeEventListener("close", closeFn);
87
+ p1.removeEventListener("error", errorFn);
88
+ p2.send(new Uint8Array([1, 2, 3]));
89
+ expect(msgFn).toHaveBeenCalledTimes(1);
90
+ expect(onMsgFn).toHaveBeenCalledTimes(2);
91
+ });
69
92
  //# sourceMappingURL=test-ws-pair.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.test.js","sourceRoot":"","sources":["../../../src/test-ws-pair.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-ws-pair.test.js","sourceRoot":"","sources":["../../../src/test-ws-pair.test.ts"],"names":[],"mappings":"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"}
package/esm/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.5.18";
1
+ export const VERSION = "0.5.19";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adviser/cement",
3
- "version": "0.5.18",
3
+ "version": "0.5.19",
4
4
  "description": "better try/catch/finally handling",
5
5
  "main": "./cjs/index.js",
6
6
  "type": "module",
@@ -82,7 +82,7 @@
82
82
  "@types/ws": "^8.18.1",
83
83
  "@typescript-eslint/eslint-plugin": "^8.46.3",
84
84
  "@typescript-eslint/parser": "^8.46.3",
85
- "@typescript/native-preview": "7.0.0-dev.20260119.1",
85
+ "@typescript/native-preview": "7.0.0-dev.20260126.1",
86
86
  "@vitest/browser": "^3.2.4",
87
87
  "@vitest/runner": "^3.2.4",
88
88
  "cmd-ts": "^0.14.1",
@@ -6,11 +6,22 @@ export type OnErrorFn = (e: Event) => void;
6
6
  export type OnMessageFn = <T = unknown>(e: MessageEvent<T>) => void;
7
7
  export type OnCloseFn = (e: CloseEvent) => void;
8
8
 
9
+ export type EventType = "message" | "error" | "close";
10
+
9
11
  export class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
10
12
  #other!: TestWSConnection<WS>;
13
+ #onopen!: () => void;
11
14
  readonly side: string;
15
+ readonly #events: Map<EventType, Set<EventListenerOrEventListenerObject>> = new Map<
16
+ EventType,
17
+ Set<EventListenerOrEventListenerObject>
18
+ >();
19
+ readonly transfers?: { from: string; data: Uint8Array }[];
12
20
 
13
- #onopen!: () => void;
21
+ constructor(side: string, transfers?: { from: string; data: Uint8Array }[]) {
22
+ this.side = side;
23
+ this.transfers = transfers;
24
+ }
14
25
 
15
26
  get onopen(): () => void {
16
27
  return this.#onopen;
@@ -29,22 +40,29 @@ export class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements
29
40
  throw new Error("OnClose Method not implemented.");
30
41
  };
31
42
 
32
- readonly transfers?: { from: string; data: Uint8Array }[];
43
+ removeEventListener(key: EventType, listener: EventListenerOrEventListenerObject): void {
44
+ this.#events.get(key)?.delete(listener);
45
+ }
46
+ addEventListener(key: EventType, listener: EventListenerOrEventListenerObject): void {
47
+ this.#events.set(key, (this.#events.get(key) ?? new Set()).add(listener));
48
+ }
33
49
 
34
- constructor(side: string, transfers?: { from: string; data: Uint8Array }[]) {
35
- this.side = side;
36
- this.transfers = transfers;
50
+ accept(): void {
51
+ // no-op for testing
37
52
  }
38
53
  connect(other: TestWSConnection<WS>): void {
39
54
  this.#other = other;
40
55
  }
41
-
42
56
  send = (data: CoerceBinaryInput): void => {
43
57
  const uint8 = to_uint8(data);
44
58
  this.transfers?.push({ from: this.side, data: uint8 });
45
- this.#other.onmessage({
59
+ const msg = {
46
60
  data: uint8,
47
- } as unknown as MessageEvent<Uint8Array>);
61
+ } as unknown as MessageEvent<Uint8Array>;
62
+ this.#other.onmessage(msg);
63
+ this.#other.#events
64
+ .get("message")
65
+ ?.forEach((listener) => (typeof listener === "function" ? listener(msg) : listener.handleEvent(msg)));
48
66
  };
49
67
  }
50
68
 
@@ -59,7 +77,6 @@ export class TestWSPair<WS extends WebSocketSimple = WebSocket> {
59
77
  pair.p2.connect(pair.p1);
60
78
  return pair;
61
79
  }
62
-
63
80
  private constructor() {
64
81
  /* empty */
65
82
  }
@@ -3,14 +3,10 @@ export type WebSocketSimple = Pick<WebSocket, "onerror" | "onmessage" | "onclose
3
3
  export type OnErrorFn = (e: Event) => void;
4
4
  export type OnMessageFn = <T = unknown>(e: MessageEvent<T>) => void;
5
5
  export type OnCloseFn = (e: CloseEvent) => void;
6
+ export type EventType = "message" | "error" | "close";
6
7
  export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
7
8
  #private;
8
9
  readonly side: string;
9
- get onopen(): () => void;
10
- set onopen(fn: () => void);
11
- onmessage: OnMessageFn;
12
- onerror: OnErrorFn;
13
- onclose: OnCloseFn;
14
10
  readonly transfers?: {
15
11
  from: string;
16
12
  data: Uint8Array;
@@ -19,6 +15,14 @@ export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> im
19
15
  from: string;
20
16
  data: Uint8Array;
21
17
  }[]);
18
+ get onopen(): () => void;
19
+ set onopen(fn: () => void);
20
+ onmessage: OnMessageFn;
21
+ onerror: OnErrorFn;
22
+ onclose: OnCloseFn;
23
+ removeEventListener(key: EventType, listener: EventListenerOrEventListenerObject): void;
24
+ addEventListener(key: EventType, listener: EventListenerOrEventListenerObject): void;
25
+ accept(): void;
22
26
  connect(other: TestWSConnection<WS>): void;
23
27
  send: (data: CoerceBinaryInput) => void;
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.d.ts","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAEvG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAEhD,qBAAa,gBAAgB,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS,CAAE,YAAW,eAAe;;IAE9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAItB,IAAI,MAAM,IAAI,MAAM,IAAI,CAEvB;IACD,IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,EAGxB;IACD,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAE1D,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGzE;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAEzC;IAED,IAAI,oCAMF;CACH;AAED,qBAAa,UAAU,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS;IAC5D,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IACrF,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IAErF,MAAM,CAAC,MAAM,IAAI,UAAU,CAK1B;IAED,OAAO,eAEN;CACF"}
1
+ {"version":3,"file":"test-ws-pair.d.ts","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAEvG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtD,qBAAa,gBAAgB,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS,CAAE,YAAW,eAAe;;IAG9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAE1D,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGzE;IAED,IAAI,MAAM,IAAI,MAAM,IAAI,CAEvB;IACD,IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,EAGxB;IACD,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CAEtF;IACD,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CAEnF;IAED,MAAM,IAAI,IAAI,CAEb;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAEzC;IACD,IAAI,oCAUF;CACH;AAED,qBAAa,UAAU,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS;IAC5D,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IACrF,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IAErF,MAAM,CAAC,MAAM,IAAI,UAAU,CAK1B;IACD,OAAO,eAEN;CACF"}
@@ -4,8 +4,14 @@ exports.TestWSPair = exports.TestWSConnection = void 0;
4
4
  const index_js_1 = require("./index.js");
5
5
  class TestWSConnection {
6
6
  #other;
7
- side;
8
7
  #onopen;
8
+ side;
9
+ #events = new Map();
10
+ transfers;
11
+ constructor(side, transfers) {
12
+ this.side = side;
13
+ this.transfers = transfers;
14
+ }
9
15
  get onopen() {
10
16
  return this.#onopen;
11
17
  }
@@ -22,10 +28,13 @@ class TestWSConnection {
22
28
  onclose = (_e) => {
23
29
  throw new Error("OnClose Method not implemented.");
24
30
  };
25
- transfers;
26
- constructor(side, transfers) {
27
- this.side = side;
28
- this.transfers = transfers;
31
+ removeEventListener(key, listener) {
32
+ this.#events.get(key)?.delete(listener);
33
+ }
34
+ addEventListener(key, listener) {
35
+ this.#events.set(key, (this.#events.get(key) ?? new Set()).add(listener));
36
+ }
37
+ accept() {
29
38
  }
30
39
  connect(other) {
31
40
  this.#other = other;
@@ -33,9 +42,13 @@ class TestWSConnection {
33
42
  send = (data) => {
34
43
  const uint8 = (0, index_js_1.to_uint8)(data);
35
44
  this.transfers?.push({ from: this.side, data: uint8 });
36
- this.#other.onmessage({
45
+ const msg = {
37
46
  data: uint8,
38
- });
47
+ };
48
+ this.#other.onmessage(msg);
49
+ this.#other.#events
50
+ .get("message")
51
+ ?.forEach((listener) => (typeof listener === "function" ? listener(msg) : listener.handleEvent(msg)));
39
52
  };
40
53
  }
41
54
  exports.TestWSConnection = TestWSConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.js","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":";;;AAAA,yCAAyD;AAQzD;IACE,MAAM,CAAwB;IACrB,IAAI,CAAS;IAEtB,OAAO,CAAc;IAErB,IAAI,MAAM,GAAe;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC;IAAA,CACrB;IACD,IAAI,MAAM,CAAC,EAAc,EAAE;QACzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,EAAE,EAAE,CAAC;IAAA,CACN;IACD,SAAS,GAAgB,CAAI,EAAmB,EAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAAA,CACtD,CAAC;IACF,OAAO,GAAc,CAAC,EAAS,EAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACpD,CAAC;IACF,OAAO,GAAc,CAAC,EAAc,EAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACpD,CAAC;IAEO,SAAS,CAAwC;IAE1D,YAAY,IAAY,EAAE,SAAgD,EAAE;QAC1E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAAA,CAC5B;IACD,OAAO,CAAC,KAA2B,EAAQ;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IAAA,CACrB;IAED,IAAI,GAAG,CAAC,IAAuB,EAAQ,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,KAAK;SAC2B,CAAC,CAAC;IAAA,CAC3C,CAAC;CACH;;AAED;IACW,IAAI,GAAyC,EAAE,CAAC;IACzC,EAAE,GAAyB,IAAI,gBAAgB,CAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,EAAE,GAAyB,IAAI,gBAAgB,CAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAErF,MAAM,CAAC,MAAM,GAAe;QAC1B,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IAAA,CACb;IAED,cAAsB;IAAC,CAEtB;CACF"}
1
+ {"version":3,"file":"test-ws-pair.js","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"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"}
@@ -68,4 +68,27 @@ const test_ws_pair_js_1 = require("./test-ws-pair.js");
68
68
  (0, vitest_1.expect)(receivedByP2).toHaveLength(1);
69
69
  (0, vitest_1.expect)(receivedByP2[0]).toEqual(new Uint8Array([10, 20, 30]));
70
70
  });
71
+ (0, vitest_1.it)("ws pair addEventListener integration test", () => {
72
+ const { p1, p2 } = test_ws_pair_js_1.TestWSPair.create();
73
+ const msgFn = vitest_1.vi.fn();
74
+ const onMsgFn = vitest_1.vi.fn();
75
+ const closeFn = vitest_1.vi.fn();
76
+ const errorFn = vitest_1.vi.fn();
77
+ p1.addEventListener("message", msgFn);
78
+ p1.addEventListener("close", closeFn);
79
+ p1.addEventListener("error", errorFn);
80
+ p1.onmessage = onMsgFn;
81
+ p2.send(new Uint8Array([1, 2, 3]));
82
+ (0, vitest_1.expect)(msgFn).toHaveBeenCalledTimes(1);
83
+ (0, vitest_1.expect)(msgFn.mock.calls[0][0].data).toEqual(new Uint8Array([1, 2, 3]));
84
+ (0, vitest_1.expect)(onMsgFn.mock.calls[0][0].data).toEqual(new Uint8Array([1, 2, 3]));
85
+ (0, vitest_1.expect)(closeFn).toHaveBeenCalledTimes(0);
86
+ (0, vitest_1.expect)(errorFn).toHaveBeenCalledTimes(0);
87
+ p1.removeEventListener("message", msgFn);
88
+ p1.removeEventListener("close", closeFn);
89
+ p1.removeEventListener("error", errorFn);
90
+ p2.send(new Uint8Array([1, 2, 3]));
91
+ (0, vitest_1.expect)(msgFn).toHaveBeenCalledTimes(1);
92
+ (0, vitest_1.expect)(onMsgFn).toHaveBeenCalledTimes(2);
93
+ });
71
94
  //# sourceMappingURL=test-ws-pair.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.test.js","sourceRoot":"","sources":["../../../src/test-ws-pair.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-ws-pair.test.js","sourceRoot":"","sources":["../../../src/test-ws-pair.test.ts"],"names":[],"mappings":"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"}
package/ts/cjs/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = "0.5.18";
4
+ exports.VERSION = "0.5.19";
5
5
  //# sourceMappingURL=version.js.map
@@ -3,14 +3,10 @@ export type WebSocketSimple = Pick<WebSocket, "onerror" | "onmessage" | "onclose
3
3
  export type OnErrorFn = (e: Event) => void;
4
4
  export type OnMessageFn = <T = unknown>(e: MessageEvent<T>) => void;
5
5
  export type OnCloseFn = (e: CloseEvent) => void;
6
+ export type EventType = "message" | "error" | "close";
6
7
  export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
7
8
  #private;
8
9
  readonly side: string;
9
- get onopen(): () => void;
10
- set onopen(fn: () => void);
11
- onmessage: OnMessageFn;
12
- onerror: OnErrorFn;
13
- onclose: OnCloseFn;
14
10
  readonly transfers?: {
15
11
  from: string;
16
12
  data: Uint8Array;
@@ -19,6 +15,14 @@ export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> im
19
15
  from: string;
20
16
  data: Uint8Array;
21
17
  }[]);
18
+ get onopen(): () => void;
19
+ set onopen(fn: () => void);
20
+ onmessage: OnMessageFn;
21
+ onerror: OnErrorFn;
22
+ onclose: OnCloseFn;
23
+ removeEventListener(key: EventType, listener: EventListenerOrEventListenerObject): void;
24
+ addEventListener(key: EventType, listener: EventListenerOrEventListenerObject): void;
25
+ accept(): void;
22
26
  connect(other: TestWSConnection<WS>): void;
23
27
  send: (data: CoerceBinaryInput) => void;
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.d.ts","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAEvG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAEhD,qBAAa,gBAAgB,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS,CAAE,YAAW,eAAe;;IAE9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAItB,IAAI,MAAM,IAAI,MAAM,IAAI,CAEvB;IACD,IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,EAGxB;IACD,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAE1D,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGzE;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAEzC;IAED,IAAI,oCAMF;CACH;AAED,qBAAa,UAAU,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS;IAC5D,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IACrF,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IAErF,MAAM,CAAC,MAAM,IAAI,UAAU,CAK1B;IAED,OAAO,eAEN;CACF"}
1
+ {"version":3,"file":"test-ws-pair.d.ts","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAEvG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtD,qBAAa,gBAAgB,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS,CAAE,YAAW,eAAe;;IAG9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAE1D,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGzE;IAED,IAAI,MAAM,IAAI,MAAM,IAAI,CAEvB;IACD,IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,EAGxB;IACD,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CAEtF;IACD,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CAEnF;IAED,MAAM,IAAI,IAAI,CAEb;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAEzC;IACD,IAAI,oCAUF;CACH;AAED,qBAAa,UAAU,CAAC,EAAE,SAAS,eAAe,GAAG,SAAS;IAC5D,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IACrF,SAAgB,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAA6C;IAErF,MAAM,CAAC,MAAM,IAAI,UAAU,CAK1B;IACD,OAAO,eAEN;CACF"}
@@ -1,8 +1,14 @@
1
1
  import { to_uint8 } from "./index.js";
2
2
  export class TestWSConnection {
3
3
  #other;
4
- side;
5
4
  #onopen;
5
+ side;
6
+ #events = new Map();
7
+ transfers;
8
+ constructor(side, transfers) {
9
+ this.side = side;
10
+ this.transfers = transfers;
11
+ }
6
12
  get onopen() {
7
13
  return this.#onopen;
8
14
  }
@@ -19,10 +25,13 @@ export class TestWSConnection {
19
25
  onclose = (_e) => {
20
26
  throw new Error("OnClose Method not implemented.");
21
27
  };
22
- transfers;
23
- constructor(side, transfers) {
24
- this.side = side;
25
- this.transfers = transfers;
28
+ removeEventListener(key, listener) {
29
+ this.#events.get(key)?.delete(listener);
30
+ }
31
+ addEventListener(key, listener) {
32
+ this.#events.set(key, (this.#events.get(key) ?? new Set()).add(listener));
33
+ }
34
+ accept() {
26
35
  }
27
36
  connect(other) {
28
37
  this.#other = other;
@@ -30,9 +39,13 @@ export class TestWSConnection {
30
39
  send = (data) => {
31
40
  const uint8 = to_uint8(data);
32
41
  this.transfers?.push({ from: this.side, data: uint8 });
33
- this.#other.onmessage({
42
+ const msg = {
34
43
  data: uint8,
35
- });
44
+ };
45
+ this.#other.onmessage(msg);
46
+ this.#other.#events
47
+ .get("message")
48
+ ?.forEach((listener) => (typeof listener === "function" ? listener(msg) : listener.handleEvent(msg)));
36
49
  };
37
50
  }
38
51
  export class TestWSPair {
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.js","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQzD,MAAM,OAAO,gBAAgB;IAC3B,MAAM,CAAwB;IACrB,IAAI,CAAS;IAEtB,OAAO,CAAc;IAErB,IAAI,MAAM,GAAe;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC;IAAA,CACrB;IACD,IAAI,MAAM,CAAC,EAAc,EAAE;QACzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,EAAE,EAAE,CAAC;IAAA,CACN;IACD,SAAS,GAAgB,CAAI,EAAmB,EAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAAA,CACtD,CAAC;IACF,OAAO,GAAc,CAAC,EAAS,EAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACpD,CAAC;IACF,OAAO,GAAc,CAAC,EAAc,EAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACpD,CAAC;IAEO,SAAS,CAAwC;IAE1D,YAAY,IAAY,EAAE,SAAgD,EAAE;QAC1E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAAA,CAC5B;IACD,OAAO,CAAC,KAA2B,EAAQ;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IAAA,CACrB;IAED,IAAI,GAAG,CAAC,IAAuB,EAAQ,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,KAAK;SAC2B,CAAC,CAAC;IAAA,CAC3C,CAAC;CACH;AAED,MAAM,OAAO,UAAU;IACZ,IAAI,GAAyC,EAAE,CAAC;IACzC,EAAE,GAAyB,IAAI,gBAAgB,CAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,EAAE,GAAyB,IAAI,gBAAgB,CAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAErF,MAAM,CAAC,MAAM,GAAe;QAC1B,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IAAA,CACb;IAED,cAAsB;IAAC,CAEtB;CACF"}
1
+ {"version":3,"file":"test-ws-pair.js","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUzD,MAAM,OAAO,gBAAgB;IAC3B,MAAM,CAAwB;IAC9B,OAAO,CAAc;IACZ,IAAI,CAAS;IACb,OAAO,GAA4D,IAAI,GAAG,EAGhF,CAAC;IACK,SAAS,CAAwC;IAE1D,YAAY,IAAY,EAAE,SAAgD,EAAE;QAC1E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAAA,CAC5B;IAED,IAAI,MAAM,GAAe;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC;IAAA,CACrB;IACD,IAAI,MAAM,CAAC,EAAc,EAAE;QACzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,EAAE,EAAE,CAAC;IAAA,CACN;IACD,SAAS,GAAgB,CAAI,EAAmB,EAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAAA,CACtD,CAAC;IACF,OAAO,GAAc,CAAC,EAAS,EAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACpD,CAAC;IACF,OAAO,GAAc,CAAC,EAAc,EAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACpD,CAAC;IAEF,mBAAmB,CAAC,GAAc,EAAE,QAA4C,EAAQ;QACtF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAAA,CACzC;IACD,gBAAgB,CAAC,GAAc,EAAE,QAA4C,EAAQ;QACnF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAAA,CAC3E;IAED,MAAM,GAAS;IAAC,CAEf;IACD,OAAO,CAAC,KAA2B,EAAQ;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IAAA,CACrB;IACD,IAAI,GAAG,CAAC,IAAuB,EAAQ,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,KAAK;SAC2B,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO;aAChB,GAAG,CAAC,SAAS,CAAC;YACf,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAAA,CACzG,CAAC;CACH;AAED,MAAM,OAAO,UAAU;IACZ,IAAI,GAAyC,EAAE,CAAC;IACzC,EAAE,GAAyB,IAAI,gBAAgB,CAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,EAAE,GAAyB,IAAI,gBAAgB,CAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAErF,MAAM,CAAC,MAAM,GAAe;QAC1B,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IAAA,CACb;IACD,cAAsB;IAAC,CAEtB;CACF"}
@@ -66,4 +66,27 @@ it("should work when send method is passed without bind", () => {
66
66
  expect(receivedByP2).toHaveLength(1);
67
67
  expect(receivedByP2[0]).toEqual(new Uint8Array([10, 20, 30]));
68
68
  });
69
+ it("ws pair addEventListener integration test", () => {
70
+ const { p1, p2 } = TestWSPair.create();
71
+ const msgFn = vi.fn();
72
+ const onMsgFn = vi.fn();
73
+ const closeFn = vi.fn();
74
+ const errorFn = vi.fn();
75
+ p1.addEventListener("message", msgFn);
76
+ p1.addEventListener("close", closeFn);
77
+ p1.addEventListener("error", errorFn);
78
+ p1.onmessage = onMsgFn;
79
+ p2.send(new Uint8Array([1, 2, 3]));
80
+ expect(msgFn).toHaveBeenCalledTimes(1);
81
+ expect(msgFn.mock.calls[0][0].data).toEqual(new Uint8Array([1, 2, 3]));
82
+ expect(onMsgFn.mock.calls[0][0].data).toEqual(new Uint8Array([1, 2, 3]));
83
+ expect(closeFn).toHaveBeenCalledTimes(0);
84
+ expect(errorFn).toHaveBeenCalledTimes(0);
85
+ p1.removeEventListener("message", msgFn);
86
+ p1.removeEventListener("close", closeFn);
87
+ p1.removeEventListener("error", errorFn);
88
+ p2.send(new Uint8Array([1, 2, 3]));
89
+ expect(msgFn).toHaveBeenCalledTimes(1);
90
+ expect(onMsgFn).toHaveBeenCalledTimes(2);
91
+ });
69
92
  //# sourceMappingURL=test-ws-pair.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.test.js","sourceRoot":"","sources":["../../../src/test-ws-pair.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-ws-pair.test.js","sourceRoot":"","sources":["../../../src/test-ws-pair.test.ts"],"names":[],"mappings":"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"}
package/ts/esm/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.5.18";
1
+ export const VERSION = "0.5.19";
2
2
  //# sourceMappingURL=version.js.map