@seriousme/opifex 1.11.3 → 2.1.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 (542) hide show
  1. package/README.md +99 -40
  2. package/bin/conformanceServer.ts +45 -13
  3. package/bin/demoServer.ts +38 -13
  4. package/bin/mqtt.ts +2 -2
  5. package/client/ConnectionState.ts +3 -1
  6. package/client/client.ts +88 -47
  7. package/client/context.ts +79 -27
  8. package/client/deps.ts +10 -3
  9. package/client/handlers/handleAuth.test.ts +193 -0
  10. package/client/handlers/handleAuth.ts +89 -0
  11. package/client/handlers/handleConnack.test.ts +173 -0
  12. package/client/handlers/handleConnack.ts +18 -8
  13. package/client/handlers/handleDisconnect.test.ts +22 -0
  14. package/client/handlers/handleDisconnect.ts +17 -0
  15. package/client/handlers/handlePacket.test.ts +242 -0
  16. package/client/handlers/handlePacket.ts +19 -5
  17. package/client/handlers/handlePuback.test.ts +99 -0
  18. package/client/handlers/handlePuback.ts +6 -0
  19. package/client/handlers/handlePubcomp.test.ts +112 -0
  20. package/client/handlers/handlePubcomp.ts +5 -0
  21. package/client/handlers/handlePublish.test.ts +188 -0
  22. package/client/handlers/handlePubrec.test.ts +119 -0
  23. package/client/handlers/handlePubrec.ts +5 -1
  24. package/client/handlers/handlePubrel.test.ts +136 -0
  25. package/client/handlers/handleSuback.test.ts +122 -0
  26. package/client/handlers/handleSuback.ts +3 -0
  27. package/client/handlers/handleUnsuback.test.ts +101 -0
  28. package/client/mod.ts +13 -2
  29. package/client/store/memoryStore.ts +12 -11
  30. package/client/store/store.ts +4 -2
  31. package/deno/README.md +1 -2
  32. package/deno/tcpClient.test.ts +75 -0
  33. package/deno/tcpClient.ts +36 -18
  34. package/deno/tcpServer.test.ts +22 -21
  35. package/deno/tcpServer.ts +26 -4
  36. package/deno/tlsServer.test.ts +97 -0
  37. package/deno/tlsServer.ts +58 -0
  38. package/deno/wsServer.test.ts +93 -0
  39. package/deno/wsServer.ts +96 -0
  40. package/dev_utils/generateCert.ts +95 -0
  41. package/dev_utils/mockConn.ts +36 -0
  42. package/dev_utils/mockServer.ts +28 -0
  43. package/dev_utils/mod.ts +30 -3
  44. package/dev_utils/packetHelpers.ts +404 -0
  45. package/dev_utils/test-handlers.ts +98 -0
  46. package/dev_utils/timers.ts +14 -0
  47. package/dev_utils/webStreamPair.test.ts +171 -0
  48. package/dev_utils/webStreamPair.ts +143 -0
  49. package/dist/bin/conformanceServer.js +17 -12
  50. package/dist/bin/conformanceServer.js.map +1 -1
  51. package/dist/bin/demoServer.js +16 -12
  52. package/dist/bin/demoServer.js.map +1 -1
  53. package/dist/bin/mqtt.js +2 -2
  54. package/dist/bin/mqtt.js.map +1 -1
  55. package/dist/client/ConnectionState.d.ts +3 -1
  56. package/dist/client/ConnectionState.d.ts.map +1 -1
  57. package/dist/client/ConnectionState.js +2 -0
  58. package/dist/client/ConnectionState.js.map +1 -1
  59. package/dist/client/client.d.ts +47 -21
  60. package/dist/client/client.d.ts.map +1 -1
  61. package/dist/client/client.js +57 -20
  62. package/dist/client/client.js.map +1 -1
  63. package/dist/client/context.d.ts +15 -7
  64. package/dist/client/context.d.ts.map +1 -1
  65. package/dist/client/context.js +44 -12
  66. package/dist/client/context.js.map +1 -1
  67. package/dist/client/deps.d.ts +4 -3
  68. package/dist/client/deps.d.ts.map +1 -1
  69. package/dist/client/deps.js +1 -1
  70. package/dist/client/deps.js.map +1 -1
  71. package/dist/client/handlers/handleAuth.d.ts +9 -0
  72. package/dist/client/handlers/handleAuth.d.ts.map +1 -0
  73. package/dist/client/handlers/handleAuth.js +66 -0
  74. package/dist/client/handlers/handleAuth.js.map +1 -0
  75. package/dist/client/handlers/handleConnack.d.ts +2 -2
  76. package/dist/client/handlers/handleConnack.d.ts.map +1 -1
  77. package/dist/client/handlers/handleConnack.js +16 -6
  78. package/dist/client/handlers/handleConnack.js.map +1 -1
  79. package/dist/client/handlers/handleDisconnect.d.ts +11 -0
  80. package/dist/client/handlers/handleDisconnect.d.ts.map +1 -0
  81. package/dist/client/handlers/handleDisconnect.js +15 -0
  82. package/dist/client/handlers/handleDisconnect.js.map +1 -0
  83. package/dist/client/handlers/handlePacket.d.ts.map +1 -1
  84. package/dist/client/handlers/handlePacket.js +14 -3
  85. package/dist/client/handlers/handlePacket.js.map +1 -1
  86. package/dist/client/handlers/handlePuback.d.ts.map +1 -1
  87. package/dist/client/handlers/handlePuback.js +5 -0
  88. package/dist/client/handlers/handlePuback.js.map +1 -1
  89. package/dist/client/handlers/handlePubcomp.d.ts.map +1 -1
  90. package/dist/client/handlers/handlePubcomp.js +5 -0
  91. package/dist/client/handlers/handlePubcomp.js.map +1 -1
  92. package/dist/client/handlers/handlePubrec.d.ts.map +1 -1
  93. package/dist/client/handlers/handlePubrec.js +5 -1
  94. package/dist/client/handlers/handlePubrec.js.map +1 -1
  95. package/dist/client/handlers/handleSuback.d.ts +1 -0
  96. package/dist/client/handlers/handleSuback.d.ts.map +1 -1
  97. package/dist/client/handlers/handleSuback.js +3 -0
  98. package/dist/client/handlers/handleSuback.js.map +1 -1
  99. package/dist/client/mod.d.ts +3 -2
  100. package/dist/client/mod.d.ts.map +1 -1
  101. package/dist/client/mod.js +1 -1
  102. package/dist/client/mod.js.map +1 -1
  103. package/dist/client/store/memoryStore.d.ts +3 -3
  104. package/dist/client/store/memoryStore.d.ts.map +1 -1
  105. package/dist/client/store/memoryStore.js +3 -3
  106. package/dist/client/store/memoryStore.js.map +1 -1
  107. package/dist/client/store/store.d.ts +3 -2
  108. package/dist/client/store/store.d.ts.map +1 -1
  109. package/dist/client/store/store.js +1 -1
  110. package/dist/client/store/store.js.map +1 -1
  111. package/dist/dev_utils/generateCert.d.ts +11 -0
  112. package/dist/dev_utils/generateCert.d.ts.map +1 -0
  113. package/dist/dev_utils/generateCert.js +76 -0
  114. package/dist/dev_utils/generateCert.js.map +1 -0
  115. package/dist/examples/authHandler.test.d.ts +2 -0
  116. package/dist/examples/authHandler.test.d.ts.map +1 -0
  117. package/dist/examples/authHandler.test.js +123 -0
  118. package/dist/examples/authHandler.test.js.map +1 -0
  119. package/dist/examples/mqtt.test.d.ts +2 -0
  120. package/dist/examples/mqtt.test.d.ts.map +1 -0
  121. package/dist/examples/mqtt.test.js +70 -0
  122. package/dist/examples/mqtt.test.js.map +1 -0
  123. package/dist/examples/mqtts.test.d.ts +2 -0
  124. package/dist/examples/mqtts.test.d.ts.map +1 -0
  125. package/dist/examples/mqtts.test.js +81 -0
  126. package/dist/examples/mqtts.test.js.map +1 -0
  127. package/dist/mqttConn/mqttConn.d.ts +24 -31
  128. package/dist/mqttConn/mqttConn.d.ts.map +1 -1
  129. package/dist/mqttConn/mqttConn.js +57 -36
  130. package/dist/mqttConn/mqttConn.js.map +1 -1
  131. package/dist/mqttPacket/AuthenticationResult.d.ts +4 -0
  132. package/dist/mqttPacket/AuthenticationResult.d.ts.map +1 -1
  133. package/dist/mqttPacket/AuthenticationResult.js.map +1 -1
  134. package/dist/mqttPacket/BitMask.d.ts.map +1 -1
  135. package/dist/mqttPacket/PacketType.d.ts +4 -0
  136. package/dist/mqttPacket/PacketType.d.ts.map +1 -1
  137. package/dist/mqttPacket/Properties.d.ts +4 -4
  138. package/dist/mqttPacket/Properties.d.ts.map +1 -1
  139. package/dist/mqttPacket/Properties.js.map +1 -1
  140. package/dist/mqttPacket/ReasonCode.d.ts +4 -5
  141. package/dist/mqttPacket/ReasonCode.d.ts.map +1 -1
  142. package/dist/mqttPacket/ReasonCode.js +1 -0
  143. package/dist/mqttPacket/ReasonCode.js.map +1 -1
  144. package/dist/mqttPacket/RetainHandling.d.ts +4 -0
  145. package/dist/mqttPacket/RetainHandling.d.ts.map +1 -1
  146. package/dist/mqttPacket/auth.d.ts +7 -8
  147. package/dist/mqttPacket/auth.d.ts.map +1 -1
  148. package/dist/mqttPacket/auth.js +31 -30
  149. package/dist/mqttPacket/auth.js.map +1 -1
  150. package/dist/mqttPacket/codec.d.ts +48 -0
  151. package/dist/mqttPacket/codec.d.ts.map +1 -0
  152. package/dist/mqttPacket/codec.js +93 -0
  153. package/dist/mqttPacket/codec.js.map +1 -0
  154. package/dist/mqttPacket/connack.d.ts +11 -10
  155. package/dist/mqttPacket/connack.d.ts.map +1 -1
  156. package/dist/mqttPacket/connack.js +43 -45
  157. package/dist/mqttPacket/connack.js.map +1 -1
  158. package/dist/mqttPacket/connect.d.ts +7 -7
  159. package/dist/mqttPacket/connect.d.ts.map +1 -1
  160. package/dist/mqttPacket/connect.js +156 -157
  161. package/dist/mqttPacket/connect.js.map +1 -1
  162. package/dist/mqttPacket/decoder.d.ts +6 -16
  163. package/dist/mqttPacket/decoder.d.ts.map +1 -1
  164. package/dist/mqttPacket/decoder.js +7 -28
  165. package/dist/mqttPacket/decoder.js.map +1 -1
  166. package/dist/mqttPacket/disconnect.d.ts +9 -8
  167. package/dist/mqttPacket/disconnect.d.ts.map +1 -1
  168. package/dist/mqttPacket/disconnect.js +41 -43
  169. package/dist/mqttPacket/disconnect.js.map +1 -1
  170. package/dist/mqttPacket/encoder.d.ts +7 -19
  171. package/dist/mqttPacket/encoder.d.ts.map +1 -1
  172. package/dist/mqttPacket/encoder.js +5 -28
  173. package/dist/mqttPacket/encoder.js.map +1 -1
  174. package/dist/mqttPacket/mod.d.ts +21 -103
  175. package/dist/mqttPacket/mod.d.ts.map +1 -1
  176. package/dist/mqttPacket/mod.js +5 -94
  177. package/dist/mqttPacket/mod.js.map +1 -1
  178. package/dist/mqttPacket/pingreq.d.ts +6 -6
  179. package/dist/mqttPacket/pingreq.d.ts.map +1 -1
  180. package/dist/mqttPacket/pingreq.js +11 -13
  181. package/dist/mqttPacket/pingreq.js.map +1 -1
  182. package/dist/mqttPacket/pingres.d.ts +6 -6
  183. package/dist/mqttPacket/pingres.d.ts.map +1 -1
  184. package/dist/mqttPacket/pingres.js +11 -13
  185. package/dist/mqttPacket/pingres.js.map +1 -1
  186. package/dist/mqttPacket/protocolLevels.d.ts +11 -6
  187. package/dist/mqttPacket/protocolLevels.d.ts.map +1 -1
  188. package/dist/mqttPacket/protocolLevels.js +5 -1
  189. package/dist/mqttPacket/protocolLevels.js.map +1 -1
  190. package/dist/mqttPacket/pubblishAcks.d.ts +9 -10
  191. package/dist/mqttPacket/pubblishAcks.d.ts.map +1 -1
  192. package/dist/mqttPacket/pubblishAcks.js +43 -45
  193. package/dist/mqttPacket/pubblishAcks.js.map +1 -1
  194. package/dist/mqttPacket/publish.d.ts +8 -7
  195. package/dist/mqttPacket/publish.d.ts.map +1 -1
  196. package/dist/mqttPacket/publish.js +53 -55
  197. package/dist/mqttPacket/publish.js.map +1 -1
  198. package/dist/mqttPacket/suback.d.ts +9 -8
  199. package/dist/mqttPacket/suback.d.ts.map +1 -1
  200. package/dist/mqttPacket/suback.js +38 -40
  201. package/dist/mqttPacket/suback.js.map +1 -1
  202. package/dist/mqttPacket/subscribe.d.ts +41 -10
  203. package/dist/mqttPacket/subscribe.d.ts.map +1 -1
  204. package/dist/mqttPacket/subscribe.js +90 -89
  205. package/dist/mqttPacket/subscribe.js.map +1 -1
  206. package/dist/mqttPacket/types.d.ts +2 -29
  207. package/dist/mqttPacket/types.d.ts.map +1 -1
  208. package/dist/mqttPacket/unsuback.d.ts +9 -8
  209. package/dist/mqttPacket/unsuback.d.ts.map +1 -1
  210. package/dist/mqttPacket/unsuback.js +32 -34
  211. package/dist/mqttPacket/unsuback.js.map +1 -1
  212. package/dist/mqttPacket/unsubscribe.d.ts +26 -8
  213. package/dist/mqttPacket/unsubscribe.d.ts.map +1 -1
  214. package/dist/mqttPacket/unsubscribe.js +45 -44
  215. package/dist/mqttPacket/unsubscribe.js.map +1 -1
  216. package/dist/mqttPacket/validators.d.ts +4 -16
  217. package/dist/mqttPacket/validators.d.ts.map +1 -1
  218. package/dist/mqttPacket/validators.js +5 -26
  219. package/dist/mqttPacket/validators.js.map +1 -1
  220. package/dist/node/tcpClient.d.ts +22 -2
  221. package/dist/node/tcpClient.d.ts.map +1 -1
  222. package/dist/node/tcpClient.js +29 -10
  223. package/dist/node/tcpClient.js.map +1 -1
  224. package/dist/node/tcpServer.d.ts +18 -0
  225. package/dist/node/tcpServer.d.ts.map +1 -1
  226. package/dist/node/tcpServer.js +21 -2
  227. package/dist/node/tcpServer.js.map +1 -1
  228. package/dist/node/tlsServer.d.ts +37 -0
  229. package/dist/node/tlsServer.d.ts.map +1 -0
  230. package/dist/node/tlsServer.js +73 -0
  231. package/dist/node/tlsServer.js.map +1 -0
  232. package/dist/node/wrapNodeSocket.d.ts.map +1 -1
  233. package/dist/node/wrapNodeSocket.js +6 -28
  234. package/dist/node/wrapNodeSocket.js.map +1 -1
  235. package/dist/persistence/basicPersistence.d.ts +36 -0
  236. package/dist/persistence/basicPersistence.d.ts.map +1 -0
  237. package/dist/persistence/basicPersistence.js +306 -0
  238. package/dist/persistence/basicPersistence.js.map +1 -0
  239. package/dist/persistence/deps.d.ts +3 -2
  240. package/dist/persistence/deps.d.ts.map +1 -1
  241. package/dist/persistence/deps.js +2 -1
  242. package/dist/persistence/deps.js.map +1 -1
  243. package/dist/persistence/memory/memoryPersistence.d.ts +6 -23
  244. package/dist/persistence/memory/memoryPersistence.d.ts.map +1 -1
  245. package/dist/persistence/memory/memoryPersistence.js +12 -115
  246. package/dist/persistence/memory/memoryPersistence.js.map +1 -1
  247. package/dist/persistence/memory/memoryStorage.d.ts +45 -0
  248. package/dist/persistence/memory/memoryStorage.d.ts.map +1 -0
  249. package/dist/persistence/memory/memoryStorage.js +143 -0
  250. package/dist/persistence/memory/memoryStorage.js.map +1 -0
  251. package/dist/persistence/mod.d.ts +3 -3
  252. package/dist/persistence/mod.d.ts.map +1 -1
  253. package/dist/persistence/mod.js +6 -1
  254. package/dist/persistence/mod.js.map +1 -1
  255. package/dist/persistence/persistence.d.ts +45 -70
  256. package/dist/persistence/persistence.d.ts.map +1 -1
  257. package/dist/persistence/persistence.js +1 -2
  258. package/dist/persistence/persistence.js.map +1 -1
  259. package/dist/persistence/sqlite/sqliteDatabase.d.ts +46 -0
  260. package/dist/persistence/sqlite/sqliteDatabase.d.ts.map +1 -0
  261. package/dist/persistence/sqlite/sqliteDatabase.js +215 -0
  262. package/dist/persistence/sqlite/sqliteDatabase.js.map +1 -0
  263. package/dist/persistence/sqlite/sqlitePersistence.d.ts +16 -0
  264. package/dist/persistence/sqlite/sqlitePersistence.d.ts.map +1 -0
  265. package/dist/persistence/sqlite/sqlitePersistence.js +29 -0
  266. package/dist/persistence/sqlite/sqlitePersistence.js.map +1 -0
  267. package/dist/persistence/sqlite/sqliteStorage.d.ts +36 -0
  268. package/dist/persistence/sqlite/sqliteStorage.d.ts.map +1 -0
  269. package/dist/persistence/sqlite/sqliteStorage.js +194 -0
  270. package/dist/persistence/sqlite/sqliteStorage.js.map +1 -0
  271. package/dist/persistence/storage.d.ts +38 -0
  272. package/dist/persistence/storage.d.ts.map +1 -0
  273. package/dist/persistence/storage.js +5 -0
  274. package/dist/persistence/storage.js.map +1 -0
  275. package/dist/server/config.d.ts +47 -0
  276. package/dist/server/config.d.ts.map +1 -0
  277. package/dist/server/config.js +41 -0
  278. package/dist/server/config.js.map +1 -0
  279. package/dist/server/context.d.ts +199 -25
  280. package/dist/server/context.d.ts.map +1 -1
  281. package/dist/server/context.js +432 -53
  282. package/dist/server/context.js.map +1 -1
  283. package/dist/server/deps.d.ts +5 -6
  284. package/dist/server/deps.d.ts.map +1 -1
  285. package/dist/server/deps.js +2 -2
  286. package/dist/server/deps.js.map +1 -1
  287. package/dist/server/handlers/completeConnect.d.ts +9 -0
  288. package/dist/server/handlers/completeConnect.d.ts.map +1 -0
  289. package/dist/server/handlers/completeConnect.js +74 -0
  290. package/dist/server/handlers/completeConnect.js.map +1 -0
  291. package/dist/server/handlers/handleAuth.d.ts +9 -0
  292. package/dist/server/handlers/handleAuth.d.ts.map +1 -0
  293. package/dist/server/handlers/handleAuth.js +69 -0
  294. package/dist/server/handlers/handleAuth.js.map +1 -0
  295. package/dist/server/handlers/handleConnect.d.ts +2 -4
  296. package/dist/server/handlers/handleConnect.d.ts.map +1 -1
  297. package/dist/server/handlers/handleConnect.js +140 -67
  298. package/dist/server/handlers/handleConnect.js.map +1 -1
  299. package/dist/server/handlers/handleDisconnect.d.ts +1 -1
  300. package/dist/server/handlers/handleDisconnect.d.ts.map +1 -1
  301. package/dist/server/handlers/handleDisconnect.js +3 -3
  302. package/dist/server/handlers/handleDisconnect.js.map +1 -1
  303. package/dist/server/handlers/handlePacket.d.ts.map +1 -1
  304. package/dist/server/handlers/handlePacket.js +19 -6
  305. package/dist/server/handlers/handlePacket.js.map +1 -1
  306. package/dist/server/handlers/handlePuback.d.ts +1 -3
  307. package/dist/server/handlers/handlePuback.d.ts.map +1 -1
  308. package/dist/server/handlers/handlePuback.js +2 -8
  309. package/dist/server/handlers/handlePuback.js.map +1 -1
  310. package/dist/server/handlers/handlePubcomp.d.ts +1 -1
  311. package/dist/server/handlers/handlePubcomp.d.ts.map +1 -1
  312. package/dist/server/handlers/handlePubcomp.js +2 -4
  313. package/dist/server/handlers/handlePubcomp.js.map +1 -1
  314. package/dist/server/handlers/handlePublish.d.ts +1 -1
  315. package/dist/server/handlers/handlePublish.d.ts.map +1 -1
  316. package/dist/server/handlers/handlePublish.js +149 -45
  317. package/dist/server/handlers/handlePublish.js.map +1 -1
  318. package/dist/server/handlers/handlePubrec.d.ts.map +1 -1
  319. package/dist/server/handlers/handlePubrec.js +2 -3
  320. package/dist/server/handlers/handlePubrec.js.map +1 -1
  321. package/dist/server/handlers/handlePubrel.d.ts.map +1 -1
  322. package/dist/server/handlers/handlePubrel.js +6 -2
  323. package/dist/server/handlers/handlePubrel.js.map +1 -1
  324. package/dist/server/handlers/handleSubscribe.d.ts +1 -6
  325. package/dist/server/handlers/handleSubscribe.d.ts.map +1 -1
  326. package/dist/server/handlers/handleSubscribe.js +99 -38
  327. package/dist/server/handlers/handleSubscribe.js.map +1 -1
  328. package/dist/server/handlers/handleUnsubscribe.d.ts.map +1 -1
  329. package/dist/server/handlers/handleUnsubscribe.js +19 -4
  330. package/dist/server/handlers/handleUnsubscribe.js.map +1 -1
  331. package/dist/server/mod.d.ts +3 -3
  332. package/dist/server/mod.d.ts.map +1 -1
  333. package/dist/server/mod.js +1 -1
  334. package/dist/server/mod.js.map +1 -1
  335. package/dist/server/server.d.ts +32 -9
  336. package/dist/server/server.d.ts.map +1 -1
  337. package/dist/server/server.js +84 -15
  338. package/dist/server/server.js.map +1 -1
  339. package/dist/socket/socket.d.ts +15 -9
  340. package/dist/socket/socket.d.ts.map +1 -1
  341. package/dist/socket/socket.js +66 -18
  342. package/dist/socket/socket.js.map +1 -1
  343. package/dist/timer/timer.d.ts +32 -0
  344. package/dist/timer/timer.d.ts.map +1 -1
  345. package/dist/timer/timer.js +32 -0
  346. package/dist/timer/timer.js.map +1 -1
  347. package/dist/trie/trie.d.ts +10 -5
  348. package/dist/trie/trie.d.ts.map +1 -1
  349. package/dist/trie/trie.js +61 -41
  350. package/dist/trie/trie.js.map +1 -1
  351. package/dist/utils/assert.d.ts.map +1 -1
  352. package/dist/utils/{BufferedAsyncIterable.d.ts → bufferedAsyncIterable.d.ts} +1 -1
  353. package/dist/utils/bufferedAsyncIterable.d.ts.map +1 -0
  354. package/dist/utils/{BufferedAsyncIterable.js → bufferedAsyncIterable.js} +1 -1
  355. package/dist/utils/bufferedAsyncIterable.js.map +1 -0
  356. package/dist/utils/deferred.d.ts.map +1 -1
  357. package/dist/utils/deferred.js.map +1 -1
  358. package/dist/utils/getOrInsertPolyFill.d.ts +2 -0
  359. package/dist/utils/getOrInsertPolyFill.d.ts.map +1 -0
  360. package/dist/utils/getOrInsertPolyFill.js +12 -0
  361. package/dist/utils/getOrInsertPolyFill.js.map +1 -0
  362. package/dist/utils/logger.d.ts +42 -5
  363. package/dist/utils/logger.d.ts.map +1 -1
  364. package/dist/utils/logger.js +53 -7
  365. package/dist/utils/logger.js.map +1 -1
  366. package/dist/utils/mod.d.ts +6 -1
  367. package/dist/utils/mod.d.ts.map +1 -1
  368. package/dist/utils/mod.js +5 -1
  369. package/dist/utils/mod.js.map +1 -1
  370. package/dist/utils/outboundTopicAliasManager.d.ts +52 -0
  371. package/dist/utils/outboundTopicAliasManager.d.ts.map +1 -0
  372. package/dist/utils/outboundTopicAliasManager.js +74 -0
  373. package/dist/utils/outboundTopicAliasManager.js.map +1 -0
  374. package/dist/utils/queue.d.ts.map +1 -1
  375. package/dist/utils/topicFilter.d.ts +32 -0
  376. package/dist/utils/topicFilter.d.ts.map +1 -0
  377. package/dist/utils/topicFilter.js +52 -0
  378. package/dist/utils/topicFilter.js.map +1 -0
  379. package/dist/utils/utils.d.ts +2 -0
  380. package/dist/utils/utils.d.ts.map +1 -1
  381. package/dist/utils/utils.js +2 -0
  382. package/dist/utils/utils.js.map +1 -1
  383. package/dist/utils/validators.d.ts +34 -0
  384. package/dist/utils/validators.d.ts.map +1 -0
  385. package/dist/utils/validators.js +61 -0
  386. package/dist/utils/validators.js.map +1 -0
  387. package/dist/web/webSocketStream.d.ts +29 -0
  388. package/dist/web/webSocketStream.d.ts.map +1 -0
  389. package/dist/web/webSocketStream.js +69 -0
  390. package/dist/web/webSocketStream.js.map +1 -0
  391. package/dist/web/wrapWebSocket.d.ts +12 -0
  392. package/dist/web/wrapWebSocket.d.ts.map +1 -0
  393. package/dist/web/wrapWebSocket.js +41 -0
  394. package/dist/web/wrapWebSocket.js.map +1 -0
  395. package/dist/web/wsClient.d.ts +14 -0
  396. package/dist/web/wsClient.d.ts.map +1 -0
  397. package/dist/web/wsClient.js +33 -0
  398. package/dist/web/wsClient.js.map +1 -0
  399. package/dist/web/wsClient.test.d.ts +2 -0
  400. package/dist/web/wsClient.test.d.ts.map +1 -0
  401. package/dist/web/wsClient.test.js +20 -0
  402. package/dist/web/wsClient.test.js.map +1 -0
  403. package/examples/authHandler.test.ts +164 -0
  404. package/examples/mqtt.test.ts +89 -0
  405. package/examples/mqtts.test.ts +100 -0
  406. package/examples/webSocket.test.ts +94 -0
  407. package/mqttConn/mqttConn.test.ts +9 -9
  408. package/mqttConn/mqttConn.ts +76 -60
  409. package/mqttPacket/AuthenticationResult.ts +6 -0
  410. package/mqttPacket/PacketType.ts +5 -0
  411. package/mqttPacket/Properties.ts +8 -5
  412. package/mqttPacket/ReasonCode.ts +8 -9
  413. package/mqttPacket/RetainHandling.ts +5 -0
  414. package/mqttPacket/auth.test.ts +1 -1
  415. package/mqttPacket/auth.ts +44 -51
  416. package/mqttPacket/codec.ts +147 -0
  417. package/mqttPacket/connack.ts +63 -73
  418. package/mqttPacket/connect.test.ts +2 -2
  419. package/mqttPacket/connect.ts +178 -192
  420. package/mqttPacket/decoder.test.ts +0 -39
  421. package/mqttPacket/decoder.ts +17 -46
  422. package/mqttPacket/disconnect.ts +60 -71
  423. package/mqttPacket/encoder.test.ts +2 -2
  424. package/mqttPacket/encoder.ts +13 -46
  425. package/mqttPacket/mod.ts +48 -204
  426. package/mqttPacket/pingreq.ts +22 -28
  427. package/mqttPacket/pingres.ts +22 -28
  428. package/mqttPacket/protocolLevels.ts +12 -7
  429. package/mqttPacket/pubblishAcks.ts +61 -75
  430. package/mqttPacket/publish.ts +70 -84
  431. package/mqttPacket/publishAcks.test.ts +3 -3
  432. package/mqttPacket/suback.ts +53 -68
  433. package/mqttPacket/subscribe.ts +146 -128
  434. package/mqttPacket/types.ts +2 -35
  435. package/mqttPacket/unsuback.ts +50 -61
  436. package/mqttPacket/unsubscribe.ts +77 -72
  437. package/mqttPacket/validators.ts +5 -31
  438. package/node/socket-node-stream.test.ts +322 -0
  439. package/node/socket-node-stream.ts +174 -0
  440. package/node/tcpClient.test.ts +70 -0
  441. package/node/tcpClient.ts +33 -17
  442. package/node/tcpServer.test.ts +24 -20
  443. package/node/tcpServer.ts +29 -6
  444. package/node/tlsServer.test.ts +94 -0
  445. package/node/tlsServer.ts +97 -0
  446. package/node/wrapNodeSocket.ts +7 -30
  447. package/package.json +72 -44
  448. package/persistence/basicPersistence.ts +495 -0
  449. package/persistence/deps.ts +11 -1
  450. package/persistence/memory/memoryPersistence.ts +12 -153
  451. package/persistence/memory/memoryStorage.ts +232 -0
  452. package/persistence/mod.ts +5 -10
  453. package/persistence/persistence.test.ts +24 -0
  454. package/persistence/persistence.testing.ts +1324 -0
  455. package/persistence/persistence.ts +112 -68
  456. package/persistence/sqlite/sqliteDatabase.ts +294 -0
  457. package/persistence/sqlite/sqlitePersistence.test.ts +48 -0
  458. package/persistence/sqlite/sqlitePersistence.ts +36 -0
  459. package/persistence/sqlite/sqliteStorage.ts +324 -0
  460. package/persistence/storage.ts +84 -0
  461. package/server/config.ts +65 -0
  462. package/server/context.ts +660 -76
  463. package/server/deps.ts +24 -5
  464. package/server/handlers/completeConnect.ts +93 -0
  465. package/server/handlers/duplicate.test.ts +196 -0
  466. package/server/handlers/handleAuth.test.ts +225 -0
  467. package/server/handlers/handleAuth.ts +88 -0
  468. package/server/handlers/handleConnect.test.ts +589 -0
  469. package/server/handlers/handleConnect.ts +201 -86
  470. package/server/handlers/handleConnect.version.test.ts +108 -0
  471. package/server/handlers/handleDisconnect.test.ts +56 -0
  472. package/server/handlers/handleDisconnect.ts +3 -3
  473. package/server/handlers/handlePacket.test.ts +24 -0
  474. package/server/handlers/handlePacket.ts +30 -8
  475. package/server/handlers/handlePingreq.test.ts +29 -0
  476. package/server/handlers/handlePuback.test.ts +28 -0
  477. package/server/handlers/handlePuback.ts +5 -8
  478. package/server/handlers/handlePubcomp.test.ts +28 -0
  479. package/server/handlers/handlePubcomp.ts +5 -4
  480. package/server/handlers/handlePublish.test.ts +471 -0
  481. package/server/handlers/handlePublish.ts +188 -35
  482. package/server/handlers/handlePubrec.test.ts +28 -0
  483. package/server/handlers/handlePubrec.ts +2 -3
  484. package/server/handlers/handlePubrel.test.ts +74 -0
  485. package/server/handlers/handlePubrel.ts +12 -2
  486. package/server/handlers/handleSubscribe.test.ts +971 -0
  487. package/server/handlers/handleSubscribe.ts +157 -39
  488. package/server/handlers/handleUnsubscribe.test.ts +79 -0
  489. package/server/handlers/handleUnsubscribe.ts +28 -4
  490. package/server/handlers/keepalive.test.ts +132 -0
  491. package/server/handlers/session.persistence.test.ts +194 -0
  492. package/server/handlers/will.delivery.test.ts +221 -0
  493. package/server/mod.ts +5 -4
  494. package/server/preconnect.test.ts +151 -0
  495. package/server/server.ts +117 -19
  496. package/socket/socket.test.ts +91 -0
  497. package/socket/socket.ts +85 -34
  498. package/timer/timer.test.ts +4 -7
  499. package/timer/timer.ts +36 -0
  500. package/tools/benchmarks/receiver.ts +51 -0
  501. package/tools/benchmarks/sender.ts +48 -0
  502. package/tools/benchmarks/utils.ts +31 -0
  503. package/tools/mqtt-compat/README.md +130 -0
  504. package/tools/mqtt-compat/broker.ts +52 -0
  505. package/tools/mqtt-compat/paho-mqtt4.test.ts +379 -0
  506. package/tools/mqtt-compat/paho-mqtt5.tests.ts +887 -0
  507. package/trie/trie.test.ts +9 -1
  508. package/trie/trie.ts +70 -45
  509. package/utils/bufferedAsyncIterable.test.ts +92 -0
  510. package/utils/deferred.test.ts +36 -0
  511. package/utils/deferred.ts +0 -1
  512. package/utils/getOrInsertPolyFill.ts +12 -0
  513. package/utils/logger.test.ts +189 -0
  514. package/utils/logger.ts +64 -9
  515. package/utils/mod.ts +15 -1
  516. package/utils/outboundTopicAliasManager.ts +100 -0
  517. package/utils/queue.test.ts +61 -0
  518. package/utils/topicFilter.test.ts +63 -0
  519. package/utils/topicFilter.ts +61 -0
  520. package/utils/utils.ts +3 -0
  521. package/utils/validators.ts +67 -0
  522. package/web/webSocketStream.ts +97 -0
  523. package/web/wrapWebSocket.ts +52 -0
  524. package/web/wsClient.test.ts +26 -0
  525. package/web/wsClient.ts +37 -0
  526. package/benchmarks/receiver.ts +0 -35
  527. package/benchmarks/sender.ts +0 -32
  528. package/benchmarks/utils.ts +0 -9
  529. package/dev_utils/dummyConn.ts +0 -110
  530. package/dev_utils/socketPair.ts +0 -85
  531. package/dist/persistence/store.d.ts +0 -14
  532. package/dist/persistence/store.d.ts.map +0 -1
  533. package/dist/persistence/store.js +0 -2
  534. package/dist/persistence/store.js.map +0 -1
  535. package/dist/utils/BufferedAsyncIterable.d.ts.map +0 -1
  536. package/dist/utils/BufferedAsyncIterable.js.map +0 -1
  537. package/examples/tcpServer.test.ts +0 -148
  538. package/persistence/memory/memoryPersistence.test.ts +0 -156
  539. package/persistence/store.ts +0 -16
  540. package/server/test/handleConnect.test.ts +0 -122
  541. package/server/test/test-handlers.ts +0 -53
  542. /package/utils/{BufferedAsyncIterable.ts → bufferedAsyncIterable.ts} +0 -0
@@ -3,52 +3,50 @@ import { Decoder, hasEmptyFlags, isEmptyBuf } from "./decoder.js";
3
3
  import { Encoder } from "./encoder.js";
4
4
  import { ReasonCode } from "./ReasonCode.js";
5
5
  const DISCONNECT_PACKET = new Uint8Array([PacketType.disconnect << 4, 0]);
6
- export const disconnect = {
7
- encode(packet, codecOpts) {
8
- if (packet.protocolLevel !== 5) {
9
- return DISCONNECT_PACKET;
10
- }
11
- const reasonCode = packet.reasonCode || ReasonCode.normalDisconnection;
12
- const encoder = new Encoder(packet.type);
13
- // see MQTT v5 3.14.2.1
14
- // if remaining length is less than 1 the value of 0x00 (normal disconnect) is used.
15
- if (reasonCode === ReasonCode.normalDisconnection &&
16
- Object.keys(packet.properties || {}).length === 0) {
17
- return encoder.done(0);
18
- }
19
- encoder
20
- .setReasonCode(reasonCode);
21
- if (packet.properties) {
22
- encoder.setProperties(packet.properties, packet.type, codecOpts.maxOutgoingPacketSize);
23
- }
6
+ export function encode(packet, codecOpts) {
7
+ if (packet.protocolLevel !== 5) {
8
+ return DISCONNECT_PACKET;
9
+ }
10
+ const reasonCode = packet.reasonCode || ReasonCode.normalDisconnection;
11
+ const encoder = new Encoder(packet.type);
12
+ // see MQTT v5 3.14.2.1
13
+ // if remaining length is less than 1 the value of 0x00 (normal disconnect) is used.
14
+ if (reasonCode === ReasonCode.normalDisconnection &&
15
+ Object.keys(packet.properties || {}).length === 0) {
24
16
  return encoder.done(0);
25
- },
26
- decode(buffer, flags, codecOpts, packetType) {
27
- hasEmptyFlags(flags);
28
- if (codecOpts.protocolLevel !== 5) {
29
- isEmptyBuf(buffer);
30
- return {
31
- type: PacketType.disconnect,
32
- protocolLevel: codecOpts.protocolLevel,
33
- };
34
- }
35
- const decoder = new Decoder(packetType, buffer);
36
- if (decoder.atEnd()) {
37
- return {
38
- type: PacketType.disconnect,
39
- protocolLevel: 5,
40
- reasonCode: 0,
41
- };
42
- }
43
- const reasonCode = decoder.getReasonCode();
44
- const properties = decoder.getProperties(PacketType.disconnect);
45
- decoder.done();
17
+ }
18
+ encoder
19
+ .seReasonCode(reasonCode);
20
+ if (packet.properties) {
21
+ encoder.setProperties(packet.properties, packet.type, codecOpts.maxOutgoingPacketSize);
22
+ }
23
+ return encoder.done(0);
24
+ }
25
+ export function decode(buffer, flags, codecOpts, packetType) {
26
+ hasEmptyFlags(flags);
27
+ if (codecOpts.protocolLevel !== 5) {
28
+ isEmptyBuf(buffer);
29
+ return {
30
+ type: PacketType.disconnect,
31
+ protocolLevel: codecOpts.protocolLevel,
32
+ };
33
+ }
34
+ const decoder = new Decoder(packetType, buffer);
35
+ if (decoder.atEnd()) {
46
36
  return {
47
37
  type: PacketType.disconnect,
48
38
  protocolLevel: 5,
49
- reasonCode,
50
- properties,
39
+ reasonCode: 0,
51
40
  };
52
- },
53
- };
41
+ }
42
+ const reasonCode = decoder.geReasonCode();
43
+ const properties = decoder.getProperties(PacketType.disconnect);
44
+ decoder.done();
45
+ return {
46
+ type: PacketType.disconnect,
47
+ protocolLevel: 5,
48
+ reasonCode,
49
+ properties,
50
+ };
51
+ }
54
52
  //# sourceMappingURL=disconnect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"disconnect.js","sourceRoot":"","sources":["../../mqttPacket/disconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQlE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAoB7C,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,UAAU,GAQnB;IACF,MAAM,CAAC,MAAwB,EAAE,SAAoB;QACnD,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,mBAAmB,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,uBAAuB;QACvB,oFAAoF;QACpF,IACE,UAAU,KAAK,UAAU,CAAC,mBAAmB;YAC7C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EACjD,CAAC;YACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,OAAO;aACJ,aAAa,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,aAAa,CACnB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,IAAI,EACX,SAAS,CAAC,qBAAqB,CAChC,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CACJ,MAAkB,EAClB,KAAa,EACb,SAAS,EACT,UAAuB;QAEvB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,SAAS,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAClC,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,UAAU;gBAC3B,aAAa,EAAE,SAAS,CAAC,aAAa;aACvC,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,UAAU;gBAC3B,aAAa,EAAE,CAAC;gBAChB,UAAU,EAAE,CAAC;aACd,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,UAAU,CAAC,UAAU;YAC3B,aAAa,EAAE,CAAC;YAChB,UAAU;YACV,UAAU;SACX,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"disconnect.js","sourceRoot":"","sources":["../../mqttPacket/disconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAIlE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAoB7C,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1E,MAAM,UAAU,MAAM,CACpB,MAAwB,EACxB,SAAoB;IAEpB,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,mBAAmB,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,uBAAuB;IACvB,oFAAoF;IACpF,IACE,UAAU,KAAK,UAAU,CAAC,mBAAmB;QAC7C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EACjD,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO;SACJ,YAAY,CAAC,UAAU,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,CAAC,aAAa,CACnB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,IAAI,EACX,SAAS,CAAC,qBAAqB,CAChC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,MAAkB,EAClB,KAAa,EACb,SAAoB,EACpB,UAAsB;IAEtB,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,IAAI,SAAS,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAClC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,UAAU,CAAC,UAAU;YAC3B,aAAa,EAAE,SAAS,CAAC,aAAa;SACvC,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,UAAU,CAAC,UAAU;YAC3B,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,CAAC;SACd,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,UAAU;QAC3B,aAAa,EAAE,CAAC;QAChB,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -1,5 +1,7 @@
