@seriousme/opifex 2.2.0 → 2.3.0

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.
Files changed (142) hide show
  1. package/README.md +7 -6
  2. package/bin/mqtt.ts +1 -1
  3. package/client/client.ts +57 -7
  4. package/client/context.ts +2 -2
  5. package/client/deps.ts +3 -3
  6. package/client/mod.ts +2 -2
  7. package/connNext/connNext.ts +44 -0
  8. package/deno/README.md +1 -1
  9. package/deno/denoConnToNext.ts +104 -0
  10. package/deno/tcpClient.ts +8 -24
  11. package/deno/tcpServer.test.ts +14 -103
  12. package/deno/tcpServer.ts +14 -6
  13. package/deno/tlsServer.test.ts +14 -58
  14. package/deno/tlsServer.ts +14 -6
  15. package/deno/wsServer.test.ts +15 -61
  16. package/deno/wsServer.ts +74 -32
  17. package/dev_utils/asyncStreamPair.ts +114 -0
  18. package/dev_utils/asyncStreamToNext.ts +171 -0
  19. package/dev_utils/connNextPair.test.ts +179 -0
  20. package/dev_utils/mockConn.ts +115 -29
  21. package/dev_utils/mockServer.ts +3 -4
  22. package/dev_utils/mod.ts +1 -2
  23. package/dev_utils/testClient.ts +64 -0
  24. package/dev_utils/webStreamToNext.ts +187 -0
  25. package/dist/bin/mqtt.js +1 -1
  26. package/dist/bin/mqtt.js.map +1 -1
  27. package/dist/client/client.d.ts +20 -3
  28. package/dist/client/client.d.ts.map +1 -1
  29. package/dist/client/client.js +42 -5
  30. package/dist/client/client.js.map +1 -1
  31. package/dist/client/context.d.ts +2 -2
  32. package/dist/client/context.d.ts.map +1 -1
  33. package/dist/client/deps.d.ts +1 -1
  34. package/dist/client/deps.d.ts.map +1 -1
  35. package/dist/client/mod.d.ts +1 -1
  36. package/dist/client/mod.d.ts.map +1 -1
  37. package/dist/connNext/connNext.d.ts +43 -0
  38. package/dist/connNext/connNext.d.ts.map +1 -0
  39. package/dist/connNext/connNext.js +2 -0
  40. package/dist/connNext/connNext.js.map +1 -0
  41. package/dist/examples/authHandler.test.js +2 -2
  42. package/dist/examples/authHandler.test.js.map +1 -1
  43. package/dist/examples/mqtt+mqtts.test.d.ts +2 -0
  44. package/dist/examples/mqtt+mqtts.test.d.ts.map +1 -0
  45. package/dist/examples/mqtt+mqtts.test.js +104 -0
  46. package/dist/examples/mqtt+mqtts.test.js.map +1 -0
  47. package/dist/examples/mqtt.test.js +2 -2
  48. package/dist/examples/mqtt.test.js.map +1 -1
  49. package/dist/examples/mqtts.test.js +2 -2
  50. package/dist/examples/mqtts.test.js.map +1 -1
  51. package/dist/mqttConn/mqttConn.d.ts +5 -6
  52. package/dist/mqttConn/mqttConn.d.ts.map +1 -1
  53. package/dist/mqttConn/mqttConn.js +2 -3
  54. package/dist/mqttConn/mqttConn.js.map +1 -1
  55. package/dist/node/nodeSocketToNext.d.ts +20 -0
  56. package/dist/node/nodeSocketToNext.d.ts.map +1 -0
  57. package/dist/node/nodeSocketToNext.js +161 -0
  58. package/dist/node/nodeSocketToNext.js.map +1 -0
  59. package/dist/node/tcpClient.d.ts +4 -6
  60. package/dist/node/tcpClient.d.ts.map +1 -1
  61. package/dist/node/tcpClient.js +6 -21
  62. package/dist/node/tcpClient.js.map +1 -1
  63. package/dist/node/tcpServer.d.ts +8 -4
  64. package/dist/node/tcpServer.d.ts.map +1 -1
  65. package/dist/node/tcpServer.js +14 -6
  66. package/dist/node/tcpServer.js.map +1 -1
  67. package/dist/node/tlsServer.d.ts +7 -3
  68. package/dist/node/tlsServer.d.ts.map +1 -1
  69. package/dist/node/tlsServer.js +13 -5
  70. package/dist/node/tlsServer.js.map +1 -1
  71. package/dist/server/context.d.ts +5 -5
  72. package/dist/server/context.d.ts.map +1 -1
  73. package/dist/server/context.js +4 -1
  74. package/dist/server/context.js.map +1 -1
  75. package/dist/server/deps.d.ts +1 -1
  76. package/dist/server/deps.d.ts.map +1 -1
  77. package/dist/server/mod.d.ts +1 -1
  78. package/dist/server/mod.d.ts.map +1 -1
  79. package/dist/server/server.d.ts +3 -3
  80. package/dist/server/server.d.ts.map +1 -1
  81. package/dist/server/server.js +3 -3
  82. package/dist/utils/utils.d.ts +1 -2
  83. package/dist/utils/utils.d.ts.map +1 -1
  84. package/dist/utils/utils.js +3 -2
  85. package/dist/utils/utils.js.map +1 -1
  86. package/dist/web/webSocketToNext.d.ts +3 -0
  87. package/dist/web/webSocketToNext.d.ts.map +1 -0
  88. package/dist/web/webSocketToNext.js +160 -0
  89. package/dist/web/webSocketToNext.js.map +1 -0
  90. package/dist/web/wsClient.d.ts +3 -3
  91. package/dist/web/wsClient.d.ts.map +1 -1
  92. package/dist/web/wsClient.js +19 -5
  93. package/dist/web/wsClient.js.map +1 -1
  94. package/dist/web/wsClient.test.js +15 -0
  95. package/dist/web/wsClient.test.js.map +1 -1
  96. package/examples/README.md +21 -0
  97. package/examples/authHandler.test.ts +2 -2
  98. package/examples/mqtt+mqtts.test.ts +122 -0
  99. package/examples/mqtt.test.ts +2 -2
  100. package/examples/mqtts.test.ts +2 -2
  101. package/examples/webSocket.test.ts +10 -64
  102. package/examples/webSocketServer.ts +98 -0
  103. package/mqttConn/mqttConn.test.ts +6 -6
  104. package/mqttConn/mqttConn.ts +8 -9
  105. package/node/README.md +1 -1
  106. package/node/{socket-node-stream.ts → nodeSocketToNext.ts} +78 -65
  107. package/node/tcpClient.ts +13 -27
  108. package/node/tcpServer.test.ts +12 -58
  109. package/node/tcpServer.ts +18 -8
  110. package/node/tlsServer.test.ts +11 -58
  111. package/node/tlsServer.ts +17 -7
  112. package/package.json +3 -2
  113. package/server/context.ts +9 -6
  114. package/server/deps.ts +1 -1
  115. package/server/mod.ts +1 -1
  116. package/server/server.ts +6 -6
  117. package/utils/utils.ts +3 -2
  118. package/web/webSocketToNext.ts +183 -0
  119. package/web/wsClient.test.ts +22 -0
  120. package/web/wsClient.ts +21 -8
  121. package/dist/node/wrapNodeSocket.d.ts +0 -12
  122. package/dist/node/wrapNodeSocket.d.ts.map +0 -1
  123. package/dist/node/wrapNodeSocket.js +0 -36
  124. package/dist/node/wrapNodeSocket.js.map +0 -1
  125. package/dist/socket/socket.d.ts +0 -58
  126. package/dist/socket/socket.d.ts.map +0 -1
  127. package/dist/socket/socket.js +0 -99
  128. package/dist/socket/socket.js.map +0 -1
  129. package/dist/web/webSocketStream.d.ts +0 -29
  130. package/dist/web/webSocketStream.d.ts.map +0 -1
  131. package/dist/web/webSocketStream.js +0 -69
  132. package/dist/web/webSocketStream.js.map +0 -1
  133. package/dist/web/wrapWebSocket.d.ts +0 -12
  134. package/dist/web/wrapWebSocket.d.ts.map +0 -1
  135. package/dist/web/wrapWebSocket.js +0 -41
  136. package/dist/web/wrapWebSocket.js.map +0 -1
  137. package/node/socket-node-stream.test.ts +0 -322
  138. package/node/wrapNodeSocket.ts +0 -44
  139. package/socket/socket.test.ts +0 -91
  140. package/socket/socket.ts +0 -149
  141. package/web/webSocketStream.ts +0 -97
  142. package/web/wrapWebSocket.ts +0 -52
