@adviser/cement 0.5.17 → 0.5.18

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,44 @@
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
7
  side;
8
- onMessage = (_e) => {
8
+ #onopen;
9
+ get onopen() {
10
+ return this.#onopen;
11
+ }
12
+ set onopen(fn) {
13
+ this.#onopen = fn;
14
+ fn();
15
+ }
16
+ onmessage = (_e) => {
9
17
  throw new Error("OnMessage Method not implemented.");
10
18
  };
11
- onError = (_e) => {
19
+ onerror = (_e) => {
12
20
  throw new Error("OnError Method not implemented.");
13
21
  };
14
- onClose = (_e) => {
22
+ onclose = (_e) => {
15
23
  throw new Error("OnClose Method not implemented.");
16
24
  };
17
- calls;
18
- constructor(side, calls) {
25
+ transfers;
26
+ constructor(side, transfers) {
19
27
  this.side = side;
20
- this.calls = calls;
28
+ this.transfers = transfers;
21
29
  }
22
30
  connect(other) {
23
31
  this.#other = other;
24
32
  }
25
33
  send = (data) => {
26
34
  const uint8 = (0, index_js_1.to_uint8)(data);
27
- this.calls.push({ from: this.side, data: uint8 });
28
- this.#other.onMessage({
35
+ this.transfers?.push({ from: this.side, data: uint8 });
36
+ this.#other.onmessage({
29
37
  data: uint8,
30
38
  });
31
39
  };
32
40
  }
41
+ exports.TestWSConnection = TestWSConnection;
33
42
  class TestWSPair {
34
43
  msgs = [];
35
44
  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;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,39 +1,35 @@
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 declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
12
7
  #private;
13
8
  readonly side: string;
14
- onMessage: OnMessageFn;
15
- onError: OnErrorFn;
16
- onClose: OnCloseFn;
17
- readonly calls: {
9
+ get onopen(): () => void;
10
+ set onopen(fn: () => void);
11
+ onmessage: OnMessageFn;
12
+ onerror: OnErrorFn;
13
+ onclose: OnCloseFn;
14
+ readonly transfers?: {
18
15
  from: string;
19
16
  data: Uint8Array;
20
17
  }[];
21
- constructor(side: string, calls: {
18
+ constructor(side: string, transfers?: {
22
19
  from: string;
23
20
  data: Uint8Array;
24
21
  }[]);
25
- connect(other: TestWSConnection): void;
22
+ connect(other: TestWSConnection<WS>): void;
26
23
  send: (data: CoerceBinaryInput) => void;
27
24
  }
28
- export declare class TestWSPair {
25
+ export declare class TestWSPair<WS extends WebSocketSimple = WebSocket> {
29
26
  readonly msgs: {
30
27
  from: string;
31
28
  data: Uint8Array;
32
29
  }[];
33
- readonly p1: TestWSConnection;
34
- readonly p2: TestWSConnection;
30
+ readonly p1: TestWSConnection<WS>;
31
+ readonly p2: TestWSConnection<WS>;
35
32
  static create(): TestWSPair;
36
33
  private constructor();
37
34
  }
38
- export {};
39
35
  //# 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,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,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;
@@ -1 +1 @@
1
- {"version":3,"file":"test-ws-pair.test.js","sourceRoot":"","sources":["../../../src/test-ws-pair.test.ts"],"names":[],"mappings":";;AAAA,uDAA+C;AAC/C,mCAAoC;AAEpC,IAAA,WAAE,EAAC,0DAA0D,EAAE,GAAG,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,4BAAU,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,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAElC,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,WAAE,EAAC,iDAAiD,EAAE,GAAG,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,4BAAU,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,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,WAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,4BAAU,CAAC,MAAM,EAAE,CAAC;IACjC,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAAA,CAC/B,CAAC,CAAC;AAEH,IAAA,WAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE,CAAC;IAC9D,MAAM,IAAI,GAAG,4BAAU,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,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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":"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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.18";
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.18",
4
4
  "license": "AFL-2.0",
5
5
  "exports": {
6
6
  ".": "./src/index.ts",
@@ -1,39 +1,35 @@
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 declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
12
7
  #private;
13
8
  readonly side: string;
14
- onMessage: OnMessageFn;
15
- onError: OnErrorFn;
16
- onClose: OnCloseFn;
17
- readonly calls: {
9
+ get onopen(): () => void;
10
+ set onopen(fn: () => void);
11
+ onmessage: OnMessageFn;
12
+ onerror: OnErrorFn;
13
+ onclose: OnCloseFn;
14
+ readonly transfers?: {
18
15
  from: string;
19
16
  data: Uint8Array;
20
17
  }[];
21
- constructor(side: string, calls: {
18
+ constructor(side: string, transfers?: {
22
19
  from: string;
23
20
  data: Uint8Array;
24
21
  }[]);
25
- connect(other: TestWSConnection): void;
22
+ connect(other: TestWSConnection<WS>): void;
26
23
  send: (data: CoerceBinaryInput) => void;
27
24
  }
28
- export declare class TestWSPair {
25
+ export declare class TestWSPair<WS extends WebSocketSimple = WebSocket> {
29
26
  readonly msgs: {
30
27
  from: string;
31
28
  data: Uint8Array;
32
29
  }[];
33
- readonly p1: TestWSConnection;
34
- readonly p2: TestWSConnection;
30
+ readonly p1: TestWSConnection<WS>;
31
+ readonly p2: TestWSConnection<WS>;
35
32
  static create(): TestWSPair;
36
33
  private constructor();
37
34
  }
38
- export {};
39
35
  //# 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,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,28 +1,36 @@
1
1
  import { to_uint8 } from "./index.js";
2
- class TestWSConnection {
2
+ export class TestWSConnection {
3
3
  #other;
4
4
  side;
5
- onMessage = (_e) => {
5
+ #onopen;
6
+ get onopen() {
7
+ return this.#onopen;
8
+ }
9
+ set onopen(fn) {
10
+ this.#onopen = fn;
11
+ fn();
12
+ }
13
+ onmessage = (_e) => {
6
14
  throw new Error("OnMessage Method not implemented.");
7
15
  };
8
- onError = (_e) => {
16
+ onerror = (_e) => {
9
17
  throw new Error("OnError Method not implemented.");
10
18
  };
11
- onClose = (_e) => {
19
+ onclose = (_e) => {
12
20
  throw new Error("OnClose Method not implemented.");
13
21
  };
14
- calls;
15
- constructor(side, calls) {
22
+ transfers;
23
+ constructor(side, transfers) {
16
24
  this.side = side;
17
- this.calls = calls;
25
+ this.transfers = transfers;
18
26
  }
19
27
  connect(other) {
20
28
  this.#other = other;
21
29
  }
22
30
  send = (data) => {
23
31
  const uint8 = to_uint8(data);
24
- this.calls.push({ from: this.side, data: uint8 });
25
- this.#other.onMessage({
32
+ this.transfers?.push({ from: this.side, data: uint8 });
33
+ this.#other.onmessage({
26
34
  data: uint8,
27
35
  });
28
36
  };
@@ -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":"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,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;
@@ -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.17";
1
+ export const VERSION = "0.5.18";
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.18",
4
4
  "description": "better try/catch/finally handling",
5
5
  "main": "./cjs/index.js",
6
6
  "type": "module",
@@ -73,11 +73,13 @@
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
85
  "@typescript/native-preview": "7.0.0-dev.20260119.1",
@@ -1,52 +1,57 @@
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 class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
10
+ #other!: TestWSConnection<WS>;
16
11
  readonly side: string;
17
- onMessage: OnMessageFn = <T>(_e: MessageEvent<T>): void => {
12
+
13
+ #onopen!: () => void;
14
+
15
+ get onopen(): () => void {
16
+ return this.#onopen;
17
+ }
18
+ set onopen(fn: () => void) {
19
+ this.#onopen = fn;
20
+ fn(); // immediately invoke for testing purposes
21
+ }
22
+ onmessage: OnMessageFn = <T>(_e: MessageEvent<T>): void => {
18
23
  throw new Error("OnMessage Method not implemented.");
19
24
  };
20
- onError: OnErrorFn = (_e: ErrorEvent): void => {
25
+ onerror: OnErrorFn = (_e: Event): void => {
21
26
  throw new Error("OnError Method not implemented.");
22
27
  };
23
- onClose: OnCloseFn = (_e: CloseEvent): void => {
28
+ onclose: OnCloseFn = (_e: CloseEvent): void => {
24
29
  throw new Error("OnClose Method not implemented.");
25
30
  };
26
31
 
27
- readonly calls: { from: string; data: Uint8Array }[];
32
+ readonly transfers?: { from: string; data: Uint8Array }[];
28
33
 
29
- constructor(side: string, calls: { from: string; data: Uint8Array }[]) {
34
+ constructor(side: string, transfers?: { from: string; data: Uint8Array }[]) {
30
35
  this.side = side;
31
- this.calls = calls;
36
+ this.transfers = transfers;
32
37
  }
33
- connect(other: TestWSConnection): void {
38
+ connect(other: TestWSConnection<WS>): void {
34
39
  this.#other = other;
35
40
  }
36
41
 
37
42
  send = (data: CoerceBinaryInput): void => {
38
43
  const uint8 = to_uint8(data);
39
- this.calls.push({ from: this.side, data: uint8 });
40
- this.#other.onMessage({
44
+ this.transfers?.push({ from: this.side, data: uint8 });
45
+ this.#other.onmessage({
41
46
  data: uint8,
42
47
  } as unknown as MessageEvent<Uint8Array>);
43
48
  };
44
49
  }
45
50
 
46
- export class TestWSPair {
51
+ export class TestWSPair<WS extends WebSocketSimple = WebSocket> {
47
52
  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);
53
+ public readonly p1: TestWSConnection<WS> = new TestWSConnection<WS>("p1", this.msgs);
54
+ public readonly p2: TestWSConnection<WS> = new TestWSConnection<WS>("p2", this.msgs);
50
55
 
51
56
  static create(): TestWSPair {
52
57
  const pair = new TestWSPair();
@@ -1,39 +1,35 @@
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 declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
12
7
  #private;
13
8
  readonly side: string;
14
- onMessage: OnMessageFn;
15
- onError: OnErrorFn;
16
- onClose: OnCloseFn;
17
- readonly calls: {
9
+ get onopen(): () => void;
10
+ set onopen(fn: () => void);
11
+ onmessage: OnMessageFn;
12
+ onerror: OnErrorFn;
13
+ onclose: OnCloseFn;
14
+ readonly transfers?: {
18
15
  from: string;
19
16
  data: Uint8Array;
20
17
  }[];
21
- constructor(side: string, calls: {
18
+ constructor(side: string, transfers?: {
22
19
  from: string;
23
20
  data: Uint8Array;
24
21
  }[]);
25
- connect(other: TestWSConnection): void;
22
+ connect(other: TestWSConnection<WS>): void;
26
23
  send: (data: CoerceBinaryInput) => void;
27
24
  }
28
- export declare class TestWSPair {
25
+ export declare class TestWSPair<WS extends WebSocketSimple = WebSocket> {
29
26
  readonly msgs: {
30
27
  from: string;
31
28
  data: Uint8Array;
32
29
  }[];
33
- readonly p1: TestWSConnection;
34
- readonly p2: TestWSConnection;
30
+ readonly p1: TestWSConnection<WS>;
31
+ readonly p2: TestWSConnection<WS>;
35
32
  static create(): TestWSPair;
36
33
  private constructor();
37
34
  }
38
- export {};
39
35
  //# 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,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,35 +1,44 @@
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
7
  side;
8
- onMessage = (_e) => {
8
+ #onopen;
9
+ get onopen() {
10
+ return this.#onopen;
11
+ }
12
+ set onopen(fn) {
13
+ this.#onopen = fn;
14
+ fn();
15
+ }
16
+ onmessage = (_e) => {
9
17
  throw new Error("OnMessage Method not implemented.");
10
18
  };
11
- onError = (_e) => {
19
+ onerror = (_e) => {
12
20
  throw new Error("OnError Method not implemented.");
13
21
  };
14
- onClose = (_e) => {
22
+ onclose = (_e) => {
15
23
  throw new Error("OnClose Method not implemented.");
16
24
  };
17
- calls;
18
- constructor(side, calls) {
25
+ transfers;
26
+ constructor(side, transfers) {
19
27
  this.side = side;
20
- this.calls = calls;
28
+ this.transfers = transfers;
21
29
  }
22
30
  connect(other) {
23
31
  this.#other = other;
24
32
  }
25
33
  send = (data) => {
26
34
  const uint8 = (0, index_js_1.to_uint8)(data);
27
- this.calls.push({ from: this.side, data: uint8 });
28
- this.#other.onMessage({
35
+ this.transfers?.push({ from: this.side, data: uint8 });
36
+ this.#other.onmessage({
29
37
  data: uint8,
30
38
  });
31
39
  };
32
40
  }
41
+ exports.TestWSConnection = TestWSConnection;
33
42
  class TestWSPair {
34
43
  msgs = [];
35
44
  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;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,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;
@@ -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":";;AAAA,mCAAwC;AACxC,uDAAiE;AAejE,IAAA,WAAE,EAAC,0DAA0D,EAAE,GAAG,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,4BAAU,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,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAElC,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,WAAE,EAAC,oDAAoD,EAAE,GAAG,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,IAAI,kCAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,GAAG,WAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAAC,CAE1B,CAAC,CAAC;IACH,IAAA,eAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAAA,CAC9C,CAAC,CAAC;AAEH,IAAA,WAAE,EAAC,iDAAiD,EAAE,GAAG,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,4BAAU,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,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,WAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,4BAAU,CAAC,MAAM,EAAE,CAAC;IACjC,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAAA,CAC/B,CAAC,CAAC;AAEH,IAAA,WAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE,CAAC;IAC9D,MAAM,IAAI,GAAG,4BAAU,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,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,IAAA,eAAM,EAAC,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"}
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.18";
5
5
  //# sourceMappingURL=version.js.map
@@ -1,39 +1,35 @@
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 declare class TestWSConnection<WS extends WebSocketSimple = WebSocket> implements WebSocketSimple {
12
7
  #private;
13
8
  readonly side: string;
14
- onMessage: OnMessageFn;
15
- onError: OnErrorFn;
16
- onClose: OnCloseFn;
17
- readonly calls: {
9
+ get onopen(): () => void;
10
+ set onopen(fn: () => void);
11
+ onmessage: OnMessageFn;
12
+ onerror: OnErrorFn;
13
+ onclose: OnCloseFn;
14
+ readonly transfers?: {
18
15
  from: string;
19
16
  data: Uint8Array;
20
17
  }[];
21
- constructor(side: string, calls: {
18
+ constructor(side: string, transfers?: {
22
19
  from: string;
23
20
  data: Uint8Array;
24
21
  }[]);
25
- connect(other: TestWSConnection): void;
22
+ connect(other: TestWSConnection<WS>): void;
26
23
  send: (data: CoerceBinaryInput) => void;
27
24
  }
28
- export declare class TestWSPair {
25
+ export declare class TestWSPair<WS extends WebSocketSimple = WebSocket> {
29
26
  readonly msgs: {
30
27
  from: string;
31
28
  data: Uint8Array;
32
29
  }[];
33
- readonly p1: TestWSConnection;
34
- readonly p2: TestWSConnection;
30
+ readonly p1: TestWSConnection<WS>;
31
+ readonly p2: TestWSConnection<WS>;
35
32
  static create(): TestWSPair;
36
33
  private constructor();
37
34
  }
38
- export {};
39
35
  //# 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,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,28 +1,36 @@
1
1
  import { to_uint8 } from "./index.js";
2
- class TestWSConnection {
2
+ export class TestWSConnection {
3
3
  #other;
4
4
  side;
5
- onMessage = (_e) => {
5
+ #onopen;
6
+ get onopen() {
7
+ return this.#onopen;
8
+ }
9
+ set onopen(fn) {
10
+ this.#onopen = fn;
11
+ fn();
12
+ }
13
+ onmessage = (_e) => {
6
14
  throw new Error("OnMessage Method not implemented.");
7
15
  };
8
- onError = (_e) => {
16
+ onerror = (_e) => {
9
17
  throw new Error("OnError Method not implemented.");
10
18
  };
11
- onClose = (_e) => {
19
+ onclose = (_e) => {
12
20
  throw new Error("OnClose Method not implemented.");
13
21
  };
14
- calls;
15
- constructor(side, calls) {
22
+ transfers;
23
+ constructor(side, transfers) {
16
24
  this.side = side;
17
- this.calls = calls;
25
+ this.transfers = transfers;
18
26
  }
19
27
  connect(other) {
20
28
  this.#other = other;
21
29
  }
22
30
  send = (data) => {
23
31
  const uint8 = to_uint8(data);
24
- this.calls.push({ from: this.side, data: uint8 });
25
- this.#other.onMessage({
32
+ this.transfers?.push({ from: this.side, data: uint8 });
33
+ this.#other.onmessage({
26
34
  data: uint8,
27
35
  });
28
36
  };
@@ -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":"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,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;
@@ -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.18";
2
2
  //# sourceMappingURL=version.js.map