1
- import type { Topic, TopicFilter, TPacketType, TReasonCode, UTF8StringPair } from "./types.ts";
2
- import type { PropsByPacketSetType, TPropertySetType } from "./Properties.ts";
1
+ import type { UTF8StringPair } from "./types.ts";
2
+ import type { PropertySetType, PropsByPacketSetType } from "./Properties.ts";
3
+ import type { PacketType } from "./PacketType.ts";
4
+ import type { ReasonCode } from "./ReasonCode.ts";
3
5
  /**
4
6
  * Custom error class for encoding operations
5
7
  */
@@ -18,7 +20,7 @@ export declare class Encoder {
18
20
  /**
19
21
  * Creates a new Encoder instance
20
22
  */
21
- constructor(packetType: TPacketType);
23
+ constructor(packetType: PacketType);
22
24
  encodedSize(): number;
23
25
  setMarker(): void;
24
26
  rewindToMarker(): void;
@@ -69,20 +71,6 @@ export declare class Encoder {
69
71
  * @returns The encoder instance for chaining
70
72
  */
71
73
  setUtf8StringPair([name, value]: UTF8StringPair): this;
72
- /**
73
- * Adds an MQTT topic string to the buffer
74
- * @param value - Topic string to add
75
- * @throws {EncoderError} If topic is invalid
76
- * @returns The encoder instance for chaining
77
- */
78
- setTopic(value: Topic): this;
79
- /**
80
- * Adds an MQTT topic filter string to the buffer
81
- * @param value - Topic filter string to add
82
- * @throws {EncoderError} If topic filter is invalid
83
- * @returns The encoder instance for chaining
84
- */
85
- setTopicFilter(value: TopicFilter): this;
86
74
  /**
87
75
  * Adds remaining bytes to the buffer without modification
88
76
  * @param value - Array of bytes to add
@@ -107,8 +95,8 @@ export declare class Encoder {
107
95
  * @param propertySetType - the type of packet to encode for
108
96
  * @param maximumPacketSize - the maximum packet size to be consumed by properties
109
97
  */
110
- setProperties<T extends TPropertySetType>(props: PropsByPacketSetType[T], propertySetType: TPropertySetType, maximumPacketSize: number): void;
111
- setReasonCode(reasonCode: TReasonCode): this;
98
+ setProperties<T extends PropertySetType>(props: PropsByPacketSetType[T], propertySetType: PropertySetType, maximumPacketSize: number): void;
99
+ seReasonCode(reasonCode: ReasonCode): this;
112
100
  /**
113
101
  * Returns the final encoded buffer
114
102
  * @returns Array containing all encoded bytes
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../mqttPacket/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAEV,oBAAoB,EAEpB,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AAezB;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAMD,qBAAa,OAAO;IAClB,yCAAyC;IACzC,OAAO,CAAC,OAAO,CAAa;IAE5B,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAS;IAEzB,kBAAkB;IAClB,OAAO,CAAC,UAAU,CAAc;IAEhC,0BAA0B;IAC1B,OAAO,CAAC,MAAM,CAAS;IAEvB;;OAEG;gBACS,UAAU,EAAE,WAAW;IAOnC,WAAW;IAIX,SAAS;IAIT,cAAc;IAMd;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,IAAI;IAM5C;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3C;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IASrC;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI;IAMtD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAU5B;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAUxC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,IAAI;IAKhD;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO;IAO7B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAwDnB;;;;;OAKG;IACH,aAAa,CAAC,CAAC,SAAS,gBAAgB,EACtC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC9B,eAAe,EAAE,gBAAgB,EACjC,iBAAiB,EAAE,MAAM;IA0B3B,aAAa,CAAC,UAAU,EAAE,WAAW;IAUrC;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;CAehC"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../mqttPacket/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAEV,eAAe,EACf,oBAAoB,EAIrB,MAAM,iBAAiB,CAAC;AAUzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAMlD;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAMD,qBAAa,OAAO;IAClB,yCAAyC;IACzC,OAAO,CAAC,OAAO,CAAa;IAE5B,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAS;IAEzB,kBAAkB;IAClB,OAAO,CAAC,UAAU,CAAa;IAE/B,0BAA0B;IAC1B,OAAO,CAAC,MAAM,CAAS;IAEvB;;OAEG;IACH,YAAY,UAAU,EAAE,UAAU,EAKjC;IAED,WAAW,WAEV;IAED,SAAS,SAER;IAED,cAAc,SAKb;IACD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,IAAI,CAI3C;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI3B;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI5B;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI5B;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG1C;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAOpC;IAED;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAMjC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI,CAIrD;IAED;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,IAAI,CAG/C;IAED;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,QAK5B;IAED;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAwDnB;;;;;OAKG;IACH,aAAa,CAAC,CAAC,SAAS,eAAe,EACrC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC9B,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,MAAM,QAwB1B;IAED,YAAY,CAAC,UAAU,EAAE,UAAU,QAQlC;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAc9B;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { propertyByNumber, PropertyByPropertySetType, propertyKind, propertyToId, propertyToKind, } from "./Properties.js";
2
2
  import { encodeLength } from "./length.js";
3
- import { invalidTopic, invalidTopicFilter } from "./validators.js";
3
+ import { invalidUTF8 } from "./validators.js";
4
4
  import { isValidReasonCode } from "./ReasonCode.js";
5
5
  const utf8Encoder = new TextEncoder();
6
6
  /**
@@ -109,6 +109,9 @@ export class Encoder {
109
109
  * @returns The encoder instance for chaining
110
110
  */
111
111
  setUtf8String(value) {
112
+ if (invalidUTF8(value)) {
113
+ throw new EncoderError("Invalid UTF8");
114
+ }
112
115
  this.setByteArray(utf8Encoder.encode(value));
113
116
  return this;
114
117
  }
@@ -122,32 +125,6 @@ export class Encoder {
122
125
  this.setUtf8String(value);
123
126
  return this;
124
127
  }
125
- /**
126
- * Adds an MQTT topic string to the buffer
127
- * @param value - Topic string to add
128
- * @throws {EncoderError} If topic is invalid
129
- * @returns The encoder instance for chaining
130
- */
131
- setTopic(value) {
132
- if (invalidTopic(value)) {
133
- throw new EncoderError("Topic must contain valid UTF-8 and contain more than 1 byte and no wildcards");
134
- }
135
- this.setUtf8String(value);
136
- return this;
137
- }
138
- /**
139
- * Adds an MQTT topic filter string to the buffer
140
- * @param value - Topic filter string to add
141
- * @throws {EncoderError} If topic filter is invalid
142
- * @returns The encoder instance for chaining
143
- */
144
- setTopicFilter(value) {
145
- if (invalidTopicFilter(value)) {
146
- throw new EncoderError("Topicfilter must contain valid UTF-8 and contain more than 1 byte and valid wildcards");
147
- }
148
- this.setUtf8String(value);
149
- return this;
150
- }
151
128
  /**
152
129
  * Adds remaining bytes to the buffer without modification
153
130
  * @param value - Array of bytes to add
@@ -251,7 +228,7 @@ export class Encoder {
251
228
  }
252
229
  propsEncoder.addToEncoder(this);
253
230
  }
254
- setReasonCode(reasonCode) {
231
+ seReasonCode(reasonCode) {
255
232
  if (!isValidReasonCode(this.packetType, reasonCode)) {
256
233
  throw new EncoderError(`Reason code ${reasonCode} not allowed for packet type ${this.packetType}`);
257
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../mqttPacket/encoder.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAMD,MAAM,OAAO,OAAO;IAClB,yCAAyC;IACjC,OAAO,CAAa;IAE5B,oCAAoC;IAC5B,QAAQ,CAAS;IAEzB,kBAAkB;IACV,UAAU,CAAc;IAEhC,0BAA0B;IAClB,MAAM,CAAS;IAEvB;;OAEG;IACH,YAAY,UAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,IAAI,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD;;OAEG;IACH,QAAQ,CAAC,KAA4B;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAa;QAClC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAiB;QAC5B,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,YAAY,CAAC,gCAAgC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,KAAa;QACzB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAiB;QAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,KAAY;QACnB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,YAAY,CACpB,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,KAAkB;QAC/B,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CACpB,uFAAuF,CACxF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,KAA4B;QACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,OAAgB;QAC3B,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,WAAW,CACjB,EAAuB,EACvB,KAA0B;QAE1B,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,YAAY,CAAC,eAAe,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,CAAC;YAC1D,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAyB,EAAE,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,YAAY,CAAC,oCAAoC,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,YAAY,CAAC,2CAA2C,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAoC,EAAE,CAAC;gBACxD,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACpE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QAChC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,YAAY,CAAC,OAAO;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,YAAY,CAAC,IAAI;gBACpB,IAAI,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,YAAY,CAAC,KAAK;gBACrB,IAAI,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,YAAY,CAAC,KAAK;gBACrB,IAAI,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,YAAY,CAAC,MAAM;gBACtB,IAAI,CAAC,sBAAsB,CAAC,KAAe,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,YAAY,CAAC,SAAS;gBACzB,IAAI,CAAC,YAAY,CAAC,KAAmB,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,YAAY,CAAC,UAAU;gBAC1B,IAAI,CAAC,aAAa,CAAC,KAAe,CAAC,CAAC;gBACpC,MAAM;QACV,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,aAAa,CACX,KAA8B,EAC9B,eAAiC,EACjC,iBAAyB;QAEzB,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC,uCAAuC;QAE9E,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,CAAkC,CAAC;YACpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,IACE,EAAE,KAAK,YAAY,CAAC,YAAY,IAAI,EAAE,KAAK,YAAY,CAAC,YAAY,EACpE,CAAC;oBACD,YAAY,CAAC,SAAS,EAAE,CAAC;oBACzB,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,KAA4B,CAAC,CAAC;oBAC3D,IAAI,YAAY,CAAC,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;wBACzC,YAAY,CAAC,cAAc,EAAE,CAAC;oBAChC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,KAA4B,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QACD,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,aAAa,CAAC,UAAuB;QACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,YAAY,CACpB,eAAe,UAAU,gCAAgC,IAAI,CAAC,UAAU,EAAE,CAC3E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,KAAa;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC/B,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACxB,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../mqttPacket/encoder.ts"],"names":[],"mappings":"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"}
@@ -4,112 +4,30 @@
4
4
  * used in both server and client implementations. It handles all MQTT packet types and their
5
5
  * transformations between binary and object representations.
6
6
  */
7
- import type { ClientId, CodecOpts, Dup, PacketId, Payload, ProtocolLevel, QoS, ReturnCodes, TAuthenticationResult, Topic, TopicFilter, TPacketType, TReasonCode, TRetainHandling, UTF8StringPair } from "./types.ts";
7
+ export { decode, decodePayload, encode } from "./codec.ts";
8
+ export type { AnyPacket } from "./codec.ts";
9
+ export type { ConnectPacket } from "./connect.ts";
10
+ export type { ConnackPacket } from "./connack.ts";
11
+ export type { PublishPacket, PublishPacketV5 } from "./publish.ts";
12
+ export type { SubscribePacket, Subscription, SubscriptionV5, } from "./subscribe.ts";
13
+ export type { SubackPacket } from "./suback.ts";
14
+ export type { UnsubscribePacket } from "./unsubscribe.ts";
15
+ export type { UnsubackPacket } from "./unsuback.ts";
16
+ export type { PingreqPacket } from "./pingreq.ts";
17
+ export type { PingresPacket } from "./pingres.ts";
18
+ export type { DisconnectPacket } from "./disconnect.ts";
19
+ export type { AuthPacket } from "./auth.ts";
20
+ export type { PubackPacket, PubcompPacket, PubrecPacket, PubrelPacket, } from "./pubblishAcks.ts";
8
21
  export { MQTTLevel } from "./protocolLevels.ts";
9
22
  export { RetainHandling } from "./RetainHandling.ts";
10
23
  export { ReasonCode, ReasonCodeByNumber } from "./ReasonCode.ts";
11
- import { PacketNameByType, PacketType } from "./PacketType.ts";
12
- import { invalidTopic, invalidTopicFilter, invalidUTF8 } from "./validators.ts";
13
- import { decodeLength, encodeLength } from "./length.ts";
14
- import { AuthenticationResult, AuthenticationResultByNumber } from "./AuthenticationResult.ts";
15
- import type { ConnectPacket } from "./connect.ts";
16
- import type { ConnackPacket } from "./connack.ts";
17
- import type { PublishPacket } from "./publish.ts";
18
- import type { PubackPacket, PubcompPacket, PubrecPacket, PubrelPacket } from "./pubblishAcks.ts";
19
- import type { SubscribePacket } from "./subscribe.ts";
20
- import type { SubackPacket } from "./suback.ts";
21
- import type { UnsubscribePacket } from "./unsubscribe.ts";
22
- import type { UnsubackPacket } from "./unsuback.ts";
23
- import type { PingreqPacket } from "./pingreq.ts";
24
- import type { PingresPacket } from "./pingres.ts";
25
- import type { DisconnectPacket } from "./disconnect.ts";
26
- import type { AuthPacket } from "./auth.ts";
27
- /**
28
- * this can be any possible MQTT packet
29
- */
30
- export type AnyPacket = ConnectPacket | ConnackPacket | PublishPacket | PubackPacket | PubrecPacket | PubrelPacket | PubcompPacket | SubscribePacket | SubackPacket | UnsubscribePacket | UnsubackPacket | PingreqPacket | PingresPacket | DisconnectPacket | AuthPacket;
31
- export type { AuthPacket, ClientId, CodecOpts, ConnackPacket, ConnectPacket, DisconnectPacket, Dup, PacketId, Payload, PingreqPacket, PingresPacket, ProtocolLevel, PubackPacket, PubcompPacket, PublishPacket, PubrecPacket, PubrelPacket, QoS, ReturnCodes, SubackPacket, SubscribePacket, TAuthenticationResult, Topic, TopicFilter, TPacketType, TReasonCode, TRetainHandling, UnsubackPacket, UnsubscribePacket, UTF8StringPair, };
32
- export type { Subscription } from "./subscribe.ts";
33
- export { AuthenticationResult, AuthenticationResultByNumber, decodeLength, encodeLength, invalidTopic, invalidTopicFilter, invalidUTF8, PacketNameByType, PacketType, };
34
- /**
35
- * Array mapping MQTT packet types to their corresponding encode/decode handlers
36
- * Index corresponds to packet type number.
37
- */
38
- export declare const packetsByType: readonly [null, {
39
- encode(packet: ConnectPacket, _codecOpts: CodecOpts): Uint8Array;
40
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): ConnectPacket;
41
- }, {
42
- encode(packet: ConnackPacket, codecOpts: CodecOpts): Uint8Array;
43
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): ConnackPacket;
44
- }, {
45
- encode(packet: PublishPacket, _codecOpts: CodecOpts): Uint8Array;
46
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): PublishPacket;
47
- }, {
48
- encode(packet: import("./pubblishAcks.ts").AnyAckPacket, codecOpts: CodecOpts): Uint8Array;
49
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): import("./pubblishAcks.ts").AnyAckPacket;
50
- }, {
51
- encode(packet: import("./pubblishAcks.ts").AnyAckPacket, codecOpts: CodecOpts): Uint8Array;
52
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): import("./pubblishAcks.ts").AnyAckPacket;
53
- }, {
54
- encode(packet: import("./pubblishAcks.ts").AnyAckPacket, codecOpts: CodecOpts): Uint8Array;
55
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): import("./pubblishAcks.ts").AnyAckPacket;
56
- }, {
57
- encode(packet: import("./pubblishAcks.ts").AnyAckPacket, codecOpts: CodecOpts): Uint8Array;
58
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): import("./pubblishAcks.ts").AnyAckPacket;
59
- }, {
60
- encode(packet: SubscribePacket, codecOpts: CodecOpts): Uint8Array;
61
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): SubscribePacket;
62
- }, {
63
- encode(packet: SubackPacket, _codecOpts: CodecOpts): Uint8Array;
64
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): SubackPacket;
65
- }, {
66
- encode(packet: UnsubscribePacket, codecOpts: CodecOpts): Uint8Array;
67
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): UnsubscribePacket;
68
- }, {
69
- encode(packet: UnsubackPacket, codecOpts: CodecOpts): Uint8Array;
70
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): UnsubackPacket;
71
- }, {
72
- encode(_packet: PingreqPacket, _codecOpts: CodecOpts): Uint8Array;
73
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, _packetType: TPacketType): PingreqPacket;
74
- }, {
75
- encode(packet: PingresPacket, _codecOpts: CodecOpts): Uint8Array;
76
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, _packetType: TPacketType): PingresPacket;
77
- }, {
78
- encode(_packet: DisconnectPacket, _codecOpts: CodecOpts): Uint8Array;
79
- decode(buffer: Uint8Array, _flags: number, codecOpts: CodecOpts, packetType: TPacketType): DisconnectPacket;
80
- }, {
81
- encode(packet: AuthPacket, codecOpts: CodecOpts): Uint8Array;
82
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): AuthPacket;
83
- }];
84
- /**
85
- * @function encode
86
- * @description Encodes an MQTT packet object into a binary Uint8Array format
87
- * @param {AnyPacket} packet - The MQTT packet object to encode
88
- * @param {CodecOpts} codecOpts - options to use during encoding
89
- * @returns {Uint8Array} The encoded packet as a binary buffer
90
- * @throws {Error} If packet encoding fails
91
- */
92
- export declare function encode(packet: AnyPacket, codecOpts: CodecOpts): Uint8Array;
93
- /**
94
- * @function decodePayload
95
- * @description Decodes a packet payload from binary format into an MQTT packet object
96
- * @param {number} firstByte - The first byte of the MQTT packet containing type and flags
97
- * @param {Uint8Array} buffer - The binary buffer containing the packet payload
98
- * @param {CodecOpts} codecOpts - options to use during encoding
99
- * @returns {AnyPacket} The decoded MQTT packet object
100
- * @throws {DecoderError} If packet decoding fails
101
- */
102
- export declare function decodePayload(firstByte: number, buffer: Uint8Array, codecOpts: CodecOpts): AnyPacket;
103
- /**
104
- * @function decode
105
- * @description Decodes a complete MQTT packet from binary format into a packet object
106
- *
107
- * @param {Uint8Array} buffer - The binary buffer containing the complete MQTT packet
108
- * @param {CodecOpts} codecOpts - the options for the decoder
109
- * @returns {AnyPacket} The decoded MQTT packet object
110
- * @throws {DecoderError} If packet decoding fails due to invalid format or insufficient data
111
- */
112
- export declare function decode(buffer: Uint8Array, codecOpts: CodecOpts): AnyPacket;
24
+ export { PacketNameByType, PacketType } from "./PacketType.ts";
25
+ export { AuthenticationResult, AuthenticationResultByNumber, } from "./AuthenticationResult.ts";
26
+ export { invalidUTF8 } from "./validators.ts";
27
+ export { decodeLength, encodeLength } from "./length.ts";
113
28
  export { getLengthDecoder } from "../mqttPacket/length.ts";
