@replit/river 0.10.7 → 0.10.9

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.
@@ -62,18 +62,27 @@ var WebSocketClientTransport = class extends Transport {
62
62
  if (ws.readyState === ws.CLOSING || ws.readyState === ws.CLOSED) {
63
63
  return resolve({ err: "ws is closing or closed" });
64
64
  }
65
- ws.addEventListener("open", function onOpen() {
65
+ const onOpen = () => {
66
66
  ws.removeEventListener("open", onOpen);
67
67
  resolve({ ws });
68
- });
69
- ws.addEventListener("close", function onClose(evt) {
68
+ };
69
+ const onClose = (evt) => {
70
70
  ws.removeEventListener("close", onClose);
71
71
  resolve({ err: evt.reason });
72
- });
72
+ };
73
+ ws.addEventListener("open", onOpen);
74
+ ws.addEventListener("close", onClose);
73
75
  });
74
76
  this.reconnectPromises.set(to, reconnectPromise);
75
77
  }
76
78
  const res = await reconnectPromise;
79
+ if (this.state !== "open") {
80
+ this.reconnectPromises.delete(to);
81
+ if ("ws" in res) {
82
+ res.ws.close();
83
+ }
84
+ return;
85
+ }
77
86
  if ("ws" in res && res.ws.readyState === res.ws.OPEN) {
78
87
  if (res.ws === this.connections.get(to)?.ws) {
79
88
  return;
@@ -103,6 +112,14 @@ var WebSocketClientTransport = class extends Transport {
103
112
  );
104
113
  }
105
114
  }
115
+ async close() {
116
+ super.close();
117
+ this.reconnectPromises.clear();
118
+ }
119
+ async destroy() {
120
+ super.destroy();
121
+ this.reconnectPromises.clear();
122
+ }
106
123
  };
107
124
 
108
125
  export {
@@ -452,18 +452,27 @@ var WebSocketClientTransport = class extends Transport {
452
452
  if (ws.readyState === ws.CLOSING || ws.readyState === ws.CLOSED) {
453
453
  return resolve({ err: "ws is closing or closed" });
454
454
  }
455
- ws.addEventListener("open", function onOpen() {
455
+ const onOpen = () => {
456
456
  ws.removeEventListener("open", onOpen);
457
457
  resolve({ ws });
458
- });
459
- ws.addEventListener("close", function onClose(evt) {
458
+ };
459
+ const onClose = (evt) => {
460
460
  ws.removeEventListener("close", onClose);
461
461
  resolve({ err: evt.reason });
462
- });
462
+ };
463
+ ws.addEventListener("open", onOpen);
464
+ ws.addEventListener("close", onClose);
463
465
  });
464
466
  this.reconnectPromises.set(to, reconnectPromise);
465
467
  }
466
468
  const res = await reconnectPromise;
469
+ if (this.state !== "open") {
470
+ this.reconnectPromises.delete(to);
471
+ if ("ws" in res) {
472
+ res.ws.close();
473
+ }
474
+ return;
475
+ }
467
476
  if ("ws" in res && res.ws.readyState === res.ws.OPEN) {
468
477
  if (res.ws === this.connections.get(to)?.ws) {
469
478
  return;
@@ -493,6 +502,14 @@ var WebSocketClientTransport = class extends Transport {
493
502
  );
494
503
  }
495
504
  }
505
+ async close() {
506
+ super.close();
507
+ this.reconnectPromises.clear();
508
+ }
509
+ async destroy() {
510
+ super.destroy();
511
+ this.reconnectPromises.clear();
512
+ }
496
513
  };
497
514
  // Annotate the CommonJS export names for ESM import in node:
498
515
  0 && (module.exports = {
@@ -36,6 +36,8 @@ declare class WebSocketClientTransport extends Transport<WebSocketConnection> {
36
36
  */
37
37
  constructor(wsGetter: () => Promise<WebSocket>, clientId: TransportClientId, serverId: TransportClientId, providedOptions?: Partial<Options>);
38
38
  createNewConnection(to: string, attempt?: number): Promise<void>;
39
+ close(): Promise<void>;
40
+ destroy(): Promise<void>;
39
41
  }
40
42
 
41
43
  export { WebSocketClientTransport };
@@ -36,6 +36,8 @@ declare class WebSocketClientTransport extends Transport<WebSocketConnection> {
36
36
  */
37
37
  constructor(wsGetter: () => Promise<WebSocket>, clientId: TransportClientId, serverId: TransportClientId, providedOptions?: Partial<Options>);
38
38
  createNewConnection(to: string, attempt?: number): Promise<void>;
39
+ close(): Promise<void>;
40
+ destroy(): Promise<void>;
39
41
  }
40
42
 
41
43
  export { WebSocketClientTransport };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  WebSocketClientTransport
3
- } from "../../../chunk-6QJETGOD.js";
3
+ } from "../../../chunk-FTVAZZ6B.js";
4
4
  import "../../../chunk-L7D75G4K.js";
5
5
  import "../../../chunk-R6H2BIMC.js";
6
6
  import "../../../chunk-LQXPKF3A.js";
@@ -489,18 +489,27 @@ var WebSocketClientTransport = class extends Transport {
489
489
  if (ws.readyState === ws.CLOSING || ws.readyState === ws.CLOSED) {
490
490
  return resolve({ err: "ws is closing or closed" });
491
491
  }
492
- ws.addEventListener("open", function onOpen() {
492
+ const onOpen = () => {
493
493
  ws.removeEventListener("open", onOpen);
494
494
  resolve({ ws });
495
- });
496
- ws.addEventListener("close", function onClose(evt) {
495
+ };
496
+ const onClose = (evt) => {
497
497
  ws.removeEventListener("close", onClose);
498
498
  resolve({ err: evt.reason });
499
- });
499
+ };
500
+ ws.addEventListener("open", onOpen);
501
+ ws.addEventListener("close", onClose);
500
502
  });
501
503
  this.reconnectPromises.set(to, reconnectPromise);
502
504
  }
503
505
  const res = await reconnectPromise;
506
+ if (this.state !== "open") {
507
+ this.reconnectPromises.delete(to);
508
+ if ("ws" in res) {
509
+ res.ws.close();
510
+ }
511
+ return;
512
+ }
504
513
  if ("ws" in res && res.ws.readyState === res.ws.OPEN) {
505
514
  if (res.ws === this.connections.get(to)?.ws) {
506
515
  return;
@@ -530,6 +539,14 @@ var WebSocketClientTransport = class extends Transport {
530
539
  );
531
540
  }
532
541
  }
542
+ async close() {
543
+ super.close();
544
+ this.reconnectPromises.clear();
545
+ }
546
+ async destroy() {
547
+ super.destroy();
548
+ this.reconnectPromises.clear();
549
+ }
533
550
  };
534
551
 
535
552
  // node_modules/p-defer/index.js
@@ -4,7 +4,7 @@ import {
4
4
  } from "../chunk-3JGVFWKQ.js";
5
5
  import {
6
6
  WebSocketClientTransport
7
- } from "../chunk-6QJETGOD.js";
7
+ } from "../chunk-FTVAZZ6B.js";
8
8
  import {
9
9
  WebSocketServerTransport
10
10
  } from "../chunk-PJ2EUO7O.js";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@replit/river",
3
3
  "description": "It's like tRPC but... with JSON Schema Support, duplex streaming and support for service multiplexing. Transport agnostic!",
4
- "version": "0.10.7",
4
+ "version": "0.10.9",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {