@adviser/cement 0.5.17 → 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.
@@ -1,35 +1,57 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestWSPair = void 0;
3
+ exports.TestWSPair = exports.TestWSConnection = void 0;
4
4
  const index_js_1 = require("./index.cjs");
5
5
  class TestWSConnection {
6
6
  #other;
7
+ #onopen;
7
8
  side;
8
- onMessage = (_e) => {
9
+ #events = new Map();
10
+ transfers;
11
+ constructor(side, transfers) {
12
+ this.side = side;
13
+ this.transfers = transfers;
14
+ }
15
+ get onopen() {
16
+ return this.#onopen;
17
+ }
18
+ set onopen(fn) {
19
+ this.#onopen = fn;
20
+ fn();
21
+ }
22
+ onmessage = (_e) => {
9
23
  throw new Error("OnMessage Method not implemented.");
10
24
  };
11
- onError = (_e) => {
25
+ onerror = (_e) => {
12
26
  throw new Error("OnError Method not implemented.");
13
27
  };
14
- onClose = (_e) => {
28
+ onclose = (_e) => {
15
29
  throw new Error("OnClose Method not implemented.");
16
30
  };
17
- calls;
18
- constructor(side, calls) {
19
- this.side = side;
20
- this.calls = calls;
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() {
21
38
  }
22
39
  connect(other) {
23
40
  this.#other = other;
24
41
  }
25
42
  send = (data) => {
26
43
  const uint8 = (0, index_js_1.to_uint8)(data);
27
- this.calls.push({ from: this.side, data: uint8 });
28
- this.#other.onMessage({
44
+ this.transfers?.push({ from: this.side, data: uint8 });
45
+ const msg = {
29
46
  data: uint8,
30
- });
47
+ };
48
+ this.#other.onmessage(msg);
49
+ this.#other.#events
50
+ .get("message")
51
+ ?.forEach((listener) => (typeof listener === "function" ? listener(msg) : listener.handleEvent(msg)));
31
52
  };
32
53
  }
54
+ exports.TestWSConnection = TestWSConnection;
33
55
  class TestWSPair {
34
56
  msgs = [];
35
57
  p1 = new TestWSConnection("p1", this.msgs);
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.js","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":";;;AAAA,yCAAyD;AAazD,MAAM,gBAAgB;IACpB,MAAM,CAAoB;IACjB,IAAI,CAAS;IACtB,SAAS,GAAgB,CAAI,EAAmB,EAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAAA,CACtD,CAAC;IACF,OAAO,GAAc,CAAC,EAAc,EAAQ,EAAE,CAAC;QAC7C,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,KAAK,CAAuC;IAErD,YAAY,IAAY,EAAE,KAA2C,EAAE;QACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAAA,CACpB;IACD,OAAO,CAAC,KAAuB,EAAQ;QACrC,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,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,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,GAAqB,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,EAAE,GAAqB,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7E,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,yCAAyD;AAUzD;IACE,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,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,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;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;IACD,cAAsB;IAAC,CAEtB;CACF"}
@@ -1,39 +1,39 @@
1
1
  import { CoerceBinaryInput } from "./index.js";
2
- export interface WSConnectionWrapper {
3
- onError(e: ErrorEvent): void;
4
- onMessage<T>(e: MessageEvent<T>): void;
5
- onClose(e: CloseEvent): void;
6
- send(data: CoerceBinaryInput): void;
7
- }
8
- export type OnErrorFn = (e: ErrorEvent) => void;
2
+ export type WebSocketSimple = Pick<WebSocket, "onerror" | "onmessage" | "onclose" | "send" | "onopen">;
3
+ export type OnErrorFn = (e: Event) => void;
9
4
  export type OnMessageFn = <T = unknown>(e: MessageEvent<T>) => void;
10
5
  export type OnCloseFn = (e: CloseEvent) => void;
11
- declare class TestWSConnection implements WSConnectionWrapper {
6
+ export type EventType = "message" | "error" | "close";
7
+ export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
12
8
  #private;
13
9
  readonly side: string;
14
- onMessage: OnMessageFn;
15
- onError: OnErrorFn;
16
- onClose: OnCloseFn;
17
- readonly calls: {
10
+ readonly transfers?: {
18
11
  from: string;
19
12
  data: Uint8Array;
20
13
  }[];
21
- constructor(side: string, calls: {
14
+ constructor(side: string, transfers?: {
22
15
  from: string;
23
16
  data: Uint8Array;
24
17
  }[]);
25
- connect(other: TestWSConnection): void;
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;
26
+ connect(other: TestWSConnection<WS>): void;
26
27
  send: (data: CoerceBinaryInput) => void;
27
28
  }
28
- export declare class TestWSPair {
29
+ export declare class TestWSPair<WS extends WebSocketSimple = WebSocket> {
29
30
  readonly msgs: {
30
31
  from: string;
31
32
  data: Uint8Array;
32
33
  }[];
33
- readonly p1: TestWSConnection;
34
- readonly p2: TestWSConnection;
34
+ readonly p1: TestWSConnection<WS>;
35
+ readonly p2: TestWSConnection<WS>;
35
36
  static create(): TestWSPair;
36
37
  private constructor();
37
38
  }
38
- export {};
39
39
  //# sourceMappingURL=test-ws-pair.d.ts.map
@@ -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,WAAW,mBAAmB;IAClC,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAChD,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,cAAM,gBAAiB,YAAW,mBAAmB;;IAEnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAErD,YAAY,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGpE;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAErC;IAED,IAAI,oCAMF;CACH;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAyC;IAC7E,SAAgB,EAAE,EAAE,gBAAgB,CAAyC;IAE7E,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,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const test_ws_pair_js_1 = require("./test-ws-pair.cjs");
4
3
  const vitest_1 = require("vitest");
4
+ const test_ws_pair_js_1 = require("./test-ws-pair.cjs");
5
5
  (0, vitest_1.it)("should record messages from both sides in the msgs array", () => {
6
6
  const pair = test_ws_pair_js_1.TestWSPair.create();
7
7
  const receivedByP1 = [];
8
8
  const receivedByP2 = [];
9
- pair.p1.onMessage = (e) => {
9
+ pair.p1.onmessage = (e) => {
10
10
  receivedByP1.push(e.data);
11
11
  };
12
- pair.p2.onMessage = (e) => {
12
+ pair.p2.onmessage = (e) => {
13
13
  receivedByP2.push(e.data);
14
14
  };
15
15
  pair.p1.send(new Uint8Array([1, 2, 3]));
@@ -28,11 +28,17 @@ const vitest_1 = require("vitest");
28
28
  (0, vitest_1.expect)(receivedByP1).toHaveLength(1);
29
29
  (0, vitest_1.expect)(receivedByP1[0]).toEqual(new Uint8Array([4, 5, 6]));
30
30
  });
31
+ (0, vitest_1.it)("should emit onopen events upon setting the handler", () => {
32
+ const pair = new test_ws_pair_js_1.TestWSConnection("p1", []);
33
+ pair.onopen = vitest_1.vi.fn(() => {
34
+ });
35
+ (0, vitest_1.expect)(pair.onopen).toHaveBeenCalledTimes(1);
36
+ });
31
37
  (0, vitest_1.it)("should handle string data via CoerceBinaryInput", () => {
32
38
  const pair = test_ws_pair_js_1.TestWSPair.create();
33
- pair.p1.onMessage = (_e) => {
39
+ pair.p1.onmessage = (_e) => {
34
40
  };
35
- pair.p2.onMessage = (_e) => {
41
+ pair.p2.onmessage = (_e) => {
36
42
  };
37
43
  pair.p1.send("hello");
38
44
  pair.p2.send("world");
@@ -49,9 +55,9 @@ const vitest_1 = require("vitest");
49
55
  (0, vitest_1.it)("should work when send method is passed without bind", () => {
50
56
  const pair = test_ws_pair_js_1.TestWSPair.create();
51
57
  const receivedByP2 = [];
52
- pair.p1.onMessage = (_e) => {
58
+ pair.p1.onmessage = (_e) => {
53
59
  };
54
- pair.p2.onMessage = (e) => {
60
+ pair.p2.onmessage = (e) => {
55
61
  receivedByP2.push(e.data);
56
62
  };
57
63
  const unboundSend = pair.p1.send;
@@ -62,4 +68,27 @@ const vitest_1 = require("vitest");
62
68
  (0, vitest_1.expect)(receivedByP2).toHaveLength(1);
63
69
  (0, vitest_1.expect)(receivedByP2[0]).toEqual(new Uint8Array([10, 20, 30]));
64
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
+ });
65
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.17";
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.17",
3
+ "version": "0.5.19",
4
4
  "license": "AFL-2.0",
5
5
  "exports": {
6
6
  ".": "./src/index.ts",
@@ -1,39 +1,39 @@
1
1
  import { CoerceBinaryInput } from "./index.js";
2
- export interface WSConnectionWrapper {
3
- onError(e: ErrorEvent): void;
4
- onMessage<T>(e: MessageEvent<T>): void;
5
- onClose(e: CloseEvent): void;
6
- send(data: CoerceBinaryInput): void;
7
- }
8
- export type OnErrorFn = (e: ErrorEvent) => void;
2
+ export type WebSocketSimple = Pick<WebSocket, "onerror" | "onmessage" | "onclose" | "send" | "onopen">;
3
+ export type OnErrorFn = (e: Event) => void;
9
4
  export type OnMessageFn = <T = unknown>(e: MessageEvent<T>) => void;
10
5
  export type OnCloseFn = (e: CloseEvent) => void;
11
- declare class TestWSConnection implements WSConnectionWrapper {
6
+ export type EventType = "message" | "error" | "close";
7
+ export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
12
8
  #private;
13
9
  readonly side: string;
14
- onMessage: OnMessageFn;
15
- onError: OnErrorFn;
16
- onClose: OnCloseFn;
17
- readonly calls: {
10
+ readonly transfers?: {
18
11
  from: string;
19
12
  data: Uint8Array;
20
13
  }[];
21
- constructor(side: string, calls: {
14
+ constructor(side: string, transfers?: {
22
15
  from: string;
23
16
  data: Uint8Array;
24
17
  }[]);
25
- connect(other: TestWSConnection): void;
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;
26
+ connect(other: TestWSConnection<WS>): void;
26
27
  send: (data: CoerceBinaryInput) => void;
27
28
  }
28
- export declare class TestWSPair {
29
+ export declare class TestWSPair<WS extends WebSocketSimple = WebSocket> {
29
30
  readonly msgs: {
30
31
  from: string;
31
32
  data: Uint8Array;
32
33
  }[];
33
- readonly p1: TestWSConnection;
34
- readonly p2: TestWSConnection;
34
+ readonly p1: TestWSConnection<WS>;
35
+ readonly p2: TestWSConnection<WS>;
35
36
  static create(): TestWSPair;
36
37
  private constructor();
37
38
  }
38
- export {};
39
39
  //# sourceMappingURL=test-ws-pair.d.ts.map
@@ -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,WAAW,mBAAmB;IAClC,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAChD,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,cAAM,gBAAiB,YAAW,mBAAmB;;IAEnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAErD,YAAY,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGpE;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAErC;IAED,IAAI,oCAMF;CACH;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAyC;IAC7E,SAAgB,EAAE,EAAE,gBAAgB,CAAyC;IAE7E,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,30 +1,51 @@
1
1
  import { to_uint8 } from "./index.js";
2
- class TestWSConnection {
2
+ export class TestWSConnection {
3
3
  #other;
4
+ #onopen;
4
5
  side;
5
- onMessage = (_e) => {
6
+ #events = new Map();
7
+ transfers;
8
+ constructor(side, transfers) {
9
+ this.side = side;
10
+ this.transfers = transfers;
11
+ }
12
+ get onopen() {
13
+ return this.#onopen;
14
+ }
15
+ set onopen(fn) {
16
+ this.#onopen = fn;
17
+ fn();
18
+ }
19
+ onmessage = (_e) => {
6
20
  throw new Error("OnMessage Method not implemented.");
7
21
  };
8
- onError = (_e) => {
22
+ onerror = (_e) => {
9
23
  throw new Error("OnError Method not implemented.");
10
24
  };
11
- onClose = (_e) => {
25
+ onclose = (_e) => {
12
26
  throw new Error("OnClose Method not implemented.");
13
27
  };
14
- calls;
15
- constructor(side, calls) {
16
- this.side = side;
17
- this.calls = calls;
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() {
18
35
  }
19
36
  connect(other) {
20
37
  this.#other = other;
21
38
  }
22
39
  send = (data) => {
23
40
  const uint8 = to_uint8(data);
24
- this.calls.push({ from: this.side, data: uint8 });
25
- this.#other.onMessage({
41
+ this.transfers?.push({ from: this.side, data: uint8 });
42
+ const msg = {
26
43
  data: uint8,
27
- });
44
+ };
45
+ this.#other.onmessage(msg);
46
+ this.#other.#events
47
+ .get("message")
48
+ ?.forEach((listener) => (typeof listener === "function" ? listener(msg) : listener.handleEvent(msg)));
28
49
  };
29
50
  }
30
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;AAazD,MAAM,gBAAgB;IACpB,MAAM,CAAoB;IACjB,IAAI,CAAS;IACtB,SAAS,GAAgB,CAAI,EAAmB,EAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAAA,CACtD,CAAC;IACF,OAAO,GAAc,CAAC,EAAc,EAAQ,EAAE,CAAC;QAC7C,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,KAAK,CAAuC;IAErD,YAAY,IAAY,EAAE,KAA2C,EAAE;QACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAAA,CACpB;IACD,OAAO,CAAC,KAAuB,EAAQ;QACrC,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,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,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,GAAqB,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,EAAE,GAAqB,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7E,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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"}
@@ -1,13 +1,13 @@
1
- import { TestWSPair } from "./test-ws-pair.js";
2
- import { it, expect } from "vitest";
1
+ import { it, expect, vi } from "vitest";
2
+ import { TestWSConnection, TestWSPair } from "./test-ws-pair.js";
3
3
  it("should record messages from both sides in the msgs array", () => {
4
4
  const pair = TestWSPair.create();
5
5
  const receivedByP1 = [];
6
6
  const receivedByP2 = [];
7
- pair.p1.onMessage = (e) => {
7
+ pair.p1.onmessage = (e) => {
8
8
  receivedByP1.push(e.data);
9
9
  };
10
- pair.p2.onMessage = (e) => {
10
+ pair.p2.onmessage = (e) => {
11
11
  receivedByP2.push(e.data);
12
12
  };
13
13
  pair.p1.send(new Uint8Array([1, 2, 3]));
@@ -26,11 +26,17 @@ it("should record messages from both sides in the msgs array", () => {
26
26
  expect(receivedByP1).toHaveLength(1);
27
27
  expect(receivedByP1[0]).toEqual(new Uint8Array([4, 5, 6]));
28
28
  });
29
+ it("should emit onopen events upon setting the handler", () => {
30
+ const pair = new TestWSConnection("p1", []);
31
+ pair.onopen = vi.fn(() => {
32
+ });
33
+ expect(pair.onopen).toHaveBeenCalledTimes(1);
34
+ });
29
35
  it("should handle string data via CoerceBinaryInput", () => {
30
36
  const pair = TestWSPair.create();
31
- pair.p1.onMessage = (_e) => {
37
+ pair.p1.onmessage = (_e) => {
32
38
  };
33
- pair.p2.onMessage = (_e) => {
39
+ pair.p2.onmessage = (_e) => {
34
40
  };
35
41
  pair.p1.send("hello");
36
42
  pair.p2.send("world");
@@ -47,9 +53,9 @@ it("should start with empty msgs array", () => {
47
53
  it("should work when send method is passed without bind", () => {
48
54
  const pair = TestWSPair.create();
49
55
  const receivedByP2 = [];
50
- pair.p1.onMessage = (_e) => {
56
+ pair.p1.onmessage = (_e) => {
51
57
  };
52
- pair.p2.onMessage = (e) => {
58
+ pair.p2.onmessage = (e) => {
53
59
  receivedByP2.push(e.data);
54
60
  };
55
61
  const unboundSend = pair.p1.send;
@@ -60,4 +66,27 @@ it("should work when send method is passed without bind", () => {
60
66
  expect(receivedByP2).toHaveLength(1);
61
67
  expect(receivedByP2[0]).toEqual(new Uint8Array([10, 20, 30]));
62
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
+ });
63
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEpC,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,MAAM,YAAY,GAAiB,EAAE,CAAC;IAEtC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAQ,EAAE,CAAC;QAC/B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAkB,CAAC,CAAC;IAAA,CACzC,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAQ,EAAE,CAAC;QAC/B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAkB,CAAC,CAAC;IAAA,CACzC,CAAC;IAEF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAElC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,CAC5D,CAAC,CAAC;AAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAEjC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,EAAQ,EAAE,CAAC;IAAC,CAElC,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,EAAQ,EAAE,CAAC;IAAC,CAElC,CAAC;IAEF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAAA,CACnE,CAAC,CAAC;AAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAAA,CAC/B,CAAC,CAAC;AAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE,CAAC;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,EAAQ,EAAE,CAAC;IAAC,CAElC,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAQ,EAAE,CAAC;QAC/B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAkB,CAAC,CAAC;IAAA,CACzC,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;IAEjC,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAAA,CAC/D,CAAC,CAAC"}
1
+ {"version":3,"file":"test-ws-pair.test.js","sourceRoot":"","sources":["../../../src/test-ws-pair.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEjE,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,MAAM,YAAY,GAAiB,EAAE,CAAC;IAEtC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAQ,EAAE,CAAC;QAC/B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAkB,CAAC,CAAC;IAAA,CACzC,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAQ,EAAE,CAAC;QAC/B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAkB,CAAC,CAAC;IAAA,CACzC,CAAC;IAEF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAElC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,CAC5D,CAAC,CAAC;AAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAAC,CAE1B,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAAA,CAC9C,CAAC,CAAC;AAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAEjC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,EAAQ,EAAE,CAAC;IAAC,CAElC,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,EAAQ,EAAE,CAAC;IAAC,CAElC,CAAC;IAEF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAAA,CACnE,CAAC,CAAC;AAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAAA,CAC/B,CAAC,CAAC;AAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE,CAAC;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,EAAQ,EAAE,CAAC;IAAC,CAElC,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAQ,EAAE,CAAC;QAC/B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAkB,CAAC,CAAC;IAAA,CACzC,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;IAEjC,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAAA,CAC/D,CAAC,CAAC;AAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE,CAAC;IACpD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAExB,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC;IAEvB,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,CAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,CAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAEzC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEzC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAAA,CAC1C,CAAC,CAAC"}
package/esm/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.5.17";
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.17",
3
+ "version": "0.5.19",
4
4
  "description": "better try/catch/finally handling",
5
5
  "main": "./cjs/index.js",
6
6
  "type": "module",
@@ -73,14 +73,16 @@
73
73
  },
74
74
  "devDependencies": {
75
75
  "@cloudflare/vitest-pool-workers": "^0.12.1",
76
+ "@cloudflare/workers-types": "^4.20260123.0",
76
77
  "@eslint/js": "^9.39.1",
77
78
  "@types/deno": "^2.3.0",
78
79
  "@types/fs-extra": "^11.0.4",
79
80
  "@types/node": "^25.0.2",
80
81
  "@types/semver": "^7.7.1",
82
+ "@types/ws": "^8.18.1",
81
83
  "@typescript-eslint/eslint-plugin": "^8.46.3",
82
84
  "@typescript-eslint/parser": "^8.46.3",
83
- "@typescript/native-preview": "7.0.0-dev.20260119.1",
85
+ "@typescript/native-preview": "7.0.0-dev.20260126.1",
84
86
  "@vitest/browser": "^3.2.4",
85
87
  "@vitest/runner": "^3.2.4",
86
88
  "cmd-ts": "^0.14.1",
@@ -1,52 +1,75 @@
1
1
  import { CoerceBinaryInput, to_uint8 } from "./index.js";
2
2
 
3
- export interface WSConnectionWrapper {
4
- onError(e: ErrorEvent): void;
5
- onMessage<T>(e: MessageEvent<T>): void;
6
- onClose(e: CloseEvent): void;
7
- send(data: CoerceBinaryInput): void;
8
- }
3
+ export type WebSocketSimple = Pick<WebSocket, "onerror" | "onmessage" | "onclose" | "send" | "onopen">;
9
4
 
10
- export type OnErrorFn = (e: ErrorEvent) => void;
5
+ export type OnErrorFn = (e: Event) => void;
11
6
  export type OnMessageFn = <T = unknown>(e: MessageEvent<T>) => void;
12
7
  export type OnCloseFn = (e: CloseEvent) => void;
13
8
 
14
- class TestWSConnection implements WSConnectionWrapper {
15
- #other!: TestWSConnection;
9
+ export type EventType = "message" | "error" | "close";
10
+
11
+ export class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
12
+ #other!: TestWSConnection<WS>;
13
+ #onopen!: () => void;
16
14
  readonly side: string;
17
- onMessage: OnMessageFn = <T>(_e: MessageEvent<T>): void => {
15
+ readonly #events: Map<EventType, Set<EventListenerOrEventListenerObject>> = new Map<
16
+ EventType,
17
+ Set<EventListenerOrEventListenerObject>
18
+ >();
19
+ readonly transfers?: { from: string; data: Uint8Array }[];
20
+
21
+ constructor(side: string, transfers?: { from: string; data: Uint8Array }[]) {
22
+ this.side = side;
23
+ this.transfers = transfers;
24
+ }
25
+
26
+ get onopen(): () => void {
27
+ return this.#onopen;
28
+ }
29
+ set onopen(fn: () => void) {
30
+ this.#onopen = fn;
31
+ fn(); // immediately invoke for testing purposes
32
+ }
33
+ onmessage: OnMessageFn = <T>(_e: MessageEvent<T>): void => {
18
34
  throw new Error("OnMessage Method not implemented.");
19
35
  };
20
- onError: OnErrorFn = (_e: ErrorEvent): void => {
36
+ onerror: OnErrorFn = (_e: Event): void => {
21
37
  throw new Error("OnError Method not implemented.");
22
38
  };
23
- onClose: OnCloseFn = (_e: CloseEvent): void => {
39
+ onclose: OnCloseFn = (_e: CloseEvent): void => {
24
40
  throw new Error("OnClose Method not implemented.");
25
41
  };
26
42
 
27
- readonly calls: { 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
+ }
28
49
 
29
- constructor(side: string, calls: { from: string; data: Uint8Array }[]) {
30
- this.side = side;
31
- this.calls = calls;
50
+ accept(): void {
51
+ // no-op for testing
32
52
  }
33
- connect(other: TestWSConnection): void {
53
+ connect(other: TestWSConnection<WS>): void {
34
54
  this.#other = other;
35
55
  }
36
-
37
56
  send = (data: CoerceBinaryInput): void => {
38
57
  const uint8 = to_uint8(data);
39
- this.calls.push({ from: this.side, data: uint8 });
40
- this.#other.onMessage({
58
+ this.transfers?.push({ from: this.side, data: uint8 });
59
+ const msg = {
41
60
  data: uint8,
42
- } 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)));
43
66
  };
44
67
  }
45
68
 
46
- export class TestWSPair {
69
+ export class TestWSPair<WS extends WebSocketSimple = WebSocket> {
47
70
  readonly msgs: { from: string; data: Uint8Array }[] = [];
48
- public readonly p1: TestWSConnection = new TestWSConnection("p1", this.msgs);
49
- public readonly p2: TestWSConnection = new TestWSConnection("p2", this.msgs);
71
+ public readonly p1: TestWSConnection<WS> = new TestWSConnection<WS>("p1", this.msgs);
72
+ public readonly p2: TestWSConnection<WS> = new TestWSConnection<WS>("p2", this.msgs);
50
73
 
51
74
  static create(): TestWSPair {
52
75
  const pair = new TestWSPair();
@@ -54,7 +77,6 @@ export class TestWSPair {
54
77
  pair.p2.connect(pair.p1);
55
78
  return pair;
56
79
  }
57
-
58
80
  private constructor() {
59
81
  /* empty */
60
82
  }
@@ -1,39 +1,39 @@
1
1
  import { CoerceBinaryInput } from "./index.js";
2
- export interface WSConnectionWrapper {
3
- onError(e: ErrorEvent): void;
4
- onMessage<T>(e: MessageEvent<T>): void;
5
- onClose(e: CloseEvent): void;
6
- send(data: CoerceBinaryInput): void;
7
- }
8
- export type OnErrorFn = (e: ErrorEvent) => void;
2
+ export type WebSocketSimple = Pick<WebSocket, "onerror" | "onmessage" | "onclose" | "send" | "onopen">;
3
+ export type OnErrorFn = (e: Event) => void;
9
4
  export type OnMessageFn = <T = unknown>(e: MessageEvent<T>) => void;
10
5
  export type OnCloseFn = (e: CloseEvent) => void;
11
- declare class TestWSConnection implements WSConnectionWrapper {
6
+ export type EventType = "message" | "error" | "close";
7
+ export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
12
8
  #private;
13
9
  readonly side: string;
14
- onMessage: OnMessageFn;
15
- onError: OnErrorFn;
16
- onClose: OnCloseFn;
17
- readonly calls: {
10
+ readonly transfers?: {
18
11
  from: string;
19
12
  data: Uint8Array;
20
13
  }[];
21
- constructor(side: string, calls: {
14
+ constructor(side: string, transfers?: {
22
15
  from: string;
23
16
  data: Uint8Array;
24
17
  }[]);
25
- connect(other: TestWSConnection): void;
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;
26
+ connect(other: TestWSConnection<WS>): void;
26
27
  send: (data: CoerceBinaryInput) => void;
27
28
  }
28
- export declare class TestWSPair {
29
+ export declare class TestWSPair<WS extends WebSocketSimple = WebSocket> {
29
30
  readonly msgs: {
30
31
  from: string;
31
32
  data: Uint8Array;
32
33
  }[];
33
- readonly p1: TestWSConnection;
34
- readonly p2: TestWSConnection;
34
+ readonly p1: TestWSConnection<WS>;
35
+ readonly p2: TestWSConnection<WS>;
35
36
  static create(): TestWSPair;
36
37
  private constructor();
37
38
  }
38
- export {};
39
39
  //# sourceMappingURL=test-ws-pair.d.ts.map
@@ -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,WAAW,mBAAmB;IAClC,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAChD,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,cAAM,gBAAiB,YAAW,mBAAmB;;IAEnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAErD,YAAY,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGpE;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAErC;IAED,IAAI,oCAMF;CACH;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAyC;IAC7E,SAAgB,EAAE,EAAE,gBAAgB,CAAyC;IAE7E,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,35 +1,57 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestWSPair = void 0;
3
+ exports.TestWSPair = exports.TestWSConnection = void 0;
4
4
  const index_js_1 = require("./index.js");
5
5
  class TestWSConnection {
6
6
  #other;
7
+ #onopen;
7
8
  side;
8
- onMessage = (_e) => {
9
+ #events = new Map();
10
+ transfers;
11
+ constructor(side, transfers) {
12
+ this.side = side;
13
+ this.transfers = transfers;
14
+ }
15
+ get onopen() {
16
+ return this.#onopen;
17
+ }
18
+ set onopen(fn) {
19
+ this.#onopen = fn;
20
+ fn();
21
+ }
22
+ onmessage = (_e) => {
9
23
  throw new Error("OnMessage Method not implemented.");
10
24
  };
11
- onError = (_e) => {
25
+ onerror = (_e) => {
12
26
  throw new Error("OnError Method not implemented.");
13
27
  };
14
- onClose = (_e) => {
28
+ onclose = (_e) => {
15
29
  throw new Error("OnClose Method not implemented.");
16
30
  };
17
- calls;
18
- constructor(side, calls) {
19
- this.side = side;
20
- this.calls = calls;
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() {
21
38
  }
22
39
  connect(other) {
23
40
  this.#other = other;
24
41
  }
25
42
  send = (data) => {
26
43
  const uint8 = (0, index_js_1.to_uint8)(data);
27
- this.calls.push({ from: this.side, data: uint8 });
28
- this.#other.onMessage({
44
+ this.transfers?.push({ from: this.side, data: uint8 });
45
+ const msg = {
29
46
  data: uint8,
30
- });
47
+ };
48
+ this.#other.onmessage(msg);
49
+ this.#other.#events
50
+ .get("message")
51
+ ?.forEach((listener) => (typeof listener === "function" ? listener(msg) : listener.handleEvent(msg)));
31
52
  };
32
53
  }
54
+ exports.TestWSConnection = TestWSConnection;
33
55
  class TestWSPair {
34
56
  msgs = [];
35
57
  p1 = new TestWSConnection("p1", this.msgs);
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.js","sourceRoot":"","sources":["../../../src/test-ws-pair.ts"],"names":[],"mappings":";;;AAAA,yCAAyD;AAazD,MAAM,gBAAgB;IACpB,MAAM,CAAoB;IACjB,IAAI,CAAS;IACtB,SAAS,GAAgB,CAAI,EAAmB,EAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAAA,CACtD,CAAC;IACF,OAAO,GAAc,CAAC,EAAc,EAAQ,EAAE,CAAC;QAC7C,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,KAAK,CAAuC;IAErD,YAAY,IAAY,EAAE,KAA2C,EAAE;QACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAAA,CACpB;IACD,OAAO,CAAC,KAAuB,EAAQ;QACrC,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,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,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,GAAqB,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,EAAE,GAAqB,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7E,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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"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const test_ws_pair_js_1 = require("./test-ws-pair.js");
4
3
  const vitest_1 = require("vitest");
4
+ const test_ws_pair_js_1 = require("./test-ws-pair.js");
5
5
  (0, vitest_1.it)("should record messages from both sides in the msgs array", () => {
6
6
  const pair = test_ws_pair_js_1.TestWSPair.create();
7
7
  const receivedByP1 = [];
8
8
  const receivedByP2 = [];
9
- pair.p1.onMessage = (e) => {
9
+ pair.p1.onmessage = (e) => {
10
10
  receivedByP1.push(e.data);
11
11
  };
12
- pair.p2.onMessage = (e) => {
12
+ pair.p2.onmessage = (e) => {
13
13
  receivedByP2.push(e.data);
14
14
  };
15
15
  pair.p1.send(new Uint8Array([1, 2, 3]));
@@ -28,11 +28,17 @@ const vitest_1 = require("vitest");
28
28
  (0, vitest_1.expect)(receivedByP1).toHaveLength(1);
29
29
  (0, vitest_1.expect)(receivedByP1[0]).toEqual(new Uint8Array([4, 5, 6]));
30
30
  });
31
+ (0, vitest_1.it)("should emit onopen events upon setting the handler", () => {
32
+ const pair = new test_ws_pair_js_1.TestWSConnection("p1", []);
33
+ pair.onopen = vitest_1.vi.fn(() => {
34
+ });
35
+ (0, vitest_1.expect)(pair.onopen).toHaveBeenCalledTimes(1);
36
+ });
31
37
  (0, vitest_1.it)("should handle string data via CoerceBinaryInput", () => {
32
38
  const pair = test_ws_pair_js_1.TestWSPair.create();
33
- pair.p1.onMessage = (_e) => {
39
+ pair.p1.onmessage = (_e) => {
34
40
  };
35
- pair.p2.onMessage = (_e) => {
41
+ pair.p2.onmessage = (_e) => {
36
42
  };
37
43
  pair.p1.send("hello");
38
44
  pair.p2.send("world");
@@ -49,9 +55,9 @@ const vitest_1 = require("vitest");
49
55
  (0, vitest_1.it)("should work when send method is passed without bind", () => {
50
56
  const pair = test_ws_pair_js_1.TestWSPair.create();
51
57
  const receivedByP2 = [];
52
- pair.p1.onMessage = (_e) => {
58
+ pair.p1.onmessage = (_e) => {
53
59
  };
54
- pair.p2.onMessage = (e) => {
60
+ pair.p2.onmessage = (e) => {
55
61
  receivedByP2.push(e.data);
56
62
  };
57
63
  const unboundSend = pair.p1.send;
@@ -62,4 +68,27 @@ const vitest_1 = require("vitest");
62
68
  (0, vitest_1.expect)(receivedByP2).toHaveLength(1);
63
69
  (0, vitest_1.expect)(receivedByP2[0]).toEqual(new Uint8Array([10, 20, 30]));
64
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
+ });
65
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.17";
4
+ exports.VERSION = "0.5.19";
5
5
  //# sourceMappingURL=version.js.map
@@ -1,39 +1,39 @@
1
1
  import { CoerceBinaryInput } from "./index.js";
2
- export interface WSConnectionWrapper {
3
- onError(e: ErrorEvent): void;
4
- onMessage<T>(e: MessageEvent<T>): void;
5
- onClose(e: CloseEvent): void;
6
- send(data: CoerceBinaryInput): void;
7
- }
8
- export type OnErrorFn = (e: ErrorEvent) => void;
2
+ export type WebSocketSimple = Pick<WebSocket, "onerror" | "onmessage" | "onclose" | "send" | "onopen">;
3
+ export type OnErrorFn = (e: Event) => void;
9
4
  export type OnMessageFn = <T = unknown>(e: MessageEvent<T>) => void;
10
5
  export type OnCloseFn = (e: CloseEvent) => void;
11
- declare class TestWSConnection implements WSConnectionWrapper {
6
+ export type EventType = "message" | "error" | "close";
7
+ export declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
12
8
  #private;
13
9
  readonly side: string;
14
- onMessage: OnMessageFn;
15
- onError: OnErrorFn;
16
- onClose: OnCloseFn;
17
- readonly calls: {
10
+ readonly transfers?: {
18
11
  from: string;
19
12
  data: Uint8Array;
20
13
  }[];
21
- constructor(side: string, calls: {
14
+ constructor(side: string, transfers?: {
22
15
  from: string;
23
16
  data: Uint8Array;
24
17
  }[]);
25
- connect(other: TestWSConnection): void;
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;
26
+ connect(other: TestWSConnection<WS>): void;
26
27
  send: (data: CoerceBinaryInput) => void;
27
28
  }
28
- export declare class TestWSPair {
29
+ export declare class TestWSPair<WS extends WebSocketSimple = WebSocket> {
29
30
  readonly msgs: {
30
31
  from: string;
31
32
  data: Uint8Array;
32
33
  }[];
33
- readonly p1: TestWSConnection;
34
- readonly p2: TestWSConnection;
34
+ readonly p1: TestWSConnection<WS>;
35
+ readonly p2: TestWSConnection<WS>;
35
36
  static create(): TestWSPair;
36
37
  private constructor();
37
38
  }
38
- export {};
39
39
  //# sourceMappingURL=test-ws-pair.d.ts.map
@@ -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,WAAW,mBAAmB;IAClC,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAChD,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,cAAM,gBAAiB,YAAW,mBAAmB;;IAEnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,WAAW,CAEpB;IACF,OAAO,EAAE,SAAS,CAEhB;IACF,OAAO,EAAE,SAAS,CAEhB;IAEF,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IAErD,YAAY,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAGpE;IACD,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAErC;IAED,IAAI,oCAMF;CACH;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,CAAM;IACzD,SAAgB,EAAE,EAAE,gBAAgB,CAAyC;IAC7E,SAAgB,EAAE,EAAE,gBAAgB,CAAyC;IAE7E,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,30 +1,51 @@
1
1
  import { to_uint8 } from "./index.js";
2
- class TestWSConnection {
2
+ export class TestWSConnection {
3
3
  #other;
4
+ #onopen;
4
5
  side;
5
- onMessage = (_e) => {
6
+ #events = new Map();
7
+ transfers;
8
+ constructor(side, transfers) {
9
+ this.side = side;
10
+ this.transfers = transfers;
11
+ }
12
+ get onopen() {
13
+ return this.#onopen;
14
+ }
15
+ set onopen(fn) {
16
+ this.#onopen = fn;
17
+ fn();
18
+ }
19
+ onmessage = (_e) => {
6
20
  throw new Error("OnMessage Method not implemented.");
7
21
  };
8
- onError = (_e) => {
22
+ onerror = (_e) => {
9
23
  throw new Error("OnError Method not implemented.");
10
24
  };
11
- onClose = (_e) => {
25
+ onclose = (_e) => {
12
26
  throw new Error("OnClose Method not implemented.");
13
27
  };
14
- calls;
15
- constructor(side, calls) {
16
- this.side = side;
17
- this.calls = calls;
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() {
18
35
  }
19
36
  connect(other) {
20
37
  this.#other = other;
21
38
  }
22
39
  send = (data) => {
23
40
  const uint8 = to_uint8(data);
24
- this.calls.push({ from: this.side, data: uint8 });
25
- this.#other.onMessage({
41
+ this.transfers?.push({ from: this.side, data: uint8 });
42
+ const msg = {
26
43
  data: uint8,
27
- });
44
+ };
45
+ this.#other.onmessage(msg);
46
+ this.#other.#events
47
+ .get("message")
48
+ ?.forEach((listener) => (typeof listener === "function" ? listener(msg) : listener.handleEvent(msg)));
28
49
  };
29
50
  }
30
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;AAazD,MAAM,gBAAgB;IACpB,MAAM,CAAoB;IACjB,IAAI,CAAS;IACtB,SAAS,GAAgB,CAAI,EAAmB,EAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAAA,CACtD,CAAC;IACF,OAAO,GAAc,CAAC,EAAc,EAAQ,EAAE,CAAC;QAC7C,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,KAAK,CAAuC;IAErD,YAAY,IAAY,EAAE,KAA2C,EAAE;QACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAAA,CACpB;IACD,OAAO,CAAC,KAAuB,EAAQ;QACrC,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,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,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,GAAqB,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,EAAE,GAAqB,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7E,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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"}
@@ -1,13 +1,13 @@
1
- import { TestWSPair } from "./test-ws-pair.js";
2
- import { it, expect } from "vitest";
1
+ import { it, expect, vi } from "vitest";
2
+ import { TestWSConnection, TestWSPair } from "./test-ws-pair.js";
3
3
  it("should record messages from both sides in the msgs array", () => {
4
4
  const pair = TestWSPair.create();
5
5
  const receivedByP1 = [];
6
6
  const receivedByP2 = [];
7
- pair.p1.onMessage = (e) => {
7
+ pair.p1.onmessage = (e) => {
8
8
  receivedByP1.push(e.data);
9
9
  };
10
- pair.p2.onMessage = (e) => {
10
+ pair.p2.onmessage = (e) => {
11
11
  receivedByP2.push(e.data);
12
12
  };
13
13
  pair.p1.send(new Uint8Array([1, 2, 3]));
@@ -26,11 +26,17 @@ it("should record messages from both sides in the msgs array", () => {
26
26
  expect(receivedByP1).toHaveLength(1);
27
27
  expect(receivedByP1[0]).toEqual(new Uint8Array([4, 5, 6]));
28
28
  });
29
+ it("should emit onopen events upon setting the handler", () => {
30
+ const pair = new TestWSConnection("p1", []);
31
+ pair.onopen = vi.fn(() => {
32
+ });
33
+ expect(pair.onopen).toHaveBeenCalledTimes(1);
34
+ });
29
35
  it("should handle string data via CoerceBinaryInput", () => {
30
36
  const pair = TestWSPair.create();
31
- pair.p1.onMessage = (_e) => {
37
+ pair.p1.onmessage = (_e) => {
32
38
  };
33
- pair.p2.onMessage = (_e) => {
39
+ pair.p2.onmessage = (_e) => {
34
40
  };
35
41
  pair.p1.send("hello");
36
42
  pair.p2.send("world");
@@ -47,9 +53,9 @@ it("should start with empty msgs array", () => {
47
53
  it("should work when send method is passed without bind", () => {
48
54
  const pair = TestWSPair.create();
49
55
  const receivedByP2 = [];
50
- pair.p1.onMessage = (_e) => {
56
+ pair.p1.onmessage = (_e) => {
51
57
  };
52
- pair.p2.onMessage = (e) => {
58
+ pair.p2.onmessage = (e) => {
53
59
  receivedByP2.push(e.data);
54
60
  };
55
61
  const unboundSend = pair.p1.send;
@@ -60,4 +66,27 @@ it("should work when send method is passed without bind", () => {
60
66
  expect(receivedByP2).toHaveLength(1);
61
67
  expect(receivedByP2[0]).toEqual(new Uint8Array([10, 20, 30]));
62
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
+ });
63
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.17";
1
+ export const VERSION = "0.5.19";
2
2
  //# sourceMappingURL=version.js.map