114
29
  export type { LengthDecoderResult } from "../mqttPacket/length.ts";
30
+ export type { ClientId, CodecOpts, Dup, PacketId, Payload, QoS, ReturnCodes, Topic, TopicFilter, UTF8StringPair, } from "./types.ts";
31
+ export type { AuthProperties, ConnackProperties, ConnectProperties, DisconnectProperties, PubackProperties, PubcompProperties, PublishProperties, PubrecProperties, PubrelProperties, SubackProperties, SubscribeProperties, UnsubackProperties, UnsubscribeProperties, WillProperties, } from "./Properties.ts";
32
+ export type { ProtocolLevel, ProtocolLevelNoV5 } from "./protocolLevels.ts";
115
33
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../mqttPacket/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../mqttPacket/mod.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnE,YAAY,EACV,eAAe,EACf,YAAY,EACZ,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,QAAQ,EACR,SAAS,EACT,GAAG,EACH,QAAQ,EACR,OAAO,EACP,GAAG,EACH,WAAW,EACX,KAAK,EACL,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -4,102 +4,13 @@
4
4
  * used in both server and client implementations. It handles all MQTT packet types and their
5
5
  * transformations between binary and object representations.
6
6
  */
7
+ export { decode, decodePayload, encode } from "./codec.js";
7
8
  export { MQTTLevel } from "./protocolLevels.js";
