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,417 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MqttClient = void 0;
4
- const flow_1 = require("./flow");
5
- const mqtt_parser_1 = require("./mqtt.parser");
6
- const transport_1 = require("./transport");
7
- const packets_1 = require("./packets");
8
- const errors_1 = require("./errors");
9
- const stream_1 = require("stream");
10
- const mqtt_constants_1 = require("./mqtt.constants");
11
- const mqtt_base_client_1 = require("./mqtt.base-client");
12
- const mqtt_listener_1 = require("./mqtt.listener");
13
- const mqtt_utilities_1 = require("./mqtt.utilities");
14
- const debug = require("debug");
15
- const reconnect_strategy_1 = require("./reconnect-strategy");
16
- function tryMakeError(e) {
17
- if (e && e instanceof Error) {
18
- return e;
19
- }
20
- if (typeof e === 'string') {
21
- return new Error(e);
22
- }
23
- return new Error(`unknown error (received: ${e})`);
24
- }
25
- class MqttClient extends mqtt_base_client_1.MqttBaseClient {
26
- get keepAlive() {
27
- return this.connectOptions?.keepAlive ?? 0;
28
- }
29
- set keepAlive(value) {
30
- if (this.connectOptions) {
31
- this.connectOptions.keepAlive = value;
32
- if (value) {
33
- this.updateKeepAlive(value);
34
- }
35
- }
36
- }
37
- constructor(options) {
38
- super();
39
- this.mqttDebug = debug('mqtt:client');
40
- this.receiveDebug = this.mqttDebug.extend('packet');
41
- this.pingDebug = this.mqttDebug.extend('ping');
42
- // wrapper functions
43
- this.executePeriodically = (ms, cb) => setInterval(cb, ms);
44
- this.stopExecuting = ref => clearInterval(ref);
45
- this.executeDelayed = (ms, cb) => setTimeout(cb, ms);
46
- this.flowCounter = (0, mqtt_utilities_1.createFlowCounter)();
47
- this.activeFlows = [];
48
- this.messageListener = new mqtt_listener_1.MqttListener();
49
- if (typeof options.autoReconnect === 'boolean') {
50
- this.reconnectStrategy = options.autoReconnect
51
- ? new reconnect_strategy_1.MqttsReconnectStrategyDefault()
52
- : new reconnect_strategy_1.MqttsReconnectStrategyDefault(0);
53
- }
54
- else {
55
- this.reconnectStrategy = options.autoReconnect;
56
- }
57
- this.transport =
58
- options.transport ??
59
- new transport_1.TlsTransport({
60
- host: options.host,
61
- port: options.port,
62
- additionalOptions: {
63
- enableTrace: options.enableTrace,
64
- },
65
- });
66
- this.createTransformer =
67
- options.createTransformer ??
68
- (() => new mqtt_parser_1.MqttTransformer({
69
- debug: this.mqttDebug.extend('transformer'),
70
- mapping: options.readMap ?? packets_1.DefaultPacketReadMap,
71
- }));
72
- this.transformer = this.createTransformer();
73
- this.transformer.options.debug ??= this.mqttDebug.extend('transformer');
74
- const packetLogger = this.mqttDebug.extend('write');
75
- this.writer =
76
- options.packetWriter ??
77
- new packets_1.PacketWriter({
78
- logPacketWrite: (0, mqtt_utilities_1.createDefaultPacketLogger)(packetLogger),
79
- }, options.writeMap);
80
- }
81
- async _connect(options) {
82
- this.expectCreated();
83
- this.mqttDebug(`Connecting using transport "${this.transport.constructor.name}"`);
84
- this.connectResolver = options;
85
- this.setConnecting();
86
- try {
87
- await this.transport.connect();
88
- }
89
- catch (e) {
90
- const err = tryMakeError(e);
91
- this.mqttDebug(`Transport connect error ("${this.transport.constructor.name}")`, err.message);
92
- const shouldReconnect = this.reconnectStrategy?.check();
93
- await this.setDisconnected(err);
94
- if (shouldReconnect) {
95
- return;
96
- }
97
- else {
98
- throw e;
99
- }
100
- }
101
- this.createPipeline();
102
- return this.registerClient(await this.resolveConnectOptions());
103
- }
104
- async connect(options) {
105
- try {
106
- await this._connect(options);
107
- }
108
- catch (e) {
109
- const err = tryMakeError(e);
110
- this.mqttDebug(`Connection error`, err);
111
- this.emitError(err);
112
- }
113
- }
114
- createPipeline() {
115
- if (!this.transport.duplex)
116
- throw new errors_1.IllegalStateError('Expected transport to expose a Duplex.');
117
- this.pipeline = (0, stream_1.pipeline)(this.transport.duplex, this.transformer, (async (source) => {
118
- for await (const chunk of source) {
119
- if (!chunk.type) {
120
- throw new Error('Chunk is not a MqttPacket');
121
- }
122
- await this.handlePacket(chunk);
123
- }
124
- return 'Source drained';
125
- }) /* bad definitions */, (err) => {
126
- if (err)
127
- this.emitError(tryMakeError(err));
128
- if (!this.disconnected) {
129
- (err ? this.setDisconnected(tryMakeError(err)) : this.setDisconnected('Pipeline finished')).catch(e => this.emitWarning(e));
130
- }
131
- });
132
- }
133
- publish(message) {
134
- return this.startFlow((0, flow_1.outgoingPublishFlow)(message));
135
- }
136
- subscribe(subscription) {
137
- return this.startFlow((0, flow_1.outgoingSubscribeFlow)(subscription));
138
- }
139
- unsubscribe(subscription) {
140
- return this.startFlow((0, flow_1.outgoingUnsubscribeFlow)(subscription));
141
- }
142
- async disconnect(force = false) {
143
- if (!force) {
144
- return this.startFlow((0, flow_1.outgoingDisconnectFlow)()).then(async () => {
145
- await this.setDisconnected('Soft disconnect');
146
- });
147
- }
148
- else {
149
- await this.setDisconnected('Forced disconnect');
150
- }
151
- }
152
- listenSubscribe(options, handlerFn) {
153
- const listener = typeof options === 'string' ? { topic: options } : options;
154
- return this.subscribe({
155
- ...listener.subscriptionInfo,
156
- topic: listener.topic.replace(/\/:[A-Za-z-_0-9]+/g, '/+'),
157
- }).then(() => this.listen(listener, handlerFn));
158
- }
159
- listen(options, handlerFn) {
160
- const listener = typeof options === 'string' ? { topic: options } : options;
161
- const [topicFilter, paramMatcher] = (0, mqtt_utilities_1.toMqttTopicFilter)(listener.topic);
162
- return this.messageListener.addHandler({
163
- topicFilter,
164
- handle: handlerFn,
165
- transformer: listener.transformer,
166
- validator: listener.validator,
167
- paramMatcher,
168
- });
169
- }
170
- startFlow(flow) {
171
- const flowId = this.flowCounter.next();
172
- const promise = new Promise((resolve, reject) => {
173
- const data = {
174
- resolvers: { resolve, reject },
175
- finished: false,
176
- callbacks: flow(value => {
177
- data.finished = true;
178
- resolve(value);
179
- }, err => {
180
- data.finished = true;
181
- reject(err);
182
- }),
183
- flowId,
184
- flowFunc: flow,
185
- };
186
- const first = data.callbacks.start();
187
- if (first)
188
- this.sendData(this.writer.write(first.type, first.options));
189
- if (!data.finished) {
190
- this.activeFlows.push(data);
191
- }
192
- });
193
- promise.flowId = flowId;
194
- return promise;
195
- }
196
- stopFlow(flowId, rejection) {
197
- const flow = this.getFlowById(flowId);
198
- if (!flow)
199
- return false;
200
- this.activeFlows = this.activeFlows.filter(f => f.flowId !== flowId);
201
- flow.finished = true;
202
- try {
203
- flow.resolvers.reject(rejection ?? new errors_1.FlowStoppedError());
204
- }
205
- catch (e) {
206
- this.emitWarning(tryMakeError(e));
207
- }
208
- return true;
209
- }
210
- /**
211
- * Run the accept and next function of all active flows
212
- * @param packet
213
- * @returns true if a flow has been found
214
- */
215
- continueFlows(packet) {
216
- let result = false;
217
- for (const flow of this.activeFlows) {
218
- if (flow.callbacks.accept?.(packet.data)) {
219
- const next = flow.callbacks.next?.(packet.data);
220
- if (next) {
221
- this.sendData(this.writer.write(next.type, next.options));
222
- }
223
- result = true;
224
- }
225
- }
226
- this.clearFinishedFlows();
227
- return result;
228
- }
229
- clearFinishedFlows() {
230
- this.activeFlows = this.activeFlows.filter(flow => !flow.finished);
231
- }
232
- stopExecutingFlows(error) {
233
- for (const flow of this.activeFlows) {
234
- try {
235
- flow.resolvers.reject(error);
236
- }
237
- catch (e) {
238
- this.emitWarning(tryMakeError(e));
239
- }
240
- flow.finished = true;
241
- }
242
- this.activeFlows = [];
243
- }
244
- getFlowById(id) {
245
- return this.activeFlows.find(f => f.flowId === id);
246
- }
247
- registerClient(options) {
248
- const flow = this.getConnectFlow(options);
249
- const connectPromiseFlow = this.startFlow(flow);
250
- if (typeof options.connectDelay !== 'undefined') {
251
- const timerId = this.executeDelayed(options.connectDelay ?? 2000, () => {
252
- const flow = this.getFlowById(connectPromiseFlow.flowId);
253
- if (!flow) {
254
- // there's no flow anymore
255
- this.stopExecuting(timerId);
256
- return;
257
- }
258
- const packet = flow.callbacks.start();
259
- if (packet)
260
- this.sendData(this.writer.write(packet.type, packet.options));
261
- });
262
- connectPromiseFlow
263
- .finally(() => this.stopExecuting(timerId))
264
- // not sure why this is necessary, but it's there so no unhandledRejection is thrown
265
- .catch(() => undefined);
266
- }
267
- options.signal?.addEventListener('abort', () => this.stopFlow(connectPromiseFlow.flowId, new errors_1.AbortError('Connecting aborted')));
268
- return connectPromiseFlow;
269
- }
270
- getConnectFlow(options) {
271
- // assume the defaults are used
272
- return (0, flow_1.outgoingConnectFlow)(options);
273
- }
274
- updateKeepAlive(value) {
275
- value = Math.max(value - 0.5, 1);
276
- if (this.keepAliveTimer) {
277
- this.stopExecuting(this.keepAliveTimer);
278
- }
279
- this.mqttDebug(`Starting keep-alive-ping {delay: ${value}}`);
280
- this.keepAliveTimer = this.executePeriodically(value * 1000, () => {
281
- // assume the defaults are used
282
- this.startFlow((0, flow_1.outgoingPingFlow)())
283
- .then(() => this.pingDebug(`PingPong @ ${Date.now()}`))
284
- .catch(e => {
285
- this.emitWarning(e);
286
- this.pingDebug(`PingPong failed. (${e.message})`);
287
- });
288
- });
289
- }
290
- sendData(data) {
291
- if (!this.transport.duplex) {
292
- this.emitError(new errors_1.IllegalStateError('Expected a duplex - was undefined'));
293
- return;
294
- }
295
- this.transport.duplex.write(data);
296
- }
297
- async handlePacket(packet) {
298
- this.logReceivedPacket(packet);
299
- this.emit(mqtt_constants_1.PacketType[packet.type].toUpperCase(), packet.data);
300
- let forceCheckFlows = false;
301
- // The following "type assertions" are valid as clients extending MqttClient have to implement their own methods
302
- switch (packet.type) {
303
- case mqtt_constants_1.PacketType.ConnAck: {
304
- this.onConnAck(packet.data);
305
- break;
306
- }
307
- case mqtt_constants_1.PacketType.Publish: {
308
- this.onPublish(packet.data);
309
- break;
310
- }
311
- case mqtt_constants_1.PacketType.PingReq: {
312
- this.onPingReq();
313
- break;
314
- }
315
- case mqtt_constants_1.PacketType.Disconnect: {
316
- this.setDisconnected('disconnect packet received').catch(e => this.emitWarning(e));
317
- break;
318
- }
319
- default:
320
- forceCheckFlows = true;
321
- }
322
- if (!this.continueFlows(packet) && forceCheckFlows) {
323
- this.emitWarning(new errors_1.UnexpectedPacketError((0, mqtt_constants_1.packetTypeToString)(packet.type)));
324
- }
325
- }
326
- onConnAck(connAck) {
327
- if (connAck.isSuccess) {
328
- this.setReady();
329
- this.emitConnect(connAck);
330
- if (this.connectOptions?.keepAlive) {
331
- this.updateKeepAlive(this.connectOptions.keepAlive);
332
- }
333
- this.reconnectStrategy?.reset();
334
- }
335
- else {
336
- const error = new errors_1.ConnectError(connAck.errorName);
337
- this.setDisconnected(error).catch(e => this.emitWarning(e));
338
- this.emitError(error);
339
- }
340
- }
341
- onPublish(publish) {
342
- this.startFlow((0, flow_1.incomingPublishFlow)({
343
- topic: publish.topic,
344
- payload: publish.payload,
345
- qosLevel: publish.qos,
346
- retained: publish.retain,
347
- duplicate: publish.duplicate,
348
- }, publish.identifier ?? undefined))
349
- .then(async (m) => {
350
- this.emitMessage(m);
351
- await this.messageListener.handleMessage(m);
352
- })
353
- .catch(e => this.emitWarning(e));
354
- }
355
- onPingReq() {
356
- this.startFlow((0, flow_1.incomingPingFlow)())
357
- .then(() => this.pingDebug(`Server-PingPong @ ${Date.now()}`))
358
- .catch(e => {
359
- this.emitWarning(e);
360
- this.pingDebug(`Server-PingPong failed. (${e.message})`);
361
- });
362
- }
363
- logReceivedPacket(packet) {
364
- if (packet.type !== mqtt_constants_1.PacketType.PingReq && packet.type !== mqtt_constants_1.PacketType.PingResp)
365
- this.receiveDebug(`Received ${(0, mqtt_utilities_1.stringifyObject)(packet.data)}`);
366
- }
367
- reset() {
368
- super.reset();
369
- try {
370
- this.stopExecutingFlows(new errors_1.AbortError('Resetting'));
371
- }
372
- catch (e) {
373
- this.emitWarning(tryMakeError(e));
374
- }
375
- if (this.keepAliveTimer) {
376
- clearInterval(this.keepAliveTimer);
377
- this.keepAliveTimer = undefined;
378
- }
379
- this.transformer.reset();
380
- }
381
- setReady() {
382
- super.setReady();
383
- this.mqttDebug('Ready!');
384
- }
385
- async reconnect() {
386
- this.transport.reset();
387
- this.transformer = this.createTransformer();
388
- this.transformer.options.debug = this.transformer.options.debug ?? this.mqttDebug.extend('transformer');
389
- await this.reconnectStrategy?.wait();
390
- await this.connect();
391
- }
392
- async setDisconnected(reason) {
393
- const willReconnect = this.reconnectStrategy?.check(reason) ?? false;
394
- this.mqttDebug(`Disconnected. Will reconnect: ${willReconnect}`);
395
- this._setDisconnected();
396
- try {
397
- this.stopExecutingFlows(new errors_1.AbortError('Client disconnected.'));
398
- }
399
- catch (e) {
400
- this.emitWarning(tryMakeError(e));
401
- }
402
- this.emitDisconnect({ reason, reconnect: willReconnect });
403
- if (this.transport.active) {
404
- await new Promise(resolve => this.transport.duplex?.end(resolve) ?? /* never */ resolve());
405
- if (this.transport.duplex && !this.transport.duplex.writableEnded) {
406
- this.transport.duplex.destroy(new Error('force destroy'));
407
- }
408
- }
409
- this.stopExecuting(this.keepAliveTimer);
410
- this.reset();
411
- if (willReconnect) {
412
- await this.reconnect();
413
- }
414
- }
415
- }
416
- exports.MqttClient = MqttClient;
417
- //# sourceMappingURL=mqtt.client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mqtt.client.js","sourceRoot":"","sources":["../src/mqtt.client.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- export declare enum PacketType {
2
- Connect = 1,
3
- ConnAck = 2,
4
- Publish = 3,
5
- PubAck = 4,
6
- PubRec = 5,
7
- PubRel = 6,
8
- PubComp = 7,
9
- Subscribe = 8,
10
- SubAck = 9,
11
- Unsubscribe = 10,
12
- UnsubAck = 11,
13
- PingReq = 12,
14
- PingResp = 13,
15
- Disconnect = 14
16
- }
17
- export interface EventMapping {
18
- CONNECT: PacketType.Connect;
19
- CONNACK: PacketType.ConnAck;
20
- PUBLISH: PacketType.Publish;
21
- PUBACK: PacketType.PubAck;
22
- PUBREC: PacketType.PubRec;
23
- PUBREL: PacketType.PubRel;
24
- PUBCOMP: PacketType.PubComp;
25
- SUBSCRIBE: PacketType.Subscribe;
26
- SUBACK: PacketType.SubAck;
27
- UNSUBSCRIBE: PacketType.Unsubscribe;
28
- UNSUBACK: PacketType.UnsubAck;
29
- PINGREQ: PacketType.PingReq;
30
- PINGRESP: PacketType.PingResp;
31
- DISCONNECT: PacketType.Disconnect;
32
- }
33
- export type PacketName = keyof EventMapping;
34
- export declare function packetTypeToString(type: PacketType): PacketName;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PacketType = void 0;
4
- exports.packetTypeToString = packetTypeToString;
5
- var PacketType;
6
- (function (PacketType) {
7
- PacketType[PacketType["Connect"] = 1] = "Connect";
8
- PacketType[PacketType["ConnAck"] = 2] = "ConnAck";
9
- PacketType[PacketType["Publish"] = 3] = "Publish";
10
- PacketType[PacketType["PubAck"] = 4] = "PubAck";
11
- PacketType[PacketType["PubRec"] = 5] = "PubRec";
12
- PacketType[PacketType["PubRel"] = 6] = "PubRel";
13
- PacketType[PacketType["PubComp"] = 7] = "PubComp";
14
- PacketType[PacketType["Subscribe"] = 8] = "Subscribe";
15
- PacketType[PacketType["SubAck"] = 9] = "SubAck";
16
- PacketType[PacketType["Unsubscribe"] = 10] = "Unsubscribe";
17
- PacketType[PacketType["UnsubAck"] = 11] = "UnsubAck";
18
- PacketType[PacketType["PingReq"] = 12] = "PingReq";
19
- PacketType[PacketType["PingResp"] = 13] = "PingResp";
20
- PacketType[PacketType["Disconnect"] = 14] = "Disconnect";
21
- })(PacketType || (exports.PacketType = PacketType = {}));
22
- const reverseMapping = Object.fromEntries(Object.entries(PacketType).map(([k, v]) => [v, k]));
23
- function packetTypeToString(type) {
24
- return reverseMapping[type].toUpperCase();
25
- }
26
- //# sourceMappingURL=mqtt.constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mqtt.constants.js","sourceRoot":"","sources":["../src/mqtt.constants.ts"],"names":[],"mappings":";;;AAsCA,gDAEC;AAxCD,IAAY,UAeX;AAfD,WAAY,UAAU;IAClB,iDAAW,CAAA;IACX,iDAAO,CAAA;IACP,iDAAO,CAAA;IACP,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,iDAAO,CAAA;IACP,qDAAS,CAAA;IACT,+CAAM,CAAA;IACN,0DAAW,CAAA;IACX,oDAAQ,CAAA;IACR,kDAAO,CAAA;IACP,oDAAQ,CAAA;IACR,wDAAU,CAAA;AACd,CAAC,EAfW,UAAU,0BAAV,UAAU,QAerB;AAmBD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAI9F,SAAgB,kBAAkB,CAAC,IAAgB;IAC/C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,EAAgB,CAAC;AAC5D,CAAC"}
@@ -1,21 +0,0 @@
1
- import { MqttMessage } from './mqtt.message';
2
- import { IncomingListenMessage } from './mqtt.types';
3
- export declare class MqttListener {
4
- private handlers;
5
- handleMessage(message: MqttMessage): Promise<void[]>;
6
- addHandler<T, Params extends Record<string, string>>(handler: HandlerInfo<T, Params>): RemoveHandlerFn;
7
- }
8
- export type RemoveHandlerFn = () => void;
9
- export type HandlerFn<T = MessageWithParams> = (message: T) => void;
10
- export type ValidatorFn<Params extends Record<string, string>> = (message: MqttMessage, params: Params) => boolean;
11
- export type TransformerFn<TOut, Params extends Record<string, string>> = (message: IncomingListenMessage<Params>) => TOut | Promise<TOut>;
12
- export type MessageWithParams<T extends Record<string, string> = Record<string, string>> = MqttMessage & {
13
- params: T;
14
- };
15
- export interface HandlerInfo<T, Params extends Record<string, string>> {
16
- topicFilter: string;
17
- paramMatcher?: string;
18
- validator?: ValidatorFn<Params>;
19
- transformer?: TransformerFn<T, Params>;
20
- handle: HandlerFn<T>;
21
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MqttListener = void 0;
4
- const mqtt_utilities_1 = require("./mqtt.utilities");
5
- class MqttListener {
6
- constructor() {
7
- this.handlers = [];
8
- }
9
- handleMessage(message) {
10
- return Promise.all(this.handlers
11
- .filter(h => (0, mqtt_utilities_1.matchTopic)(h.topicFilter, message.topic))
12
- .map(async (handler) => {
13
- const params = handler.paramMatcher ? (0, mqtt_utilities_1.extractParams)(handler.paramMatcher, message.topic) : {};
14
- if (handler.validator && !handler.validator(message, params))
15
- return;
16
- const finalMessage = {
17
- ...message,
18
- params,
19
- };
20
- handler.handle(handler.transformer ? await handler.transformer(finalMessage) : finalMessage);
21
- }));
22
- }
23
- addHandler(handler) {
24
- this.handlers.push(handler);
25
- return () => (this.handlers = this.handlers.filter(x => x !== handler));
26
- }
27
- }
28
- exports.MqttListener = MqttListener;
29
- //# sourceMappingURL=mqtt.listener.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mqtt.listener.js","sourceRoot":"","sources":["../src/mqtt.listener.ts"],"names":[],"mappings":";;;AAEA,qDAA6D;AAE7D,MAAa,YAAY;IAAzB;QACY,aAAQ,GAAiC,EAAE,CAAC;IAuBxD,CAAC;IArBU,aAAa,CAAC,OAAoB;QACrC,OAAO,OAAO,CAAC,GAAG,CACd,IAAI,CAAC,QAAQ;aACR,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,2BAAU,EAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;aACrD,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACjB,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAA,8BAAa,EAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAAE,OAAO;YAErE,MAAM,YAAY,GAAG;gBACjB,GAAG,OAAO;gBACV,MAAM;aACT,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACjG,CAAC,CAAC,CACT,CAAC;IACN,CAAC;IAEM,UAAU,CAA2C,OAA+B;QACvF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;CACJ;AAxBD,oCAwBC"}
@@ -1,14 +0,0 @@
1
- export interface MqttMessage {
2
- topic: string;
3
- payload: Buffer;
4
- retained?: boolean;
5
- duplicate?: boolean;
6
- qosLevel?: number;
7
- }
8
- export interface MqttMessageOutgoing {
9
- topic: string;
10
- retained?: boolean;
11
- duplicate?: boolean;
12
- qosLevel?: number;
13
- payload: Buffer | string;
14
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"mqtt.message.js","sourceRoot":"","sources":["../src/mqtt.message.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- export declare class IdentifierPacket {
2
- readonly identifier: number;
3
- constructor(identifier: number);
4
- }
5
- export interface PacketWriteResult {
6
- flags?: number;
7
- identifier?: number;
8
- }
9
- export declare function generateIdentifier(): number;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IdentifierPacket = void 0;
4
- exports.generateIdentifier = generateIdentifier;
5
- class IdentifierPacket {
6
- constructor(identifier) {
7
- this.identifier = identifier;
8
- }
9
- }
10
- exports.IdentifierPacket = IdentifierPacket;
11
- let _lastId = 0;
12
- function generateIdentifier() {
13
- return (_lastId = (_lastId + 1) & 0xffff);
14
- }
15
- //# sourceMappingURL=mqtt.packet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mqtt.packet.js","sourceRoot":"","sources":["../src/mqtt.packet.ts"],"names":[],"mappings":";;;AAUA,gDAEC;AAZD,MAAa,gBAAgB;IACzB,YAA4B,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;CACrD;AAFD,4CAEC;AAOD,IAAI,OAAO,GAAG,CAAC,CAAC;AAChB,SAAgB,kBAAkB;IAC9B,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,21 +0,0 @@
1
- import { PacketType } from './mqtt.constants';
2
- import { Transform, TransformCallback } from 'stream';
3
- import { Debugger } from 'debug';
4
- import { DefaultPacketReadResultMap, PacketReadMap, PacketReadResultMap } from './packets/packet-reader';
5
- export interface MqttParseResult<ReadMap extends PacketReadResultMap, T extends PacketType> {
6
- type: T;
7
- flags: number;
8
- data: ReadMap[T];
9
- }
10
- export interface MqttTransformerOptions<T extends PacketReadResultMap = DefaultPacketReadResultMap> {
11
- debug?: Debugger;
12
- mapping?: PacketReadMap<T>;
13
- }
14
- export declare class MqttTransformer<ReadMap extends PacketReadResultMap = DefaultPacketReadResultMap> extends Transform {
15
- options: MqttTransformerOptions<ReadMap>;
16
- mapping: PacketReadMap<ReadMap>;
17
- private internalStream;
18
- constructor(options?: MqttTransformerOptions<ReadMap>);
19
- _transform(chunk: Buffer, encoding: string, callback: TransformCallback): void;
20
- reset(): void;
21
- }