abmqtt-dist 0.0.4

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 (152) hide show
  1. package/README.md +14 -0
  2. package/dist/errors/abort.error.d.ts +3 -0
  3. package/dist/errors/abort.error.js +8 -0
  4. package/dist/errors/abort.error.js.map +1 -0
  5. package/dist/errors/connect.error.d.ts +5 -0
  6. package/dist/errors/connect.error.js +12 -0
  7. package/dist/errors/connect.error.js.map +1 -0
  8. package/dist/errors/end-of-stream.error.d.ts +3 -0
  9. package/dist/errors/end-of-stream.error.js +8 -0
  10. package/dist/errors/end-of-stream.error.js.map +1 -0
  11. package/dist/errors/flow-stopped.error.d.ts +3 -0
  12. package/dist/errors/flow-stopped.error.js +8 -0
  13. package/dist/errors/flow-stopped.error.js.map +1 -0
  14. package/dist/errors/illegal-state.error.d.ts +3 -0
  15. package/dist/errors/illegal-state.error.js +8 -0
  16. package/dist/errors/illegal-state.error.js.map +1 -0
  17. package/dist/errors/index.d.ts +8 -0
  18. package/dist/errors/index.js +25 -0
  19. package/dist/errors/index.js.map +1 -0
  20. package/dist/errors/malformed-packet.error.d.ts +3 -0
  21. package/dist/errors/malformed-packet.error.js +8 -0
  22. package/dist/errors/malformed-packet.error.js.map +1 -0
  23. package/dist/errors/subscribe.error.d.ts +3 -0
  24. package/dist/errors/subscribe.error.js +8 -0
  25. package/dist/errors/subscribe.error.js.map +1 -0
  26. package/dist/errors/unexpected-packet.error.d.ts +3 -0
  27. package/dist/errors/unexpected-packet.error.js +8 -0
  28. package/dist/errors/unexpected-packet.error.js.map +1 -0
  29. package/dist/flow/incoming.flows.d.ts +6 -0
  30. package/dist/flow/incoming.flows.js +39 -0
  31. package/dist/flow/incoming.flows.js.map +1 -0
  32. package/dist/flow/index.d.ts +3 -0
  33. package/dist/flow/index.js +20 -0
  34. package/dist/flow/index.js.map +1 -0
  35. package/dist/flow/outgoing.flows.d.ts +12 -0
  36. package/dist/flow/outgoing.flows.js +115 -0
  37. package/dist/flow/outgoing.flows.js.map +1 -0
  38. package/dist/flow/packet-flow.d.ts +17 -0
  39. package/dist/flow/packet-flow.js +3 -0
  40. package/dist/flow/packet-flow.js.map +1 -0
  41. package/dist/index.d.ts +13 -0
  42. package/dist/index.js +30 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/mqtt.base-client.d.ts +54 -0
  45. package/dist/mqtt.base-client.js +102 -0
  46. package/dist/mqtt.base-client.js.map +1 -0
  47. package/dist/mqtt.client.d.ts +75 -0
  48. package/dist/mqtt.client.js +423 -0
  49. package/dist/mqtt.client.js.map +1 -0
  50. package/dist/mqtt.constants.d.ts +34 -0
  51. package/dist/mqtt.constants.js +26 -0
  52. package/dist/mqtt.constants.js.map +1 -0
  53. package/dist/mqtt.listener.d.ts +21 -0
  54. package/dist/mqtt.listener.js +29 -0
  55. package/dist/mqtt.listener.js.map +1 -0
  56. package/dist/mqtt.message.d.ts +14 -0
  57. package/dist/mqtt.message.js +3 -0
  58. package/dist/mqtt.message.js.map +1 -0
  59. package/dist/mqtt.packet.d.ts +9 -0
  60. package/dist/mqtt.packet.js +15 -0
  61. package/dist/mqtt.packet.js.map +1 -0
  62. package/dist/mqtt.parser.d.ts +21 -0
  63. package/dist/mqtt.parser.js +71 -0
  64. package/dist/mqtt.parser.js.map +1 -0
  65. package/dist/mqtt.types.d.ts +52 -0
  66. package/dist/mqtt.types.js +3 -0
  67. package/dist/mqtt.types.js.map +1 -0
  68. package/dist/mqtt.utilities.d.ts +32 -0
  69. package/dist/mqtt.utilities.js +139 -0
  70. package/dist/mqtt.utilities.js.map +1 -0
  71. package/dist/packet-stream.d.ts +37 -0
  72. package/dist/packet-stream.js +150 -0
  73. package/dist/packet-stream.js.map +1 -0
  74. package/dist/packets/connect.request.packet.d.ts +22 -0
  75. package/dist/packets/connect.request.packet.js +41 -0
  76. package/dist/packets/connect.request.packet.js.map +1 -0
  77. package/dist/packets/connect.response.packet.d.ts +18 -0
  78. package/dist/packets/connect.response.packet.js +43 -0
  79. package/dist/packets/connect.response.packet.js.map +1 -0
  80. package/dist/packets/disconnect.request.packet.d.ts +2 -0
  81. package/dist/packets/disconnect.request.packet.js +7 -0
  82. package/dist/packets/disconnect.request.packet.js.map +1 -0
  83. package/dist/packets/index.d.ts +16 -0
  84. package/dist/packets/index.js +33 -0
  85. package/dist/packets/index.js.map +1 -0
  86. package/dist/packets/packet-reader.d.ts +31 -0
  87. package/dist/packets/packet-reader.js +27 -0
  88. package/dist/packets/packet-reader.js.map +1 -0
  89. package/dist/packets/packet-writer.d.ts +48 -0
  90. package/dist/packets/packet-writer.js +58 -0
  91. package/dist/packets/packet-writer.js.map +1 -0
  92. package/dist/packets/ping.request.packet.d.ts +5 -0
  93. package/dist/packets/ping.request.packet.js +17 -0
  94. package/dist/packets/ping.request.packet.js.map +1 -0
  95. package/dist/packets/ping.response.packet.d.ts +5 -0
  96. package/dist/packets/ping.response.packet.js +17 -0
  97. package/dist/packets/ping.response.packet.js.map +1 -0
  98. package/dist/packets/publish.ack.packet.d.ts +8 -0
  99. package/dist/packets/publish.ack.packet.js +19 -0
  100. package/dist/packets/publish.ack.packet.js.map +1 -0
  101. package/dist/packets/publish.complete.packet.d.ts +8 -0
  102. package/dist/packets/publish.complete.packet.js +19 -0
  103. package/dist/packets/publish.complete.packet.js.map +1 -0
  104. package/dist/packets/publish.received.packet.d.ts +8 -0
  105. package/dist/packets/publish.received.packet.js +19 -0
  106. package/dist/packets/publish.received.packet.js.map +1 -0
  107. package/dist/packets/publish.release.packet.d.ts +8 -0
  108. package/dist/packets/publish.release.packet.js +19 -0
  109. package/dist/packets/publish.release.packet.js.map +1 -0
  110. package/dist/packets/publish.request.packet.d.ts +21 -0
  111. package/dist/packets/publish.request.packet.js +55 -0
  112. package/dist/packets/publish.request.packet.js.map +1 -0
  113. package/dist/packets/subscribe.request.packet.d.ts +10 -0
  114. package/dist/packets/subscribe.request.packet.js +15 -0
  115. package/dist/packets/subscribe.request.packet.js.map +1 -0
  116. package/dist/packets/subscribe.response.packet.d.ts +14 -0
  117. package/dist/packets/subscribe.response.packet.js +35 -0
  118. package/dist/packets/subscribe.response.packet.js.map +1 -0
  119. package/dist/packets/unsubscribe.request.packet.d.ts +7 -0
  120. package/dist/packets/unsubscribe.request.packet.js +13 -0
  121. package/dist/packets/unsubscribe.request.packet.js.map +1 -0
  122. package/dist/packets/unsubscribe.response.packet.d.ts +5 -0
  123. package/dist/packets/unsubscribe.response.packet.js +14 -0
  124. package/dist/packets/unsubscribe.response.packet.js.map +1 -0
  125. package/dist/reconnect-strategy/index.d.ts +2 -0
  126. package/dist/reconnect-strategy/index.js +19 -0
  127. package/dist/reconnect-strategy/index.js.map +1 -0
  128. package/dist/reconnect-strategy/mqtts.reconnect-strategy.d.ts +14 -0
  129. package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.d.ts +24 -0
  130. package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.js +56 -0
  131. package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.js.map +1 -0
  132. package/dist/reconnect-strategy/mqtts.reconnect-strategy.js +3 -0
  133. package/dist/reconnect-strategy/mqtts.reconnect-strategy.js.map +1 -0
  134. package/dist/transport/index.d.ts +5 -0
  135. package/dist/transport/index.js +22 -0
  136. package/dist/transport/index.js.map +1 -0
  137. package/dist/transport/socks-tls.transport.d.ts +13 -0
  138. package/dist/transport/socks-tls.transport.js +56 -0
  139. package/dist/transport/socks-tls.transport.js.map +1 -0
  140. package/dist/transport/tcp.transport.d.ts +12 -0
  141. package/dist/transport/tcp.transport.js +26 -0
  142. package/dist/transport/tcp.transport.js.map +1 -0
  143. package/dist/transport/tls.transport.d.ts +13 -0
  144. package/dist/transport/tls.transport.js +46 -0
  145. package/dist/transport/tls.transport.js.map +1 -0
  146. package/dist/transport/transport.d.ts +19 -0
  147. package/dist/transport/transport.js +16 -0
  148. package/dist/transport/transport.js.map +1 -0
  149. package/dist/transport/websocket.transport.d.ts +15 -0
  150. package/dist/transport/websocket.transport.js +40 -0
  151. package/dist/transport/websocket.transport.js.map +1 -0
  152. package/package.json +74 -0