8
9
  export { RetainHandling } from "./RetainHandling.js";
9
10
  export { ReasonCode, ReasonCodeByNumber } from "./ReasonCode.js";
10
- import { PacketNameByType, PacketType } from "./PacketType.js";
11
- import { invalidTopic, invalidTopicFilter, invalidUTF8 } from "./validators.js";
12
- import { decodeLength, encodeLength } from "./length.js";
13
- import { connect } from "./connect.js";
14
- import { connack } from "./connack.js";
15
- import { AuthenticationResult, AuthenticationResultByNumber, } from "./AuthenticationResult.js";
16
- import { publish } from "./publish.js";
17
- import { anyAck } from "./pubblishAcks.js";
18
- import { subscribe } from "./subscribe.js";
19
- import { suback } from "./suback.js";
20
- import { unsubscribe } from "./unsubscribe.js";
21
- import { unsuback } from "./unsuback.js";
22
- import { pingreq } from "./pingreq.js";
23
- import { pingres } from "./pingres.js";
24
- import { disconnect } from "./disconnect.js";
25
- import { auth } from "./auth.js";
26
- import { DecoderError } from "./decoder.js";
27
- export { AuthenticationResult, AuthenticationResultByNumber, decodeLength, encodeLength, invalidTopic, invalidTopicFilter, invalidUTF8, PacketNameByType, PacketType, };
28
- /**
29
- * Array mapping MQTT packet types to their corresponding encode/decode handlers
30
- * Index corresponds to packet type number.
31
- */
32
- export const packetsByType = [
33
- null,
34
- connect, // 1
35
- connack, // 2
36
- publish, // 3
37
- anyAck, // 4 puback
38
- anyAck, // 5 pubrec
39
- anyAck, // 6 pubrel
40
- anyAck, // 7 pubcomp
41
- subscribe, // 8
42
- suback, // 9
43
- unsubscribe, // 10
44
- unsuback, // 11
45
- pingreq, // 12
46
- pingres, // 13
47
- disconnect, // 14
48
- auth, // 15
49
- ];
50
- /**
51
- * @function encode
52
- * @description Encodes an MQTT packet object into a binary Uint8Array format
53
- * @param {AnyPacket} packet - The MQTT packet object to encode
54
- * @param {CodecOpts} codecOpts - options to use during encoding
55
- * @returns {Uint8Array} The encoded packet as a binary buffer
56
- * @throws {Error} If packet encoding fails
57
- */
58
- export function encode(packet, codecOpts) {
59
- const packetType = packet.type;
60
- // deno-lint-ignore no-explicit-any
61
- const pkt = packet;
62
- const encoded = packetsByType[packetType]?.encode(pkt, codecOpts);
63
- if (!encoded) {
64
- throw Error("Packet encoding failed");
65
- }
66
- return encoded;
67
- }
68
- /**
69
- * @function decodePayload
70
- * @description Decodes a packet payload from binary format into an MQTT packet object
71
- * @param {number} firstByte - The first byte of the MQTT packet containing type and flags
72
- * @param {Uint8Array} buffer - The binary buffer containing the packet payload
73
- * @param {CodecOpts} codecOpts - options to use during encoding
74
- * @returns {AnyPacket} The decoded MQTT packet object
75
- * @throws {DecoderError} If packet decoding fails
76
- */
77
- export function decodePayload(firstByte, buffer, codecOpts) {
78
- const packetType = firstByte >> 4;
79
- const flags = firstByte & 0x0f;
80
- const packet = packetsByType[packetType]?.decode(buffer, flags, codecOpts, packetType);
81
- if (packet !== undefined) {
82
- return packet;
83
- }
84
- throw new DecoderError("packet decoding failed");
85
- }
86
- /**
87
- * @function decode
88
- * @description Decodes a complete MQTT packet from binary format into a packet object
89
- *
90
- * @param {Uint8Array} buffer - The binary buffer containing the complete MQTT packet
91
- * @param {CodecOpts} codecOpts - the options for the decoder
92
- * @returns {AnyPacket} The decoded MQTT packet object
93
- * @throws {DecoderError} If packet decoding fails due to invalid format or insufficient data
94
- */
95
- export function decode(buffer, codecOpts) {
96
- if (buffer.length < 2) {
97
- throw new DecoderError("Packet decoding failed");
98
- }
99
- const { length, numLengthBytes } = decodeLength(buffer, 1);
100
- const start = numLengthBytes + 1;
101
- const end = start + length;
102
- return decodePayload(buffer[0] || 0, buffer.subarray(start, end), codecOpts);
103
- }
11
+ export { PacketNameByType, PacketType } from "./PacketType.js";
12
+ export { AuthenticationResult, AuthenticationResultByNumber, } from "./AuthenticationResult.js";
13
+ export { invalidUTF8 } from "./validators.js";
14
+ export { decodeLength, encodeLength } from "./length.js";
104
15
  export { getLengthDecoder } from "../mqttPacket/length.js";
