abmqtts 0.0.3 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +175 -10
- package/dist/constants.d.ts +96 -0
- package/dist/constants.js +280 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors/index.d.ts +16 -8
- package/dist/errors/index.js +27 -22
- package/dist/errors/index.js.map +1 -1
- package/dist/extend.d.ts +25 -0
- package/dist/extend.js +91 -0
- package/dist/extend.js.map +1 -0
- package/dist/fbns/fbns.client.d.ts +31 -0
- package/dist/fbns/fbns.client.events.d.ts +41 -0
- package/dist/{reconnect-strategy/mqtts.reconnect-strategy.js → fbns/fbns.client.events.js} +1 -1
- package/dist/fbns/fbns.client.events.js.map +1 -0
- package/dist/fbns/fbns.client.js +227 -0
- package/dist/fbns/fbns.client.js.map +1 -0
- package/dist/fbns/fbns.device-auth.d.ts +17 -0
- package/dist/fbns/fbns.device-auth.js +54 -0
- package/dist/fbns/fbns.device-auth.js.map +1 -0
- package/dist/fbns/fbns.types.d.ts +83 -0
- package/dist/{mqtt.types.js → fbns/fbns.types.js} +1 -1
- package/dist/fbns/fbns.types.js.map +1 -0
- package/dist/fbns/fbns.utilities.d.ts +2 -0
- package/dist/fbns/fbns.utilities.js +78 -0
- package/dist/fbns/fbns.utilities.js.map +1 -0
- package/dist/fbns/index.d.ts +4 -0
- package/dist/{transport → fbns}/index.js +4 -5
- package/dist/fbns/index.js.map +1 -0
- package/dist/index.d.ts +5 -12
- package/dist/index.js +5 -12
- package/dist/index.js.map +1 -1
- package/dist/mqttot/index.d.ts +4 -0
- package/dist/mqttot/index.js +21 -0
- package/dist/mqttot/index.js.map +1 -0
- package/dist/mqttot/mqttot.client.d.ts +37 -0
- package/dist/mqttot/mqttot.client.js +113 -0
- package/dist/mqttot/mqttot.client.js.map +1 -0
- package/dist/mqttot/mqttot.connect.request.packet.d.ts +6 -0
- package/dist/mqttot/mqttot.connect.request.packet.js +8 -0
- package/dist/mqttot/mqttot.connect.request.packet.js.map +1 -0
- package/dist/mqttot/mqttot.connect.response.packet.d.ts +6 -0
- package/dist/mqttot/mqttot.connect.response.packet.js +27 -0
- package/dist/mqttot/mqttot.connect.response.packet.js.map +1 -0
- package/dist/mqttot/mqttot.connection.d.ts +56 -0
- package/dist/mqttot/mqttot.connection.js +56 -0
- package/dist/mqttot/mqttot.connection.js.map +1 -0
- package/dist/realtime/commands/commands.d.ts +15 -0
- package/dist/realtime/commands/commands.js +21 -0
- package/dist/realtime/commands/commands.js.map +1 -0
- package/dist/realtime/commands/direct.commands.d.ts +67 -0
- package/dist/realtime/commands/direct.commands.js +179 -0
- package/dist/realtime/commands/direct.commands.js.map +1 -0
- package/dist/realtime/commands/index.d.ts +2 -0
- package/dist/{reconnect-strategy → realtime/commands}/index.js +2 -2
- package/dist/realtime/commands/index.js.map +1 -0
- package/dist/realtime/index.d.ts +6 -0
- package/dist/realtime/index.js +23 -0
- package/dist/realtime/index.js.map +1 -0
- package/dist/realtime/messages/app-presence.event.d.ts +9 -0
- package/dist/realtime/messages/app-presence.event.js +3 -0
- package/dist/realtime/messages/app-presence.event.js.map +1 -0
- package/dist/realtime/messages/index.d.ts +3 -0
- package/dist/realtime/messages/index.js +20 -0
- package/dist/realtime/messages/index.js.map +1 -0
- package/dist/realtime/messages/message-sync.message.d.ts +222 -0
- package/dist/realtime/messages/message-sync.message.js +43 -0
- package/dist/realtime/messages/message-sync.message.js.map +1 -0
- package/dist/realtime/messages/realtime-sub.direct.data.d.ts +11 -0
- package/dist/realtime/messages/realtime-sub.direct.data.js +3 -0
- package/dist/realtime/messages/realtime-sub.direct.data.js.map +1 -0
- package/dist/realtime/messages/thread-update.message.d.ts +68 -0
- package/dist/realtime/messages/thread-update.message.js +3 -0
- package/dist/realtime/messages/thread-update.message.js.map +1 -0
- package/dist/realtime/mixins/index.d.ts +3 -0
- package/dist/realtime/mixins/index.js +20 -0
- package/dist/realtime/mixins/index.js.map +1 -0
- package/dist/realtime/mixins/message-sync.mixin.d.ts +8 -0
- package/dist/realtime/mixins/message-sync.mixin.js +81 -0
- package/dist/realtime/mixins/message-sync.mixin.js.map +1 -0
- package/dist/realtime/mixins/mixin.d.ts +19 -0
- package/dist/realtime/mixins/mixin.js +41 -0
- package/dist/realtime/mixins/mixin.js.map +1 -0
- package/dist/realtime/mixins/realtime-sub.mixin.d.ts +8 -0
- package/dist/realtime/mixins/realtime-sub.mixin.js +66 -0
- package/dist/realtime/mixins/realtime-sub.mixin.js.map +1 -0
- package/dist/realtime/parsers/graphql.parser.d.ts +14 -0
- package/dist/realtime/parsers/graphql.parser.js +22 -0
- package/dist/realtime/parsers/graphql.parser.js.map +1 -0
- package/dist/realtime/parsers/index.d.ts +6 -0
- package/dist/realtime/parsers/index.js +23 -0
- package/dist/realtime/parsers/index.js.map +1 -0
- package/dist/realtime/parsers/iris.parser.d.ts +16 -0
- package/dist/realtime/parsers/iris.parser.js +10 -0
- package/dist/realtime/parsers/iris.parser.js.map +1 -0
- package/dist/realtime/parsers/json.parser.d.ts +5 -0
- package/dist/realtime/parsers/json.parser.js +10 -0
- package/dist/realtime/parsers/json.parser.js.map +1 -0
- package/dist/realtime/parsers/parser.d.ts +8 -0
- package/dist/{flow/packet-flow.js → realtime/parsers/parser.js} +1 -1
- package/dist/realtime/parsers/parser.js.map +1 -0
- package/dist/realtime/parsers/region-hint.parser.d.ts +11 -0
- package/dist/realtime/parsers/region-hint.parser.js +15 -0
- package/dist/realtime/parsers/region-hint.parser.js.map +1 -0
- package/dist/realtime/parsers/skywalker.parser.d.ts +11 -0
- package/dist/realtime/parsers/skywalker.parser.js +15 -0
- package/dist/realtime/parsers/skywalker.parser.js.map +1 -0
- package/dist/realtime/realtime.client.d.ts +54 -0
- package/dist/realtime/realtime.client.events.d.ts +35 -0
- package/dist/realtime/realtime.client.events.js +3 -0
- package/dist/realtime/realtime.client.events.js.map +1 -0
- package/dist/realtime/realtime.client.js +248 -0
- package/dist/realtime/realtime.client.js.map +1 -0
- package/dist/realtime/subscriptions/graphql.subscription.d.ts +47 -0
- package/dist/realtime/subscriptions/graphql.subscription.js +99 -0
- package/dist/realtime/subscriptions/graphql.subscription.js.map +1 -0
- package/dist/realtime/subscriptions/index.d.ts +2 -0
- package/dist/{flow → realtime/subscriptions}/index.js +2 -3
- package/dist/realtime/subscriptions/index.js.map +1 -0
- package/dist/realtime/subscriptions/skywalker.subscription.d.ts +4 -0
- package/dist/realtime/subscriptions/skywalker.subscription.js +13 -0
- package/dist/realtime/subscriptions/skywalker.subscription.js.map +1 -0
- package/dist/shared.d.ts +21 -0
- package/dist/shared.js +86 -0
- package/dist/shared.js.map +1 -0
- package/dist/thrift/index.d.ts +3 -0
- package/dist/thrift/index.js +20 -0
- package/dist/thrift/index.js.map +1 -0
- package/dist/thrift/thrift.d.ts +59 -0
- package/dist/thrift/thrift.js +101 -0
- package/dist/thrift/thrift.js.map +1 -0
- package/dist/thrift/thrift.reading.d.ts +40 -0
- package/dist/thrift/thrift.reading.js +327 -0
- package/dist/thrift/thrift.reading.js.map +1 -0
- package/dist/thrift/thrift.writing.d.ts +43 -0
- package/dist/thrift/thrift.writing.js +342 -0
- package/dist/thrift/thrift.writing.js.map +1 -0
- package/dist/topic.d.ts +7 -0
- package/dist/{mqtt.message.js → topic.js} +1 -1
- package/dist/topic.js.map +1 -0
- package/package.json +59 -68
- package/dist/errors/abort.error.d.ts +0 -3
- package/dist/errors/abort.error.js +0 -8
- package/dist/errors/abort.error.js.map +0 -1
- package/dist/errors/connect.error.d.ts +0 -5
- package/dist/errors/connect.error.js +0 -12
- package/dist/errors/connect.error.js.map +0 -1
- package/dist/errors/end-of-stream.error.d.ts +0 -3
- package/dist/errors/end-of-stream.error.js +0 -8
- package/dist/errors/end-of-stream.error.js.map +0 -1
- package/dist/errors/flow-stopped.error.d.ts +0 -3
- package/dist/errors/flow-stopped.error.js +0 -8
- package/dist/errors/flow-stopped.error.js.map +0 -1
- package/dist/errors/illegal-state.error.d.ts +0 -3
- package/dist/errors/illegal-state.error.js +0 -8
- package/dist/errors/illegal-state.error.js.map +0 -1
- package/dist/errors/malformed-packet.error.d.ts +0 -3
- package/dist/errors/malformed-packet.error.js +0 -8
- package/dist/errors/malformed-packet.error.js.map +0 -1
- package/dist/errors/subscribe.error.d.ts +0 -3
- package/dist/errors/subscribe.error.js +0 -8
- package/dist/errors/subscribe.error.js.map +0 -1
- package/dist/errors/unexpected-packet.error.d.ts +0 -3
- package/dist/errors/unexpected-packet.error.js +0 -8
- package/dist/errors/unexpected-packet.error.js.map +0 -1
- package/dist/flow/incoming.flows.d.ts +0 -6
- package/dist/flow/incoming.flows.js +0 -39
- package/dist/flow/incoming.flows.js.map +0 -1
- package/dist/flow/index.d.ts +0 -3
- package/dist/flow/index.js.map +0 -1
- package/dist/flow/outgoing.flows.d.ts +0 -12
- package/dist/flow/outgoing.flows.js +0 -115
- package/dist/flow/outgoing.flows.js.map +0 -1
- package/dist/flow/packet-flow.d.ts +0 -17
- package/dist/flow/packet-flow.js.map +0 -1
- package/dist/mqtt.base-client.d.ts +0 -54
- package/dist/mqtt.base-client.js +0 -102
- package/dist/mqtt.base-client.js.map +0 -1
- package/dist/mqtt.client.d.ts +0 -75
- package/dist/mqtt.client.js +0 -417
- package/dist/mqtt.client.js.map +0 -1
- package/dist/mqtt.constants.d.ts +0 -34
- package/dist/mqtt.constants.js +0 -26
- package/dist/mqtt.constants.js.map +0 -1
- package/dist/mqtt.listener.d.ts +0 -21
- package/dist/mqtt.listener.js +0 -29
- package/dist/mqtt.listener.js.map +0 -1
- package/dist/mqtt.message.d.ts +0 -14
- package/dist/mqtt.message.js.map +0 -1
- package/dist/mqtt.packet.d.ts +0 -9
- package/dist/mqtt.packet.js +0 -15
- package/dist/mqtt.packet.js.map +0 -1
- package/dist/mqtt.parser.d.ts +0 -21
- package/dist/mqtt.parser.js +0 -71
- package/dist/mqtt.parser.js.map +0 -1
- package/dist/mqtt.types.d.ts +0 -52
- package/dist/mqtt.types.js.map +0 -1
- package/dist/mqtt.utilities.d.ts +0 -32
- package/dist/mqtt.utilities.js +0 -139
- package/dist/mqtt.utilities.js.map +0 -1
- package/dist/packet-stream.d.ts +0 -37
- package/dist/packet-stream.js +0 -150
- package/dist/packet-stream.js.map +0 -1
- package/dist/packets/connect.request.packet.d.ts +0 -22
- package/dist/packets/connect.request.packet.js +0 -41
- package/dist/packets/connect.request.packet.js.map +0 -1
- package/dist/packets/connect.response.packet.d.ts +0 -18
- package/dist/packets/connect.response.packet.js +0 -43
- package/dist/packets/connect.response.packet.js.map +0 -1
- package/dist/packets/disconnect.request.packet.d.ts +0 -2
- package/dist/packets/disconnect.request.packet.js +0 -7
- package/dist/packets/disconnect.request.packet.js.map +0 -1
- package/dist/packets/index.d.ts +0 -16
- package/dist/packets/index.js +0 -33
- package/dist/packets/index.js.map +0 -1
- package/dist/packets/packet-reader.d.ts +0 -31
- package/dist/packets/packet-reader.js +0 -27
- package/dist/packets/packet-reader.js.map +0 -1
- package/dist/packets/packet-writer.d.ts +0 -48
- package/dist/packets/packet-writer.js +0 -58
- package/dist/packets/packet-writer.js.map +0 -1
- package/dist/packets/ping.request.packet.d.ts +0 -5
- package/dist/packets/ping.request.packet.js +0 -17
- package/dist/packets/ping.request.packet.js.map +0 -1
- package/dist/packets/ping.response.packet.d.ts +0 -5
- package/dist/packets/ping.response.packet.js +0 -17
- package/dist/packets/ping.response.packet.js.map +0 -1
- package/dist/packets/publish.ack.packet.d.ts +0 -8
- package/dist/packets/publish.ack.packet.js +0 -19
- package/dist/packets/publish.ack.packet.js.map +0 -1
- package/dist/packets/publish.complete.packet.d.ts +0 -8
- package/dist/packets/publish.complete.packet.js +0 -19
- package/dist/packets/publish.complete.packet.js.map +0 -1
- package/dist/packets/publish.received.packet.d.ts +0 -8
- package/dist/packets/publish.received.packet.js +0 -19
- package/dist/packets/publish.received.packet.js.map +0 -1
- package/dist/packets/publish.release.packet.d.ts +0 -8
- package/dist/packets/publish.release.packet.js +0 -19
- package/dist/packets/publish.release.packet.js.map +0 -1
- package/dist/packets/publish.request.packet.d.ts +0 -21
- package/dist/packets/publish.request.packet.js +0 -55
- package/dist/packets/publish.request.packet.js.map +0 -1
- package/dist/packets/subscribe.request.packet.d.ts +0 -10
- package/dist/packets/subscribe.request.packet.js +0 -15
- package/dist/packets/subscribe.request.packet.js.map +0 -1
- package/dist/packets/subscribe.response.packet.d.ts +0 -14
- package/dist/packets/subscribe.response.packet.js +0 -35
- package/dist/packets/subscribe.response.packet.js.map +0 -1
- package/dist/packets/unsubscribe.request.packet.d.ts +0 -7
- package/dist/packets/unsubscribe.request.packet.js +0 -13
- package/dist/packets/unsubscribe.request.packet.js.map +0 -1
- package/dist/packets/unsubscribe.response.packet.d.ts +0 -5
- package/dist/packets/unsubscribe.response.packet.js +0 -14
- package/dist/packets/unsubscribe.response.packet.js.map +0 -1
- package/dist/reconnect-strategy/index.d.ts +0 -2
- package/dist/reconnect-strategy/index.js.map +0 -1
- package/dist/reconnect-strategy/mqtts.reconnect-strategy.d.ts +0 -14
- package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.d.ts +0 -24
- package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.js +0 -56
- package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.js.map +0 -1
- package/dist/reconnect-strategy/mqtts.reconnect-strategy.js.map +0 -1
- package/dist/transport/index.d.ts +0 -5
- package/dist/transport/index.js.map +0 -1
- package/dist/transport/socks-tls.transport.d.ts +0 -13
- package/dist/transport/socks-tls.transport.js +0 -54
- package/dist/transport/socks-tls.transport.js.map +0 -1
- package/dist/transport/tcp.transport.d.ts +0 -12
- package/dist/transport/tcp.transport.js +0 -26
- package/dist/transport/tcp.transport.js.map +0 -1
- package/dist/transport/tls.transport.d.ts +0 -13
- package/dist/transport/tls.transport.js +0 -44
- package/dist/transport/tls.transport.js.map +0 -1
- package/dist/transport/transport.d.ts +0 -19
- package/dist/transport/transport.js +0 -16
- package/dist/transport/transport.js.map +0 -1
- package/dist/transport/websocket.transport.d.ts +0 -15
- package/dist/transport/websocket.transport.js +0 -40
- package/dist/transport/websocket.transport.js.map +0 -1
package/dist/mqtt.parser.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MqttTransformer = void 0;
|
|
4
|
-
const mqtt_constants_1 = require("./mqtt.constants");
|
|
5
|
-
const packet_stream_1 = require("./packet-stream");
|
|
6
|
-
const errors_1 = require("./errors");
|
|
7
|
-
const stream_1 = require("stream");
|
|
8
|
-
const packet_reader_1 = require("./packets/packet-reader");
|
|
9
|
-
class MqttTransformer extends stream_1.Transform {
|
|
10
|
-
constructor(options = {}) {
|
|
11
|
-
super({ objectMode: true });
|
|
12
|
-
this.options = options;
|
|
13
|
-
// force the type here
|
|
14
|
-
this.mapping = packet_reader_1.DefaultPacketReadMap;
|
|
15
|
-
this.internalStream = undefined;
|
|
16
|
-
this.mapping = {
|
|
17
|
-
...this.mapping,
|
|
18
|
-
...options.mapping,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
_transform(chunk, encoding, callback) {
|
|
22
|
-
if (!Buffer.isBuffer(chunk)) {
|
|
23
|
-
callback(new Error('Expected a Buffer'));
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const stream = this.internalStream ? this.internalStream.write(chunk, false) : packet_stream_1.PacketStream.fromBuffer(chunk);
|
|
27
|
-
this.internalStream = undefined;
|
|
28
|
-
let startPos = 0;
|
|
29
|
-
while (stream.remainingBytes > 0) {
|
|
30
|
-
const firstByte = stream.readByte();
|
|
31
|
-
const type = (firstByte >> 4);
|
|
32
|
-
const flags = firstByte & 0x0f;
|
|
33
|
-
const packetFn = this.mapping[type];
|
|
34
|
-
if (!packetFn) {
|
|
35
|
-
callback(new errors_1.UnexpectedPacketError(`No packet found for ${type}; @${stream.position - 1} len: ${stream.length}`));
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
let remainingLength = -1;
|
|
39
|
-
try {
|
|
40
|
-
remainingLength = stream.readVariableByteInteger();
|
|
41
|
-
const packet = packetFn(stream, remainingLength, flags);
|
|
42
|
-
this.push({
|
|
43
|
-
type,
|
|
44
|
-
data: packet,
|
|
45
|
-
flags,
|
|
46
|
-
});
|
|
47
|
-
stream.cut();
|
|
48
|
-
startPos = stream.position;
|
|
49
|
-
}
|
|
50
|
-
catch (e) {
|
|
51
|
-
if (e instanceof errors_1.EndOfStreamError) {
|
|
52
|
-
this.options.debug?.(`EOS:\n ${remainingLength} got: ${stream.length} (+) ${chunk.byteLength};\n return: ${startPos};`);
|
|
53
|
-
stream.position = startPos;
|
|
54
|
-
this.internalStream = stream.cut();
|
|
55
|
-
callback();
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
callback(new errors_1.MalformedPacketError(`Error in parser (type: ${(0, mqtt_constants_1.packetTypeToString)(type)}): ${e instanceof Error ? e.message : e} - stream: ${stream.data.toString('base64')}`));
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
callback();
|
|
65
|
-
}
|
|
66
|
-
reset() {
|
|
67
|
-
this.internalStream = undefined;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.MqttTransformer = MqttTransformer;
|
|
71
|
-
//# sourceMappingURL=mqtt.parser.js.map
|
package/dist/mqtt.parser.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt.parser.js","sourceRoot":"","sources":["../src/mqtt.parser.ts"],"names":[],"mappings":"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"}
|
package/dist/mqtt.types.d.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { ConnectRequestOptions } from './packets';
|
|
2
|
-
import { MqttTransformer } from './mqtt.parser';
|
|
3
|
-
import { Transport } from './transport';
|
|
4
|
-
import { XOR } from 'ts-xor';
|
|
5
|
-
import { MqttMessage } from './mqtt.message';
|
|
6
|
-
import { DefaultPacketReadResultMap, PacketReadMap, PacketReadResultMap, DefaultPacketWriteOptions, PacketWriteMap, PacketWriteOptionsMap, PacketWriter } from './packets';
|
|
7
|
-
import { TransformerFn, ValidatorFn } from './mqtt.listener';
|
|
8
|
-
import { MqttsReconnectStrategy } from './reconnect-strategy';
|
|
9
|
-
export type MqttClientConstructorOptions<ReadMap extends PacketReadResultMap = DefaultPacketReadResultMap, WriteMap extends PacketWriteOptionsMap = DefaultPacketWriteOptions> = XOR<{
|
|
10
|
-
transport: Transport<unknown>;
|
|
11
|
-
}, {
|
|
12
|
-
host: string;
|
|
13
|
-
port: number;
|
|
14
|
-
enableTrace?: boolean;
|
|
15
|
-
}> & {
|
|
16
|
-
readMap?: PacketReadMap<ReadMap>;
|
|
17
|
-
createTransformer?: () => MqttTransformer<ReadMap>;
|
|
18
|
-
writeMap?: PacketWriteMap<WriteMap>;
|
|
19
|
-
packetWriter?: PacketWriter<WriteMap>;
|
|
20
|
-
autoReconnect?: MqttsReconnectStrategy | boolean;
|
|
21
|
-
};
|
|
22
|
-
export interface MqttSubscription {
|
|
23
|
-
topic: string;
|
|
24
|
-
qosLevel?: number;
|
|
25
|
-
}
|
|
26
|
-
export type RegisterClientOptions = ConnectRequestOptions;
|
|
27
|
-
export type TimerRef = any;
|
|
28
|
-
export type ExecutePeriodically = (timeInMs: number, action: () => void) => TimerRef;
|
|
29
|
-
export type ExecuteDelayed = (timeInMs: number, action: () => void) => TimerRef;
|
|
30
|
-
export type StopExecuting = (ref: TimerRef) => void;
|
|
31
|
-
export type AsyncLike<TIn, TOut> = (data: TIn) => TOut | PromiseLike<TOut>;
|
|
32
|
-
export interface ListenerInfo<TIn, TOut> {
|
|
33
|
-
eventName: string;
|
|
34
|
-
validator: (data: TIn) => boolean | PromiseLike<boolean>;
|
|
35
|
-
transformer?: (data: TIn) => TOut | PromiseLike<TOut>;
|
|
36
|
-
onData: (data: TOut) => void | PromiseLike<void>;
|
|
37
|
-
}
|
|
38
|
-
export interface ListenOptions<TOut, Params extends Record<string, string>> {
|
|
39
|
-
topic: string;
|
|
40
|
-
validator?: ValidatorFn<Params>;
|
|
41
|
-
transformer?: TransformerFn<TOut, Params>;
|
|
42
|
-
}
|
|
43
|
-
export interface ListenSubscribeOptions<TOut, Params extends Record<string, string>> extends ListenOptions<TOut, Params> {
|
|
44
|
-
subscriptionInfo?: Partial<MqttSubscription>;
|
|
45
|
-
}
|
|
46
|
-
export interface IncomingListenMessage<T extends Record<string, string> = Record<string, string>> extends MqttMessage {
|
|
47
|
-
params?: T;
|
|
48
|
-
}
|
|
49
|
-
export type Resolvable<T extends Record<string, unknown>> = (() => Promise<T>) | (() => T) | T;
|
|
50
|
-
export interface IdentifierData {
|
|
51
|
-
identifier: number;
|
|
52
|
-
}
|
package/dist/mqtt.types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt.types.js","sourceRoot":"","sources":["../src/mqtt.types.ts"],"names":[],"mappings":""}
|
package/dist/mqtt.utilities.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Resolvable } from './mqtt.types';
|
|
2
|
-
import { ConnectResponsePacket, PingResponsePacket, PublishAckPacket, PublishCompletePacket, PublishReceivedPacket, PublishReleasePacket, PublishRequestPacket, SubscribeResponsePacket, UnsubscribeResponsePacket } from './packets';
|
|
3
|
-
import { PacketType } from './mqtt.constants';
|
|
4
|
-
export declare function matchTopic(baseTopic: string, incomingTopic: string): boolean;
|
|
5
|
-
export declare function expectRemainingLength(length: number, expected?: number): void;
|
|
6
|
-
export declare function removeUntil(input: string, char: string): string;
|
|
7
|
-
export declare function extractParams(template: string, topic: string): Record<string, string>;
|
|
8
|
-
export interface Resolvers<T> {
|
|
9
|
-
resolve: (value: T) => void;
|
|
10
|
-
reject: (error: Error) => void;
|
|
11
|
-
}
|
|
12
|
-
export declare const nullOrUndefined: (input: unknown) => input is null | undefined;
|
|
13
|
-
export declare const isConnAck: (target: unknown) => target is ConnectResponsePacket;
|
|
14
|
-
export declare const isPublish: (target: unknown) => target is PublishRequestPacket;
|
|
15
|
-
export declare const isPubAck: (target: unknown) => target is PublishAckPacket;
|
|
16
|
-
export declare const isPubRec: (target: unknown) => target is PublishReceivedPacket;
|
|
17
|
-
export declare const isPubRel: (target: unknown) => target is PublishReleasePacket;
|
|
18
|
-
export declare const isPubComp: (target: unknown) => target is PublishCompletePacket;
|
|
19
|
-
export declare const isSubAck: (target: unknown) => target is SubscribeResponsePacket;
|
|
20
|
-
export declare const isUnsubAck: (target: unknown) => target is UnsubscribeResponsePacket;
|
|
21
|
-
export declare const isPingResp: (target: unknown) => target is PingResponsePacket;
|
|
22
|
-
export declare function resolve<T extends Record<string, unknown>>(resolvable: Resolvable<T>): Promise<T>;
|
|
23
|
-
export declare function notUndefined<T>(value: T | undefined): value is T;
|
|
24
|
-
export declare function toBuffer(value: Buffer | string): Buffer;
|
|
25
|
-
export declare function toMqttTopicFilter(paramString: string): [string, string?];
|
|
26
|
-
export declare function createDefaultPacketLogger(debug: (data: string) => void): (packetType: PacketType, packetInfo: Record<string, string | number | boolean | undefined>) => void;
|
|
27
|
-
export declare function stringifyObject(obj: Record<string, unknown>): string;
|
|
28
|
-
export declare function createFlowCounter(): {
|
|
29
|
-
next(): number;
|
|
30
|
-
} | {
|
|
31
|
-
next(): bigint;
|
|
32
|
-
};
|
package/dist/mqtt.utilities.js
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isPingResp = exports.isUnsubAck = exports.isSubAck = exports.isPubComp = exports.isPubRel = exports.isPubRec = exports.isPubAck = exports.isPublish = exports.isConnAck = exports.nullOrUndefined = void 0;
|
|
4
|
-
exports.matchTopic = matchTopic;
|
|
5
|
-
exports.expectRemainingLength = expectRemainingLength;
|
|
6
|
-
exports.removeUntil = removeUntil;
|
|
7
|
-
exports.extractParams = extractParams;
|
|
8
|
-
exports.resolve = resolve;
|
|
9
|
-
exports.notUndefined = notUndefined;
|
|
10
|
-
exports.toBuffer = toBuffer;
|
|
11
|
-
exports.toMqttTopicFilter = toMqttTopicFilter;
|
|
12
|
-
exports.createDefaultPacketLogger = createDefaultPacketLogger;
|
|
13
|
-
exports.stringifyObject = stringifyObject;
|
|
14
|
-
exports.createFlowCounter = createFlowCounter;
|
|
15
|
-
const packets_1 = require("./packets");
|
|
16
|
-
const mqtt_constants_1 = require("./mqtt.constants");
|
|
17
|
-
function matchTopic(baseTopic, incomingTopic) {
|
|
18
|
-
if (baseTopic.length === incomingTopic.length && baseTopic === incomingTopic)
|
|
19
|
-
return true;
|
|
20
|
-
const parts = baseTopic.split('+');
|
|
21
|
-
let remaining = incomingTopic;
|
|
22
|
-
for (const part of parts) {
|
|
23
|
-
if (!remaining.startsWith(part)) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
remaining = removeUntil(remaining.substring(part.length), '/');
|
|
27
|
-
}
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
function expectRemainingLength(length, expected) {
|
|
31
|
-
if (!expected) {
|
|
32
|
-
expected = 0;
|
|
33
|
-
}
|
|
34
|
-
if (length !== expected) {
|
|
35
|
-
throw new Error(`Expected remaining length to be ${expected} but got ${length}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function removeUntil(input, char) {
|
|
39
|
-
return input.substring(Math.max(input.indexOf(char), 0));
|
|
40
|
-
}
|
|
41
|
-
function extractParams(template, topic) {
|
|
42
|
-
const templateParts = template.split('/');
|
|
43
|
-
const topicParts = topic.split('/');
|
|
44
|
-
const params = {};
|
|
45
|
-
for (let i = 0; i < Math.min(templateParts.length, topicParts.length); i++) {
|
|
46
|
-
if (templateParts[i].startsWith(':')) {
|
|
47
|
-
params[templateParts[i].substring(1)] = topicParts[i];
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return params;
|
|
51
|
-
}
|
|
52
|
-
const nullOrUndefined = (input) => input == undefined;
|
|
53
|
-
exports.nullOrUndefined = nullOrUndefined;
|
|
54
|
-
const isConnAck = (target) => target instanceof packets_1.ConnectResponsePacket;
|
|
55
|
-
exports.isConnAck = isConnAck;
|
|
56
|
-
const isPublish = (target) => target instanceof packets_1.PublishRequestPacket;
|
|
57
|
-
exports.isPublish = isPublish;
|
|
58
|
-
const isPubAck = (target) => target instanceof packets_1.PublishAckPacket;
|
|
59
|
-
exports.isPubAck = isPubAck;
|
|
60
|
-
const isPubRec = (target) => target instanceof packets_1.PublishReceivedPacket;
|
|
61
|
-
exports.isPubRec = isPubRec;
|
|
62
|
-
const isPubRel = (target) => target instanceof packets_1.PublishReleasePacket;
|
|
63
|
-
exports.isPubRel = isPubRel;
|
|
64
|
-
const isPubComp = (target) => target instanceof packets_1.PublishCompletePacket;
|
|
65
|
-
exports.isPubComp = isPubComp;
|
|
66
|
-
const isSubAck = (target) => target instanceof packets_1.SubscribeResponsePacket;
|
|
67
|
-
exports.isSubAck = isSubAck;
|
|
68
|
-
const isUnsubAck = (target) => target instanceof packets_1.UnsubscribeResponsePacket;
|
|
69
|
-
exports.isUnsubAck = isUnsubAck;
|
|
70
|
-
const isPingResp = (target) => target instanceof packets_1.PingResponsePacket;
|
|
71
|
-
exports.isPingResp = isPingResp;
|
|
72
|
-
async function resolve(resolvable) {
|
|
73
|
-
return typeof resolvable === 'object' ? resolvable : await resolvable();
|
|
74
|
-
}
|
|
75
|
-
function notUndefined(value) {
|
|
76
|
-
return typeof value !== 'undefined';
|
|
77
|
-
}
|
|
78
|
-
function toBuffer(value) {
|
|
79
|
-
return typeof value === 'string' ? Buffer.from(value) : value;
|
|
80
|
-
}
|
|
81
|
-
const paramRegex = /\/:[A-Za-z-_0-9]+/g;
|
|
82
|
-
function toMqttTopicFilter(paramString) {
|
|
83
|
-
if (paramString.match(paramRegex)) {
|
|
84
|
-
return [paramString.replace(paramRegex, '/+'), paramString];
|
|
85
|
-
}
|
|
86
|
-
return [paramString];
|
|
87
|
-
}
|
|
88
|
-
function createDefaultPacketLogger(debug) {
|
|
89
|
-
return (packetType, packetInfo) => {
|
|
90
|
-
if (packetType !== mqtt_constants_1.PacketType.PingReq && packetType !== mqtt_constants_1.PacketType.PingResp) {
|
|
91
|
-
debug(`Write ${(0, mqtt_constants_1.packetTypeToString)(packetType)} ${stringifyObject(packetInfo)}`);
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
function stringifyObject(obj) {
|
|
96
|
-
return `${obj.constructor === Object ? '' : `${obj.constructor.name} `}{${Object.entries(obj)
|
|
97
|
-
.filter(([, v]) => typeof v !== 'undefined')
|
|
98
|
-
.map(([k, v]) => `${k}: ${stringifyValue(v)}`)
|
|
99
|
-
.join(', ')}}`;
|
|
100
|
-
}
|
|
101
|
-
function stringifyValue(value) {
|
|
102
|
-
if (typeof value === 'object') {
|
|
103
|
-
if (value === null) {
|
|
104
|
-
return '<null>';
|
|
105
|
-
}
|
|
106
|
-
else if (Array.isArray(value)) {
|
|
107
|
-
return `<Array { len: ${value.length}}>`;
|
|
108
|
-
}
|
|
109
|
-
else if (Buffer.isBuffer(value)) {
|
|
110
|
-
return `<Buffer { bytes: ${value.byteLength}}>`;
|
|
111
|
-
}
|
|
112
|
-
else if (value.constructor !== Object) {
|
|
113
|
-
return `<${value.constructor.name}>`;
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
return '{...}';
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
return typeof value === 'string' ? `"${value}"` : String(value);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
function createFlowCounter() {
|
|
124
|
-
if (!globalThis.BigInt) {
|
|
125
|
-
let count = 0;
|
|
126
|
-
return {
|
|
127
|
-
next() {
|
|
128
|
-
return ++count;
|
|
129
|
-
},
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
let count = BigInt(0);
|
|
133
|
-
return {
|
|
134
|
-
next() {
|
|
135
|
-
return (count += BigInt(1));
|
|
136
|
-
},
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
//# sourceMappingURL=mqtt.utilities.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt.utilities.js","sourceRoot":"","sources":["../src/mqtt.utilities.ts"],"names":[],"mappings":"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"}
|
package/dist/packet-stream.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
export declare class PacketStream {
|
|
2
|
-
set position(value: number);
|
|
3
|
-
get position(): number;
|
|
4
|
-
get data(): Buffer;
|
|
5
|
-
get length(): number;
|
|
6
|
-
get remainingBytes(): number;
|
|
7
|
-
private _data;
|
|
8
|
-
private _position;
|
|
9
|
-
private constructor();
|
|
10
|
-
static fromLength(len: number): PacketStream;
|
|
11
|
-
static fromBuffer(buf: Buffer): PacketStream;
|
|
12
|
-
static fromString(data: string): PacketStream;
|
|
13
|
-
static empty(): PacketStream;
|
|
14
|
-
static fromHex(hex: string): PacketStream;
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
* @param {number} steps - steps to move
|
|
18
|
-
* @returns {number} Position before moving
|
|
19
|
-
*/
|
|
20
|
-
private move;
|
|
21
|
-
seek(len: number): this;
|
|
22
|
-
cut(): this;
|
|
23
|
-
write(data: Buffer, move?: boolean): this;
|
|
24
|
-
writeRawString(data: string): this;
|
|
25
|
-
writeByte(num: number): this;
|
|
26
|
-
writeWord(num: number): this;
|
|
27
|
-
writeString(str: string): this;
|
|
28
|
-
writeRawAndLength(data: Buffer): this;
|
|
29
|
-
writeVariableByteInteger(value: number): this;
|
|
30
|
-
read(len: number): Buffer;
|
|
31
|
-
readSlice(end: number): Buffer<ArrayBuffer>;
|
|
32
|
-
readByte(): number;
|
|
33
|
-
readWord(): number;
|
|
34
|
-
readString(): string;
|
|
35
|
-
readStringAsBuffer(): Buffer;
|
|
36
|
-
readVariableByteInteger(): number;
|
|
37
|
-
}
|
package/dist/packet-stream.js
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PacketStream = void 0;
|
|
4
|
-
/*
|
|
5
|
-
|
|
6
|
-
Based on: https://github.com/binsoul/net-mqtt/blob/master/src/PacketStream.php
|
|
7
|
-
Last revision: 10-Sep-19
|
|
8
|
-
|
|
9
|
-
*/
|
|
10
|
-
const errors_1 = require("./errors");
|
|
11
|
-
class PacketStream {
|
|
12
|
-
set position(value) {
|
|
13
|
-
this._position = value;
|
|
14
|
-
}
|
|
15
|
-
get position() {
|
|
16
|
-
return this._position;
|
|
17
|
-
}
|
|
18
|
-
get data() {
|
|
19
|
-
return this._data;
|
|
20
|
-
}
|
|
21
|
-
get length() {
|
|
22
|
-
return this._data ? this._data.length : 0;
|
|
23
|
-
}
|
|
24
|
-
get remainingBytes() {
|
|
25
|
-
return this.length - this.position;
|
|
26
|
-
}
|
|
27
|
-
constructor(data, length, buffer) {
|
|
28
|
-
this._position = 0;
|
|
29
|
-
this._data = data ? Buffer.from(data) : length ? Buffer.alloc(length) : buffer ? buffer : Buffer.from([]);
|
|
30
|
-
this.position = 0;
|
|
31
|
-
}
|
|
32
|
-
static fromLength(len) {
|
|
33
|
-
return new PacketStream(undefined, len, undefined);
|
|
34
|
-
}
|
|
35
|
-
static fromBuffer(buf) {
|
|
36
|
-
return new PacketStream(undefined, undefined, buf);
|
|
37
|
-
}
|
|
38
|
-
static fromString(data) {
|
|
39
|
-
return new PacketStream(data, undefined, undefined);
|
|
40
|
-
}
|
|
41
|
-
static empty() {
|
|
42
|
-
return new PacketStream(undefined, undefined, undefined);
|
|
43
|
-
}
|
|
44
|
-
static fromHex(hex) {
|
|
45
|
-
return PacketStream.fromBuffer(Buffer.from(hex, 'hex'));
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
* @param {number} steps - steps to move
|
|
50
|
-
* @returns {number} Position before moving
|
|
51
|
-
*/
|
|
52
|
-
move(steps = 1) {
|
|
53
|
-
this._position += steps;
|
|
54
|
-
if (this._position > this.length)
|
|
55
|
-
throw new errors_1.EndOfStreamError('Reached end of stream');
|
|
56
|
-
return this._position - steps;
|
|
57
|
-
}
|
|
58
|
-
// General
|
|
59
|
-
seek(len) {
|
|
60
|
-
this.move(len);
|
|
61
|
-
return this;
|
|
62
|
-
}
|
|
63
|
-
cut() {
|
|
64
|
-
this._data = this._data.slice(this._position) || undefined;
|
|
65
|
-
this._position = 0;
|
|
66
|
-
return this;
|
|
67
|
-
}
|
|
68
|
-
// Write
|
|
69
|
-
write(data, move = true) {
|
|
70
|
-
if (this._data)
|
|
71
|
-
this._data = Buffer.concat([this._data, data]);
|
|
72
|
-
else
|
|
73
|
-
this._data = data;
|
|
74
|
-
if (move)
|
|
75
|
-
this.move(data.length);
|
|
76
|
-
return this;
|
|
77
|
-
}
|
|
78
|
-
writeRawString(data) {
|
|
79
|
-
return this.write(Buffer.from(data));
|
|
80
|
-
}
|
|
81
|
-
writeByte(num) {
|
|
82
|
-
this.write(Buffer.from([num]));
|
|
83
|
-
return this;
|
|
84
|
-
}
|
|
85
|
-
writeWord(num) {
|
|
86
|
-
return this.write(Buffer.from([(num & 0xff00) >> 8, num & 0xff]));
|
|
87
|
-
}
|
|
88
|
-
writeString(str) {
|
|
89
|
-
this.writeWord(Buffer.byteLength(str));
|
|
90
|
-
return this.writeRawString(str);
|
|
91
|
-
}
|
|
92
|
-
writeRawAndLength(data) {
|
|
93
|
-
this.writeWord(data.byteLength);
|
|
94
|
-
return this.write(data);
|
|
95
|
-
}
|
|
96
|
-
writeVariableByteInteger(value) {
|
|
97
|
-
let digit = 0;
|
|
98
|
-
do {
|
|
99
|
-
digit = value % 128 | 0;
|
|
100
|
-
value = (value / 128) | 0;
|
|
101
|
-
if (value > 0)
|
|
102
|
-
digit = digit | 0x80;
|
|
103
|
-
this.writeByte(digit);
|
|
104
|
-
} while (value > 0);
|
|
105
|
-
return this;
|
|
106
|
-
}
|
|
107
|
-
// Read
|
|
108
|
-
read(len) {
|
|
109
|
-
if (this.position > this.length || len > this.length - this.position) {
|
|
110
|
-
throw new errors_1.EndOfStreamError(`End of stream reached when trying to read ${len} bytes. content length=${this.length}, position=${this.position}`);
|
|
111
|
-
}
|
|
112
|
-
const buf = this._data.slice(this._position, this.position + len);
|
|
113
|
-
this.move(len);
|
|
114
|
-
return buf;
|
|
115
|
-
}
|
|
116
|
-
readSlice(end) {
|
|
117
|
-
const buf = this._data.slice(this._position, end);
|
|
118
|
-
this.move(buf.length);
|
|
119
|
-
return buf;
|
|
120
|
-
}
|
|
121
|
-
readByte() {
|
|
122
|
-
return this._data.readUInt8(this.move(1));
|
|
123
|
-
}
|
|
124
|
-
readWord() {
|
|
125
|
-
return this._data.readUInt16BE(this.move(2));
|
|
126
|
-
}
|
|
127
|
-
readString() {
|
|
128
|
-
const len = this.readWord();
|
|
129
|
-
return this.read(len).toString('utf8');
|
|
130
|
-
}
|
|
131
|
-
readStringAsBuffer() {
|
|
132
|
-
return this.read(this.readWord());
|
|
133
|
-
}
|
|
134
|
-
readVariableByteInteger() {
|
|
135
|
-
let value = 0;
|
|
136
|
-
let multiplier = 1;
|
|
137
|
-
let encodedByte;
|
|
138
|
-
do {
|
|
139
|
-
encodedByte = this.readByte();
|
|
140
|
-
value += (encodedByte & 0x7f) * multiplier;
|
|
141
|
-
if (multiplier > 128 * 128 * 128) {
|
|
142
|
-
throw new Error(`Invalid variable byte integer ${this.position}/${this.length}; currentValue: ${value}`);
|
|
143
|
-
}
|
|
144
|
-
multiplier *= 0x80;
|
|
145
|
-
} while ((encodedByte & 0x80) !== 0);
|
|
146
|
-
return value;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
exports.PacketStream = PacketStream;
|
|
150
|
-
//# sourceMappingURL=packet-stream.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"packet-stream.js","sourceRoot":"","sources":["../src/packet-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { PacketWriteResult } from '../mqtt.packet';
|
|
2
|
-
import { PacketStream } from '../packet-stream';
|
|
3
|
-
export type ConnectRequestOptions = Partial<RequiredConnectRequestOptions>;
|
|
4
|
-
export interface RequiredConnectRequestOptions {
|
|
5
|
-
protocolLevel: number;
|
|
6
|
-
protocolName: string;
|
|
7
|
-
clientId: string;
|
|
8
|
-
keepAlive: number;
|
|
9
|
-
will?: {
|
|
10
|
-
topic: string;
|
|
11
|
-
message: Buffer | string;
|
|
12
|
-
retained?: boolean;
|
|
13
|
-
qosLevel?: number;
|
|
14
|
-
};
|
|
15
|
-
username?: string;
|
|
16
|
-
password?: Buffer | string;
|
|
17
|
-
clean: boolean;
|
|
18
|
-
connectDelay?: number;
|
|
19
|
-
signal?: AbortSignal;
|
|
20
|
-
}
|
|
21
|
-
export declare function writeConnectPacket(stream: PacketStream, options: RequiredConnectRequestOptions): PacketWriteResult;
|
|
22
|
-
export declare function makeFlags(options: ConnectRequestOptions): number;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.writeConnectPacket = writeConnectPacket;
|
|
4
|
-
exports.makeFlags = makeFlags;
|
|
5
|
-
const errors_1 = require("../errors");
|
|
6
|
-
const mqtt_utilities_1 = require("../mqtt.utilities");
|
|
7
|
-
function writeConnectPacket(stream, options) {
|
|
8
|
-
// Variable Header
|
|
9
|
-
stream
|
|
10
|
-
.writeString(options.protocolName)
|
|
11
|
-
.writeByte(options.protocolLevel)
|
|
12
|
-
.writeByte(makeFlags(options))
|
|
13
|
-
.writeWord(options.keepAlive);
|
|
14
|
-
// Payload
|
|
15
|
-
stream.writeString(options.clientId);
|
|
16
|
-
options.will && stream.writeString(options.will.topic).writeRawAndLength((0, mqtt_utilities_1.toBuffer)(options.will.message));
|
|
17
|
-
options.username && stream.writeString(options.username);
|
|
18
|
-
options.password && stream.writeRawAndLength((0, mqtt_utilities_1.toBuffer)(options.password));
|
|
19
|
-
return {};
|
|
20
|
-
}
|
|
21
|
-
function makeFlags(options) {
|
|
22
|
-
if (!options)
|
|
23
|
-
return 0;
|
|
24
|
-
if ((0, mqtt_utilities_1.notUndefined)(options.password) && !(0, mqtt_utilities_1.notUndefined)(options.username))
|
|
25
|
-
throw new errors_1.MalformedPacketError('MQTT-3.1.2-22 If the User Name Flag is set to 0, the Password Flag MUST be set to 0');
|
|
26
|
-
let flags = 0;
|
|
27
|
-
if ((0, mqtt_utilities_1.notUndefined)(options.username))
|
|
28
|
-
flags |= 0x1 << 7;
|
|
29
|
-
if ((0, mqtt_utilities_1.notUndefined)(options.password))
|
|
30
|
-
flags |= 0x1 << 6;
|
|
31
|
-
if ((0, mqtt_utilities_1.notUndefined)(options.will)) {
|
|
32
|
-
if (options.will.retained)
|
|
33
|
-
flags |= 0x1 << 5;
|
|
34
|
-
flags |= ((options.will.qosLevel ?? 0) & 0x03) << 3;
|
|
35
|
-
flags |= 0x1 << 2;
|
|
36
|
-
}
|
|
37
|
-
if (options.clean)
|
|
38
|
-
flags |= 0x1 << 1;
|
|
39
|
-
return flags;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=connect.request.packet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connect.request.packet.js","sourceRoot":"","sources":["../../src/packets/connect.request.packet.ts"],"names":[],"mappings":";;AAyBA,gDAeC;AAED,8BAmBC;AA3DD,sCAAiD;AACjD,sDAA2D;AAsB3D,SAAgB,kBAAkB,CAAC,MAAoB,EAAE,OAAsC;IAC3F,kBAAkB;IAClB,MAAM;SACD,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;SACjC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;SAChC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAElC,UAAU;IACV,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,IAAA,yBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACzG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC,IAAA,yBAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzE,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAgB,SAAS,CAAC,OAA8B;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IACvB,IAAI,IAAA,6BAAY,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,6BAAY,EAAC,OAAO,CAAC,QAAQ,CAAC;QACjE,MAAM,IAAI,6BAAoB,CAC1B,qFAAqF,CACxF,CAAC;IAEN,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,IAAA,6BAAY,EAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;IACtD,IAAI,IAAA,6BAAY,EAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;IACtD,IAAI,IAAA,6BAAY,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ;YAAE,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;QAE7C,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { PacketStream } from '../packet-stream';
|
|
2
|
-
export declare class ConnectResponsePacket {
|
|
3
|
-
ackFlags: number;
|
|
4
|
-
returnCode: ConnectReturnCode;
|
|
5
|
-
get sessionPresent(): boolean;
|
|
6
|
-
get isSuccess(): boolean;
|
|
7
|
-
get errorName(): keyof typeof ConnectReturnCode | string;
|
|
8
|
-
constructor(ackFlags: number, returnCode: ConnectReturnCode);
|
|
9
|
-
}
|
|
10
|
-
export declare function readConnectResponsePacket(stream: PacketStream, remaining: number): ConnectResponsePacket;
|
|
11
|
-
export declare enum ConnectReturnCode {
|
|
12
|
-
Accepted = 0,
|
|
13
|
-
UnacceptableProtocolVersion = 1,
|
|
14
|
-
IdentifierRejected = 2,
|
|
15
|
-
ServerUnavailable = 3,
|
|
16
|
-
BadUsernameOrPassword = 4,
|
|
17
|
-
NotAuthorized = 5
|
|
18
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConnectReturnCode = exports.ConnectResponsePacket = void 0;
|
|
4
|
-
exports.readConnectResponsePacket = readConnectResponsePacket;
|
|
5
|
-
const mqtt_utilities_1 = require("../mqtt.utilities");
|
|
6
|
-
class ConnectResponsePacket {
|
|
7
|
-
get sessionPresent() {
|
|
8
|
-
return !!(this.ackFlags & 0x1);
|
|
9
|
-
}
|
|
10
|
-
get isSuccess() {
|
|
11
|
-
return this.returnCode === ConnectReturnCode.Accepted;
|
|
12
|
-
}
|
|
13
|
-
get errorName() {
|
|
14
|
-
return Object.entries(ConnectReturnCode).find(([, v]) => v === this.returnCode)?.[0] ?? 'Unknown';
|
|
15
|
-
}
|
|
16
|
-
constructor(ackFlags, returnCode) {
|
|
17
|
-
this.ackFlags = ackFlags;
|
|
18
|
-
this.returnCode = returnCode;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.ConnectResponsePacket = ConnectResponsePacket;
|
|
22
|
-
function readConnectResponsePacket(stream, remaining) {
|
|
23
|
-
(0, mqtt_utilities_1.expectRemainingLength)(remaining, 2);
|
|
24
|
-
const ack = stream.readByte();
|
|
25
|
-
const returnCode = stream.readByte();
|
|
26
|
-
if (ack > 1) {
|
|
27
|
-
throw new Error('Invalid ack');
|
|
28
|
-
}
|
|
29
|
-
else if (returnCode > 5) {
|
|
30
|
-
throw new Error('Invalid return code');
|
|
31
|
-
}
|
|
32
|
-
return new ConnectResponsePacket(ack, returnCode);
|
|
33
|
-
}
|
|
34
|
-
var ConnectReturnCode;
|
|
35
|
-
(function (ConnectReturnCode) {
|
|
36
|
-
ConnectReturnCode[ConnectReturnCode["Accepted"] = 0] = "Accepted";
|
|
37
|
-
ConnectReturnCode[ConnectReturnCode["UnacceptableProtocolVersion"] = 1] = "UnacceptableProtocolVersion";
|
|
38
|
-
ConnectReturnCode[ConnectReturnCode["IdentifierRejected"] = 2] = "IdentifierRejected";
|
|
39
|
-
ConnectReturnCode[ConnectReturnCode["ServerUnavailable"] = 3] = "ServerUnavailable";
|
|
40
|
-
ConnectReturnCode[ConnectReturnCode["BadUsernameOrPassword"] = 4] = "BadUsernameOrPassword";
|
|
41
|
-
ConnectReturnCode[ConnectReturnCode["NotAuthorized"] = 5] = "NotAuthorized";
|
|
42
|
-
})(ConnectReturnCode || (exports.ConnectReturnCode = ConnectReturnCode = {}));
|
|
43
|
-
//# sourceMappingURL=connect.response.packet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connect.response.packet.js","sourceRoot":"","sources":["../../src/packets/connect.response.packet.ts"],"names":[],"mappings":";;;AAmBA,8DAUC;AA5BD,sDAA0D;AAE1D,MAAa,qBAAqB;IAC9B,IAAI,cAAc;QACd,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,KAAK,iBAAiB,CAAC,QAAQ,CAAC;IAC1D,CAAC;IACD,IAAI,SAAS;QACT,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACtG,CAAC;IACD,YACW,QAAgB,EAChB,UAA6B;QAD7B,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAAmB;IACrC,CAAC;CACP;AAdD,sDAcC;AAED,SAAgB,yBAAyB,CAAC,MAAoB,EAAE,SAAiB;IAC7E,IAAA,sCAAqB,EAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,qBAAqB,CAAC,GAAG,EAAE,UAA+B,CAAC,CAAC;AAC3E,CAAC;AAED,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IACzB,iEAAQ,CAAA;IACR,uGAA2B,CAAA;IAC3B,qFAAkB,CAAA;IAClB,mFAAiB,CAAA;IACjB,2FAAqB,CAAA;IACrB,2EAAa,CAAA;AACjB,CAAC,EAPW,iBAAiB,iCAAjB,iBAAiB,QAO5B"}
|