@seriousme/opifex 1.9.4 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -26
- package/bin/conformanceServer.ts +3 -2
- package/bin/demoServer.ts +3 -2
- package/bin/mqtt.ts +127 -118
- package/client/client.ts +61 -21
- package/client/context.ts +71 -30
- package/client/deps.ts +5 -0
- package/client/handlers/handleConnack.ts +17 -5
- package/client/handlers/handlePublish.ts +4 -1
- package/client/handlers/handlePubrec.ts +3 -1
- package/client/handlers/handlePubrel.ts +3 -1
- package/client/handlers/handleSuback.ts +3 -1
- package/client/mod.ts +8 -1
- package/client/store/memoryStore.ts +2 -1
- package/deno/tcpClient.ts +1 -1
- package/dev_utils/dummyConn.ts +17 -2
- package/dist/bin/conformanceServer.js +3 -2
- package/dist/bin/conformanceServer.js.map +1 -1
- package/dist/bin/demoServer.js +3 -2
- package/dist/bin/demoServer.js.map +1 -1
- package/dist/bin/mqtt.d.ts +29 -0
- package/dist/bin/mqtt.d.ts.map +1 -1
- package/dist/bin/mqtt.js +102 -97
- package/dist/bin/mqtt.js.map +1 -1
- package/dist/client/client.d.ts +16 -5
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +36 -15
- package/dist/client/client.js.map +1 -1
- package/dist/client/context.d.ts +8 -3
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +51 -21
- package/dist/client/context.js.map +1 -1
- package/dist/client/deps.d.ts +3 -2
- package/dist/client/deps.d.ts.map +1 -1
- package/dist/client/deps.js +2 -1
- package/dist/client/deps.js.map +1 -1
- package/dist/client/handlers/handleConnack.d.ts +1 -1
- package/dist/client/handlers/handleConnack.d.ts.map +1 -1
- package/dist/client/handlers/handleConnack.js +14 -5
- package/dist/client/handlers/handleConnack.js.map +1 -1
- package/dist/client/handlers/handlePublish.d.ts +1 -1
- package/dist/client/handlers/handlePublish.d.ts.map +1 -1
- package/dist/client/handlers/handlePublish.js +2 -0
- package/dist/client/handlers/handlePublish.js.map +1 -1
- package/dist/client/handlers/handlePubrec.d.ts +1 -1
- package/dist/client/handlers/handlePubrec.d.ts.map +1 -1
- package/dist/client/handlers/handlePubrec.js +1 -0
- package/dist/client/handlers/handlePubrec.js.map +1 -1
- package/dist/client/handlers/handlePubrel.d.ts +1 -1
- package/dist/client/handlers/handlePubrel.d.ts.map +1 -1
- package/dist/client/handlers/handlePubrel.js +1 -0
- package/dist/client/handlers/handlePubrel.js.map +1 -1
- package/dist/client/handlers/handleSuback.d.ts.map +1 -1
- package/dist/client/handlers/handleSuback.js +3 -1
- package/dist/client/handlers/handleSuback.js.map +1 -1
- package/dist/client/mod.d.ts +3 -1
- package/dist/client/mod.d.ts.map +1 -1
- package/dist/client/mod.js +2 -1
- package/dist/client/mod.js.map +1 -1
- package/dist/client/store/memoryStore.d.ts +1 -1
- package/dist/client/store/memoryStore.d.ts.map +1 -1
- package/dist/client/store/memoryStore.js.map +1 -1
- package/dist/mqttConn/mqttConn.d.ts +13 -8
- package/dist/mqttConn/mqttConn.d.ts.map +1 -1
- package/dist/mqttConn/mqttConn.js +27 -12
- package/dist/mqttConn/mqttConn.js.map +1 -1
- package/dist/mqttPacket/PacketType.d.ts +1 -0
- package/dist/mqttPacket/PacketType.d.ts.map +1 -1
- package/dist/mqttPacket/PacketType.js +1 -0
- package/dist/mqttPacket/PacketType.js.map +1 -1
- package/dist/mqttPacket/Properties.d.ts +157 -0
- package/dist/mqttPacket/Properties.d.ts.map +1 -0
- package/dist/mqttPacket/Properties.js +177 -0
- package/dist/mqttPacket/Properties.js.map +1 -0
- package/dist/mqttPacket/ReasonCode.d.ts +74 -0
- package/dist/mqttPacket/ReasonCode.d.ts.map +1 -0
- package/dist/mqttPacket/ReasonCode.js +230 -0
- package/dist/mqttPacket/ReasonCode.js.map +1 -0
- package/dist/mqttPacket/RetainHandling.d.ts +12 -0
- package/dist/mqttPacket/RetainHandling.d.ts.map +1 -0
- package/dist/mqttPacket/RetainHandling.js +12 -0
- package/dist/mqttPacket/RetainHandling.js.map +1 -0
- package/dist/mqttPacket/auth.d.ts +21 -0
- package/dist/mqttPacket/auth.d.ts.map +1 -0
- package/dist/mqttPacket/auth.js +34 -0
- package/dist/mqttPacket/auth.js.map +1 -0
- package/dist/mqttPacket/connack.d.ts +19 -11
- package/dist/mqttPacket/connack.d.ts.map +1 -1
- package/dist/mqttPacket/connack.js +43 -15
- package/dist/mqttPacket/connack.js.map +1 -1
- package/dist/mqttPacket/connect.d.ts +30 -11
- package/dist/mqttPacket/connect.d.ts.map +1 -1
- package/dist/mqttPacket/connect.js +106 -30
- package/dist/mqttPacket/connect.js.map +1 -1
- package/dist/mqttPacket/decoder.d.ts +42 -3
- package/dist/mqttPacket/decoder.d.ts.map +1 -1
- package/dist/mqttPacket/decoder.js +135 -4
- package/dist/mqttPacket/decoder.js.map +1 -1
- package/dist/mqttPacket/disconnect.d.ts +15 -9
- package/dist/mqttPacket/disconnect.d.ts.map +1 -1
- package/dist/mqttPacket/disconnect.js +45 -6
- package/dist/mqttPacket/disconnect.js.map +1 -1
- package/dist/mqttPacket/encoder.d.ts +57 -8
- package/dist/mqttPacket/encoder.d.ts.map +1 -1
- package/dist/mqttPacket/encoder.js +185 -13
- package/dist/mqttPacket/encoder.js.map +1 -1
- package/dist/mqttPacket/length.d.ts.map +1 -1
- package/dist/mqttPacket/length.js +3 -2
- package/dist/mqttPacket/length.js.map +1 -1
- package/dist/mqttPacket/mod.d.ts +57 -91
- package/dist/mqttPacket/mod.d.ts.map +1 -1
- package/dist/mqttPacket/mod.js +23 -29
- package/dist/mqttPacket/mod.js.map +1 -1
- package/dist/mqttPacket/pingreq.d.ts +4 -6
- package/dist/mqttPacket/pingreq.d.ts.map +1 -1
- package/dist/mqttPacket/pingreq.js +5 -4
- package/dist/mqttPacket/pingreq.js.map +1 -1
- package/dist/mqttPacket/pingres.d.ts +4 -6
- package/dist/mqttPacket/pingres.d.ts.map +1 -1
- package/dist/mqttPacket/pingres.js +7 -5
- package/dist/mqttPacket/pingres.js.map +1 -1
- package/dist/mqttPacket/protocolLevels.d.ts +12 -0
- package/dist/mqttPacket/protocolLevels.d.ts.map +1 -0
- package/dist/mqttPacket/protocolLevels.js +11 -0
- package/dist/mqttPacket/protocolLevels.js.map +1 -0
- package/dist/mqttPacket/pubblishAcks.d.ts +42 -0
- package/dist/mqttPacket/pubblishAcks.d.ts.map +1 -0
- package/dist/mqttPacket/pubblishAcks.js +56 -0
- package/dist/mqttPacket/pubblishAcks.js.map +1 -0
- package/dist/mqttPacket/publish.d.ts +19 -8
- package/dist/mqttPacket/publish.d.ts.map +1 -1
- package/dist/mqttPacket/publish.js +26 -7
- package/dist/mqttPacket/publish.js.map +1 -1
- package/dist/mqttPacket/suback.d.ts +18 -11
- package/dist/mqttPacket/suback.d.ts.map +1 -1
- package/dist/mqttPacket/suback.js +41 -20
- package/dist/mqttPacket/suback.js.map +1 -1
- package/dist/mqttPacket/subscribe.d.ts +27 -12
- package/dist/mqttPacket/subscribe.d.ts.map +1 -1
- package/dist/mqttPacket/subscribe.js +71 -15
- package/dist/mqttPacket/subscribe.js.map +1 -1
- package/dist/mqttPacket/types.d.ts +36 -0
- package/dist/mqttPacket/types.d.ts.map +1 -1
- package/dist/mqttPacket/unsuback.d.ts +17 -10
- package/dist/mqttPacket/unsuback.d.ts.map +1 -1
- package/dist/mqttPacket/unsuback.js +29 -6
- package/dist/mqttPacket/unsuback.js.map +1 -1
- package/dist/mqttPacket/unsubscribe.d.ts +17 -10
- package/dist/mqttPacket/unsubscribe.d.ts.map +1 -1
- package/dist/mqttPacket/unsubscribe.js +24 -8
- package/dist/mqttPacket/unsubscribe.js.map +1 -1
- package/dist/mqttPacket/validators.d.ts +15 -0
- package/dist/mqttPacket/validators.d.ts.map +1 -1
- package/dist/mqttPacket/validators.js +15 -0
- package/dist/mqttPacket/validators.js.map +1 -1
- package/dist/node/tcpClient.js +1 -1
- package/dist/node/tcpClient.js.map +1 -1
- package/dist/node/wrapNodeSocket.d.ts.map +1 -1
- package/dist/node/wrapNodeSocket.js.map +1 -1
- package/dist/persistence/deps.d.ts +1 -1
- package/dist/persistence/deps.d.ts.map +1 -1
- package/dist/persistence/deps.js +1 -1
- package/dist/persistence/deps.js.map +1 -1
- package/dist/persistence/memory/memoryPersistence.js +1 -1
- package/dist/persistence/memory/memoryPersistence.js.map +1 -1
- package/dist/server/context.d.ts +3 -1
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js +8 -2
- package/dist/server/context.js.map +1 -1
- package/dist/server/deps.d.ts +2 -2
- package/dist/server/deps.d.ts.map +1 -1
- package/dist/server/deps.js +1 -1
- package/dist/server/deps.js.map +1 -1
- package/dist/server/handlers/handleConnect.d.ts +1 -1
- package/dist/server/handlers/handleConnect.d.ts.map +1 -1
- package/dist/server/handlers/handleConnect.js +9 -1
- package/dist/server/handlers/handleConnect.js.map +1 -1
- package/dist/server/handlers/handlePacket.d.ts +1 -1
- package/dist/server/handlers/handlePacket.d.ts.map +1 -1
- package/dist/server/handlers/handlePacket.js +1 -1
- package/dist/server/handlers/handlePacket.js.map +1 -1
- package/dist/server/handlers/handlePingreq.d.ts.map +1 -1
- package/dist/server/handlers/handlePingreq.js +1 -0
- package/dist/server/handlers/handlePingreq.js.map +1 -1
- package/dist/server/handlers/handlePublish.d.ts +2 -2
- package/dist/server/handlers/handlePublish.d.ts.map +1 -1
- package/dist/server/handlers/handlePublish.js +2 -0
- package/dist/server/handlers/handlePublish.js.map +1 -1
- package/dist/server/handlers/handlePubrec.d.ts +1 -1
- package/dist/server/handlers/handlePubrec.d.ts.map +1 -1
- package/dist/server/handlers/handlePubrec.js +1 -0
- package/dist/server/handlers/handlePubrec.js.map +1 -1
- package/dist/server/handlers/handlePubrel.d.ts +1 -1
- package/dist/server/handlers/handlePubrel.d.ts.map +1 -1
- package/dist/server/handlers/handlePubrel.js +1 -0
- package/dist/server/handlers/handlePubrel.js.map +1 -1
- package/dist/server/handlers/handleSubscribe.d.ts +1 -1
- package/dist/server/handlers/handleSubscribe.d.ts.map +1 -1
- package/dist/server/handlers/handleSubscribe.js +2 -1
- package/dist/server/handlers/handleSubscribe.js.map +1 -1
- package/dist/server/handlers/handleUnsubscribe.d.ts +1 -1
- package/dist/server/handlers/handleUnsubscribe.d.ts.map +1 -1
- package/dist/server/handlers/handleUnsubscribe.js +1 -0
- package/dist/server/handlers/handleUnsubscribe.js.map +1 -1
- package/dist/server/server.d.ts +2 -2
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +5 -3
- package/dist/server/server.js.map +1 -1
- package/dist/socket/socket.d.ts.map +1 -1
- package/dist/socket/socket.js +6 -1
- package/dist/socket/socket.js.map +1 -1
- package/dist/utils/assert.d.ts +0 -3
- package/dist/utils/assert.d.ts.map +1 -1
- package/dist/utils/assert.js +0 -7
- package/dist/utils/assert.js.map +1 -1
- package/dist/utils/asyncQueue.d.ts +1 -3
- package/dist/utils/asyncQueue.d.ts.map +1 -1
- package/dist/utils/asyncQueue.js +16 -21
- package/dist/utils/asyncQueue.js.map +1 -1
- package/dist/utils/logger.d.ts +5 -15
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +7 -8
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/mod.d.ts +0 -3
- package/dist/utils/mod.d.ts.map +1 -1
- package/dist/utils/mod.js +0 -2
- package/dist/utils/mod.js.map +1 -1
- package/dist/utils/utils.d.ts +2 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +6 -0
- package/dist/utils/utils.js.map +1 -0
- package/mqttConn/mqttConn.test.ts +27 -12
- package/mqttConn/mqttConn.ts +45 -14
- package/mqttPacket/PacketType.ts +1 -0
- package/mqttPacket/Properties.ts +276 -0
- package/mqttPacket/ReasonCode.test.ts +22 -0
- package/mqttPacket/ReasonCode.ts +256 -0
- package/mqttPacket/RetainHandling.ts +11 -0
- package/mqttPacket/auth.test.ts +112 -0
- package/mqttPacket/auth.ts +71 -0
- package/mqttPacket/connack.test.ts +84 -64
- package/mqttPacket/connack.ts +88 -24
- package/mqttPacket/connect.test.ts +497 -18
- package/mqttPacket/connect.ts +170 -39
- package/mqttPacket/decoder.test.ts +33 -16
- package/mqttPacket/decoder.ts +173 -5
- package/mqttPacket/disconnect.test.ts +97 -18
- package/mqttPacket/disconnect.ts +84 -12
- package/mqttPacket/encoder.test.ts +32 -8
- package/mqttPacket/encoder.ts +236 -11
- package/mqttPacket/length.ts +3 -2
- package/mqttPacket/mod.ts +76 -39
- package/mqttPacket/pingreq.test.ts +52 -4
- package/mqttPacket/pingreq.ts +20 -7
- package/mqttPacket/pingres.test.ts +52 -4
- package/mqttPacket/pingres.ts +22 -8
- package/mqttPacket/properties.test.ts +193 -0
- package/mqttPacket/protocolLevels.ts +13 -0
- package/mqttPacket/pubblishAcks.ts +123 -0
- package/mqttPacket/publish.test.ts +212 -133
- package/mqttPacket/publish.ts +69 -14
- package/mqttPacket/publishAcks.test.ts +128 -0
- package/mqttPacket/suback.test.ts +71 -27
- package/mqttPacket/suback.ts +82 -30
- package/mqttPacket/subscribe.test.ts +132 -43
- package/mqttPacket/subscribe.ts +128 -25
- package/mqttPacket/types.ts +43 -0
- package/mqttPacket/unsuback.test.ts +80 -30
- package/mqttPacket/unsuback.ts +68 -13
- package/mqttPacket/unsubscribe.test.ts +59 -34
- package/mqttPacket/unsubscribe.ts +64 -17
- package/mqttPacket/validators.ts +15 -0
- package/node/tcpClient.ts +1 -1
- package/node/wrapNodeSocket.ts +2 -1
- package/package.json +2 -2
- package/persistence/deps.ts +1 -1
- package/persistence/memory/memoryPersistence.test.ts +5 -1
- package/persistence/memory/memoryPersistence.ts +1 -1
- package/server/context.ts +23 -10
- package/server/deps.ts +2 -0
- package/server/handlers/handleConnect.ts +12 -9
- package/server/handlers/handlePacket.ts +10 -11
- package/server/handlers/handlePingreq.ts +1 -0
- package/server/handlers/handlePublish.ts +6 -2
- package/server/handlers/handlePubrec.ts +3 -1
- package/server/handlers/handlePubrel.ts +3 -1
- package/server/handlers/handleSubscribe.ts +3 -6
- package/server/handlers/handleUnsubscribe.ts +3 -1
- package/server/server.ts +8 -12
- package/server/test/handleConnect.test.ts +2 -1
- package/server/test/test-handlers.ts +2 -1
- package/socket/socket.ts +5 -1
- package/utils/assert.ts +0 -18
- package/utils/asyncQueue.ts +17 -21
- package/utils/logger.ts +12 -11
- package/utils/mod.ts +0 -3
- package/utils/utils.ts +6 -0
- package/dist/mqttPacket/puback.d.ts +0 -16
- package/dist/mqttPacket/puback.d.ts.map +0 -1
- package/dist/mqttPacket/puback.js +0 -21
- package/dist/mqttPacket/puback.js.map +0 -1
- package/dist/mqttPacket/pubcomp.d.ts +0 -17
- package/dist/mqttPacket/pubcomp.d.ts.map +0 -1
- package/dist/mqttPacket/pubcomp.js +0 -21
- package/dist/mqttPacket/pubcomp.js.map +0 -1
- package/dist/mqttPacket/pubrec.d.ts +0 -17
- package/dist/mqttPacket/pubrec.d.ts.map +0 -1
- package/dist/mqttPacket/pubrec.js +0 -21
- package/dist/mqttPacket/pubrec.js.map +0 -1
- package/dist/mqttPacket/pubrel.d.ts +0 -17
- package/dist/mqttPacket/pubrel.d.ts.map +0 -1
- package/dist/mqttPacket/pubrel.js +0 -21
- package/dist/mqttPacket/pubrel.js.map +0 -1
- package/dist/utils/args.d.ts +0 -28
- package/dist/utils/args.d.ts.map +0 -1
- package/dist/utils/args.js +0 -76
- package/dist/utils/args.js.map +0 -1
- package/dist/utils/platform.d.ts +0 -5
- package/dist/utils/platform.d.ts.map +0 -1
- package/dist/utils/platform.js +0 -8
- package/dist/utils/platform.js.map +0 -1
- package/mqttPacket/puback.test.ts +0 -55
- package/mqttPacket/puback.ts +0 -34
- package/mqttPacket/pubcomp.test.ts +0 -55
- package/mqttPacket/pubcomp.ts +0 -35
- package/mqttPacket/pubrec.test.ts +0 -55
- package/mqttPacket/pubrec.ts +0 -35
- package/mqttPacket/pubrel.test.ts +0 -55
- package/mqttPacket/pubrel.ts +0 -35
- package/utils/args.ts +0 -103
- package/utils/platform.ts +0 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module mqttConn
|
|
3
3
|
*/
|
|
4
|
-
import { decodePayload, encode, getLengthDecoder, } from "../mqttPacket/mod.js";
|
|
4
|
+
import { decodePayload, encode, getLengthDecoder, MQTTLevel, } from "../mqttPacket/mod.js";
|
|
5
5
|
import { assert } from "../utils/mod.js";
|
|
6
6
|
import { Conn } from "../socket/socket.js";
|
|
7
7
|
/**
|
|
@@ -12,6 +12,7 @@ export const MqttConnError = {
|
|
|
12
12
|
packetTooLarge: "Packet too large",
|
|
13
13
|
UnexpectedEof: "Unexpected EOF",
|
|
14
14
|
};
|
|
15
|
+
const DEFAULT_MAX_PACKETSIZE = 2 * 1024 * 1024; // 2MB
|
|
15
16
|
/**
|
|
16
17
|
* Read a single byte from the connection
|
|
17
18
|
* @param conn Connection to read from
|
|
@@ -43,11 +44,11 @@ async function readFull(conn, buf) {
|
|
|
43
44
|
/**
|
|
44
45
|
* Read a complete MQTT packet from the connection
|
|
45
46
|
* @param conn Connection to read from
|
|
46
|
-
* @param
|
|
47
|
+
* @param maxIncomingPacketSize Maximum allowed packet size
|
|
47
48
|
* @returns Decoded MQTT packet
|
|
48
49
|
* @throws Error if packet is invalid or too large
|
|
49
50
|
*/
|
|
50
|
-
export async function readPacket(conn,
|
|
51
|
+
export async function readPacket(conn, codecOpts) {
|
|
51
52
|
// fixed header is 1 byte of type + flags
|
|
52
53
|
// + a maximum of 4 bytes to encode the remaining length
|
|
53
54
|
const decodeLength = getLengthDecoder();
|
|
@@ -58,11 +59,12 @@ export async function readPacket(conn, maxPacketSize) {
|
|
|
58
59
|
result = decodeLength(byte);
|
|
59
60
|
} while (!result.done);
|
|
60
61
|
const remainingLength = result.length;
|
|
61
|
-
|
|
62
|
+
const maxIncomingPacketSize = codecOpts.maxIncomingPacketSize;
|
|
63
|
+
assert(remainingLength < maxIncomingPacketSize - 1, MqttConnError.packetTooLarge);
|
|
62
64
|
const packetBuf = new Uint8Array(remainingLength);
|
|
63
65
|
// read the rest of the packet
|
|
64
66
|
await readFull(conn, packetBuf);
|
|
65
|
-
const packet = decodePayload(firstByte, packetBuf);
|
|
67
|
+
const packet = decodePayload(firstByte, packetBuf, codecOpts);
|
|
66
68
|
assert(packet !== null, MqttConnError.UnexpectedEof);
|
|
67
69
|
return packet;
|
|
68
70
|
}
|
|
@@ -72,8 +74,8 @@ export async function readPacket(conn, maxPacketSize) {
|
|
|
72
74
|
export class MqttConn {
|
|
73
75
|
/** Underlying connection */
|
|
74
76
|
conn;
|
|
75
|
-
/**
|
|
76
|
-
|
|
77
|
+
/** codecOpts */
|
|
78
|
+
codecOpts;
|
|
77
79
|
/** Reason for connection closure if any */
|
|
78
80
|
_reason = undefined;
|
|
79
81
|
/** Whether connection is closed */
|
|
@@ -82,16 +84,29 @@ export class MqttConn {
|
|
|
82
84
|
* Create new MQTT connection
|
|
83
85
|
* @param options Connection options
|
|
84
86
|
* @param options.conn Underlying socket connection
|
|
85
|
-
* @param options.
|
|
87
|
+
* @param options.maxIncomingPacketSize Maximum allowed incoming packet size (default 2MB)
|
|
88
|
+
* @param options.maxOutGoingPacketSize Maximum allowed outgoing packet size (default 2MB)
|
|
89
|
+
* @param options.protocolLevel Supported protocolLevel
|
|
86
90
|
*/
|
|
87
|
-
constructor({ conn,
|
|
91
|
+
constructor({ conn, maxIncomingPacketSize = DEFAULT_MAX_PACKETSIZE, protocolLevel = MQTTLevel.unknown, }) {
|
|
88
92
|
this.conn = new Conn(conn);
|
|
89
|
-
this.
|
|
93
|
+
this.codecOpts = {
|
|
94
|
+
maxIncomingPacketSize,
|
|
95
|
+
maxOutgoingPacketSize: maxIncomingPacketSize,
|
|
96
|
+
protocolLevel,
|
|
97
|
+
};
|
|
90
98
|
}
|
|
91
99
|
/** Get reason for connection closure */
|
|
92
100
|
get reason() {
|
|
93
101
|
return this._reason;
|
|
94
102
|
}
|
|
103
|
+
/** Get remoteAdress */
|
|
104
|
+
get remoteAddress() {
|
|
105
|
+
if (this.conn.remoteAddr?.transport === "tcp") {
|
|
106
|
+
return this.conn.remoteAddr.hostname;
|
|
107
|
+
}
|
|
108
|
+
return "unknown";
|
|
109
|
+
}
|
|
95
110
|
/**
|
|
96
111
|
* Async iterator for receiving packets
|
|
97
112
|
* @yields MQTT packets
|
|
@@ -99,7 +114,7 @@ export class MqttConn {
|
|
|
99
114
|
async *[Symbol.asyncIterator]() {
|
|
100
115
|
while (!this._isClosed) {
|
|
101
116
|
try {
|
|
102
|
-
yield await readPacket(this.conn, this.
|
|
117
|
+
yield await readPacket(this.conn, this.codecOpts);
|
|
103
118
|
}
|
|
104
119
|
catch (err) {
|
|
105
120
|
if (err instanceof Error) {
|
|
@@ -120,7 +135,7 @@ export class MqttConn {
|
|
|
120
135
|
*/
|
|
121
136
|
async send(data) {
|
|
122
137
|
try {
|
|
123
|
-
await this.conn.write(encode(data));
|
|
138
|
+
await this.conn.write(encode(data, this.codecOpts));
|
|
124
139
|
}
|
|
125
140
|
catch (err) {
|
|
126
141
|
if (err instanceof Error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqttConn.js","sourceRoot":"","sources":["../../mqttConn/mqttConn.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"mqttConn.js","sourceRoot":"","sources":["../../mqttConn/mqttConn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PacketType.d.ts","sourceRoot":"","sources":["../../mqttPacket/PacketType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"PacketType.d.ts","sourceRoot":"","sources":["../../mqttPacket/PacketType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;CAiBb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PacketType.js","sourceRoot":"","sources":["../../mqttPacket/PacketType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"PacketType.js","sourceRoot":"","sources":["../../mqttPacket/PacketType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,EAAE;CACA,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B,MAAM,CAAC,WAAW,CACxE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACnD,CAAC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import type { InvertRecord, UTF8StringPair } from "./types.ts";
|
|
2
|
+
export declare const PropertySetType: {
|
|
3
|
+
readonly will: 100;
|
|
4
|
+
readonly reserved: 0;
|
|
5
|
+
readonly connect: 1;
|
|
6
|
+
readonly connack: 2;
|
|
7
|
+
readonly publish: 3;
|
|
8
|
+
readonly puback: 4;
|
|
9
|
+
readonly pubrec: 5;
|
|
10
|
+
readonly pubrel: 6;
|
|
11
|
+
readonly pubcomp: 7;
|
|
12
|
+
readonly subscribe: 8;
|
|
13
|
+
readonly suback: 9;
|
|
14
|
+
readonly unsubscribe: 10;
|
|
15
|
+
readonly unsuback: 11;
|
|
16
|
+
readonly pingreq: 12;
|
|
17
|
+
readonly pingres: 13;
|
|
18
|
+
readonly disconnect: 14;
|
|
19
|
+
readonly auth: 15;
|
|
20
|
+
};
|
|
21
|
+
export type TPropertySetType = typeof PropertySetType[keyof typeof PropertySetType];
|
|
22
|
+
export declare const propertyKind: {
|
|
23
|
+
readonly boolean: 0;
|
|
24
|
+
readonly byte: 1;
|
|
25
|
+
readonly int16: 2;
|
|
26
|
+
readonly int32: 3;
|
|
27
|
+
readonly varInt: 4;
|
|
28
|
+
readonly byteArray: 5;
|
|
29
|
+
readonly utf8string: 6;
|
|
30
|
+
readonly utf8StringPairs: 7;
|
|
31
|
+
readonly varIntArray: 8;
|
|
32
|
+
};
|
|
33
|
+
export declare const propertyToId: {
|
|
34
|
+
readonly payloadFormatIndicator: 1;
|
|
35
|
+
readonly messageExpiryInterval: 2;
|
|
36
|
+
readonly contentType: 3;
|
|
37
|
+
readonly responseTopic: 8;
|
|
38
|
+
readonly correlationData: 9;
|
|
39
|
+
readonly subscriptionIdentifier: 11;
|
|
40
|
+
readonly subscriptionIdentifiers: 255;
|
|
41
|
+
readonly sessionExpiryInterval: 17;
|
|
42
|
+
readonly assignedClientIdentifier: 18;
|
|
43
|
+
readonly serverKeepAlive: 19;
|
|
44
|
+
readonly authenticationMethod: 21;
|
|
45
|
+
readonly authenticationData: 22;
|
|
46
|
+
readonly requestProblemInformation: 23;
|
|
47
|
+
readonly willDelayInterval: 24;
|
|
48
|
+
readonly requestResponseInformation: 25;
|
|
49
|
+
readonly responseInformation: 26;
|
|
50
|
+
readonly serverReference: 28;
|
|
51
|
+
readonly reasonString: 31;
|
|
52
|
+
readonly receiveMaximum: 33;
|
|
53
|
+
readonly topicAliasMaximum: 34;
|
|
54
|
+
readonly topicAlias: 35;
|
|
55
|
+
readonly maximumQos: 36;
|
|
56
|
+
readonly retainAvailable: 37;
|
|
57
|
+
readonly userProperty: 38;
|
|
58
|
+
readonly maximumPacketSize: 39;
|
|
59
|
+
readonly wildcardSubscriptionAvailable: 40;
|
|
60
|
+
readonly subscriptionIdentifierAvailable: 41;
|
|
61
|
+
readonly sharedSubscriptionAvailable: 42;
|
|
62
|
+
};
|
|
63
|
+
type PropertyNames = keyof typeof propertyToId;
|
|
64
|
+
export declare const propertyToKind: {
|
|
65
|
+
readonly 1: 0;
|
|
66
|
+
readonly 2: 3;
|
|
67
|
+
readonly 3: 6;
|
|
68
|
+
readonly 8: 6;
|
|
69
|
+
readonly 9: 5;
|
|
70
|
+
readonly 11: 4;
|
|
71
|
+
readonly 255: 8;
|
|
72
|
+
readonly 17: 3;
|
|
73
|
+
readonly 18: 6;
|
|
74
|
+
readonly 19: 2;
|
|
75
|
+
readonly 21: 6;
|
|
76
|
+
readonly 22: 5;
|
|
77
|
+
readonly 23: 0;
|
|
78
|
+
readonly 24: 3;
|
|
79
|
+
readonly 25: 0;
|
|
80
|
+
readonly 26: 6;
|
|
81
|
+
readonly 28: 6;
|
|
82
|
+
readonly 31: 6;
|
|
83
|
+
readonly 33: 2;
|
|
84
|
+
readonly 34: 2;
|
|
85
|
+
readonly 35: 2;
|
|
86
|
+
readonly 36: 1;
|
|
87
|
+
readonly 37: 0;
|
|
88
|
+
readonly 38: 7;
|
|
89
|
+
readonly 39: 3;
|
|
90
|
+
readonly 40: 0;
|
|
91
|
+
readonly 41: 0;
|
|
92
|
+
readonly 42: 0;
|
|
93
|
+
};
|
|
94
|
+
export type UserPropertyType = Array<UTF8StringPair>;
|
|
95
|
+
export type SubscriptionIdentifiersType = Array<number>;
|
|
96
|
+
type PropertyKindMap = {
|
|
97
|
+
[propertyKind.boolean]: boolean;
|
|
98
|
+
[propertyKind.byte]: number;
|
|
99
|
+
[propertyKind.int16]: number;
|
|
100
|
+
[propertyKind.int32]: number;
|
|
101
|
+
[propertyKind.varInt]: number;
|
|
102
|
+
[propertyKind.byteArray]: Uint8Array;
|
|
103
|
+
[propertyKind.utf8string]: string;
|
|
104
|
+
[propertyKind.utf8StringPairs]: UserPropertyType;
|
|
105
|
+
[propertyKind.varIntArray]: SubscriptionIdentifiersType;
|
|
106
|
+
};
|
|
107
|
+
type Mqttv5PropertyType<K extends number> = K extends keyof PropertyKindMap ? PropertyKindMap[K] : never;
|
|
108
|
+
export type Mqttv5PropertyTypes = PropertyKindMap[keyof PropertyKindMap];
|
|
109
|
+
export type Mqttv5PropertyTypesNoUser = Exclude<Mqttv5PropertyTypes, UserPropertyType>;
|
|
110
|
+
export type ValidPropertyNumber = (typeof propertyToId)[keyof typeof propertyToId];
|
|
111
|
+
type AllMqttv5Properties = {
|
|
112
|
+
[K in PropertyNames]?: Mqttv5PropertyType<typeof propertyToKind[typeof propertyToId[K]]>;
|
|
113
|
+
};
|
|
114
|
+
type PropertyByNumberType = InvertRecord<typeof propertyToId>;
|
|
115
|
+
export declare const propertyByNumber: PropertyByNumberType;
|
|
116
|
+
export declare const PropertyByPropertySetType: {
|
|
117
|
+
readonly 0: readonly [];
|
|
118
|
+
readonly 1: readonly [17, 21, 22, 23, 25, 33, 34, 38, 39];
|
|
119
|
+
readonly 2: readonly [17, 18, 19, 21, 22, 26, 28, 31, 33, 34, 36, 37, 38, 39, 40, 41, 42];
|
|
120
|
+
readonly 3: readonly [1, 2, 3, 8, 9, 255, 35, 38];
|
|
121
|
+
readonly 8: readonly [11, 38];
|
|
122
|
+
readonly 10: readonly [38];
|
|
123
|
+
readonly 14: readonly [17, 28, 31, 38];
|
|
124
|
+
readonly 15: readonly [21, 22, 31, 38];
|
|
125
|
+
readonly 4: readonly [31, 38];
|
|
126
|
+
readonly 5: readonly [31, 38];
|
|
127
|
+
readonly 6: readonly [31, 38];
|
|
128
|
+
readonly 7: readonly [31, 38];
|
|
129
|
+
readonly 9: readonly [31, 38];
|
|
130
|
+
readonly 11: readonly [31, 38];
|
|
131
|
+
readonly 12: readonly [];
|
|
132
|
+
readonly 13: readonly [];
|
|
133
|
+
readonly 100: readonly [1, 2, 3, 8, 9, 24, 38];
|
|
134
|
+
};
|
|
135
|
+
type PropertyIdsToKeys<T extends readonly ValidPropertyNumber[]> = {
|
|
136
|
+
[K in T[number]]: (typeof propertyByNumber)[K];
|
|
137
|
+
}[T[number]];
|
|
138
|
+
type GeneratePacketTypeProperties<T extends readonly ValidPropertyNumber[]> = Pick<AllMqttv5Properties, PropertyIdsToKeys<T>>;
|
|
139
|
+
export type PropsByPacketSetType = {
|
|
140
|
+
[K in TPropertySetType]: GeneratePacketTypeProperties<typeof PropertyByPropertySetType[K]>;
|
|
141
|
+
};
|
|
142
|
+
export type ConnectProperties = PropsByPacketSetType[typeof PropertySetType.connect];
|
|
143
|
+
export type ConnackProperties = PropsByPacketSetType[typeof PropertySetType.connack];
|
|
144
|
+
export type PublishProperties = PropsByPacketSetType[typeof PropertySetType.publish];
|
|
145
|
+
export type PubackProperties = PropsByPacketSetType[typeof PropertySetType.puback];
|
|
146
|
+
export type PubrecProperties = PropsByPacketSetType[typeof PropertySetType.pubrec];
|
|
147
|
+
export type PubrelProperties = PropsByPacketSetType[typeof PropertySetType.pubrel];
|
|
148
|
+
export type PubcompProperties = PropsByPacketSetType[typeof PropertySetType.pubcomp];
|
|
149
|
+
export type SubscribeProperties = PropsByPacketSetType[typeof PropertySetType.subscribe];
|
|
150
|
+
export type SubackProperties = PropsByPacketSetType[typeof PropertySetType.suback];
|
|
151
|
+
export type UnsubscribeProperties = PropsByPacketSetType[typeof PropertySetType.unsubscribe];
|
|
152
|
+
export type UnsubackProperties = PropsByPacketSetType[typeof PropertySetType.unsuback];
|
|
153
|
+
export type DisconnectProperties = PropsByPacketSetType[typeof PropertySetType.disconnect];
|
|
154
|
+
export type AuthProperties = PropsByPacketSetType[typeof PropertySetType.auth];
|
|
155
|
+
export type WillProperties = PropsByPacketSetType[typeof PropertySetType.will];
|
|
156
|
+
export {};
|
|
157
|
+
//# sourceMappingURL=Properties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Properties.d.ts","sourceRoot":"","sources":["../../mqttPacket/Properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { PacketType } from "./PacketType.js";
|
|
2
|
+
export const PropertySetType = {
|
|
3
|
+
...PacketType,
|
|
4
|
+
will: 100,
|
|
5
|
+
};
|
|
6
|
+
export const propertyKind = {
|
|
7
|
+
boolean: 0, // its a byte in the MQTT standard, but for convenience we convert to boolean
|
|
8
|
+
byte: 1,
|
|
9
|
+
int16: 2,
|
|
10
|
+
int32: 3,
|
|
11
|
+
varInt: 4,
|
|
12
|
+
byteArray: 5,
|
|
13
|
+
utf8string: 6,
|
|
14
|
+
utf8StringPairs: 7,
|
|
15
|
+
varIntArray: 8,
|
|
16
|
+
};
|
|
17
|
+
export const propertyToId = {
|
|
18
|
+
payloadFormatIndicator: 0x01,
|
|
19
|
+
messageExpiryInterval: 0x02,
|
|
20
|
+
contentType: 0x03,
|
|
21
|
+
responseTopic: 0x08,
|
|
22
|
+
correlationData: 0x09,
|
|
23
|
+
subscriptionIdentifier: 0x0b,
|
|
24
|
+
// special case,placeholder to encode decode multiple subscription identifiers
|
|
25
|
+
subscriptionIdentifiers: 0xff,
|
|
26
|
+
sessionExpiryInterval: 0x11,
|
|
27
|
+
assignedClientIdentifier: 0x12,
|
|
28
|
+
serverKeepAlive: 0x13,
|
|
29
|
+
authenticationMethod: 0x15,
|
|
30
|
+
authenticationData: 0x16,
|
|
31
|
+
requestProblemInformation: 0x17,
|
|
32
|
+
willDelayInterval: 0x18,
|
|
33
|
+
requestResponseInformation: 0x19,
|
|
34
|
+
responseInformation: 0x1a,
|
|
35
|
+
serverReference: 0x1c,
|
|
36
|
+
reasonString: 0x1f,
|
|
37
|
+
receiveMaximum: 0x21,
|
|
38
|
+
topicAliasMaximum: 0x22,
|
|
39
|
+
topicAlias: 0x23,
|
|
40
|
+
maximumQos: 0x24,
|
|
41
|
+
retainAvailable: 0x25,
|
|
42
|
+
userProperty: 0x26,
|
|
43
|
+
maximumPacketSize: 0x27,
|
|
44
|
+
wildcardSubscriptionAvailable: 0x28,
|
|
45
|
+
subscriptionIdentifierAvailable: 0x29,
|
|
46
|
+
sharedSubscriptionAvailable: 0x2a,
|
|
47
|
+
};
|
|
48
|
+
// A helper type to convert a tuple of numbers to a union of strings
|
|
49
|
+
export const propertyToKind = {
|
|
50
|
+
[propertyToId.payloadFormatIndicator]: propertyKind.boolean,
|
|
51
|
+
[propertyToId.messageExpiryInterval]: propertyKind.int32,
|
|
52
|
+
[propertyToId.contentType]: propertyKind.utf8string,
|
|
53
|
+
[propertyToId.responseTopic]: propertyKind.utf8string,
|
|
54
|
+
[propertyToId.correlationData]: propertyKind.byteArray,
|
|
55
|
+
[propertyToId.subscriptionIdentifier]: propertyKind.varInt,
|
|
56
|
+
[propertyToId.subscriptionIdentifiers]: propertyKind.varIntArray,
|
|
57
|
+
[propertyToId.sessionExpiryInterval]: propertyKind.int32,
|
|
58
|
+
[propertyToId.assignedClientIdentifier]: propertyKind.utf8string,
|
|
59
|
+
[propertyToId.serverKeepAlive]: propertyKind.int16,
|
|
60
|
+
[propertyToId.authenticationMethod]: propertyKind.utf8string,
|
|
61
|
+
[propertyToId.authenticationData]: propertyKind.byteArray,
|
|
62
|
+
[propertyToId.requestProblemInformation]: propertyKind.boolean,
|
|
63
|
+
[propertyToId.willDelayInterval]: propertyKind.int32,
|
|
64
|
+
[propertyToId.requestResponseInformation]: propertyKind.boolean,
|
|
65
|
+
[propertyToId.responseInformation]: propertyKind.utf8string,
|
|
66
|
+
[propertyToId.serverReference]: propertyKind.utf8string,
|
|
67
|
+
[propertyToId.reasonString]: propertyKind.utf8string,
|
|
68
|
+
[propertyToId.receiveMaximum]: propertyKind.int16,
|
|
69
|
+
[propertyToId.topicAliasMaximum]: propertyKind.int16,
|
|
70
|
+
[propertyToId.topicAlias]: propertyKind.int16,
|
|
71
|
+
[propertyToId.maximumQos]: propertyKind.byte,
|
|
72
|
+
[propertyToId.retainAvailable]: propertyKind.boolean,
|
|
73
|
+
[propertyToId.userProperty]: propertyKind.utf8StringPairs,
|
|
74
|
+
[propertyToId.maximumPacketSize]: propertyKind.int32,
|
|
75
|
+
[propertyToId.wildcardSubscriptionAvailable]: propertyKind.boolean,
|
|
76
|
+
[propertyToId.subscriptionIdentifierAvailable]: propertyKind.boolean,
|
|
77
|
+
[propertyToId.sharedSubscriptionAvailable]: propertyKind.boolean,
|
|
78
|
+
};
|
|
79
|
+
export const propertyByNumber = Object.fromEntries(Object.entries(propertyToId).map(([k, v]) => [v, k]));
|
|
80
|
+
export const PropertyByPropertySetType = {
|
|
81
|
+
[PropertySetType.reserved]: [],
|
|
82
|
+
[PropertySetType.connect]: [
|
|
83
|
+
propertyToId.sessionExpiryInterval,
|
|
84
|
+
propertyToId.authenticationMethod,
|
|
85
|
+
propertyToId.authenticationData,
|
|
86
|
+
propertyToId.requestProblemInformation,
|
|
87
|
+
propertyToId.requestResponseInformation,
|
|
88
|
+
propertyToId.receiveMaximum,
|
|
89
|
+
propertyToId.topicAliasMaximum,
|
|
90
|
+
propertyToId.userProperty,
|
|
91
|
+
propertyToId.maximumPacketSize,
|
|
92
|
+
],
|
|
93
|
+
[PropertySetType.connack]: [
|
|
94
|
+
propertyToId.sessionExpiryInterval,
|
|
95
|
+
propertyToId.assignedClientIdentifier,
|
|
96
|
+
propertyToId.serverKeepAlive,
|
|
97
|
+
propertyToId.authenticationMethod,
|
|
98
|
+
propertyToId.authenticationData,
|
|
99
|
+
propertyToId.responseInformation,
|
|
100
|
+
propertyToId.serverReference,
|
|
101
|
+
propertyToId.reasonString,
|
|
102
|
+
propertyToId.receiveMaximum,
|
|
103
|
+
propertyToId.topicAliasMaximum,
|
|
104
|
+
propertyToId.maximumQos,
|
|
105
|
+
propertyToId.retainAvailable,
|
|
106
|
+
propertyToId.userProperty,
|
|
107
|
+
propertyToId.maximumPacketSize,
|
|
108
|
+
propertyToId.wildcardSubscriptionAvailable,
|
|
109
|
+
propertyToId.subscriptionIdentifierAvailable,
|
|
110
|
+
propertyToId.sharedSubscriptionAvailable,
|
|
111
|
+
],
|
|
112
|
+
[PropertySetType.publish]: [
|
|
113
|
+
propertyToId.payloadFormatIndicator,
|
|
114
|
+
propertyToId.messageExpiryInterval,
|
|
115
|
+
propertyToId.contentType,
|
|
116
|
+
propertyToId.responseTopic,
|
|
117
|
+
propertyToId.correlationData,
|
|
118
|
+
propertyToId.subscriptionIdentifiers,
|
|
119
|
+
propertyToId.topicAlias,
|
|
120
|
+
propertyToId.userProperty,
|
|
121
|
+
],
|
|
122
|
+
[PropertySetType.subscribe]: [
|
|
123
|
+
propertyToId.subscriptionIdentifier,
|
|
124
|
+
propertyToId.userProperty,
|
|
125
|
+
],
|
|
126
|
+
[PropertySetType.unsubscribe]: [
|
|
127
|
+
propertyToId.userProperty,
|
|
128
|
+
],
|
|
129
|
+
[PropertySetType.disconnect]: [
|
|
130
|
+
propertyToId.sessionExpiryInterval,
|
|
131
|
+
propertyToId.serverReference,
|
|
132
|
+
propertyToId.reasonString,
|
|
133
|
+
propertyToId.userProperty,
|
|
134
|
+
],
|
|
135
|
+
[PropertySetType.auth]: [
|
|
136
|
+
propertyToId.authenticationMethod,
|
|
137
|
+
propertyToId.authenticationData,
|
|
138
|
+
propertyToId.reasonString,
|
|
139
|
+
propertyToId.userProperty,
|
|
140
|
+
],
|
|
141
|
+
[PropertySetType.puback]: [
|
|
142
|
+
propertyToId.reasonString,
|
|
143
|
+
propertyToId.userProperty,
|
|
144
|
+
],
|
|
145
|
+
[PropertySetType.pubrec]: [
|
|
146
|
+
propertyToId.reasonString,
|
|
147
|
+
propertyToId.userProperty,
|
|
148
|
+
],
|
|
149
|
+
[PropertySetType.pubrel]: [
|
|
150
|
+
propertyToId.reasonString,
|
|
151
|
+
propertyToId.userProperty,
|
|
152
|
+
],
|
|
153
|
+
[PropertySetType.pubcomp]: [
|
|
154
|
+
propertyToId.reasonString,
|
|
155
|
+
propertyToId.userProperty,
|
|
156
|
+
],
|
|
157
|
+
[PropertySetType.suback]: [
|
|
158
|
+
propertyToId.reasonString,
|
|
159
|
+
propertyToId.userProperty,
|
|
160
|
+
],
|
|
161
|
+
[PropertySetType.unsuback]: [
|
|
162
|
+
propertyToId.reasonString,
|
|
163
|
+
propertyToId.userProperty,
|
|
164
|
+
],
|
|
165
|
+
[PropertySetType.pingreq]: [],
|
|
166
|
+
[PropertySetType.pingres]: [],
|
|
167
|
+
[PropertySetType.will]: [
|
|
168
|
+
propertyToId.payloadFormatIndicator,
|
|
169
|
+
propertyToId.messageExpiryInterval,
|
|
170
|
+
propertyToId.contentType,
|
|
171
|
+
propertyToId.responseTopic,
|
|
172
|
+
propertyToId.correlationData,
|
|
173
|
+
propertyToId.willDelayInterval,
|
|
174
|
+
propertyToId.userProperty,
|
|
175
|
+
],
|
|
176
|
+
};
|
|
177
|
+
//# sourceMappingURL=Properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Properties.js","sourceRoot":"","sources":["../../mqttPacket/Properties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,UAAU;IACb,IAAI,EAAE,GAAG;CACD,CAAC;AAKX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,CAAC,EAAE,6EAA6E;IACzF,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,eAAe,EAAE,CAAC;IAClB,WAAW,EAAE,CAAC;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,sBAAsB,EAAE,IAAI;IAC5B,8EAA8E;IAC9E,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,IAAI;IAC3B,wBAAwB,EAAE,IAAI;IAC9B,eAAe,EAAE,IAAI;IACrB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,yBAAyB,EAAE,IAAI;IAC/B,iBAAiB,EAAE,IAAI;IACvB,0BAA0B,EAAE,IAAI;IAChC,mBAAmB,EAAE,IAAI;IACzB,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,IAAI;IACvB,6BAA6B,EAAE,IAAI;IACnC,+BAA+B,EAAE,IAAI;IACrC,2BAA2B,EAAE,IAAI;CACzB,CAAC;AAGX,oEAAoE;AAEpE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE,YAAY,CAAC,OAAO;IAC3D,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,YAAY,CAAC,KAAK;IACxD,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,UAAU;IACnD,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,UAAU;IACrD,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,SAAS;IACtD,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE,YAAY,CAAC,MAAM;IAC1D,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC,WAAW;IAChE,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,YAAY,CAAC,KAAK;IACxD,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAE,YAAY,CAAC,UAAU;IAChE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,KAAK;IAClD,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,YAAY,CAAC,UAAU;IAC5D,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC,SAAS;IACzD,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,YAAY,CAAC,OAAO;IAC9D,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,KAAK;IACpD,CAAC,YAAY,CAAC,0BAA0B,CAAC,EAAE,YAAY,CAAC,OAAO;IAC/D,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,YAAY,CAAC,UAAU;IAC3D,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,UAAU;IACvD,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU;IACpD,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,KAAK;IACjD,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,KAAK;IACpD,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KAAK;IAC7C,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI;IAC5C,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,OAAO;IACpD,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,eAAe;IACzD,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,KAAK;IACpD,CAAC,YAAY,CAAC,6BAA6B,CAAC,EAAE,YAAY,CAAC,OAAO;IAClE,CAAC,YAAY,CAAC,+BAA+B,CAAC,EAAE,YAAY,CAAC,OAAO;IACpE,CAAC,YAAY,CAAC,2BAA2B,CAAC,EAAE,YAAY,CAAC,OAAO;CACxD,CAAC;AAyCX,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAChD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAC9B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACnB,CACsB,CAAC;AAE1B,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,EAAE;IAC9B,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;QACzB,YAAY,CAAC,qBAAqB;QAClC,YAAY,CAAC,oBAAoB;QACjC,YAAY,CAAC,kBAAkB;QAC/B,YAAY,CAAC,yBAAyB;QACtC,YAAY,CAAC,0BAA0B;QACvC,YAAY,CAAC,cAAc;QAC3B,YAAY,CAAC,iBAAiB;QAC9B,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,iBAAiB;KAC/B;IACD,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;QACzB,YAAY,CAAC,qBAAqB;QAClC,YAAY,CAAC,wBAAwB;QACrC,YAAY,CAAC,eAAe;QAC5B,YAAY,CAAC,oBAAoB;QACjC,YAAY,CAAC,kBAAkB;QAC/B,YAAY,CAAC,mBAAmB;QAChC,YAAY,CAAC,eAAe;QAC5B,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,cAAc;QAC3B,YAAY,CAAC,iBAAiB;QAC9B,YAAY,CAAC,UAAU;QACvB,YAAY,CAAC,eAAe;QAC5B,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,iBAAiB;QAC9B,YAAY,CAAC,6BAA6B;QAC1C,YAAY,CAAC,+BAA+B;QAC5C,YAAY,CAAC,2BAA2B;KACzC;IACD,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;QACzB,YAAY,CAAC,sBAAsB;QACnC,YAAY,CAAC,qBAAqB;QAClC,YAAY,CAAC,WAAW;QACxB,YAAY,CAAC,aAAa;QAC1B,YAAY,CAAC,eAAe;QAC5B,YAAY,CAAC,uBAAuB;QACpC,YAAY,CAAC,UAAU;QACvB,YAAY,CAAC,YAAY;KAC1B;IACD,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;QAC3B,YAAY,CAAC,sBAAsB;QACnC,YAAY,CAAC,YAAY;KAC1B;IACD,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE;QAC7B,YAAY,CAAC,YAAY;KAC1B;IAED,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;QAC5B,YAAY,CAAC,qBAAqB;QAClC,YAAY,CAAC,eAAe;QAC5B,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY;KAC1B;IACD,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QACtB,YAAY,CAAC,oBAAoB;QACjC,YAAY,CAAC,kBAAkB;QAC/B,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY;KAC1B;IACD,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;QACxB,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY;KAC1B;IACD,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;QACxB,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY;KAC1B;IACD,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;QACxB,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY;KAC1B;IACD,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;QACzB,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY;KAC1B;IACD,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;QACxB,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY;KAC1B;IACD,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC1B,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY;KAC1B;IACD,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE;IAC7B,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE;IAE7B,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QACtB,YAAY,CAAC,sBAAsB;QACnC,YAAY,CAAC,qBAAqB;QAClC,YAAY,CAAC,WAAW;QACxB,YAAY,CAAC,aAAa;QAC1B,YAAY,CAAC,eAAe;QAC5B,YAAY,CAAC,iBAAiB;QAC9B,YAAY,CAAC,YAAY;KAC1B;CACO,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Possible MQTT V5 reason codes
|
|
3
|
+
*/
|
|
4
|
+
import { PacketType } from "./PacketType.ts";
|
|
5
|
+
import type { InvertRecord } from "./types.ts";
|
|
6
|
+
export declare const ReasonCode: {
|
|
7
|
+
readonly success: 0;
|
|
8
|
+
readonly normalDisconnection: 0;
|
|
9
|
+
readonly grantedQos0: 0;
|
|
10
|
+
readonly grantedQos1: 1;
|
|
11
|
+
readonly grantedQos2: 2;
|
|
12
|
+
readonly disconnectWithWillMessage: 4;
|
|
13
|
+
readonly noMatchingSubscribers: 16;
|
|
14
|
+
readonly noSubscriptionExisted: 17;
|
|
15
|
+
readonly continueAuthentication: 24;
|
|
16
|
+
readonly reAuthenticate: 25;
|
|
17
|
+
readonly unspecifiedError: 128;
|
|
18
|
+
readonly malformedPacket: 129;
|
|
19
|
+
readonly protocolError: 130;
|
|
20
|
+
readonly implementationSpecificError: 131;
|
|
21
|
+
readonly unsupportedProtocolVersion: 132;
|
|
22
|
+
readonly clientIdentifierNotValid: 133;
|
|
23
|
+
readonly badUserNameOrPassword: 134;
|
|
24
|
+
readonly notAuthorized: 135;
|
|
25
|
+
readonly serverUnavailable: 136;
|
|
26
|
+
readonly serverBusy: 137;
|
|
27
|
+
readonly banned: 138;
|
|
28
|
+
readonly serverShuttingDown: 139;
|
|
29
|
+
readonly badAuthenticationMethod: 140;
|
|
30
|
+
readonly keepAliveTimeout: 141;
|
|
31
|
+
readonly sessionTakenOver: 142;
|
|
32
|
+
readonly topicFilterInvalid: 143;
|
|
33
|
+
readonly topicNameInvalid: 144;
|
|
34
|
+
readonly packetIdentifierInUse: 145;
|
|
35
|
+
readonly packetIdentifierNotFound: 146;
|
|
36
|
+
readonly receiveMaximumExceeded: 147;
|
|
37
|
+
readonly topicAliasInvalid: 148;
|
|
38
|
+
readonly packetTooLarge: 149;
|
|
39
|
+
readonly messageRateTooHigh: 150;
|
|
40
|
+
readonly quotaExceeded: 151;
|
|
41
|
+
readonly administrativeAction: 152;
|
|
42
|
+
readonly payloadFormatInvalid: 153;
|
|
43
|
+
readonly retainNotSupported: 154;
|
|
44
|
+
readonly qosNotSupported: 155;
|
|
45
|
+
readonly useAnotherServer: 156;
|
|
46
|
+
readonly serverMoved: 157;
|
|
47
|
+
readonly sharedSubscriptionsNotSupported: 158;
|
|
48
|
+
readonly connectionRateExceeded: 159;
|
|
49
|
+
readonly maximumConnectTime: 160;
|
|
50
|
+
readonly subscriptionIdentifiersNotSupported: 161;
|
|
51
|
+
readonly wildcardSubscriptionsNotSupported: 162;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Reverse lookup for ReasonCode
|
|
55
|
+
*/
|
|
56
|
+
export type ReasonCodeByNumberType = InvertRecord<typeof ReasonCode>;
|
|
57
|
+
export declare const ReasonCodeByNumber: ReasonCodeByNumberType;
|
|
58
|
+
export declare const ReasonCodebyPacket: {
|
|
59
|
+
readonly 2: readonly [0, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 140, 144, 149, 151, 153, 154, 155, 156, 157, 159];
|
|
60
|
+
readonly 4: readonly [0, 16, 128, 131, 135, 144, 145, 151, 153];
|
|
61
|
+
readonly 5: readonly [0, 16, 128, 131, 135, 144, 145, 151, 153];
|
|
62
|
+
readonly 6: readonly [0, 146];
|
|
63
|
+
readonly 7: readonly [0, 146];
|
|
64
|
+
readonly 11: readonly [0, 17, 128, 131, 135, 143, 145];
|
|
65
|
+
readonly 15: readonly [0, 24, 25];
|
|
66
|
+
readonly 14: readonly [0, 4, 128, 129, 130, 131, 135, 137, 139, 140, 141, 142, 143, 144, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162];
|
|
67
|
+
readonly 9: readonly [0, 1, 2, 128, 131, 135, 143, 145, 151, 158, 161, 162];
|
|
68
|
+
};
|
|
69
|
+
type TPacketType = typeof PacketType[keyof typeof PacketType];
|
|
70
|
+
export type TReasonCode = typeof ReasonCode[keyof typeof ReasonCode];
|
|
71
|
+
export declare function reasonCodeToString(packetType: TPacketType, code: TReasonCode): string;
|
|
72
|
+
export declare function isValidReasonCode(packetType: TPacketType, code: number): boolean;
|
|
73
|
+
export {};
|
|
74
|
+
//# sourceMappingURL=ReasonCode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReasonCode.d.ts","sourceRoot":"","sources":["../../mqttPacket/ReasonCode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Cb,CAAC;AAEX;;GAEG;AAEH,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;AACrE,eAAO,MAAM,kBAAkB,EAGxB,sBAAsB,CAAC;AAE9B,eAAO,MAAM,kBAAkB;;;;;;;;;;CAmHrB,CAAC;AAiDX,KAAK,WAAW,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAGrE,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,WAAW,EACvB,IAAI,EAAE,WAAW,GAChB,MAAM,CAUR;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,WAAW,EACvB,IAAI,EAAE,MAAM,GACX,OAAO,CAIT"}
|