105
16
  //# sourceMappingURL=mod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../mqttPacket/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../mqttPacket/mod.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAyB3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,13 +1,13 @@
1
- import type { CodecOpts, ProtocolLevel, TPacketType } from "./types.ts";
1
+ import { PacketType } from "./PacketType.ts";
2
+ import type { CodecOpts } from "./types.ts";
3
+ import type { ProtocolLevel } from "./protocolLevels.ts";
2
4
  /**
3
5
  * PingreqPacket is a packet that is sent to the server to keep the connection alive
4
6
  */
5
7
  export type PingreqPacket = {
6
- type: TPacketType;
8
+ type: PacketType;
7
9
  protocolLevel: ProtocolLevel;
8
10
  };
9
- export declare const pingreq: {
10
- encode(_packet: PingreqPacket, _codecOpts: CodecOpts): Uint8Array;
11
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, _packetType: TPacketType): PingreqPacket;
12
- };
11
+ export declare function encode(_packet: PingreqPacket, _codecOpts: CodecOpts): Uint8Array;
12
+ export declare function decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, _packetType: PacketType): PingreqPacket;
13
13
  //# sourceMappingURL=pingreq.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pingreq.d.ts","sourceRoot":"","sources":["../../mqttPacket/pingreq.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAIF,eAAO,MAAM,OAAO,EAAE;IACpB,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,GAAG,UAAU,CAAC;IAClE,MAAM,CACJ,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACvB,aAAa,CAAC;CAmBlB,CAAC"}
