abmqtts 0.0.3 → 0.0.6

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 (278) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +175 -10
  3. package/dist/constants.d.ts +96 -0
  4. package/dist/constants.js +280 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/errors/index.d.ts +16 -8
  7. package/dist/errors/index.js +27 -22
  8. package/dist/errors/index.js.map +1 -1
  9. package/dist/extend.d.ts +25 -0
  10. package/dist/extend.js +91 -0
  11. package/dist/extend.js.map +1 -0
  12. package/dist/fbns/fbns.client.d.ts +31 -0
  13. package/dist/fbns/fbns.client.events.d.ts +41 -0
  14. package/dist/{reconnect-strategy/mqtts.reconnect-strategy.js → fbns/fbns.client.events.js} +1 -1
  15. package/dist/fbns/fbns.client.events.js.map +1 -0
  16. package/dist/fbns/fbns.client.js +227 -0
  17. package/dist/fbns/fbns.client.js.map +1 -0
  18. package/dist/fbns/fbns.device-auth.d.ts +17 -0
  19. package/dist/fbns/fbns.device-auth.js +54 -0
  20. package/dist/fbns/fbns.device-auth.js.map +1 -0
  21. package/dist/fbns/fbns.types.d.ts +83 -0
  22. package/dist/{mqtt.types.js → fbns/fbns.types.js} +1 -1
  23. package/dist/fbns/fbns.types.js.map +1 -0
  24. package/dist/fbns/fbns.utilities.d.ts +2 -0
  25. package/dist/fbns/fbns.utilities.js +78 -0
  26. package/dist/fbns/fbns.utilities.js.map +1 -0
  27. package/dist/fbns/index.d.ts +4 -0
  28. package/dist/{transport → fbns}/index.js +4 -5
  29. package/dist/fbns/index.js.map +1 -0
  30. package/dist/index.d.ts +5 -12
  31. package/dist/index.js +5 -12
  32. package/dist/index.js.map +1 -1
  33. package/dist/mqttot/index.d.ts +4 -0
  34. package/dist/mqttot/index.js +21 -0
  35. package/dist/mqttot/index.js.map +1 -0
  36. package/dist/mqttot/mqttot.client.d.ts +37 -0
  37. package/dist/mqttot/mqttot.client.js +113 -0
  38. package/dist/mqttot/mqttot.client.js.map +1 -0
  39. package/dist/mqttot/mqttot.connect.request.packet.d.ts +6 -0
  40. package/dist/mqttot/mqttot.connect.request.packet.js +8 -0
  41. package/dist/mqttot/mqttot.connect.request.packet.js.map +1 -0
  42. package/dist/mqttot/mqttot.connect.response.packet.d.ts +6 -0
  43. package/dist/mqttot/mqttot.connect.response.packet.js +27 -0
  44. package/dist/mqttot/mqttot.connect.response.packet.js.map +1 -0
  45. package/dist/mqttot/mqttot.connection.d.ts +56 -0
  46. package/dist/mqttot/mqttot.connection.js +56 -0
  47. package/dist/mqttot/mqttot.connection.js.map +1 -0
  48. package/dist/realtime/commands/commands.d.ts +15 -0
  49. package/dist/realtime/commands/commands.js +21 -0
  50. package/dist/realtime/commands/commands.js.map +1 -0
  51. package/dist/realtime/commands/direct.commands.d.ts +67 -0
  52. package/dist/realtime/commands/direct.commands.js +179 -0
  53. package/dist/realtime/commands/direct.commands.js.map +1 -0
  54. package/dist/realtime/commands/index.d.ts +2 -0
  55. package/dist/{reconnect-strategy → realtime/commands}/index.js +2 -2
  56. package/dist/realtime/commands/index.js.map +1 -0
  57. package/dist/realtime/index.d.ts +6 -0
  58. package/dist/realtime/index.js +23 -0
  59. package/dist/realtime/index.js.map +1 -0
  60. package/dist/realtime/messages/app-presence.event.d.ts +9 -0
  61. package/dist/realtime/messages/app-presence.event.js +3 -0
  62. package/dist/realtime/messages/app-presence.event.js.map +1 -0
  63. package/dist/realtime/messages/index.d.ts +3 -0
  64. package/dist/realtime/messages/index.js +20 -0
  65. package/dist/realtime/messages/index.js.map +1 -0
  66. package/dist/realtime/messages/message-sync.message.d.ts +222 -0
  67. package/dist/realtime/messages/message-sync.message.js +43 -0
  68. package/dist/realtime/messages/message-sync.message.js.map +1 -0
  69. package/dist/realtime/messages/realtime-sub.direct.data.d.ts +11 -0
  70. package/dist/realtime/messages/realtime-sub.direct.data.js +3 -0
  71. package/dist/realtime/messages/realtime-sub.direct.data.js.map +1 -0
  72. package/dist/realtime/messages/thread-update.message.d.ts +68 -0
  73. package/dist/realtime/messages/thread-update.message.js +3 -0
  74. package/dist/realtime/messages/thread-update.message.js.map +1 -0
  75. package/dist/realtime/mixins/index.d.ts +3 -0
  76. package/dist/realtime/mixins/index.js +20 -0
  77. package/dist/realtime/mixins/index.js.map +1 -0
  78. package/dist/realtime/mixins/message-sync.mixin.d.ts +8 -0
  79. package/dist/realtime/mixins/message-sync.mixin.js +81 -0
  80. package/dist/realtime/mixins/message-sync.mixin.js.map +1 -0
  81. package/dist/realtime/mixins/mixin.d.ts +19 -0
  82. package/dist/realtime/mixins/mixin.js +41 -0
  83. package/dist/realtime/mixins/mixin.js.map +1 -0
  84. package/dist/realtime/mixins/realtime-sub.mixin.d.ts +8 -0
  85. package/dist/realtime/mixins/realtime-sub.mixin.js +66 -0
  86. package/dist/realtime/mixins/realtime-sub.mixin.js.map +1 -0
  87. package/dist/realtime/parsers/graphql.parser.d.ts +14 -0
  88. package/dist/realtime/parsers/graphql.parser.js +22 -0
  89. package/dist/realtime/parsers/graphql.parser.js.map +1 -0
  90. package/dist/realtime/parsers/index.d.ts +6 -0
  91. package/dist/realtime/parsers/index.js +23 -0
  92. package/dist/realtime/parsers/index.js.map +1 -0
  93. package/dist/realtime/parsers/iris.parser.d.ts +16 -0
  94. package/dist/realtime/parsers/iris.parser.js +10 -0
  95. package/dist/realtime/parsers/iris.parser.js.map +1 -0
  96. package/dist/realtime/parsers/json.parser.d.ts +5 -0
  97. package/dist/realtime/parsers/json.parser.js +10 -0
  98. package/dist/realtime/parsers/json.parser.js.map +1 -0
  99. package/dist/realtime/parsers/parser.d.ts +8 -0
  100. package/dist/{flow/packet-flow.js → realtime/parsers/parser.js} +1 -1
  101. package/dist/realtime/parsers/parser.js.map +1 -0
  102. package/dist/realtime/parsers/region-hint.parser.d.ts +11 -0
  103. package/dist/realtime/parsers/region-hint.parser.js +15 -0
  104. package/dist/realtime/parsers/region-hint.parser.js.map +1 -0
  105. package/dist/realtime/parsers/skywalker.parser.d.ts +11 -0
  106. package/dist/realtime/parsers/skywalker.parser.js +15 -0
  107. package/dist/realtime/parsers/skywalker.parser.js.map +1 -0
  108. package/dist/realtime/realtime.client.d.ts +54 -0
  109. package/dist/realtime/realtime.client.events.d.ts +35 -0
  110. package/dist/realtime/realtime.client.events.js +3 -0
  111. package/dist/realtime/realtime.client.events.js.map +1 -0
  112. package/dist/realtime/realtime.client.js +248 -0
  113. package/dist/realtime/realtime.client.js.map +1 -0
  114. package/dist/realtime/subscriptions/graphql.subscription.d.ts +47 -0
  115. package/dist/realtime/subscriptions/graphql.subscription.js +99 -0
  116. package/dist/realtime/subscriptions/graphql.subscription.js.map +1 -0
  117. package/dist/realtime/subscriptions/index.d.ts +2 -0
  118. package/dist/{flow → realtime/subscriptions}/index.js +2 -3
  119. package/dist/realtime/subscriptions/index.js.map +1 -0
  120. package/dist/realtime/subscriptions/skywalker.subscription.d.ts +4 -0
  121. package/dist/realtime/subscriptions/skywalker.subscription.js +13 -0
  122. package/dist/realtime/subscriptions/skywalker.subscription.js.map +1 -0
  123. package/dist/shared.d.ts +21 -0
  124. package/dist/shared.js +86 -0
  125. package/dist/shared.js.map +1 -0
  126. package/dist/thrift/index.d.ts +3 -0
  127. package/dist/thrift/index.js +20 -0
  128. package/dist/thrift/index.js.map +1 -0
  129. package/dist/thrift/thrift.d.ts +59 -0
  130. package/dist/thrift/thrift.js +101 -0
  131. package/dist/thrift/thrift.js.map +1 -0
  132. package/dist/thrift/thrift.reading.d.ts +40 -0
  133. package/dist/thrift/thrift.reading.js +327 -0
  134. package/dist/thrift/thrift.reading.js.map +1 -0
  135. package/dist/thrift/thrift.writing.d.ts +43 -0
  136. package/dist/thrift/thrift.writing.js +342 -0
  137. package/dist/thrift/thrift.writing.js.map +1 -0
  138. package/dist/topic.d.ts +7 -0
  139. package/dist/{mqtt.message.js → topic.js} +1 -1
  140. package/dist/topic.js.map +1 -0
  141. package/package.json +59 -68
  142. package/dist/errors/abort.error.d.ts +0 -3
  143. package/dist/errors/abort.error.js +0 -8
  144. package/dist/errors/abort.error.js.map +0 -1
  145. package/dist/errors/connect.error.d.ts +0 -5
  146. package/dist/errors/connect.error.js +0 -12
  147. package/dist/errors/connect.error.js.map +0 -1
  148. package/dist/errors/end-of-stream.error.d.ts +0 -3
  149. package/dist/errors/end-of-stream.error.js +0 -8
  150. package/dist/errors/end-of-stream.error.js.map +0 -1
  151. package/dist/errors/flow-stopped.error.d.ts +0 -3
  152. package/dist/errors/flow-stopped.error.js +0 -8
  153. package/dist/errors/flow-stopped.error.js.map +0 -1
  154. package/dist/errors/illegal-state.error.d.ts +0 -3
  155. package/dist/errors/illegal-state.error.js +0 -8
  156. package/dist/errors/illegal-state.error.js.map +0 -1
  157. package/dist/errors/malformed-packet.error.d.ts +0 -3
  158. package/dist/errors/malformed-packet.error.js +0 -8
  159. package/dist/errors/malformed-packet.error.js.map +0 -1
  160. package/dist/errors/subscribe.error.d.ts +0 -3
  161. package/dist/errors/subscribe.error.js +0 -8
  162. package/dist/errors/subscribe.error.js.map +0 -1
  163. package/dist/errors/unexpected-packet.error.d.ts +0 -3
  164. package/dist/errors/unexpected-packet.error.js +0 -8
  165. package/dist/errors/unexpected-packet.error.js.map +0 -1
  166. package/dist/flow/incoming.flows.d.ts +0 -6
  167. package/dist/flow/incoming.flows.js +0 -39
  168. package/dist/flow/incoming.flows.js.map +0 -1
  169. package/dist/flow/index.d.ts +0 -3
  170. package/dist/flow/index.js.map +0 -1
  171. package/dist/flow/outgoing.flows.d.ts +0 -12
  172. package/dist/flow/outgoing.flows.js +0 -115
  173. package/dist/flow/outgoing.flows.js.map +0 -1
  174. package/dist/flow/packet-flow.d.ts +0 -17
  175. package/dist/flow/packet-flow.js.map +0 -1
  176. package/dist/mqtt.base-client.d.ts +0 -54
  177. package/dist/mqtt.base-client.js +0 -102
  178. package/dist/mqtt.base-client.js.map +0 -1
  179. package/dist/mqtt.client.d.ts +0 -75
  180. package/dist/mqtt.client.js +0 -417
  181. package/dist/mqtt.client.js.map +0 -1
  182. package/dist/mqtt.constants.d.ts +0 -34
  183. package/dist/mqtt.constants.js +0 -26
  184. package/dist/mqtt.constants.js.map +0 -1
  185. package/dist/mqtt.listener.d.ts +0 -21
  186. package/dist/mqtt.listener.js +0 -29
  187. package/dist/mqtt.listener.js.map +0 -1
  188. package/dist/mqtt.message.d.ts +0 -14
  189. package/dist/mqtt.message.js.map +0 -1
  190. package/dist/mqtt.packet.d.ts +0 -9
  191. package/dist/mqtt.packet.js +0 -15
  192. package/dist/mqtt.packet.js.map +0 -1
  193. package/dist/mqtt.parser.d.ts +0 -21
  194. package/dist/mqtt.parser.js +0 -71
  195. package/dist/mqtt.parser.js.map +0 -1
  196. package/dist/mqtt.types.d.ts +0 -52
  197. package/dist/mqtt.types.js.map +0 -1
  198. package/dist/mqtt.utilities.d.ts +0 -32
  199. package/dist/mqtt.utilities.js +0 -139
  200. package/dist/mqtt.utilities.js.map +0 -1
  201. package/dist/packet-stream.d.ts +0 -37
  202. package/dist/packet-stream.js +0 -150
  203. package/dist/packet-stream.js.map +0 -1
  204. package/dist/packets/connect.request.packet.d.ts +0 -22
  205. package/dist/packets/connect.request.packet.js +0 -41
  206. package/dist/packets/connect.request.packet.js.map +0 -1
  207. package/dist/packets/connect.response.packet.d.ts +0 -18
  208. package/dist/packets/connect.response.packet.js +0 -43
  209. package/dist/packets/connect.response.packet.js.map +0 -1
  210. package/dist/packets/disconnect.request.packet.d.ts +0 -2
  211. package/dist/packets/disconnect.request.packet.js +0 -7
  212. package/dist/packets/disconnect.request.packet.js.map +0 -1
  213. package/dist/packets/index.d.ts +0 -16
  214. package/dist/packets/index.js +0 -33
  215. package/dist/packets/index.js.map +0 -1
  216. package/dist/packets/packet-reader.d.ts +0 -31
  217. package/dist/packets/packet-reader.js +0 -27
  218. package/dist/packets/packet-reader.js.map +0 -1
  219. package/dist/packets/packet-writer.d.ts +0 -48
  220. package/dist/packets/packet-writer.js +0 -58
  221. package/dist/packets/packet-writer.js.map +0 -1
  222. package/dist/packets/ping.request.packet.d.ts +0 -5
  223. package/dist/packets/ping.request.packet.js +0 -17
  224. package/dist/packets/ping.request.packet.js.map +0 -1
  225. package/dist/packets/ping.response.packet.d.ts +0 -5
  226. package/dist/packets/ping.response.packet.js +0 -17
  227. package/dist/packets/ping.response.packet.js.map +0 -1
  228. package/dist/packets/publish.ack.packet.d.ts +0 -8
  229. package/dist/packets/publish.ack.packet.js +0 -19
  230. package/dist/packets/publish.ack.packet.js.map +0 -1
  231. package/dist/packets/publish.complete.packet.d.ts +0 -8
  232. package/dist/packets/publish.complete.packet.js +0 -19
  233. package/dist/packets/publish.complete.packet.js.map +0 -1
  234. package/dist/packets/publish.received.packet.d.ts +0 -8
  235. package/dist/packets/publish.received.packet.js +0 -19
  236. package/dist/packets/publish.received.packet.js.map +0 -1
  237. package/dist/packets/publish.release.packet.d.ts +0 -8
  238. package/dist/packets/publish.release.packet.js +0 -19
  239. package/dist/packets/publish.release.packet.js.map +0 -1
  240. package/dist/packets/publish.request.packet.d.ts +0 -21
  241. package/dist/packets/publish.request.packet.js +0 -55
  242. package/dist/packets/publish.request.packet.js.map +0 -1
  243. package/dist/packets/subscribe.request.packet.d.ts +0 -10
  244. package/dist/packets/subscribe.request.packet.js +0 -15
  245. package/dist/packets/subscribe.request.packet.js.map +0 -1
  246. package/dist/packets/subscribe.response.packet.d.ts +0 -14
  247. package/dist/packets/subscribe.response.packet.js +0 -35
  248. package/dist/packets/subscribe.response.packet.js.map +0 -1
  249. package/dist/packets/unsubscribe.request.packet.d.ts +0 -7
  250. package/dist/packets/unsubscribe.request.packet.js +0 -13
  251. package/dist/packets/unsubscribe.request.packet.js.map +0 -1
  252. package/dist/packets/unsubscribe.response.packet.d.ts +0 -5
  253. package/dist/packets/unsubscribe.response.packet.js +0 -14
  254. package/dist/packets/unsubscribe.response.packet.js.map +0 -1
  255. package/dist/reconnect-strategy/index.d.ts +0 -2
  256. package/dist/reconnect-strategy/index.js.map +0 -1
  257. package/dist/reconnect-strategy/mqtts.reconnect-strategy.d.ts +0 -14
  258. package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.d.ts +0 -24
  259. package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.js +0 -56
  260. package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.js.map +0 -1
  261. package/dist/reconnect-strategy/mqtts.reconnect-strategy.js.map +0 -1
  262. package/dist/transport/index.d.ts +0 -5
  263. package/dist/transport/index.js.map +0 -1
  264. package/dist/transport/socks-tls.transport.d.ts +0 -13
  265. package/dist/transport/socks-tls.transport.js +0 -54
  266. package/dist/transport/socks-tls.transport.js.map +0 -1
  267. package/dist/transport/tcp.transport.d.ts +0 -12
  268. package/dist/transport/tcp.transport.js +0 -26
  269. package/dist/transport/tcp.transport.js.map +0 -1
  270. package/dist/transport/tls.transport.d.ts +0 -13
  271. package/dist/transport/tls.transport.js +0 -44
  272. package/dist/transport/tls.transport.js.map +0 -1
  273. package/dist/transport/transport.d.ts +0 -19
  274. package/dist/transport/transport.js +0 -16
  275. package/dist/transport/transport.js.map +0 -1
  276. package/dist/transport/websocket.transport.d.ts +0 -15
  277. package/dist/transport/websocket.transport.js +0 -40
  278. package/dist/transport/websocket.transport.js.map +0 -1
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MqttTransformer = void 0;
4
- const mqtt_constants_1 = require("./mqtt.constants");
5
- const packet_stream_1 = require("./packet-stream");
6
- const errors_1 = require("./errors");
7
- const stream_1 = require("stream");
8
- const packet_reader_1 = require("./packets/packet-reader");
9
- class MqttTransformer extends stream_1.Transform {
10
- constructor(options = {}) {
11
- super({ objectMode: true });
12
- this.options = options;
13
- // force the type here
14
- this.mapping = packet_reader_1.DefaultPacketReadMap;
15
- this.internalStream = undefined;
16
- this.mapping = {
17
- ...this.mapping,
18
- ...options.mapping,
19
- };
20
- }
21
- _transform(chunk, encoding, callback) {
22
- if (!Buffer.isBuffer(chunk)) {
23
- callback(new Error('Expected a Buffer'));
24
- return;
25
- }
26
- const stream = this.internalStream ? this.internalStream.write(chunk, false) : packet_stream_1.PacketStream.fromBuffer(chunk);
27
- this.internalStream = undefined;
28
- let startPos = 0;
29
- while (stream.remainingBytes > 0) {
30
- const firstByte = stream.readByte();
31
- const type = (firstByte >> 4);
32
- const flags = firstByte & 0x0f;
33
- const packetFn = this.mapping[type];
34
- if (!packetFn) {
35
- callback(new errors_1.UnexpectedPacketError(`No packet found for ${type}; @${stream.position - 1} len: ${stream.length}`));
36
- return;
37
- }
38
- let remainingLength = -1;
39
- try {
40
- remainingLength = stream.readVariableByteInteger();
41
- const packet = packetFn(stream, remainingLength, flags);
42
- this.push({
43
- type,
44
- data: packet,
45
- flags,
46
- });
47
- stream.cut();
48
- startPos = stream.position;
49
- }
50
- catch (e) {
51
- if (e instanceof errors_1.EndOfStreamError) {
52
- this.options.debug?.(`EOS:\n ${remainingLength} got: ${stream.length} (+) ${chunk.byteLength};\n return: ${startPos};`);
53
- stream.position = startPos;
54
- this.internalStream = stream.cut();
55
- callback();
56
- return;
57
- }
58
- else {
59
- callback(new errors_1.MalformedPacketError(`Error in parser (type: ${(0, mqtt_constants_1.packetTypeToString)(type)}): ${e instanceof Error ? e.message : e} - stream: ${stream.data.toString('base64')}`));
60
- return;
61
- }
62
- }
63
- }
64
- callback();
65
- }
66
- reset() {
67
- this.internalStream = undefined;
68
- }
69
- }
70
- exports.MqttTransformer = MqttTransformer;
71
- //# sourceMappingURL=mqtt.parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mqtt.parser.js","sourceRoot":"","sources":["../src/mqtt.parser.ts"],"names":[],"mappings":";;;AAAA,qDAAkE;AAClE,mDAA+C;AAC/C,qCAAyF;AACzF,mCAAsD;AAEtD,2DAKiC;AAajC,MAAa,eAAkF,SAAQ,kBAAS;IAM5G,YAAmB,UAA2C,EAAE;QAC5D,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QADb,YAAO,GAAP,OAAO,CAAsC;QALhE,sBAAsB;QACf,YAAO,GAA2B,oCAA8C,CAAC;QAEhF,mBAAc,GAA6B,SAAS,CAAC;QAIzD,IAAI,CAAC,OAAO,GAAG;YACX,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,OAAO,CAAC,OAAO;SACrB,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,QAAgB,EAAE,QAA2B;QACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACzC,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,4BAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9G,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAEhC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,CAAe,CAAC;YAC5C,MAAM,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;YAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,QAAQ,CACJ,IAAI,8BAAqB,CACrB,uBAAuB,IAAI,MAAM,MAAM,CAAC,QAAQ,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAC/E,CACJ,CAAC;gBACF,OAAO;YACX,CAAC;YACD,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC;gBACD,eAAe,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC;gBACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;gBACxD,IAAI,CAAC,IAAI,CAAC;oBACN,IAAI;oBACJ,IAAI,EAAE,MAAM;oBACZ,KAAK;iBACR,CAAC,CAAC;gBACH,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC/B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,yBAAgB,EAAE,CAAC;oBAChC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAChB,WAAW,eAAe,SAAS,MAAM,CAAC,MAAM,QAAQ,KAAK,CAAC,UAAU,gBAAgB,QAAQ,GAAG,CACtG,CAAC;oBACF,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAC3B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;oBACnC,QAAQ,EAAE,CAAC;oBACX,OAAO;gBACX,CAAC;qBAAM,CAAC;oBACJ,QAAQ,CACJ,IAAI,6BAAoB,CACpB,0BAA0B,IAAA,mCAAkB,EAAC,IAAI,CAAC,MAC9C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACrC,cAAc,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CACjD,CACJ,CAAC;oBACF,OAAO;gBACX,CAAC;YACL,CAAC;QACL,CAAC;QACD,QAAQ,EAAE,CAAC;IACf,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IACpC,CAAC;CACJ;AA5ED,0CA4EC"}
@@ -1,52 +0,0 @@
1
- import { ConnectRequestOptions } from './packets';
2
- import { MqttTransformer } from './mqtt.parser';
3
- import { Transport } from './transport';
4
- import { XOR } from 'ts-xor';
5
- import { MqttMessage } from './mqtt.message';
6
- import { DefaultPacketReadResultMap, PacketReadMap, PacketReadResultMap, DefaultPacketWriteOptions, PacketWriteMap, PacketWriteOptionsMap, PacketWriter } from './packets';
7
- import { TransformerFn, ValidatorFn } from './mqtt.listener';
8
- import { MqttsReconnectStrategy } from './reconnect-strategy';
9
- export type MqttClientConstructorOptions<ReadMap extends PacketReadResultMap = DefaultPacketReadResultMap, WriteMap extends PacketWriteOptionsMap = DefaultPacketWriteOptions> = XOR<{
10
- transport: Transport<unknown>;
11
- }, {
12
- host: string;
13
- port: number;
14
- enableTrace?: boolean;
15
- }> & {
16
- readMap?: PacketReadMap<ReadMap>;
17
- createTransformer?: () => MqttTransformer<ReadMap>;
18
- writeMap?: PacketWriteMap<WriteMap>;
19
- packetWriter?: PacketWriter<WriteMap>;
20
- autoReconnect?: MqttsReconnectStrategy | boolean;
21
- };
22
- export interface MqttSubscription {
23
- topic: string;
24
- qosLevel?: number;
25
- }
26
- export type RegisterClientOptions = ConnectRequestOptions;
27
- export type TimerRef = any;
28
- export type ExecutePeriodically = (timeInMs: number, action: () => void) => TimerRef;
29
- export type ExecuteDelayed = (timeInMs: number, action: () => void) => TimerRef;
30
- export type StopExecuting = (ref: TimerRef) => void;
31
- export type AsyncLike<TIn, TOut> = (data: TIn) => TOut | PromiseLike<TOut>;
32
- export interface ListenerInfo<TIn, TOut> {
33
- eventName: string;
34
- validator: (data: TIn) => boolean | PromiseLike<boolean>;
35
- transformer?: (data: TIn) => TOut | PromiseLike<TOut>;
36
- onData: (data: TOut) => void | PromiseLike<void>;
37
- }
38
- export interface ListenOptions<TOut, Params extends Record<string, string>> {
39
- topic: string;
40
- validator?: ValidatorFn<Params>;
41
- transformer?: TransformerFn<TOut, Params>;
42
- }
43
- export interface ListenSubscribeOptions<TOut, Params extends Record<string, string>> extends ListenOptions<TOut, Params> {
44
- subscriptionInfo?: Partial<MqttSubscription>;
45
- }
46
- export interface IncomingListenMessage<T extends Record<string, string> = Record<string, string>> extends MqttMessage {
47
- params?: T;
48
- }
49
- export type Resolvable<T extends Record<string, unknown>> = (() => Promise<T>) | (() => T) | T;
50
- export interface IdentifierData {
51
- identifier: number;
52
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"mqtt.types.js","sourceRoot":"","sources":["../src/mqtt.types.ts"],"names":[],"mappings":""}
@@ -1,32 +0,0 @@
1
- import { Resolvable } from './mqtt.types';
2
- import { ConnectResponsePacket, PingResponsePacket, PublishAckPacket, PublishCompletePacket, PublishReceivedPacket, PublishReleasePacket, PublishRequestPacket, SubscribeResponsePacket, UnsubscribeResponsePacket } from './packets';
3
- import { PacketType } from './mqtt.constants';
4
- export declare function matchTopic(baseTopic: string, incomingTopic: string): boolean;
5
- export declare function expectRemainingLength(length: number, expected?: number): void;
6
- export declare function removeUntil(input: string, char: string): string;
7
- export declare function extractParams(template: string, topic: string): Record<string, string>;
8
- export interface Resolvers<T> {
9
- resolve: (value: T) => void;
10
- reject: (error: Error) => void;
11
- }
12
- export declare const nullOrUndefined: (input: unknown) => input is null | undefined;
13
- export declare const isConnAck: (target: unknown) => target is ConnectResponsePacket;
14
- export declare const isPublish: (target: unknown) => target is PublishRequestPacket;
15
- export declare const isPubAck: (target: unknown) => target is PublishAckPacket;
16
- export declare const isPubRec: (target: unknown) => target is PublishReceivedPacket;
17
- export declare const isPubRel: (target: unknown) => target is PublishReleasePacket;
18
- export declare const isPubComp: (target: unknown) => target is PublishCompletePacket;
19
- export declare const isSubAck: (target: unknown) => target is SubscribeResponsePacket;
20
- export declare const isUnsubAck: (target: unknown) => target is UnsubscribeResponsePacket;
21
- export declare const isPingResp: (target: unknown) => target is PingResponsePacket;
22
- export declare function resolve<T extends Record<string, unknown>>(resolvable: Resolvable<T>): Promise<T>;
23
- export declare function notUndefined<T>(value: T | undefined): value is T;
24
- export declare function toBuffer(value: Buffer | string): Buffer;
25
- export declare function toMqttTopicFilter(paramString: string): [string, string?];
26
- export declare function createDefaultPacketLogger(debug: (data: string) => void): (packetType: PacketType, packetInfo: Record<string, string | number | boolean | undefined>) => void;
27
- export declare function stringifyObject(obj: Record<string, unknown>): string;
28
- export declare function createFlowCounter(): {
29
- next(): number;
30
- } | {
31
- next(): bigint;
32
- };
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPingResp = exports.isUnsubAck = exports.isSubAck = exports.isPubComp = exports.isPubRel = exports.isPubRec = exports.isPubAck = exports.isPublish = exports.isConnAck = exports.nullOrUndefined = void 0;
4
- exports.matchTopic = matchTopic;
5
- exports.expectRemainingLength = expectRemainingLength;
6
- exports.removeUntil = removeUntil;
7
- exports.extractParams = extractParams;
8
- exports.resolve = resolve;
9
- exports.notUndefined = notUndefined;
10
- exports.toBuffer = toBuffer;
11
- exports.toMqttTopicFilter = toMqttTopicFilter;
12
- exports.createDefaultPacketLogger = createDefaultPacketLogger;
13
- exports.stringifyObject = stringifyObject;
14
- exports.createFlowCounter = createFlowCounter;
15
- const packets_1 = require("./packets");
16
- const mqtt_constants_1 = require("./mqtt.constants");
17
- function matchTopic(baseTopic, incomingTopic) {
18
- if (baseTopic.length === incomingTopic.length && baseTopic === incomingTopic)
19
- return true;
20
- const parts = baseTopic.split('+');
21
- let remaining = incomingTopic;
22
- for (const part of parts) {
23
- if (!remaining.startsWith(part)) {
24
- return false;
25
- }
26
- remaining = removeUntil(remaining.substring(part.length), '/');
27
- }
28
- return true;
29
- }
30
- function expectRemainingLength(length, expected) {
31
- if (!expected) {
32
- expected = 0;
33
- }
34
- if (length !== expected) {
35
- throw new Error(`Expected remaining length to be ${expected} but got ${length}`);
36
- }
37
- }
38
- function removeUntil(input, char) {
39
- return input.substring(Math.max(input.indexOf(char), 0));
40
- }
41
- function extractParams(template, topic) {
42
- const templateParts = template.split('/');
43
- const topicParts = topic.split('/');
44
- const params = {};
45
- for (let i = 0; i < Math.min(templateParts.length, topicParts.length); i++) {
46
- if (templateParts[i].startsWith(':')) {
47
- params[templateParts[i].substring(1)] = topicParts[i];
48
- }
49
- }
50
- return params;
51
- }
52
- const nullOrUndefined = (input) => input == undefined;
53
- exports.nullOrUndefined = nullOrUndefined;
54
- const isConnAck = (target) => target instanceof packets_1.ConnectResponsePacket;
55
- exports.isConnAck = isConnAck;
56
- const isPublish = (target) => target instanceof packets_1.PublishRequestPacket;
57
- exports.isPublish = isPublish;
58
- const isPubAck = (target) => target instanceof packets_1.PublishAckPacket;
59
- exports.isPubAck = isPubAck;
60
- const isPubRec = (target) => target instanceof packets_1.PublishReceivedPacket;
61
- exports.isPubRec = isPubRec;
62
- const isPubRel = (target) => target instanceof packets_1.PublishReleasePacket;
63
- exports.isPubRel = isPubRel;
64
- const isPubComp = (target) => target instanceof packets_1.PublishCompletePacket;
65
- exports.isPubComp = isPubComp;
66
- const isSubAck = (target) => target instanceof packets_1.SubscribeResponsePacket;
67
- exports.isSubAck = isSubAck;
68
- const isUnsubAck = (target) => target instanceof packets_1.UnsubscribeResponsePacket;
69
- exports.isUnsubAck = isUnsubAck;
70
- const isPingResp = (target) => target instanceof packets_1.PingResponsePacket;
71
- exports.isPingResp = isPingResp;
72
- async function resolve(resolvable) {
73
- return typeof resolvable === 'object' ? resolvable : await resolvable();
74
- }
75
- function notUndefined(value) {
76
- return typeof value !== 'undefined';
77
- }
78
- function toBuffer(value) {
79
- return typeof value === 'string' ? Buffer.from(value) : value;
80
- }
81
- const paramRegex = /\/:[A-Za-z-_0-9]+/g;
82
- function toMqttTopicFilter(paramString) {
83
- if (paramString.match(paramRegex)) {
84
- return [paramString.replace(paramRegex, '/+'), paramString];
85
- }
86
- return [paramString];
87
- }
88
- function createDefaultPacketLogger(debug) {
89
- return (packetType, packetInfo) => {
90
- if (packetType !== mqtt_constants_1.PacketType.PingReq && packetType !== mqtt_constants_1.PacketType.PingResp) {
91
- debug(`Write ${(0, mqtt_constants_1.packetTypeToString)(packetType)} ${stringifyObject(packetInfo)}`);
92
- }
93
- };
94
- }
95
- function stringifyObject(obj) {
96
- return `${obj.constructor === Object ? '' : `${obj.constructor.name} `}{${Object.entries(obj)
97
- .filter(([, v]) => typeof v !== 'undefined')
98
- .map(([k, v]) => `${k}: ${stringifyValue(v)}`)
99
- .join(', ')}}`;
100
- }
101
- function stringifyValue(value) {
102
- if (typeof value === 'object') {
103
- if (value === null) {
104
- return '<null>';
105
- }
106
- else if (Array.isArray(value)) {
107
- return `<Array { len: ${value.length}}>`;
108
- }
109
- else if (Buffer.isBuffer(value)) {
110
- return `<Buffer { bytes: ${value.byteLength}}>`;
111
- }
112
- else if (value.constructor !== Object) {
113
- return `<${value.constructor.name}>`;
114
- }
115
- else {
116
- return '{...}';
117
- }
118
- }
119
- else {
120
- return typeof value === 'string' ? `"${value}"` : String(value);
121
- }
122
- }
123
- function createFlowCounter() {
124
- if (!globalThis.BigInt) {
125
- let count = 0;
126
- return {
127
- next() {
128
- return ++count;
129
- },
130
- };
131
- }
132
- let count = BigInt(0);
133
- return {
134
- next() {
135
- return (count += BigInt(1));
136
- },
137
- };
138
- }
139
- //# sourceMappingURL=mqtt.utilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mqtt.utilities.js","sourceRoot":"","sources":["../src/mqtt.utilities.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- export declare class PacketStream {
2
- set position(value: number);
3
- get position(): number;
4
- get data(): Buffer;
5
- get length(): number;
6
- get remainingBytes(): number;
7
- private _data;
8
- private _position;
9
- private constructor();
10
- static fromLength(len: number): PacketStream;
11
- static fromBuffer(buf: Buffer): PacketStream;
12
- static fromString(data: string): PacketStream;
13
- static empty(): PacketStream;
14
- static fromHex(hex: string): PacketStream;
15
- /**
16
- *
17
- * @param {number} steps - steps to move
18
- * @returns {number} Position before moving
19
- */
20
- private move;
21
- seek(len: number): this;
22
- cut(): this;
23
- write(data: Buffer, move?: boolean): this;
24
- writeRawString(data: string): this;
25
- writeByte(num: number): this;
26
- writeWord(num: number): this;
27
- writeString(str: string): this;
28
- writeRawAndLength(data: Buffer): this;
29
- writeVariableByteInteger(value: number): this;
30
- read(len: number): Buffer;
31
- readSlice(end: number): Buffer<ArrayBuffer>;
32
- readByte(): number;
33
- readWord(): number;
34
- readString(): string;
35
- readStringAsBuffer(): Buffer;
36
- readVariableByteInteger(): number;
37
- }
@@ -1,150 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PacketStream = void 0;
4
- /*
5
-
6
- Based on: https://github.com/binsoul/net-mqtt/blob/master/src/PacketStream.php
7
- Last revision: 10-Sep-19
8
-
9
- */
10
- const errors_1 = require("./errors");
11
- class PacketStream {
12
- set position(value) {
13
- this._position = value;
14
- }
15
- get position() {
16
- return this._position;
17
- }
18
- get data() {
19
- return this._data;
20
- }
21
- get length() {
22
- return this._data ? this._data.length : 0;
23
- }
24
- get remainingBytes() {
25
- return this.length - this.position;
26
- }
27
- constructor(data, length, buffer) {
28
- this._position = 0;
29
- this._data = data ? Buffer.from(data) : length ? Buffer.alloc(length) : buffer ? buffer : Buffer.from([]);
30
- this.position = 0;
31
- }
32
- static fromLength(len) {
33
- return new PacketStream(undefined, len, undefined);
34
- }
35
- static fromBuffer(buf) {
36
- return new PacketStream(undefined, undefined, buf);
37
- }
38
- static fromString(data) {
39
- return new PacketStream(data, undefined, undefined);
40
- }
41
- static empty() {
42
- return new PacketStream(undefined, undefined, undefined);
43
- }
44
- static fromHex(hex) {
45
- return PacketStream.fromBuffer(Buffer.from(hex, 'hex'));
46
- }
47
- /**
48
- *
49
- * @param {number} steps - steps to move
50
- * @returns {number} Position before moving
51
- */
52
- move(steps = 1) {
53
- this._position += steps;
54
- if (this._position > this.length)
55
- throw new errors_1.EndOfStreamError('Reached end of stream');
56
- return this._position - steps;
57
- }
58
- // General
59
- seek(len) {
60
- this.move(len);
61
- return this;
62
- }
63
- cut() {
64
- this._data = this._data.slice(this._position) || undefined;
65
- this._position = 0;
66
- return this;
67
- }
68
- // Write
69
- write(data, move = true) {
70
- if (this._data)
71
- this._data = Buffer.concat([this._data, data]);
72
- else
73
- this._data = data;
74
- if (move)
75
- this.move(data.length);
76
- return this;
77
- }
78
- writeRawString(data) {
79
- return this.write(Buffer.from(data));
80
- }
81
- writeByte(num) {
82
- this.write(Buffer.from([num]));
83
- return this;
84
- }
85
- writeWord(num) {
86
- return this.write(Buffer.from([(num & 0xff00) >> 8, num & 0xff]));
87
- }
88
- writeString(str) {
89
- this.writeWord(Buffer.byteLength(str));
90
- return this.writeRawString(str);
91
- }
92
- writeRawAndLength(data) {
93
- this.writeWord(data.byteLength);
94
- return this.write(data);
95
- }
96
- writeVariableByteInteger(value) {
97
- let digit = 0;
98
- do {
99
- digit = value % 128 | 0;
100
- value = (value / 128) | 0;
101
- if (value > 0)
102
- digit = digit | 0x80;
103
- this.writeByte(digit);
104
- } while (value > 0);
105
- return this;
106
- }
107
- // Read
108
- read(len) {
109
- if (this.position > this.length || len > this.length - this.position) {
110
- throw new errors_1.EndOfStreamError(`End of stream reached when trying to read ${len} bytes. content length=${this.length}, position=${this.position}`);
111
- }
112
- const buf = this._data.slice(this._position, this.position + len);
113
- this.move(len);
114
- return buf;
115
- }
116
- readSlice(end) {
117
- const buf = this._data.slice(this._position, end);
118
- this.move(buf.length);
119
- return buf;
120
- }
121
- readByte() {
122
- return this._data.readUInt8(this.move(1));
123
- }
124
- readWord() {
125
- return this._data.readUInt16BE(this.move(2));
126
- }
127
- readString() {
128
- const len = this.readWord();
129
- return this.read(len).toString('utf8');
130
- }
131
- readStringAsBuffer() {
132
- return this.read(this.readWord());
133
- }
134
- readVariableByteInteger() {
135
- let value = 0;
136
- let multiplier = 1;
137
- let encodedByte;
138
- do {
139
- encodedByte = this.readByte();
140
- value += (encodedByte & 0x7f) * multiplier;
141
- if (multiplier > 128 * 128 * 128) {
142
- throw new Error(`Invalid variable byte integer ${this.position}/${this.length}; currentValue: ${value}`);
143
- }
144
- multiplier *= 0x80;
145
- } while ((encodedByte & 0x80) !== 0);
146
- return value;
147
- }
148
- }
149
- exports.PacketStream = PacketStream;
150
- //# sourceMappingURL=packet-stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packet-stream.js","sourceRoot":"","sources":["../src/packet-stream.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,qCAA4C;AAE5C,MAAa,YAAY;IACrB,IAAW,QAAQ,CAAC,KAAa;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvC,CAAC;IAMD,YAAoB,IAAa,EAAE,MAAe,EAAE,MAAe;QAF3D,cAAS,GAAG,CAAC,CAAC;QAGlB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,GAAW;QAChC,OAAO,IAAI,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IACM,MAAM,CAAC,UAAU,CAAC,GAAW;QAChC,OAAO,IAAI,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IACM,MAAM,CAAC,UAAU,CAAC,IAAY;QACjC,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IACM,MAAM,CAAC,KAAK;QACf,OAAO,IAAI,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IACM,MAAM,CAAC,OAAO,CAAC,GAAW;QAC7B,OAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACK,IAAI,CAAC,KAAK,GAAG,CAAC;QAClB,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,yBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,UAAU;IAEH,IAAI,CAAC,GAAW;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,GAAG;QACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ;IAED,KAAK,CAAC,IAAY,EAAE,IAAI,GAAG,IAAI;QAClC,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;;YAC1D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAEvB,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,cAAc,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IAEM,SAAS,CAAC,GAAW;QACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,GAAW;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,WAAW,CAAC,GAAW;QAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAEM,iBAAiB,CAAC,IAAY;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEM,wBAAwB,CAAC,KAAa;QACzC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,GAAG,CAAC;YACA,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;YACxB,KAAK,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;YAEpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;IACA,IAAI,CAAC,GAAW;QACnB,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnE,MAAM,IAAI,yBAAgB,CACtB,6CAA6C,GAAG,0BAA0B,IAAI,CAAC,MAAM,cAAc,IAAI,CAAC,QAAQ,EAAE,CACrH,CAAC;QACN,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,SAAS,CAAC,GAAW;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAEM,UAAU;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAEM,uBAAuB;QAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,IAAI,WAAW,CAAC;QAChB,GAAG,CAAC;YACA,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE9B,KAAK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;YAC3C,IAAI,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACX,iCAAiC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,mBAAmB,KAAK,EAAE,CAC1F,CAAC;YACN,CAAC;YACD,UAAU,IAAI,IAAI,CAAC;QACvB,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAvKD,oCAuKC"}
@@ -1,22 +0,0 @@
1
- import { PacketWriteResult } from '../mqtt.packet';
2
- import { PacketStream } from '../packet-stream';
3
- export type ConnectRequestOptions = Partial<RequiredConnectRequestOptions>;
4
- export interface RequiredConnectRequestOptions {
5
- protocolLevel: number;
6
- protocolName: string;
7
- clientId: string;
8
- keepAlive: number;
9
- will?: {
10
- topic: string;
11
- message: Buffer | string;
12
- retained?: boolean;
13
- qosLevel?: number;
14
- };
15
- username?: string;
16
- password?: Buffer | string;
17
- clean: boolean;
18
- connectDelay?: number;
19
- signal?: AbortSignal;
20
- }
21
- export declare function writeConnectPacket(stream: PacketStream, options: RequiredConnectRequestOptions): PacketWriteResult;
22
- export declare function makeFlags(options: ConnectRequestOptions): number;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeConnectPacket = writeConnectPacket;
4
- exports.makeFlags = makeFlags;
5
- const errors_1 = require("../errors");
6
- const mqtt_utilities_1 = require("../mqtt.utilities");
7
- function writeConnectPacket(stream, options) {
8
- // Variable Header
9
- stream
10
- .writeString(options.protocolName)
11
- .writeByte(options.protocolLevel)
12
- .writeByte(makeFlags(options))
13
- .writeWord(options.keepAlive);
14
- // Payload
15
- stream.writeString(options.clientId);
16
- options.will && stream.writeString(options.will.topic).writeRawAndLength((0, mqtt_utilities_1.toBuffer)(options.will.message));
17
- options.username && stream.writeString(options.username);
18
- options.password && stream.writeRawAndLength((0, mqtt_utilities_1.toBuffer)(options.password));
19
- return {};
20
- }
21
- function makeFlags(options) {
22
- if (!options)
23
- return 0;
24
- if ((0, mqtt_utilities_1.notUndefined)(options.password) && !(0, mqtt_utilities_1.notUndefined)(options.username))
25
- throw new errors_1.MalformedPacketError('MQTT-3.1.2-22 If the User Name Flag is set to 0, the Password Flag MUST be set to 0');
26
- let flags = 0;
27
- if ((0, mqtt_utilities_1.notUndefined)(options.username))
28
- flags |= 0x1 << 7;
29
- if ((0, mqtt_utilities_1.notUndefined)(options.password))
30
- flags |= 0x1 << 6;
31
- if ((0, mqtt_utilities_1.notUndefined)(options.will)) {
32
- if (options.will.retained)
33
- flags |= 0x1 << 5;
34
- flags |= ((options.will.qosLevel ?? 0) & 0x03) << 3;
35
- flags |= 0x1 << 2;
36
- }
37
- if (options.clean)
38
- flags |= 0x1 << 1;
39
- return flags;
40
- }
41
- //# sourceMappingURL=connect.request.packet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect.request.packet.js","sourceRoot":"","sources":["../../src/packets/connect.request.packet.ts"],"names":[],"mappings":";;AAyBA,gDAeC;AAED,8BAmBC;AA3DD,sCAAiD;AACjD,sDAA2D;AAsB3D,SAAgB,kBAAkB,CAAC,MAAoB,EAAE,OAAsC;IAC3F,kBAAkB;IAClB,MAAM;SACD,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;SACjC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;SAChC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAElC,UAAU;IACV,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,IAAA,yBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACzG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC,IAAA,yBAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzE,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAgB,SAAS,CAAC,OAA8B;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IACvB,IAAI,IAAA,6BAAY,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,6BAAY,EAAC,OAAO,CAAC,QAAQ,CAAC;QACjE,MAAM,IAAI,6BAAoB,CAC1B,qFAAqF,CACxF,CAAC;IAEN,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,IAAA,6BAAY,EAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;IACtD,IAAI,IAAA,6BAAY,EAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;IACtD,IAAI,IAAA,6BAAY,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ;YAAE,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;QAE7C,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -1,18 +0,0 @@
1
- import { PacketStream } from '../packet-stream';
2
- export declare class ConnectResponsePacket {
3
- ackFlags: number;
4
- returnCode: ConnectReturnCode;
5
- get sessionPresent(): boolean;
6
- get isSuccess(): boolean;
7
- get errorName(): keyof typeof ConnectReturnCode | string;
8
- constructor(ackFlags: number, returnCode: ConnectReturnCode);
9
- }
10
- export declare function readConnectResponsePacket(stream: PacketStream, remaining: number): ConnectResponsePacket;
11
- export declare enum ConnectReturnCode {
12
- Accepted = 0,
13
- UnacceptableProtocolVersion = 1,
14
- IdentifierRejected = 2,
15
- ServerUnavailable = 3,
16
- BadUsernameOrPassword = 4,
17
- NotAuthorized = 5
18
- }
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConnectReturnCode = exports.ConnectResponsePacket = void 0;
4
- exports.readConnectResponsePacket = readConnectResponsePacket;
5
- const mqtt_utilities_1 = require("../mqtt.utilities");
6
- class ConnectResponsePacket {
7
- get sessionPresent() {
8
- return !!(this.ackFlags & 0x1);
9
- }
10
- get isSuccess() {
11
- return this.returnCode === ConnectReturnCode.Accepted;
12
- }
13
- get errorName() {
14
- return Object.entries(ConnectReturnCode).find(([, v]) => v === this.returnCode)?.[0] ?? 'Unknown';
15
- }
16
- constructor(ackFlags, returnCode) {
17
- this.ackFlags = ackFlags;
18
- this.returnCode = returnCode;
19
- }
20
- }
21
- exports.ConnectResponsePacket = ConnectResponsePacket;
22
- function readConnectResponsePacket(stream, remaining) {
23
- (0, mqtt_utilities_1.expectRemainingLength)(remaining, 2);
24
- const ack = stream.readByte();
25
- const returnCode = stream.readByte();
26
- if (ack > 1) {
27
- throw new Error('Invalid ack');
28
- }
29
- else if (returnCode > 5) {
30
- throw new Error('Invalid return code');
31
- }
32
- return new ConnectResponsePacket(ack, returnCode);
33
- }
34
- var ConnectReturnCode;
35
- (function (ConnectReturnCode) {
36
- ConnectReturnCode[ConnectReturnCode["Accepted"] = 0] = "Accepted";
37
- ConnectReturnCode[ConnectReturnCode["UnacceptableProtocolVersion"] = 1] = "UnacceptableProtocolVersion";
38
- ConnectReturnCode[ConnectReturnCode["IdentifierRejected"] = 2] = "IdentifierRejected";
39
- ConnectReturnCode[ConnectReturnCode["ServerUnavailable"] = 3] = "ServerUnavailable";
40
- ConnectReturnCode[ConnectReturnCode["BadUsernameOrPassword"] = 4] = "BadUsernameOrPassword";
41
- ConnectReturnCode[ConnectReturnCode["NotAuthorized"] = 5] = "NotAuthorized";
42
- })(ConnectReturnCode || (exports.ConnectReturnCode = ConnectReturnCode = {}));
43
- //# sourceMappingURL=connect.response.packet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect.response.packet.js","sourceRoot":"","sources":["../../src/packets/connect.response.packet.ts"],"names":[],"mappings":";;;AAmBA,8DAUC;AA5BD,sDAA0D;AAE1D,MAAa,qBAAqB;IAC9B,IAAI,cAAc;QACd,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,KAAK,iBAAiB,CAAC,QAAQ,CAAC;IAC1D,CAAC;IACD,IAAI,SAAS;QACT,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACtG,CAAC;IACD,YACW,QAAgB,EAChB,UAA6B;QAD7B,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAAmB;IACrC,CAAC;CACP;AAdD,sDAcC;AAED,SAAgB,yBAAyB,CAAC,MAAoB,EAAE,SAAiB;IAC7E,IAAA,sCAAqB,EAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,qBAAqB,CAAC,GAAG,EAAE,UAA+B,CAAC,CAAC;AAC3E,CAAC;AAED,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IACzB,iEAAQ,CAAA;IACR,uGAA2B,CAAA;IAC3B,qFAAkB,CAAA;IAClB,mFAAiB,CAAA;IACjB,2FAAqB,CAAA;IACrB,2EAAa,CAAA;AACjB,CAAC,EAPW,iBAAiB,iCAAjB,iBAAiB,QAO5B"}
@@ -1,2 +0,0 @@
1
- import { PacketWriteResult } from '../mqtt.packet';
2
- export declare function writeDisconnectRequestPacket(): PacketWriteResult;