@@ -1,52 +0,0 @@
1
- /**
2
- * Utility functions for wrapping WebSocketStream sockets into standard web streams.
3
- */
4
- import { WebSocketStream } from "./webSocketStream.ts";
5
- import type { SockConn } from "../socket/socket.ts";
6
- import { logger } from "../utils/logger.ts";
7
-
8
- export type HostnamePort = {
9
- hostname?: string;
10
- port?: string | number;
11
- };
12
-
13
- /**
14
- * Closes a WebSocketStream socket if it is not already closed
15
- * @param sock - The WebSocketStream socket to close
16
- */
17
- async function closer(stream: WebSocketStream) {
18
- if (!await stream.closed) {
19
- stream.close();
20
- }
21
- }
22
-
23
- /**
24
- * Wraps a WebSocketStream socket into a standard web streams-based socket connection
25
- * @param ws - The WebSocket to wrap
26
- * @returns A SockConn object
27
- */
28
- export async function wrapWebSocket(
29
- ws: WebSocket,
30
- remoteAddr?: HostnamePort,
31
- ): Promise<SockConn> {
32
- ws.binaryType = "arraybuffer";
33
- const wsstream = new WebSocketStream<Uint8Array>(ws);
34
- logger.debug("created wsstream");
35
- const stream = await wsstream.opened;
36
- logger.debug("wsstream is opened");
37
- const readable = stream.readable;
38
- const writable = stream.writable;
39
- const { hostname = "localhost", port = 0 } = remoteAddr || {};
40
-
41
- const conn: SockConn = {
42
- readable: readable as ReadableStream<Uint8Array>,
43
- writable: writable as WritableStream<Uint8Array>,
44
- close: () => closer(wsstream),
45
- remoteAddr: {
46
- hostname,
47
- port: Number(port),
48
- transport: "tcp",
49
- },
50
- };
51
- return conn;
52
- }