1
+ {"version":3,"file":"pingreq.d.ts","sourceRoot":"","sources":["../../mqttPacket/pingreq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAIF,wBAAgB,MAAM,CACpB,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,SAAS,GACpB,UAAU,CAEZ;AAED,wBAAgB,MAAM,CACpB,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,UAAU,GACtB,aAAa,CAOf"}
@@ -1,17 +1,15 @@
1
1
  import { PacketType } from "./PacketType.js";
2
2
  import { hasEmptyFlags, isEmptyBuf } from "./decoder.js";
3
3
  const PINGRES_PACKET = new Uint8Array([PacketType.pingreq << 4, 0]);
4
- export const pingreq = {
5
- encode(_packet, _codecOpts) {
6
- return PINGRES_PACKET;
7
- },
8
- decode(buffer, flags, codecOpts, _packetType) {
9
- hasEmptyFlags(flags);
10
- isEmptyBuf(buffer);
11
- return {
12
- type: PacketType.pingreq,
13
- protocolLevel: codecOpts.protocolLevel,
14
- };
15
- },
16
- };
4
+ export function encode(_packet, _codecOpts) {
5
+ return PINGRES_PACKET;
6
+ }
7
+ export function decode(buffer, flags, codecOpts, _packetType) {
8
+ hasEmptyFlags(flags);
9
+ isEmptyBuf(buffer);
10
+ return {
11
+ type: PacketType.pingreq,
12
+ protocolLevel: codecOpts.protocolLevel,
13
+ };
14
+ }
17
15
  //# sourceMappingURL=pingreq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pingreq.js","sourceRoot":"","sources":["../../mqttPacket/pingreq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAWzD,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,OAAO,GAQhB;IACF,MAAM,CAAC,OAAsB,EAAE,UAAqB;QAClD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,CACJ,MAAkB,EAClB,KAAa,EACb,SAAoB,EACpB,WAAwB;QAExB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,UAAU,CAAC,OAAO;YACxB,aAAa,EAAE,SAAS,CAAC,aAAa;SACvC,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"pingreq.js","sourceRoot":"","sources":["../../mqttPacket/pingreq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAYzD,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpE,MAAM,UAAU,MAAM,CACpB,OAAsB,EACtB,UAAqB;IAErB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,MAAkB,EAClB,KAAa,EACb,SAAoB,EACpB,WAAuB;IAEvB,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,OAAO;QACxB,aAAa,EAAE,SAAS,CAAC,aAAa;KACvC,CAAC;AACJ,CAAC"}
@@ -1,14 +1,14 @@
1
- import type { CodecOpts, ProtocolLevel, TPacketType } from "./types.ts";
1
+ import { PacketType } from "./PacketType.ts";
2
+ import type { CodecOpts } from "./types.ts";
3
+ import type { ProtocolLevel } from "./protocolLevels.ts";
2
4
  /**
3
5
  * PingresPacket is an empty packet that is sent by the server in response to a PingreqPacket.
4
6
  * It is used to indicate that the client is still connected to the server.
5
7
  */
6
8
  export type PingresPacket = {
7
- type: TPacketType;
9
+ type: PacketType;
8
10
  protocolLevel: ProtocolLevel;
9
11
  };
10
- export declare const pingres: {
11
- encode(packet: PingresPacket, _codecOpts: CodecOpts): Uint8Array;
12
- decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, _packetType: TPacketType): PingresPacket;
13
- };
12
+ export declare function encode(_packet: PingresPacket, _codecOpts: CodecOpts): Uint8Array;
13
+ export declare function decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, _packetType: PacketType): PingresPacket;
14
14
  //# sourceMappingURL=pingres.d.ts.map