@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,20 +1,31 @@
|
|
|
1
|
-
import type { Topic, TopicFilter } from "./types.ts";
|
|
1
|
+
import type { Topic, TopicFilter, TPacketType, TReasonCode, UTF8StringPair } from "./types.ts";
|
|
2
|
+
import type { PropsByPacketSetType, TPropertySetType } from "./Properties.ts";
|
|
2
3
|
/**
|
|
3
4
|
* Custom error class for encoding operations
|
|
4
5
|
*/
|
|
5
6
|
export declare class EncoderError extends Error {
|
|
6
7
|
constructor(message: string);
|
|
7
8
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Encoder class for MQTT packet encoding
|
|
10
|
-
*/
|
|
11
9
|
export declare class Encoder {
|
|
12
|
-
/** Internal
|
|
13
|
-
private
|
|
10
|
+
/** Internal bufferlist to store items */
|
|
11
|
+
private buffers;
|
|
12
|
+
/** Number of bytes in the buffer */
|
|
13
|
+
private numBytes;
|
|
14
|
+
/** Packet type */
|
|
15
|
+
private packetType;
|
|
16
|
+
/** marker to rewind to */
|
|
17
|
+
private marker;
|
|
14
18
|
/**
|
|
15
19
|
* Creates a new Encoder instance
|
|
16
20
|
*/
|
|
17
|
-
constructor();
|
|
21
|
+
constructor(packetType: TPacketType);
|
|
22
|
+
encodedSize(): number;
|
|
23
|
+
setMarker(): void;
|
|
24
|
+
rewindToMarker(): void;
|
|
25
|
+
/**
|
|
26
|
+
* @param value
|
|
27
|
+
*/
|
|
28
|
+
addArray(value: number[] | Uint8Array): this;
|
|
18
29
|
/**
|
|
19
30
|
* Adds a single byte to the buffer
|
|
20
31
|
* @param value - Byte value to add (0-255)
|
|
@@ -27,6 +38,18 @@ export declare class Encoder {
|
|
|
27
38
|
* @returns The encoder instance for chaining
|
|
28
39
|
*/
|
|
29
40
|
setInt16(value: number): this;
|
|
41
|
+
/**
|
|
42
|
+
* adds a 4 byte integer from the buffer (for v5)
|
|
43
|
+
* @param value - 32-bit integer to encode and add
|
|
44
|
+
* @returns The encoder instance for chaining
|
|
45
|
+
*/
|
|
46
|
+
setInt32(value: number): this;
|
|
47
|
+
/**
|
|
48
|
+
* adds a variable byte integer to the buffer (for v5)
|
|
49
|
+
* @param value - integer to encode and add
|
|
50
|
+
* @returns The encoder instance for chaining
|
|
51
|
+
*/
|
|
52
|
+
setVariableByteInteger(value: number): this;
|
|
30
53
|
/**
|
|
31
54
|
* Adds a byte array to the buffer with length prefix
|
|
32
55
|
* @param value - Byte array to add
|
|
@@ -40,6 +63,12 @@ export declare class Encoder {
|
|
|
40
63
|
* @returns The encoder instance for chaining
|
|
41
64
|
*/
|
|
42
65
|
setUtf8String(value: string): this;
|
|
66
|
+
/**
|
|
67
|
+
* Adds a UTF-8 string pair from the buffer (for v5)
|
|
68
|
+
* @param stringPair - UTF8StringPair
|
|
69
|
+
* @returns The encoder instance for chaining
|
|
70
|
+
*/
|
|
71
|
+
setUtf8StringPair([name, value]: UTF8StringPair): this;
|
|
43
72
|
/**
|
|
44
73
|
* Adds an MQTT topic string to the buffer
|
|
45
74
|
* @param value - Topic string to add
|
|
@@ -60,10 +89,30 @@ export declare class Encoder {
|
|
|
60
89
|
* @returns The encoder instance for chaining
|
|
61
90
|
*/
|
|
62
91
|
setRemainder(value: Uint8Array | number[]): this;
|
|
92
|
+
/**
|
|
93
|
+
* add lenght and buffers from this
|
|
94
|
+
* @param encoder - the encoder to add it to
|
|
95
|
+
*/
|
|
96
|
+
addToEncoder(encoder: Encoder): void;
|
|
97
|
+
/**
|
|
98
|
+
* Encode a single property
|
|
99
|
+
* @param id - the id of the property
|
|
100
|
+
* @param value the value of the property
|
|
101
|
+
* @returns
|
|
102
|
+
*/
|
|
103
|
+
private setProperty;
|
|
104
|
+
/**
|
|
105
|
+
* Encode a set of properties respecting potential size limits
|
|
106
|
+
* @param props - the properties to encode
|
|
107
|
+
* @param propertySetType - the type of packet to encode for
|
|
108
|
+
* @param maximumPacketSize - the maximum packet size to be consumed by properties
|
|
109
|
+
*/
|
|
110
|
+
setProperties<T extends TPropertySetType>(props: PropsByPacketSetType[T], propertySetType: TPropertySetType, maximumPacketSize: number): void;
|
|
111
|
+
setReasonCode(reasonCode: TReasonCode): this;
|
|
63
112
|
/**
|
|
64
113
|
* Returns the final encoded buffer
|
|
65
114
|
* @returns Array containing all encoded bytes
|
|
66
115
|
*/
|
|
67
|
-
done():
|
|
116
|
+
done(flags: number): Uint8Array;
|
|
68
117
|
}
|
|
69
118
|
//# sourceMappingURL=encoder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../mqttPacket/encoder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../mqttPacket/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAEV,oBAAoB,EAEpB,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AAezB;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAMD,qBAAa,OAAO;IAClB,yCAAyC;IACzC,OAAO,CAAC,OAAO,CAAa;IAE5B,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAS;IAEzB,kBAAkB;IAClB,OAAO,CAAC,UAAU,CAAc;IAEhC,0BAA0B;IAC1B,OAAO,CAAC,MAAM,CAAS;IAEvB;;OAEG;gBACS,UAAU,EAAE,WAAW;IAOnC,WAAW;IAIX,SAAS;IAIT,cAAc;IAMd;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,IAAI;IAM5C;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3C;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IASrC;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI;IAMtD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAU5B;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAUxC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,IAAI;IAKhD;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO;IAO7B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAwDnB;;;;;OAKG;IACH,aAAa,CAAC,CAAC,SAAS,gBAAgB,EACtC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC9B,eAAe,EAAE,gBAAgB,EACjC,iBAAiB,EAAE,MAAM;IA0B3B,aAAa,CAAC,UAAU,EAAE,WAAW;IAUrC;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;CAehC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { propertyByNumber, PropertyByPropertySetType, propertyKind, propertyToId, propertyToKind, } from "./Properties.js";
|
|
2
|
+
import { encodeLength } from "./length.js";
|
|
2
3
|
import { invalidTopic, invalidTopicFilter } from "./validators.js";
|
|
4
|
+
import { isValidReasonCode } from "./ReasonCode.js";
|
|
5
|
+
const utf8Encoder = new TextEncoder();
|
|
3
6
|
/**
|
|
4
7
|
* Custom error class for encoding operations
|
|
5
8
|
*/
|
|
@@ -9,17 +12,43 @@ export class EncoderError extends Error {
|
|
|
9
12
|
this.name = "EncoderError";
|
|
10
13
|
}
|
|
11
14
|
}
|
|
12
|
-
/**
|
|
13
|
-
* Encoder class for MQTT packet encoding
|
|
14
|
-
*/
|
|
15
15
|
export class Encoder {
|
|
16
|
-
/** Internal
|
|
17
|
-
|
|
16
|
+
/** Internal bufferlist to store items */
|
|
17
|
+
buffers;
|
|
18
|
+
/** Number of bytes in the buffer */
|
|
19
|
+
numBytes;
|
|
20
|
+
/** Packet type */
|
|
21
|
+
packetType;
|
|
22
|
+
/** marker to rewind to */
|
|
23
|
+
marker;
|
|
18
24
|
/**
|
|
19
25
|
* Creates a new Encoder instance
|
|
20
26
|
*/
|
|
21
|
-
constructor() {
|
|
22
|
-
this.
|
|
27
|
+
constructor(packetType) {
|
|
28
|
+
this.buffers = [];
|
|
29
|
+
this.numBytes = 0;
|
|
30
|
+
this.packetType = packetType;
|
|
31
|
+
this.marker = 0;
|
|
32
|
+
}
|
|
33
|
+
encodedSize() {
|
|
34
|
+
return this.numBytes;
|
|
35
|
+
}
|
|
36
|
+
setMarker() {
|
|
37
|
+
this.marker = this.buffers.length;
|
|
38
|
+
}
|
|
39
|
+
rewindToMarker() {
|
|
40
|
+
while (this.buffers.length > this.marker) {
|
|
41
|
+
const buf = this.buffers.pop();
|
|
42
|
+
this.numBytes -= buf?.length || 0;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @param value
|
|
47
|
+
*/
|
|
48
|
+
addArray(value) {
|
|
49
|
+
this.buffers.push(value);
|
|
50
|
+
this.numBytes += value.length;
|
|
51
|
+
return this;
|
|
23
52
|
}
|
|
24
53
|
/**
|
|
25
54
|
* Adds a single byte to the buffer
|
|
@@ -27,7 +56,8 @@ export class Encoder {
|
|
|
27
56
|
* @returns The encoder instance for chaining
|
|
28
57
|
*/
|
|
29
58
|
setByte(value) {
|
|
30
|
-
this.
|
|
59
|
+
this.buffers.push([value]);
|
|
60
|
+
this.numBytes++;
|
|
31
61
|
return this;
|
|
32
62
|
}
|
|
33
63
|
/**
|
|
@@ -40,6 +70,25 @@ export class Encoder {
|
|
|
40
70
|
this.setByte(value & 0xff);
|
|
41
71
|
return this;
|
|
42
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* adds a 4 byte integer from the buffer (for v5)
|
|
75
|
+
* @param value - 32-bit integer to encode and add
|
|
76
|
+
* @returns The encoder instance for chaining
|
|
77
|
+
*/
|
|
78
|
+
setInt32(value) {
|
|
79
|
+
this.setInt16(value >> 16);
|
|
80
|
+
this.setInt16(value & 0xffff);
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* adds a variable byte integer to the buffer (for v5)
|
|
85
|
+
* @param value - integer to encode and add
|
|
86
|
+
* @returns The encoder instance for chaining
|
|
87
|
+
*/
|
|
88
|
+
setVariableByteInteger(value) {
|
|
89
|
+
this.addArray(encodeLength(value));
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
43
92
|
/**
|
|
44
93
|
* Adds a byte array to the buffer with length prefix
|
|
45
94
|
* @param value - Byte array to add
|
|
@@ -51,7 +100,7 @@ export class Encoder {
|
|
|
51
100
|
throw new EncoderError("More than 0xffff bytes of data");
|
|
52
101
|
}
|
|
53
102
|
this.setInt16(value.length);
|
|
54
|
-
this.
|
|
103
|
+
this.addArray(value);
|
|
55
104
|
return this;
|
|
56
105
|
}
|
|
57
106
|
/**
|
|
@@ -63,6 +112,16 @@ export class Encoder {
|
|
|
63
112
|
this.setByteArray(utf8Encoder.encode(value));
|
|
64
113
|
return this;
|
|
65
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Adds a UTF-8 string pair from the buffer (for v5)
|
|
117
|
+
* @param stringPair - UTF8StringPair
|
|
118
|
+
* @returns The encoder instance for chaining
|
|
119
|
+
*/
|
|
120
|
+
setUtf8StringPair([name, value]) {
|
|
121
|
+
this.setUtf8String(name);
|
|
122
|
+
this.setUtf8String(value);
|
|
123
|
+
return this;
|
|
124
|
+
}
|
|
66
125
|
/**
|
|
67
126
|
* Adds an MQTT topic string to the buffer
|
|
68
127
|
* @param value - Topic string to add
|
|
@@ -95,15 +154,128 @@ export class Encoder {
|
|
|
95
154
|
* @returns The encoder instance for chaining
|
|
96
155
|
*/
|
|
97
156
|
setRemainder(value) {
|
|
98
|
-
this.
|
|
157
|
+
this.addArray(value);
|
|
158
|
+
return this;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* add lenght and buffers from this
|
|
162
|
+
* @param encoder - the encoder to add it to
|
|
163
|
+
*/
|
|
164
|
+
addToEncoder(encoder) {
|
|
165
|
+
encoder.setVariableByteInteger(this.numBytes);
|
|
166
|
+
for (const buffer of this.buffers) {
|
|
167
|
+
encoder.addArray(buffer);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Encode a single property
|
|
172
|
+
* @param id - the id of the property
|
|
173
|
+
* @param value the value of the property
|
|
174
|
+
* @returns
|
|
175
|
+
*/
|
|
176
|
+
setProperty(id, value) {
|
|
177
|
+
const kind = propertyToKind[id];
|
|
178
|
+
if (kind === propertyKind.utf8StringPairs) {
|
|
179
|
+
if (!Array.isArray(value)) {
|
|
180
|
+
throw new EncoderError("userProperty must be an array");
|
|
181
|
+
}
|
|
182
|
+
for (const item of value) {
|
|
183
|
+
if (!Array.isArray(item)) {
|
|
184
|
+
throw new EncoderError("userProperty item must be an array");
|
|
185
|
+
}
|
|
186
|
+
this.setVariableByteInteger(id);
|
|
187
|
+
this.setUtf8StringPair(item);
|
|
188
|
+
}
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (kind === propertyKind.varIntArray) {
|
|
192
|
+
if (!Array.isArray(value)) {
|
|
193
|
+
throw new EncoderError("Subscription Identifiers must be an array");
|
|
194
|
+
}
|
|
195
|
+
for (const item of value) {
|
|
196
|
+
this.setVariableByteInteger(propertyToId["subscriptionIdentifier"]);
|
|
197
|
+
this.setVariableByteInteger(item);
|
|
198
|
+
}
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
this.setVariableByteInteger(id);
|
|
202
|
+
switch (kind) {
|
|
203
|
+
case propertyKind.boolean:
|
|
204
|
+
this.setByte(!!value === true ? 1 : 0);
|
|
205
|
+
break;
|
|
206
|
+
case propertyKind.byte:
|
|
207
|
+
this.setByte(value);
|
|
208
|
+
break;
|
|
209
|
+
case propertyKind.int16:
|
|
210
|
+
this.setInt16(value);
|
|
211
|
+
break;
|
|
212
|
+
case propertyKind.int32:
|
|
213
|
+
this.setInt32(value);
|
|
214
|
+
break;
|
|
215
|
+
case propertyKind.varInt:
|
|
216
|
+
this.setVariableByteInteger(value);
|
|
217
|
+
break;
|
|
218
|
+
case propertyKind.byteArray:
|
|
219
|
+
this.setByteArray(value);
|
|
220
|
+
break;
|
|
221
|
+
case propertyKind.utf8string:
|
|
222
|
+
this.setUtf8String(value);
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Encode a set of properties respecting potential size limits
|
|
228
|
+
* @param props - the properties to encode
|
|
229
|
+
* @param propertySetType - the type of packet to encode for
|
|
230
|
+
* @param maximumPacketSize - the maximum packet size to be consumed by properties
|
|
231
|
+
*/
|
|
232
|
+
setProperties(props, propertySetType, maximumPacketSize) {
|
|
233
|
+
const propsEncoder = new Encoder(0);
|
|
234
|
+
const allowedProps = PropertyByPropertySetType[propertySetType];
|
|
235
|
+
const maxSize = maximumPacketSize - 1; // propertyLength takes at least a byte
|
|
236
|
+
for (const id of allowedProps) {
|
|
237
|
+
const label = propertyByNumber[id];
|
|
238
|
+
const value = props[label];
|
|
239
|
+
if (value !== undefined && value !== null) {
|
|
240
|
+
if (id === propertyToId.reasonString || id === propertyToId.userProperty) {
|
|
241
|
+
propsEncoder.setMarker();
|
|
242
|
+
propsEncoder.setProperty(id, value);
|
|
243
|
+
if (propsEncoder.encodedSize() > maxSize) {
|
|
244
|
+
propsEncoder.rewindToMarker();
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
propsEncoder.setProperty(id, value);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
propsEncoder.addToEncoder(this);
|
|
253
|
+
}
|
|
254
|
+
setReasonCode(reasonCode) {
|
|
255
|
+
if (!isValidReasonCode(this.packetType, reasonCode)) {
|
|
256
|
+
throw new EncoderError(`Reason code ${reasonCode} not allowed for packet type ${this.packetType}`);
|
|
257
|
+
}
|
|
258
|
+
this.setByte(reasonCode);
|
|
99
259
|
return this;
|
|
100
260
|
}
|
|
101
261
|
/**
|
|
102
262
|
* Returns the final encoded buffer
|
|
103
263
|
* @returns Array containing all encoded bytes
|
|
104
264
|
*/
|
|
105
|
-
done() {
|
|
106
|
-
|
|
265
|
+
done(flags) {
|
|
266
|
+
const packetType = this.packetType;
|
|
267
|
+
const encodedLength = encodeLength(this.numBytes);
|
|
268
|
+
const totalLength = 1 + encodedLength.length + this.numBytes;
|
|
269
|
+
const result = new Uint8Array(totalLength);
|
|
270
|
+
let pos = 0;
|
|
271
|
+
result.set([packetType << 4 | flags], pos++);
|
|
272
|
+
result.set(encodedLength, pos);
|
|
273
|
+
pos += encodedLength.length;
|
|
274
|
+
for (const buffer of this.buffers) {
|
|
275
|
+
result.set(buffer, pos);
|
|
276
|
+
pos += buffer.length;
|
|
277
|
+
}
|
|
278
|
+
return result;
|
|
107
279
|
}
|
|
108
280
|
}
|
|
109
281
|
//# sourceMappingURL=encoder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../mqttPacket/encoder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../mqttPacket/encoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"length.d.ts","sourceRoot":"","sources":["../../mqttPacket/length.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAehD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,MAAM,GACZ;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"length.d.ts","sourceRoot":"","sources":["../../mqttPacket/length.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAehD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,MAAM,GACZ;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAW5C;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,CAClC,WAAW,EAAE,MAAM,KAChB,mBAAmB,CAgBvB"}
|
|
@@ -29,8 +29,9 @@ export function encodeLength(n) {
|
|
|
29
29
|
*/
|
|
30
30
|
export function decodeLength(buf, start) {
|
|
31
31
|
const decode = getLengthDecoder();
|
|
32
|
-
const
|
|
33
|
-
for (
|
|
32
|
+
const size = buf.length;
|
|
33
|
+
for (let i = start; i < size; i++) {
|
|
34
|
+
const byte = buf[i];
|
|
34
35
|
const { done, length, numLengthBytes } = decode(byte);
|
|
35
36
|
if (done) {
|
|
36
37
|
return { length, numLengthBytes };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"length.js","sourceRoot":"","sources":["../../mqttPacket/length.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,GAAG,CAAC;QACF,IAAI,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;IAChB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAe,EACf,KAAa;IAEb,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,
|
|
1
|
+
{"version":3,"file":"length.js","sourceRoot":"","sources":["../../mqttPacket/length.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,GAAG,CAAC;QACF,IAAI,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;IAChB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAe,EACf,KAAa;IAEb,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACxC,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAG9B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,OAAO,SAAS,aAAa,CAAC,WAAmB;QAC/C,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;QAC5C,UAAU,IAAI,IAAI,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACjD,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/mqttPacket/mod.d.ts
CHANGED
|
@@ -4,30 +4,31 @@
|
|
|
4
4
|
* used in both server and client implementations. It handles all MQTT packet types and their
|
|
5
5
|
* transformations between binary and object representations.
|
|
6
6
|
*/
|
|
7
|
-
import type { ClientId, Dup, PacketId, Payload, QoS, ReturnCodes, TAuthenticationResult, Topic, TopicFilter, TPacketType } from "./types.ts";
|
|
7
|
+
import type { ClientId, CodecOpts, Dup, PacketId, Payload, ProtocolLevel, QoS, ReturnCodes, TAuthenticationResult, Topic, TopicFilter, TPacketType, TReasonCode, TRetainHandling, UTF8StringPair } from "./types.ts";
|
|
8
|
+
export { MQTTLevel } from "./protocolLevels.ts";
|
|
9
|
+
export { RetainHandling } from "./RetainHandling.ts";
|
|
10
|
+
export { ReasonCode, ReasonCodeByNumber } from "./ReasonCode.ts";
|
|
8
11
|
import { PacketNameByType, PacketType } from "./PacketType.ts";
|
|
9
12
|
import { invalidTopic, invalidTopicFilter, invalidUTF8 } from "./validators.ts";
|
|
10
13
|
import { decodeLength, encodeLength } from "./length.ts";
|
|
11
|
-
import { type ConnectPacket } from "./connect.ts";
|
|
12
|
-
import { type ConnackPacket } from "./connack.ts";
|
|
13
14
|
import { AuthenticationResult, AuthenticationResultByNumber } from "./AuthenticationResult.ts";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
15
|
+
import type { ConnectPacket } from "./connect.ts";
|
|
16
|
+
import type { ConnackPacket } from "./connack.ts";
|
|
17
|
+
import type { PublishPacket } from "./publish.ts";
|
|
18
|
+
import type { PubackPacket, PubcompPacket, PubrecPacket, PubrelPacket } from "./pubblishAcks.ts";
|
|
19
|
+
import type { SubscribePacket } from "./subscribe.ts";
|
|
20
|
+
import type { SubackPacket } from "./suback.ts";
|
|
21
|
+
import type { UnsubscribePacket } from "./unsubscribe.ts";
|
|
22
|
+
import type { UnsubackPacket } from "./unsuback.ts";
|
|
23
|
+
import type { PingreqPacket } from "./pingreq.ts";
|
|
24
|
+
import type { PingresPacket } from "./pingres.ts";
|
|
25
|
+
import type { DisconnectPacket } from "./disconnect.ts";
|
|
26
|
+
import type { AuthPacket } from "./auth.ts";
|
|
26
27
|
/**
|
|
27
28
|
* this can be any possible MQTT packet
|
|
28
29
|
*/
|
|
29
|
-
export type AnyPacket = ConnectPacket | ConnackPacket | PublishPacket | PubackPacket | PubrecPacket | PubrelPacket | PubcompPacket | SubscribePacket | SubackPacket | UnsubscribePacket | UnsubackPacket | PingreqPacket | PingresPacket | DisconnectPacket;
|
|
30
|
-
export type { ClientId, ConnackPacket, ConnectPacket, DisconnectPacket, Dup, PacketId, Payload, PingreqPacket, PingresPacket, PubackPacket, PubcompPacket, PublishPacket, PubrecPacket, PubrelPacket, QoS, ReturnCodes, SubackPacket, SubscribePacket, TAuthenticationResult, Topic, TopicFilter, TPacketType, UnsubackPacket, UnsubscribePacket, };
|
|
30
|
+
export type AnyPacket = ConnectPacket | ConnackPacket | PublishPacket | PubackPacket | PubrecPacket | PubrelPacket | PubcompPacket | SubscribePacket | SubackPacket | UnsubscribePacket | UnsubackPacket | PingreqPacket | PingresPacket | DisconnectPacket | AuthPacket;
|
|
31
|
+
export type { AuthPacket, ClientId, CodecOpts, ConnackPacket, ConnectPacket, DisconnectPacket, Dup, PacketId, Payload, PingreqPacket, PingresPacket, ProtocolLevel, PubackPacket, PubcompPacket, PublishPacket, PubrecPacket, PubrelPacket, QoS, ReturnCodes, SubackPacket, SubscribePacket, TAuthenticationResult, Topic, TopicFilter, TPacketType, TReasonCode, TRetainHandling, UnsubackPacket, UnsubscribePacket, UTF8StringPair, };
|
|
31
32
|
export type { Subscription } from "./subscribe.ts";
|
|
32
33
|
export { AuthenticationResult, AuthenticationResultByNumber, decodeLength, encodeLength, invalidTopic, invalidTopicFilter, invalidUTF8, PacketNameByType, PacketType, };
|
|
33
34
|
/**
|
|
@@ -35,115 +36,80 @@ export { AuthenticationResult, AuthenticationResultByNumber, decodeLength, encod
|
|
|
35
36
|
* Index corresponds to packet type number.
|
|
36
37
|
*/
|
|
37
38
|
export declare const packetsByType: readonly [null, {
|
|
38
|
-
encode(packet: ConnectPacket):
|
|
39
|
-
|
|
40
|
-
bytes: number[];
|
|
41
|
-
};
|
|
42
|
-
decode(buffer: Uint8Array, flags: number): ConnectPacket;
|
|
39
|
+
encode(packet: ConnectPacket, _codecOpts: CodecOpts): Uint8Array;
|
|
40
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): ConnectPacket;
|
|
43
41
|
}, {
|
|
44
|
-
encode(packet: ConnackPacket):
|
|
45
|
-
|
|
46
|
-
bytes: number[];
|
|
47
|
-
};
|
|
48
|
-
decode(buffer: Uint8Array, _flags: number): ConnackPacket | undefined;
|
|
42
|
+
encode(packet: ConnackPacket, codecOpts: CodecOpts): Uint8Array;
|
|
43
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): ConnackPacket;
|
|
49
44
|
}, {
|
|
50
|
-
encode(packet: PublishPacket):
|
|
51
|
-
|
|
52
|
-
bytes: number[];
|
|
53
|
-
};
|
|
54
|
-
decode(buffer: Uint8Array, flags: number): PublishPacket;
|
|
45
|
+
encode(packet: PublishPacket, _codecOpts: CodecOpts): Uint8Array;
|
|
46
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): PublishPacket;
|
|
55
47
|
}, {
|
|
56
|
-
encode(packet:
|
|
57
|
-
|
|
58
|
-
bytes: number[];
|
|
59
|
-
};
|
|
60
|
-
decode(buffer: Uint8Array): PubackPacket;
|
|
48
|
+
encode(packet: import("./pubblishAcks.ts").AnyAckPacket, codecOpts: CodecOpts): Uint8Array;
|
|
49
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): import("./pubblishAcks.ts").AnyAckPacket;
|
|
61
50
|
}, {
|
|
62
|
-
encode(packet:
|
|
63
|
-
|
|
64
|
-
bytes: number[];
|
|
65
|
-
};
|
|
66
|
-
decode(buffer: Uint8Array): PubrecPacket;
|
|
51
|
+
encode(packet: import("./pubblishAcks.ts").AnyAckPacket, codecOpts: CodecOpts): Uint8Array;
|
|
52
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): import("./pubblishAcks.ts").AnyAckPacket;
|
|
67
53
|
}, {
|
|
68
|
-
encode(packet:
|
|
69
|
-
|
|
70
|
-
bytes: number[];
|
|
71
|
-
};
|
|
72
|
-
decode(buffer: Uint8Array): PubrelPacket;
|
|
54
|
+
encode(packet: import("./pubblishAcks.ts").AnyAckPacket, codecOpts: CodecOpts): Uint8Array;
|
|
55
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): import("./pubblishAcks.ts").AnyAckPacket;
|
|
73
56
|
}, {
|
|
74
|
-
encode(packet:
|
|
75
|
-
|
|
76
|
-
bytes: number[];
|
|
77
|
-
};
|
|
78
|
-
decode(buffer: Uint8Array): PubcompPacket;
|
|
57
|
+
encode(packet: import("./pubblishAcks.ts").AnyAckPacket, codecOpts: CodecOpts): Uint8Array;
|
|
58
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): import("./pubblishAcks.ts").AnyAckPacket;
|
|
79
59
|
}, {
|
|
80
|
-
encode(packet: SubscribePacket):
|
|
81
|
-
|
|
82
|
-
bytes: number[];
|
|
83
|
-
};
|
|
84
|
-
decode(buffer: Uint8Array, flags: number): SubscribePacket;
|
|
60
|
+
encode(packet: SubscribePacket, codecOpts: CodecOpts): Uint8Array;
|
|
61
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): SubscribePacket;
|
|
85
62
|
}, {
|
|
86
|
-
encode(packet: SubackPacket):
|
|
87
|
-
|
|
88
|
-
bytes: number[];
|
|
89
|
-
};
|
|
90
|
-
decode(buffer: Uint8Array): SubackPacket;
|
|
63
|
+
encode(packet: SubackPacket, _codecOpts: CodecOpts): Uint8Array;
|
|
64
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): SubackPacket;
|
|
91
65
|
}, {
|
|
92
|
-
encode(packet: UnsubscribePacket):
|
|
93
|
-
|
|
94
|
-
bytes: number[];
|
|
95
|
-
};
|
|
96
|
-
decode(buffer: Uint8Array, flags: number): UnsubscribePacket;
|
|
66
|
+
encode(packet: UnsubscribePacket, codecOpts: CodecOpts): Uint8Array;
|
|
67
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): UnsubscribePacket;
|
|
97
68
|
}, {
|
|
98
|
-
encode(packet: UnsubackPacket):
|
|
99
|
-
|
|
100
|
-
bytes: number[];
|
|
101
|
-
};
|
|
102
|
-
decode(buffer: Uint8Array): UnsubackPacket;
|
|
69
|
+
encode(packet: UnsubackPacket, codecOpts: CodecOpts): Uint8Array;
|
|
70
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): UnsubackPacket;
|
|
103
71
|
}, {
|
|
104
|
-
encode(_packet: PingreqPacket):
|
|
105
|
-
|
|
106
|
-
bytes: number[];
|
|
107
|
-
};
|
|
108
|
-
decode(buffer: Uint8Array, flags: number): PingreqPacket;
|
|
72
|
+
encode(_packet: PingreqPacket, _codecOpts: CodecOpts): Uint8Array;
|
|
73
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, _packetType: TPacketType): PingreqPacket;
|
|
109
74
|
}, {
|
|
110
|
-
encode(
|
|
111
|
-
|
|
112
|
-
bytes: number[];
|
|
113
|
-
};
|
|
114
|
-
decode(buffer: Uint8Array): PingresPacket;
|
|
75
|
+
encode(packet: PingresPacket, _codecOpts: CodecOpts): Uint8Array;
|
|
76
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, _packetType: TPacketType): PingresPacket;
|
|
115
77
|
}, {
|
|
116
|
-
encode(_packet: DisconnectPacket):
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
decode(buffer: Uint8Array,
|
|
78
|
+
encode(_packet: DisconnectPacket, _codecOpts: CodecOpts): Uint8Array;
|
|
79
|
+
decode(buffer: Uint8Array, _flags: number, codecOpts: CodecOpts, packetType: TPacketType): DisconnectPacket;
|
|
80
|
+
}, {
|
|
81
|
+
encode(packet: AuthPacket, codecOpts: CodecOpts): Uint8Array;
|
|
82
|
+
decode(buffer: Uint8Array, flags: number, codecOpts: CodecOpts, packetType: TPacketType): AuthPacket;
|
|
121
83
|
}];
|
|
122
84
|
/**
|
|
123
85
|
* @function encode
|
|
124
86
|
* @description Encodes an MQTT packet object into a binary Uint8Array format
|
|
125
87
|
* @param {AnyPacket} packet - The MQTT packet object to encode
|
|
88
|
+
* @param {CodecOpts} codecOpts - options to use during encoding
|
|
126
89
|
* @returns {Uint8Array} The encoded packet as a binary buffer
|
|
127
90
|
* @throws {Error} If packet encoding fails
|
|
128
91
|
*/
|
|
129
|
-
export declare function encode(packet: AnyPacket): Uint8Array;
|
|
92
|
+
export declare function encode(packet: AnyPacket, codecOpts: CodecOpts): Uint8Array;
|
|
130
93
|
/**
|
|
131
94
|
* @function decodePayload
|
|
132
95
|
* @description Decodes a packet payload from binary format into an MQTT packet object
|
|
133
96
|
* @param {number} firstByte - The first byte of the MQTT packet containing type and flags
|
|
134
97
|
* @param {Uint8Array} buffer - The binary buffer containing the packet payload
|
|
98
|
+
* @param {CodecOpts} codecOpts - options to use during encoding
|
|
135
99
|
* @returns {AnyPacket} The decoded MQTT packet object
|
|
136
|
-
* @throws {
|
|
100
|
+
* @throws {DecoderError} If packet decoding fails
|
|
137
101
|
*/
|
|
138
|
-
export declare function decodePayload(firstByte: number, buffer: Uint8Array): AnyPacket;
|
|
102
|
+
export declare function decodePayload(firstByte: number, buffer: Uint8Array, codecOpts: CodecOpts): AnyPacket;
|
|
139
103
|
/**
|
|
140
104
|
* @function decode
|
|
141
105
|
* @description Decodes a complete MQTT packet from binary format into a packet object
|
|
106
|
+
*
|
|
142
107
|
* @param {Uint8Array} buffer - The binary buffer containing the complete MQTT packet
|
|
108
|
+
* @param {CodecOpts} codecOpts - the options for the decoder
|
|
143
109
|
* @returns {AnyPacket} The decoded MQTT packet object
|
|
144
110
|
* @throws {DecoderError} If packet decoding fails due to invalid format or insufficient data
|
|
145
111
|
*/
|
|
146
|
-
export declare function decode(buffer: Uint8Array): AnyPacket;
|
|
112
|
+
export declare function decode(buffer: Uint8Array, codecOpts: CodecOpts): AnyPacket;
|
|
147
113
|
export { getLengthDecoder } from "../mqttPacket/length.ts";
|
|
148
114
|
export type { LengthDecoderResult } from "../mqttPacket/length.ts";
|
|
149
115
|
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../mqttPacket/mod.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,OAAO,EACP,GAAG,EACH,WAAW,EACX,qBAAqB,EACrB,KAAK,EACL,WAAW,EACX,WAAW,
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../mqttPacket/mod.ts"],"names":[],"mappings":"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"}
|