package/README.md ADDED
@@ -0,0 +1,14 @@
1
+ # MQTTS (MQTT Typescript)
2
+
3
+ MQTTS is a MQTT library. It currently supports _MQTT 3.1.1_ but may
4
+ support MQTT 5 in the future.
5
+
6
+ These are the key features:
7
+
8
+ - Multiple Transports (**TLS**, **TCP**, more to come)
9
+ - Focus On Extensibility
10
+ - Written in Typescript
11
+ - Parameterized listeners: `devices/:name/color` will also give you any object with the properties:
12
+ `{name: '...'}`
13
+
14
+ **Check out the [example](examples/example.ts).**
@@ -0,0 +1,3 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class AbortError extends CustomError {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbortError = void 0;
4
+ const ts_custom_error_1 = require("ts-custom-error");
5
+ class AbortError extends ts_custom_error_1.CustomError {
6
+ }
7
+ exports.AbortError = AbortError;
8
+ //# sourceMappingURL=abort.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abort.error.js","sourceRoot":"","sources":["../../src/errors/abort.error.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,UAAW,SAAQ,6BAAW;CAAG;AAA9C,gCAA8C"}
@@ -0,0 +1,5 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class ConnectError extends CustomError {
3
+ status: string;
4
+ constructor(status: string);
5
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConnectError = void 0;
4
+ const ts_custom_error_1 = require("ts-custom-error");
5
+ class ConnectError extends ts_custom_error_1.CustomError {
6
+ constructor(status) {
7
+ super(status);
8
+ this.status = status;
9
+ }
10
+ }
11
+ exports.ConnectError = ConnectError;
12
+ //# sourceMappingURL=connect.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect.error.js","sourceRoot":"","sources":["../../src/errors/connect.error.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,YAAa,SAAQ,6BAAW;IACzC,YAAmB,MAAc;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;QADC,WAAM,GAAN,MAAM,CAAQ;IAEjC,CAAC;CACJ;AAJD,oCAIC"}
@@ -0,0 +1,3 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class EndOfStreamError extends CustomError {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EndOfStreamError = void 0;
4
+ const ts_custom_error_1 = require("ts-custom-error");
5
+ class EndOfStreamError extends ts_custom_error_1.CustomError {
6
+ }
7
+ exports.EndOfStreamError = EndOfStreamError;
8
+ //# sourceMappingURL=end-of-stream.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"end-of-stream.error.js","sourceRoot":"","sources":["../../src/errors/end-of-stream.error.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,gBAAiB,SAAQ,6BAAW;CAAG;AAApD,4CAAoD"}
@@ -0,0 +1,3 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class FlowStoppedError extends CustomError {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlowStoppedError = void 0;
4
+ const ts_custom_error_1 = require("ts-custom-error");
5
+ class FlowStoppedError extends ts_custom_error_1.CustomError {
6
+ }
7
+ exports.FlowStoppedError = FlowStoppedError;
8
+ //# sourceMappingURL=flow-stopped.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-stopped.error.js","sourceRoot":"","sources":["../../src/errors/flow-stopped.error.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,gBAAiB,SAAQ,6BAAW;CAAG;AAApD,4CAAoD"}
@@ -0,0 +1,3 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class IllegalStateError extends CustomError {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IllegalStateError = void 0;
4
+ const ts_custom_error_1 = require("ts-custom-error");
5
+ class IllegalStateError extends ts_custom_error_1.CustomError {
6
+ }
7
+ exports.IllegalStateError = IllegalStateError;
8
+ //# sourceMappingURL=illegal-state.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"illegal-state.error.js","sourceRoot":"","sources":["../../src/errors/illegal-state.error.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,iBAAkB,SAAQ,6BAAW;CAAG;AAArD,8CAAqD"}
@@ -0,0 +1,8 @@
1
+ export * from './end-of-stream.error';
2
+ export * from './malformed-packet.error';
3
+ export * from './unexpected-packet.error';
4
+ export * from './connect.error';
5
+ export * from './subscribe.error';
6
+ export * from './flow-stopped.error';
7
+ export * from './illegal-state.error';
8
+ export * from './abort.error';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./end-of-stream.error"), exports);
18
+ __exportStar(require("./malformed-packet.error"), exports);
19
+ __exportStar(require("./unexpected-packet.error"), exports);
20
+ __exportStar(require("./connect.error"), exports);
21
+ __exportStar(require("./subscribe.error"), exports);
22
+ __exportStar(require("./flow-stopped.error"), exports);
23
+ __exportStar(require("./illegal-state.error"), exports);
24
+ __exportStar(require("./abort.error"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,2DAAyC;AACzC,4DAA0C;AAC1C,kDAAgC;AAChC,oDAAkC;AAClC,uDAAqC;AACrC,wDAAsC;AACtC,gDAA8B"}
@@ -0,0 +1,3 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class MalformedPacketError extends CustomError {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MalformedPacketError = void 0;
4
+ const ts_custom_error_1 = require("ts-custom-error");
5
+ class MalformedPacketError extends ts_custom_error_1.CustomError {
6
+ }
7
+ exports.MalformedPacketError = MalformedPacketError;
8
+ //# sourceMappingURL=malformed-packet.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malformed-packet.error.js","sourceRoot":"","sources":["../../src/errors/malformed-packet.error.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,oBAAqB,SAAQ,6BAAW;CAAG;AAAxD,oDAAwD"}
@@ -0,0 +1,3 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class SubscribeError extends CustomError {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubscribeError = void 0;
4
+ const ts_custom_error_1 = require("ts-custom-error");
5
+ class SubscribeError extends ts_custom_error_1.CustomError {
6
+ }
7
+ exports.SubscribeError = SubscribeError;
8
+ //# sourceMappingURL=subscribe.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe.error.js","sourceRoot":"","sources":["../../src/errors/subscribe.error.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,cAAe,SAAQ,6BAAW;CAE9C;AAFD,wCAEC"}
@@ -0,0 +1,3 @@
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class UnexpectedPacketError extends CustomError {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnexpectedPacketError = void 0;
4
+ const ts_custom_error_1 = require("ts-custom-error");
5
+ class UnexpectedPacketError extends ts_custom_error_1.CustomError {
6
+ }
7
+ exports.UnexpectedPacketError = UnexpectedPacketError;
8
+ //# sourceMappingURL=unexpected-packet.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unexpected-packet.error.js","sourceRoot":"","sources":["../../src/errors/unexpected-packet.error.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAE9C,MAAa,qBAAsB,SAAQ,6BAAW;CAAG;AAAzD,sDAAyD"}
@@ -0,0 +1,6 @@
1
+ import { MqttMessage } from '../mqtt.message';
2
+ import { PacketFlowFunc } from './packet-flow';
3
+ import { DefaultPacketReadResultMap } from '../packets/packet-reader';
4
+ import { DefaultPacketWriteOptions } from '../packets/packet-writer';
5
+ export declare function incomingPingFlow(): PacketFlowFunc<DefaultPacketReadResultMap, DefaultPacketWriteOptions, void>;
6
+ export declare function incomingPublishFlow(message: MqttMessage, identifier: number): PacketFlowFunc<DefaultPacketReadResultMap, DefaultPacketWriteOptions, MqttMessage>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.incomingPingFlow = incomingPingFlow;
4
+ exports.incomingPublishFlow = incomingPublishFlow;
5
+ const mqtt_utilities_1 = require("../mqtt.utilities");
6
+ const packet_writer_1 = require("../packets/packet-writer");
7
+ const mqtt_constants_1 = require("../mqtt.constants");
8
+ function incomingPingFlow() {
9
+ return success => ({
10
+ start: () => {
11
+ success();
12
+ return (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.PingResp);
13
+ },
14
+ });
15
+ }
16
+ function incomingPublishFlow(message, identifier) {
17
+ return success => ({
18
+ start: () => {
19
+ let packet = undefined;
20
+ let emit = true;
21
+ if (message.qosLevel === 1) {
22
+ packet = (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.PubAck, { identifier });
23
+ }
24
+ else if (message.qosLevel === 2) {
25
+ packet = (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.PubRec, { identifier });
26
+ emit = false;
27
+ }
28
+ if (emit)
29
+ success(message);
30
+ return packet;
31
+ },
32
+ accept: packet => (0, mqtt_utilities_1.isPubRel)(packet) && packet.identifier === identifier,
33
+ next: () => {
34
+ success(message);
35
+ return (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.PubComp, { identifier });
36
+ },
37
+ });
38
+ }
39
+ //# sourceMappingURL=incoming.flows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incoming.flows.js","sourceRoot":"","sources":["../../src/flow/incoming.flows.ts"],"names":[],"mappings":";;AAOA,4CAOC;AAED,kDAuBC;AArCD,sDAA6C;AAE7C,4DAAmF;AACnF,sDAA+C;AAE/C,SAAgB,gBAAgB;IAC5B,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,EAAE,GAAG,EAAE;YACR,OAAO,EAAE,CAAC;YACV,OAAO,IAAA,4BAAY,EAAC,2BAAU,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,mBAAmB,CAC/B,OAAoB,EACpB,UAAkB;IAElB,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,EAAE,GAAG,EAAE;YACR,IAAI,MAAM,GAAG,SAAS,CAAC;YACvB,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,IAAA,4BAAY,EAAC,2BAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,GAAG,IAAA,4BAAY,EAAC,2BAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACzD,IAAI,GAAG,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,IAAI;gBAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAA,yBAAQ,EAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU;QACtE,IAAI,EAAE,GAAG,EAAE;YACP,OAAO,CAAC,OAAO,CAAC,CAAC;YACjB,OAAO,IAAA,4BAAY,EAAC,2BAAU,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5D,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './packet-flow';
2
+ export * from './incoming.flows';
3
+ export * from './outgoing.flows';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./packet-flow"), exports);
18
+ __exportStar(require("./incoming.flows"), exports);
19
+ __exportStar(require("./outgoing.flows"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flow/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC"}
@@ -0,0 +1,12 @@
1
+ import { ConnectRequestOptions, ConnectResponsePacket, SubscribeReturnCode } from '../packets';
2
+ import { MqttMessageOutgoing } from '../mqtt.message';
3
+ import { MqttSubscription } from '../mqtt.types';
4
+ import { PacketFlowFunc } from './packet-flow';
5
+ import { DefaultPacketReadResultMap } from '../packets/packet-reader';
6
+ import { DefaultPacketWriteOptions } from '../packets/packet-writer';
7
+ export declare function outgoingConnectFlow(options: ConnectRequestOptions): PacketFlowFunc<DefaultPacketReadResultMap, DefaultPacketWriteOptions, ConnectResponsePacket>;
8
+ export declare function outgoingDisconnectFlow(): PacketFlowFunc<DefaultPacketReadResultMap, DefaultPacketWriteOptions, void>;
9
+ export declare function outgoingPingFlow(): PacketFlowFunc<DefaultPacketReadResultMap, DefaultPacketWriteOptions, void>;
10
+ export declare function outgoingPublishFlow(message: MqttMessageOutgoing, _identifier?: number): PacketFlowFunc<DefaultPacketReadResultMap, DefaultPacketWriteOptions, MqttMessageOutgoing>;
11
+ export declare function outgoingSubscribeFlow(subscription: MqttSubscription, identifier?: number): PacketFlowFunc<DefaultPacketReadResultMap, DefaultPacketWriteOptions, SubscribeReturnCode>;
12
+ export declare function outgoingUnsubscribeFlow(subscription: MqttSubscription, identifier?: number): PacketFlowFunc<DefaultPacketReadResultMap, DefaultPacketWriteOptions, void>;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.outgoingConnectFlow = outgoingConnectFlow;
4
+ exports.outgoingDisconnectFlow = outgoingDisconnectFlow;
5
+ exports.outgoingPingFlow = outgoingPingFlow;
6
+ exports.outgoingPublishFlow = outgoingPublishFlow;
7
+ exports.outgoingSubscribeFlow = outgoingSubscribeFlow;
8
+ exports.outgoingUnsubscribeFlow = outgoingUnsubscribeFlow;
9
+ const mqtt_packet_1 = require("../mqtt.packet");
10
+ const mqtt_utilities_1 = require("../mqtt.utilities");
11
+ const packet_writer_1 = require("../packets/packet-writer");
12
+ const mqtt_constants_1 = require("../mqtt.constants");
13
+ const errors_1 = require("../errors");
14
+ function outgoingConnectFlow(options) {
15
+ const finalOptions = {
16
+ protocolLevel: 4,
17
+ clientId: 'mqtt_' + Math.round(Math.random() * 10e5),
18
+ clean: true,
19
+ keepAlive: 60,
20
+ protocolName: 'MQTT',
21
+ ...options,
22
+ };
23
+ return (success, error) => ({
24
+ start: () => (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.Connect, finalOptions),
25
+ accept: mqtt_utilities_1.isConnAck,
26
+ next: (res) => (res.isSuccess ? success(res) : error(res.errorName)),
27
+ });
28
+ }
29
+ function outgoingDisconnectFlow() {
30
+ return success => ({
31
+ start: () => {
32
+ success();
33
+ return (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.Disconnect);
34
+ },
35
+ });
36
+ }
37
+ function outgoingPingFlow() {
38
+ return success => ({
39
+ start: () => (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.PingReq),
40
+ accept: mqtt_utilities_1.isPingResp,
41
+ next: () => success(),
42
+ });
43
+ }
44
+ function outgoingPublishFlow(message, _identifier) {
45
+ const id = _identifier ?? (0, mqtt_packet_1.generateIdentifier)();
46
+ let receivedPubRec = false;
47
+ return success => ({
48
+ start: () => {
49
+ const packet = (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.Publish, {
50
+ topic: message.topic,
51
+ payload: (0, mqtt_utilities_1.toBuffer)(message.payload),
52
+ qos: message.qosLevel || 0,
53
+ retain: message.retained || false,
54
+ duplicate: message.duplicate || false,
55
+ identifier: message.qosLevel ? id : undefined,
56
+ });
57
+ if (!message.qosLevel)
58
+ success(message);
59
+ return packet;
60
+ },
61
+ accept: (packet) => {
62
+ if (message.qosLevel === 1 && (0, mqtt_utilities_1.isPubAck)(packet)) {
63
+ return packet.identifier === id;
64
+ }
65
+ else if (message.qosLevel === 2) {
66
+ if ((0, mqtt_utilities_1.isPubRec)(packet)) {
67
+ return packet.identifier === id;
68
+ }
69
+ else if (receivedPubRec && (0, mqtt_utilities_1.isPubComp)(packet)) {
70
+ return packet.identifier === id;
71
+ }
72
+ }
73
+ return false;
74
+ },
75
+ next: (packet) => {
76
+ if ((0, mqtt_utilities_1.isPubAck)(packet) || (0, mqtt_utilities_1.isPubComp)(packet)) {
77
+ success(message);
78
+ }
79
+ else if ((0, mqtt_utilities_1.isPubRec)(packet)) {
80
+ receivedPubRec = true;
81
+ return (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.PubRel, { identifier: id });
82
+ }
83
+ },
84
+ });
85
+ }
86
+ function outgoingSubscribeFlow(subscription, identifier) {
87
+ const id = identifier ?? (0, mqtt_packet_1.generateIdentifier)();
88
+ return (success, error) => ({
89
+ start: () => (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.Subscribe, {
90
+ identifier: id,
91
+ subscriptions: [{ qos: subscription.qosLevel || 0, topic: subscription.topic }],
92
+ }),
93
+ accept: (packet) => (0, mqtt_utilities_1.isSubAck)(packet) && packet.identifier === id,
94
+ next: (packet) => {
95
+ if (!packet.anyError) {
96
+ success(packet.returnCodes[0]);
97
+ }
98
+ else {
99
+ error(new errors_1.SubscribeError(`Failed to subscribe to ${subscription.topic} - Return Codes: ${packet.returnCodes.join(', ')}`));
100
+ }
101
+ },
102
+ });
103
+ }
104
+ function outgoingUnsubscribeFlow(subscription, identifier) {
105
+ const id = identifier ?? (0, mqtt_packet_1.generateIdentifier)();
106
+ return success => ({
107
+ start: () => (0, packet_writer_1.defaultWrite)(mqtt_constants_1.PacketType.Unsubscribe, {
108
+ identifier: id,
109
+ topics: [subscription.topic],
110
+ }),
111
+ accept: packet => (0, mqtt_utilities_1.isUnsubAck)(packet) && packet.identifier === id,
112
+ next: () => success(),
113
+ });
114
+ }
115
+ //# sourceMappingURL=outgoing.flows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outgoing.flows.js","sourceRoot":"","sources":["../../src/flow/outgoing.flows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Resolvers } from '../mqtt.utilities';
2
+ import { PacketType } from '../mqtt.constants';
3
+ import { DefaultPacketReadResultMap, PacketReadResultMap } from '../packets/packet-reader';
4
+ import { DefaultPacketWriteOptions, PacketWriteOptionsMap, WriteData } from '../packets/packet-writer';
5
+ export type PacketFlowFunc<ReadMap extends PacketReadResultMap, WriteMap extends PacketWriteOptionsMap, TResult, TPacket = unknown> = (success: (value: TResult) => void, error: (error: Error | string) => void) => PacketFlowCallbacks<ReadMap, WriteMap, TPacket>;
6
+ export interface PacketFlowCallbacks<ReadMap extends PacketReadResultMap = DefaultPacketReadResultMap, WriteMap extends PacketWriteOptionsMap = DefaultPacketWriteOptions, TPacket = unknown> {
7
+ start(): WriteData<WriteMap, PacketType> | void | undefined | null;
8
+ accept?(packet: TPacket): boolean | undefined;
9
+ next?(last: TPacket): WriteData<WriteMap, PacketType> | void | undefined;
10
+ }
11
+ export interface PacketFlowData<T> {
12
+ resolvers: Resolvers<T>;
13
+ callbacks: PacketFlowCallbacks;
14
+ finished: boolean;
15
+ flowFunc: unknown;
16
+ flowId: bigint | number;
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=packet-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packet-flow.js","sourceRoot":"","sources":["../../src/flow/packet-flow.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export * from './errors';
2
+ export * from './flow';
3
+ export * from './packets';
4
+ export * from './reconnect-strategy';
5
+ export * from './transport';
6
+ export * from './mqtt.client';
7
+ export * from './mqtt.constants';
8
+ export * from './mqtt.message';
9
+ export * from './mqtt.packet';
10
+ export * from './mqtt.parser';
11
+ export * from './mqtt.types';
12
+ export * from './packet-stream';
13
+ export * from './mqtt.utilities';
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./errors"), exports);
18
+ __exportStar(require("./flow"), exports);
19
+ __exportStar(require("./packets"), exports);
20
+ __exportStar(require("./reconnect-strategy"), exports);
21
+ __exportStar(require("./transport"), exports);
22
+ __exportStar(require("./mqtt.client"), exports);
23
+ __exportStar(require("./mqtt.constants"), exports);
24
+ __exportStar(require("./mqtt.message"), exports);
25
+ __exportStar(require("./mqtt.packet"), exports);
26
+ __exportStar(require("./mqtt.parser"), exports);
27
+ __exportStar(require("./mqtt.types"), exports);
28
+ __exportStar(require("./packet-stream"), exports);
29
+ __exportStar(require("./mqtt.utilities"), exports);
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,4CAA0B;AAC1B,uDAAqC;AACrC,8CAA4B;AAC5B,gDAA8B;AAC9B,mDAAiC;AACjC,iDAA+B;AAC/B,gDAA8B;AAC9B,gDAA8B;AAC9B,+CAA6B;AAC7B,kDAAgC;AAChC,mDAAiC"}
@@ -0,0 +1,54 @@
1
+ import { RegisterClientOptions, Resolvable } from './mqtt.types';
2
+ import { PacketWriteOptionsMap, PacketReadResultMap } from './packets';
3
+ import { MqttMessage } from './mqtt.message';
4
+ import { EventMapping, PacketType } from './mqtt.constants';
5
+ import { EventEmitter } from 'eventemitter3';
6
+ export declare enum StateId {
7
+ Created = 0,
8
+ Connecting = 1,
9
+ Ready = 2,
10
+ Disconnected = 3
11
+ }
12
+ export declare class MqttBaseClient<ReadMap extends PacketReadResultMap, WriteMap extends PacketWriteOptionsMap> extends EventEmitter<{
13
+ error: (e: Error) => void;
14
+ warning: (e: Error) => void;
15
+ connect: (packet: ReadMap[PacketType.ConnAck]) => void;
16
+ disconnect: (event?: {
17
+ reason?: string | Error;
18
+ reconnect: boolean;
19
+ }) => void;
20
+ message: (message: MqttMessage) => void;
21
+ } & {
22
+ [x in keyof EventMapping]: (arg: ReadMap[EventMapping[x]]) => void;
23
+ }> {
24
+ private sate;
25
+ constructor(sate?: StateId);
26
+ get current(): StateId;
27
+ get created(): boolean;
28
+ get ready(): boolean;
29
+ get connecting(): boolean;
30
+ get disconnected(): boolean;
31
+ private _connectResolver?;
32
+ set connectResolver(resolver: Resolvable<RegisterClientOptions> | undefined);
33
+ private _connectOptions?;
34
+ get connectOptions(): RegisterClientOptions | undefined;
35
+ set connectOptions(options: RegisterClientOptions | undefined);
36
+ expectReady(): void;
37
+ expectCreated(): void;
38
+ expectConnecting(): void;
39
+ hasConnectOptions(): boolean;
40
+ resolveConnectOptions(): Promise<RegisterClientOptions>;
41
+ protected emitWarning: (e: Error) => boolean;
42
+ protected emitError: (e: Error) => boolean;
43
+ protected emitDisconnect: (event: {
44
+ reason?: string | Error;
45
+ reconnect: boolean;
46
+ }) => boolean;
47
+ protected emitConnect: (packet: ReadMap[PacketType.ConnAck]) => boolean;
48
+ protected emitMessage: (message: MqttMessage) => boolean;
49
+ protected reset(): void;
50
+ protected setConnecting(): void;
51
+ protected setReady(): void;
52
+ protected _setDisconnected(): void;
53
+ private next;
54
+ }