@seriousme/opifex 1.10.1 → 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/bin/mqtt.ts +1 -1
- package/client/client.ts +27 -7
- package/client/context.ts +30 -9
- package/deno/tcpClient.ts +1 -1
- package/dist/bin/mqtt.js +1 -1
- package/dist/bin/mqtt.js.map +1 -1
- package/dist/client/client.d.ts +9 -1
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +20 -7
- package/dist/client/client.js.map +1 -1
- package/dist/client/context.d.ts +5 -2
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +24 -8
- package/dist/client/context.js.map +1 -1
- package/dist/mqttPacket/auth.d.ts +6 -6
- package/dist/mqttPacket/auth.d.ts.map +1 -1
- package/dist/mqttPacket/auth.js.map +1 -1
- package/dist/mqttPacket/connack.d.ts +4 -4
- package/dist/mqttPacket/connack.d.ts.map +1 -1
- package/dist/mqttPacket/connect.d.ts +3 -3
- package/dist/mqttPacket/connect.d.ts.map +1 -1
- package/dist/mqttPacket/disconnect.d.ts +4 -4
- package/dist/mqttPacket/disconnect.d.ts.map +1 -1
- package/dist/mqttPacket/mod.d.ts +1 -0
- package/dist/mqttPacket/mod.d.ts.map +1 -1
- package/dist/mqttPacket/mod.js +1 -0
- package/dist/mqttPacket/mod.js.map +1 -1
- package/dist/mqttPacket/protocolLevels.d.ts +5 -4
- package/dist/mqttPacket/protocolLevels.d.ts.map +1 -1
- package/dist/mqttPacket/protocolLevels.js +1 -1
- package/dist/mqttPacket/protocolLevels.js.map +1 -1
- package/dist/mqttPacket/pubblishAcks.d.ts +15 -8
- package/dist/mqttPacket/pubblishAcks.d.ts.map +1 -1
- package/dist/mqttPacket/pubblishAcks.js.map +1 -1
- package/dist/mqttPacket/suback.d.ts +4 -4
- package/dist/mqttPacket/suback.d.ts.map +1 -1
- package/dist/mqttPacket/subscribe.d.ts +3 -3
- package/dist/mqttPacket/subscribe.d.ts.map +1 -1
- package/dist/mqttPacket/types.d.ts +3 -0
- package/dist/mqttPacket/types.d.ts.map +1 -1
- package/dist/mqttPacket/unsuback.d.ts +4 -4
- package/dist/mqttPacket/unsuback.d.ts.map +1 -1
- package/dist/mqttPacket/unsubscribe.d.ts +3 -3
- package/dist/mqttPacket/unsubscribe.d.ts.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/persistence/memory/memoryPersistence.js +1 -1
- package/dist/persistence/memory/memoryPersistence.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/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/mqttPacket/auth.ts +6 -7
- package/mqttPacket/connack.ts +4 -4
- package/mqttPacket/connect.ts +3 -3
- package/mqttPacket/disconnect.ts +4 -4
- package/mqttPacket/mod.ts +1 -0
- package/mqttPacket/protocolLevels.ts +2 -2
- package/mqttPacket/pubblishAcks.ts +15 -9
- package/mqttPacket/suback.ts +4 -4
- package/mqttPacket/subscribe.ts +3 -3
- package/mqttPacket/types.ts +3 -0
- package/mqttPacket/unsuback.ts +4 -4
- package/mqttPacket/unsubscribe.ts +3 -3
- package/mqttPacket/validators.ts +15 -0
- package/node/tcpClient.ts +1 -1
- package/package.json +1 -1
- package/persistence/memory/memoryPersistence.ts +1 -1
- package/utils/asyncQueue.ts +17 -21
- package/utils/logger.ts +12 -11
- package/utils/utils.ts +6 -0
package/bin/mqtt.ts
CHANGED
package/client/client.ts
CHANGED
|
@@ -14,7 +14,11 @@ import type {
|
|
|
14
14
|
TAuthenticationResult,
|
|
15
15
|
} from "./deps.ts";
|
|
16
16
|
|
|
17
|
+
import { noop } from "../utils/utils.ts";
|
|
18
|
+
|
|
17
19
|
import { Context } from "./context.ts";
|
|
20
|
+
import type { TConnectionState } from "./ConnectionState.ts";
|
|
21
|
+
import { assert } from "../utils/assert.ts";
|
|
18
22
|
|
|
19
23
|
/**
|
|
20
24
|
* Generates a random client ID with the given prefix
|
|
@@ -70,9 +74,11 @@ function backOffSleep(random: boolean, attempt: number): Promise<void> {
|
|
|
70
74
|
return new Promise((resolve) => setTimeout(resolve, delay));
|
|
71
75
|
}
|
|
72
76
|
|
|
73
|
-
/**
|
|
77
|
+
/** the default MQTT URL to connect to */
|
|
74
78
|
export const DEFAULT_URL = "mqtt://localhost:1883/";
|
|
79
|
+
/** the default protocol level to connect with*/
|
|
75
80
|
export const DEFAULT_PROTOCOLLEVEL = MQTTLevel.v4;
|
|
81
|
+
/** the default keepalive time */
|
|
76
82
|
export const DEFAULT_KEEPALIVE = 60; // 60 seconds
|
|
77
83
|
const DEFAULT_RETRIES = 3; // on first connect
|
|
78
84
|
const CLIENTID_PREFIX = "opifex"; // on first connect
|
|
@@ -87,6 +93,11 @@ const CLIENTID_PREFIX = "opifex"; // on first connect
|
|
|
87
93
|
* connection type that is supported by the subclass.
|
|
88
94
|
*/
|
|
89
95
|
export class Client {
|
|
96
|
+
public onError: (err: Error) => void = noop;
|
|
97
|
+
public onConnected: () => void = noop;
|
|
98
|
+
public onDisconnected: () => void = noop;
|
|
99
|
+
public onReconnecting: () => void = noop;
|
|
100
|
+
|
|
90
101
|
protected clientIdPrefix = CLIENTID_PREFIX;
|
|
91
102
|
protected numberOfRetries = DEFAULT_RETRIES;
|
|
92
103
|
protected url: URL = new URL(DEFAULT_URL);
|
|
@@ -97,17 +108,22 @@ export class Client {
|
|
|
97
108
|
private cert?: string;
|
|
98
109
|
private key?: string;
|
|
99
110
|
private clientId: string;
|
|
100
|
-
private ctx
|
|
111
|
+
private ctx: Context;
|
|
101
112
|
private connectPacket?: ConnectPacket;
|
|
102
113
|
|
|
103
114
|
/**
|
|
104
115
|
* Creates a new MQTT client instance
|
|
105
116
|
*/
|
|
106
117
|
constructor() {
|
|
118
|
+
this.ctx = new Context(new MemoryStore(), this);
|
|
107
119
|
this.clientId = generateClientId(this.clientIdPrefix);
|
|
108
120
|
this.numberOfRetries = DEFAULT_RETRIES;
|
|
109
121
|
}
|
|
110
122
|
|
|
123
|
+
get connectionState(): TConnectionState {
|
|
124
|
+
return this.ctx.connectionState;
|
|
125
|
+
}
|
|
126
|
+
|
|
111
127
|
/**
|
|
112
128
|
* Creates a new connection to the MQTT broker
|
|
113
129
|
* @param protocol - The protocol to use (mqtt, mqtts, etc)
|
|
@@ -128,7 +144,7 @@ export class Client {
|
|
|
128
144
|
): Promise<SockConn> {
|
|
129
145
|
// if you need to support alternative connection types just
|
|
130
146
|
// overload this method in your subclass
|
|
131
|
-
throw `Unsupported protocol: ${protocol}
|
|
147
|
+
throw new Error(`Unsupported protocol: ${protocol}`);
|
|
132
148
|
}
|
|
133
149
|
|
|
134
150
|
/**
|
|
@@ -164,10 +180,13 @@ export class Client {
|
|
|
164
180
|
this.connectPacket.clean = false;
|
|
165
181
|
this.ctx.close();
|
|
166
182
|
} catch (err) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
183
|
+
assert(
|
|
184
|
+
err instanceof Error,
|
|
185
|
+
`Caught something that is not an instance of Error: ${err}`,
|
|
186
|
+
);
|
|
187
|
+
queueMicrotask(() => this.onError(err));
|
|
188
|
+
lastMessage = err;
|
|
189
|
+
logger.debug({ lastMessage });
|
|
171
190
|
}
|
|
172
191
|
|
|
173
192
|
if (tryConnect && (isReconnect || attempt < this.numberOfRetries)) {
|
|
@@ -175,6 +194,7 @@ export class Client {
|
|
|
175
194
|
if (!isReconnect) {
|
|
176
195
|
attempt++;
|
|
177
196
|
}
|
|
197
|
+
queueMicrotask(this.onReconnecting);
|
|
178
198
|
} else {
|
|
179
199
|
tryConnect = false;
|
|
180
200
|
}
|
package/client/context.ts
CHANGED
|
@@ -25,10 +25,12 @@ import type {
|
|
|
25
25
|
import { handlePacket } from "./handlers/handlePacket.ts";
|
|
26
26
|
import type { TConnectionState } from "./ConnectionState.ts";
|
|
27
27
|
import { ConnectionState } from "./ConnectionState.ts";
|
|
28
|
+
import type { Client } from "./client.ts";
|
|
29
|
+
import { assert } from "../utils/assert.ts";
|
|
28
30
|
|
|
29
31
|
export class Context {
|
|
30
32
|
mqttConn?: MqttConn;
|
|
31
|
-
connectionState: TConnectionState;
|
|
33
|
+
#connectionState: TConnectionState;
|
|
32
34
|
protocolLevel: ProtocolLevel;
|
|
33
35
|
pingTimer?: Timer;
|
|
34
36
|
unresolvedConnect?: Deferred<TAuthenticationResult>;
|
|
@@ -37,10 +39,12 @@ export class Context {
|
|
|
37
39
|
unresolvedUnSubscribe: Map<PacketId, Deferred<void>>;
|
|
38
40
|
store: MemoryStore;
|
|
39
41
|
incoming: AsyncQueue<PublishPacket>;
|
|
42
|
+
#client: Client;
|
|
40
43
|
|
|
41
|
-
constructor(store: MemoryStore) {
|
|
44
|
+
constructor(store: MemoryStore, client: Client) {
|
|
45
|
+
this.#client = client;
|
|
42
46
|
this.store = store;
|
|
43
|
-
this
|
|
47
|
+
this.#connectionState = ConnectionState.offline;
|
|
44
48
|
this.protocolLevel = MQTTLevel.unknown;
|
|
45
49
|
this.incoming = new AsyncQueue();
|
|
46
50
|
this.unresolvedPublish = new Map();
|
|
@@ -48,6 +52,22 @@ export class Context {
|
|
|
48
52
|
this.unresolvedUnSubscribe = new Map();
|
|
49
53
|
}
|
|
50
54
|
|
|
55
|
+
get connectionState(): TConnectionState {
|
|
56
|
+
return this.#connectionState;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
set connectionState(state: TConnectionState) {
|
|
60
|
+
this.#connectionState = state;
|
|
61
|
+
switch (state) {
|
|
62
|
+
case "connected":
|
|
63
|
+
queueMicrotask(this.#client.onConnected);
|
|
64
|
+
break;
|
|
65
|
+
case "disconnected":
|
|
66
|
+
queueMicrotask(this.#client.onDisconnected);
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
51
71
|
async connect(packet: ConnectPacket) {
|
|
52
72
|
this.connectionState = ConnectionState.connecting;
|
|
53
73
|
if (packet.protocolLevel === MQTTLevel.unknown) {
|
|
@@ -107,21 +127,22 @@ export class Context {
|
|
|
107
127
|
connectPacket: ConnectPacket,
|
|
108
128
|
): Promise<boolean> {
|
|
109
129
|
this.mqttConn = new MqttConn({ conn });
|
|
110
|
-
if (this.mqttConn === undefined) {
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
130
|
try {
|
|
115
131
|
logger.debug("Send connect packet", connectPacket);
|
|
116
132
|
await this.connect(connectPacket);
|
|
117
133
|
logger.debug("Accepting packets");
|
|
118
134
|
for await (const packet of this.mqttConn) {
|
|
119
|
-
handlePacket(this, packet);
|
|
135
|
+
await handlePacket(this, packet);
|
|
120
136
|
}
|
|
121
137
|
logger.debug("No more packets");
|
|
122
138
|
} catch (err) {
|
|
139
|
+
assert(
|
|
140
|
+
err instanceof Error,
|
|
141
|
+
`Caught something that is not an instance of Error: ${err}`,
|
|
142
|
+
);
|
|
143
|
+
queueMicrotask(() => this.#client.onError(err));
|
|
123
144
|
logger.debug(`error ${err}`);
|
|
124
|
-
if (this.mqttConn.isClosed) {
|
|
145
|
+
if (!this.mqttConn.isClosed) {
|
|
125
146
|
this.mqttConn.close();
|
|
126
147
|
}
|
|
127
148
|
}
|
package/deno/tcpClient.ts
CHANGED
package/dist/bin/mqtt.js
CHANGED
package/dist/bin/mqtt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../bin/mqtt.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;AAC/B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5B,MAAM,QAAQ,GAAG;;;;;6DAK4C,CAAC;AAE9D,MAAM,WAAW,GAAG;sDACkC,WAAW;;;;;oEAKG,qBAAqB;;;0EAGf,iBAAiB;;;GAGxF,CAAC;AAEJ,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE;IACzD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACxC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACvC,SAAS,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,iBAAiB,CAAC,QAAQ,EAAE;KACtC;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,UAAU,MAAM,CAAC,UAAU,EAAE,EAAE;KACzC;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;IACxD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE;KAC3C;IACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;CAC7C,CAAC;AAEX,KAAK,UAAU,OAAO,CAAC,WAAiB;IACtC,MAAM,EACJ,OAAO,EACP,IAAI,EACJ,GAAG,GACJ,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,GAAG,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,GAAa,CAAC;QACvC,OAAO;QACP,IAAI;QACJ,GAAG;QACH,OAAO,EAAE;YACP,QAAQ,EAAE,WAAW,CAAC,QAAkB;YACxC,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,QAAkB,CAAC;YACnD,QAAQ,EAAE,WAAW,CAAC,QAAkB;YACxC,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO;YAC3B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;YACxC,aAAa,EAAE,QAAQ,CACrB,WAAW,CAAC,WAAqB,CACjB;SACnB;KACF,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,MAAuB;IACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,CAAC;YACJ,OAAO,CAAC,CAAC;QACX,KAAK,CAAC;YACJ,OAAO,CAAC,CAAC;QACX,KAAK,CAAC;YACJ,OAAO,CAAC,CAAC;QACX;YACE,MAAM;IACV,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB;IAC5C,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,WAAiB;IACzC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAgB,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,QAAkB,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,OAAiB,CAAC,CAAC;IAC7D,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,QAA4B;IAC7C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,aAAa,GAAG;;;;;EAKpB,WAAW;iCACoB,CAAC;AAElC,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACrC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;CACzC,CAAC;AAEX,KAAK,UAAU,SAAS;IACtB,MAAM,GAAG,GAAG,aAAa,CAAC;QACxB,OAAO,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,aAAa,EAAE;QAC7C,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IACH,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,aAAa,GAAG,GAAG,CAAC,MAA0C,CAAC;IACrE,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,IAAI,OAAO,aAAa,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,MAAM,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../bin/mqtt.ts"],"names":[],"mappings":"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"}
|
package/dist/client/client.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ConnectPacket, PublishPacket, SockConn, SubscribePacket, TAuthenticationResult } from "./deps.ts";
|
|
2
|
+
import type { TConnectionState } from "./ConnectionState.ts";
|
|
2
3
|
type ConnectOptions = Omit<ConnectPacket, "type" | "protocolName">;
|
|
3
4
|
/** ConnectParameters define how to connect */
|
|
4
5
|
export type ConnectParameters = {
|
|
@@ -13,9 +14,11 @@ export type ConnectParameters = {
|
|
|
13
14
|
export type PublishParameters = Omit<PublishPacket, "type" | "id" | "protocolLevel">;
|
|
14
15
|
/** SubscribeParameters define how to subscribe to a topic */
|
|
15
16
|
export type SubscribeParameters = Omit<SubscribePacket, "type" | "id" | "protocolLevel">;
|
|
16
|
-
/**
|
|
17
|
+
/** the default MQTT URL to connect to */
|
|
17
18
|
export declare const DEFAULT_URL = "mqtt://localhost:1883/";
|
|
19
|
+
/** the default protocol level to connect with*/
|
|
18
20
|
export declare const DEFAULT_PROTOCOLLEVEL: import("./deps.ts").ProtocolLevel;
|
|
21
|
+
/** the default keepalive time */
|
|
19
22
|
export declare const DEFAULT_KEEPALIVE = 60;
|
|
20
23
|
/**
|
|
21
24
|
* The Client class provides an MQTT Client that can be used to connect to
|
|
@@ -27,6 +30,10 @@ export declare const DEFAULT_KEEPALIVE = 60;
|
|
|
27
30
|
* connection type that is supported by the subclass.
|
|
28
31
|
*/
|
|
29
32
|
export declare class Client {
|
|
33
|
+
onError: (err: Error) => void;
|
|
34
|
+
onConnected: () => void;
|
|
35
|
+
onDisconnected: () => void;
|
|
36
|
+
onReconnecting: () => void;
|
|
30
37
|
protected clientIdPrefix: string;
|
|
31
38
|
protected numberOfRetries: number;
|
|
32
39
|
protected url: URL;
|
|
@@ -43,6 +50,7 @@ export declare class Client {
|
|
|
43
50
|
* Creates a new MQTT client instance
|
|
44
51
|
*/
|
|
45
52
|
constructor();
|
|
53
|
+
get connectionState(): TConnectionState;
|
|
46
54
|
/**
|
|
47
55
|
* Creates a new connection to the MQTT broker
|
|
48
56
|
* @param protocol - The protocol to use (mqtt, mqtts, etc)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,eAAe,EACf,qBAAqB,EACtB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,eAAe,EACf,qBAAqB,EACtB,MAAM,WAAW,CAAC;AAKnB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAY7D,KAAK,cAAc,GAAG,IAAI,CACxB,aAAa,EACb,MAAM,GAAG,cAAc,CACxB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,aAAa,EACb,MAAM,GAAG,IAAI,GAAG,eAAe,CAChC,CAAC;AACF,6DAA6D;AAC7D,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,eAAe,EACf,MAAM,GAAG,IAAI,GAAG,eAAe,CAChC,CAAC;AAqBF,yCAAyC;AACzC,eAAO,MAAM,WAAW,2BAA2B,CAAC;AACpD,gDAAgD;AAChD,eAAO,MAAM,qBAAqB,mCAAe,CAAC;AAClD,iCAAiC;AACjC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAIpC;;;;;;;;GAQG;AACH,qBAAa,MAAM;IACV,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAQ;IACrC,WAAW,EAAE,MAAM,IAAI,CAAQ;IAC/B,cAAc,EAAE,MAAM,IAAI,CAAQ;IAClC,cAAc,EAAE,MAAM,IAAI,CAAQ;IAEzC,SAAS,CAAC,cAAc,SAAmB;IAC3C,SAAS,CAAC,eAAe,SAAmB;IAC5C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAwB;IAC1C,SAAS,CAAC,SAAS,SAAqB;IACxC,SAAS,CAAC,aAAa,oCAAyB;IAChD,SAAS,CAAC,aAAa,UAAQ;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC;;OAEG;;IAOH,IAAI,eAAe,IAAI,gBAAgB,CAEtC;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EAAE,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,CAAC;IAMpB;;;OAGG;YACW,SAAS;IAsDvB;;;;OAIG;IACH,OAAO,CAAC,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwBvE;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IASvD;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D;;;OAGG;IACI,QAAQ,IAAI,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC;IAI/D;;;OAGG;IACH,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM;CAG9B"}
|
package/dist/client/client.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Deferred, logger, MemoryStore, MQTTLevel, PacketType, } from "./deps.js";
|
|
2
|
+
import { noop } from "../utils/utils.js";
|
|
2
3
|
import { Context } from "./context.js";
|
|
4
|
+
import { assert } from "../utils/assert.js";
|
|
3
5
|
/**
|
|
4
6
|
* Generates a random client ID with the given prefix
|
|
5
7
|
* @param prefix - The prefix to use for the client ID
|
|
@@ -24,9 +26,11 @@ function backOffSleep(random, attempt) {
|
|
|
24
26
|
logger.debug({ delay });
|
|
25
27
|
return new Promise((resolve) => setTimeout(resolve, delay));
|
|
26
28
|
}
|
|
27
|
-
/**
|
|
29
|
+
/** the default MQTT URL to connect to */
|
|
28
30
|
export const DEFAULT_URL = "mqtt://localhost:1883/";
|
|
31
|
+
/** the default protocol level to connect with*/
|
|
29
32
|
export const DEFAULT_PROTOCOLLEVEL = MQTTLevel.v4;
|
|
33
|
+
/** the default keepalive time */
|
|
30
34
|
export const DEFAULT_KEEPALIVE = 60; // 60 seconds
|
|
31
35
|
const DEFAULT_RETRIES = 3; // on first connect
|
|
32
36
|
const CLIENTID_PREFIX = "opifex"; // on first connect
|
|
@@ -40,6 +44,10 @@ const CLIENTID_PREFIX = "opifex"; // on first connect
|
|
|
40
44
|
* connection type that is supported by the subclass.
|
|
41
45
|
*/
|
|
42
46
|
export class Client {
|
|
47
|
+
onError = noop;
|
|
48
|
+
onConnected = noop;
|
|
49
|
+
onDisconnected = noop;
|
|
50
|
+
onReconnecting = noop;
|
|
43
51
|
clientIdPrefix = CLIENTID_PREFIX;
|
|
44
52
|
numberOfRetries = DEFAULT_RETRIES;
|
|
45
53
|
url = new URL(DEFAULT_URL);
|
|
@@ -50,15 +58,19 @@ export class Client {
|
|
|
50
58
|
cert;
|
|
51
59
|
key;
|
|
52
60
|
clientId;
|
|
53
|
-
ctx
|
|
61
|
+
ctx;
|
|
54
62
|
connectPacket;
|
|
55
63
|
/**
|
|
56
64
|
* Creates a new MQTT client instance
|
|
57
65
|
*/
|
|
58
66
|
constructor() {
|
|
67
|
+
this.ctx = new Context(new MemoryStore(), this);
|
|
59
68
|
this.clientId = generateClientId(this.clientIdPrefix);
|
|
60
69
|
this.numberOfRetries = DEFAULT_RETRIES;
|
|
61
70
|
}
|
|
71
|
+
get connectionState() {
|
|
72
|
+
return this.ctx.connectionState;
|
|
73
|
+
}
|
|
62
74
|
/**
|
|
63
75
|
* Creates a new connection to the MQTT broker
|
|
64
76
|
* @param protocol - The protocol to use (mqtt, mqtts, etc)
|
|
@@ -72,7 +84,7 @@ export class Client {
|
|
|
72
84
|
createConn(protocol, _hostname, _port, _caCerts, _cert, _key) {
|
|
73
85
|
// if you need to support alternative connection types just
|
|
74
86
|
// overload this method in your subclass
|
|
75
|
-
throw `Unsupported protocol: ${protocol}
|
|
87
|
+
throw new Error(`Unsupported protocol: ${protocol}`);
|
|
76
88
|
}
|
|
77
89
|
/**
|
|
78
90
|
* Handles the connection process including retries and reconnection
|
|
@@ -100,16 +112,17 @@ export class Client {
|
|
|
100
112
|
this.ctx.close();
|
|
101
113
|
}
|
|
102
114
|
catch (err) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
115
|
+
assert(err instanceof Error, `Caught something that is not an instance of Error: ${err}`);
|
|
116
|
+
queueMicrotask(() => this.onError(err));
|
|
117
|
+
lastMessage = err;
|
|
118
|
+
logger.debug({ lastMessage });
|
|
107
119
|
}
|
|
108
120
|
if (tryConnect && (isReconnect || attempt < this.numberOfRetries)) {
|
|
109
121
|
await backOffSleep(true, attempt);
|
|
110
122
|
if (!isReconnect) {
|
|
111
123
|
attempt++;
|
|
112
124
|
}
|
|
125
|
+
queueMicrotask(this.onReconnecting);
|
|
113
126
|
}
|
|
114
127
|
else {
|
|
115
128
|
tryConnect = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,UAAU,GACX,MAAM,WAAW,CAAC;AAUnB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC;AA4BD;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,MAAe,EAAE,OAAe;IACpD,MAAM,MAAM,GAAG,GAAG,CAAC;IACnB,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,GAAG,CAAC,CACtD,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client/context.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { AsyncQueue, Deferred, MqttConn, Timer } from "./deps.ts";
|
|
2
2
|
import type { AnyPacket, ConnectPacket, MemoryStore, PacketId, ProtocolLevel, PublishPacket, ReturnCodes, SockConn, SubscribePacket, TAuthenticationResult, UnsubscribePacket } from "./deps.ts";
|
|
3
3
|
import type { TConnectionState } from "./ConnectionState.ts";
|
|
4
|
+
import type { Client } from "./client.ts";
|
|
4
5
|
export declare class Context {
|
|
6
|
+
#private;
|
|
5
7
|
mqttConn?: MqttConn;
|
|
6
|
-
connectionState: TConnectionState;
|
|
7
8
|
protocolLevel: ProtocolLevel;
|
|
8
9
|
pingTimer?: Timer;
|
|
9
10
|
unresolvedConnect?: Deferred<TAuthenticationResult>;
|
|
@@ -12,7 +13,9 @@ export declare class Context {
|
|
|
12
13
|
unresolvedUnSubscribe: Map<PacketId, Deferred<void>>;
|
|
13
14
|
store: MemoryStore;
|
|
14
15
|
incoming: AsyncQueue<PublishPacket>;
|
|
15
|
-
constructor(store: MemoryStore);
|
|
16
|
+
constructor(store: MemoryStore, client: Client);
|
|
17
|
+
get connectionState(): TConnectionState;
|
|
18
|
+
set connectionState(state: TConnectionState);
|
|
16
19
|
connect(packet: ConnectPacket): Promise<void>;
|
|
17
20
|
disconnect(): Promise<void>;
|
|
18
21
|
send(packet: AnyPacket): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../client/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EAER,QAAQ,EAIR,KAAK,EACN,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,aAAa,EACb,WAAW,EACX,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../client/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EAER,QAAQ,EAIR,KAAK,EACN,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,aAAa,EACb,WAAW,EACX,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,qBAAa,OAAO;;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,iBAAiB,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACpD,iBAAiB,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,mBAAmB,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,qBAAqB,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;gBAGxB,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;IAW9C,IAAI,eAAe,IAAI,gBAAgB,CAEtC;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,gBAAgB,EAU1C;IAEK,OAAO,CAAC,MAAM,EAAE,aAAa;IAiB7B,UAAU;IAeV,IAAI,CAAC,MAAM,EAAE,SAAS;IAe5B,QAAQ;IAOF,gBAAgB,CACpB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,OAAO,CAAC;IA2BnB,KAAK;IAML,cAAc,CAAC,MAAM,EAAE,aAAa;IAI9B,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7C,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IASxD,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;IAYpC,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;IAIrC,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO;IAW9D,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;CAUvC"}
|
package/dist/client/context.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { AsyncQueue, Deferred, logger, MqttConn, MQTTLevel, nextTick, PacketType, Timer, } from "./deps.js";
|
|
2
2
|
import { handlePacket } from "./handlers/handlePacket.js";
|
|
3
3
|
import { ConnectionState } from "./ConnectionState.js";
|
|
4
|
+
import { assert } from "../utils/assert.js";
|
|
4
5
|
export class Context {
|
|
5
6
|
mqttConn;
|
|
6
|
-
connectionState;
|
|
7
|
+
#connectionState;
|
|
7
8
|
protocolLevel;
|
|
8
9
|
pingTimer;
|
|
9
10
|
unresolvedConnect;
|
|
@@ -12,15 +13,31 @@ export class Context {
|
|
|
12
13
|
unresolvedUnSubscribe;
|
|
13
14
|
store;
|
|
14
15
|
incoming;
|
|
15
|
-
|
|
16
|
+
#client;
|
|
17
|
+
constructor(store, client) {
|
|
18
|
+
this.#client = client;
|
|
16
19
|
this.store = store;
|
|
17
|
-
this
|
|
20
|
+
this.#connectionState = ConnectionState.offline;
|
|
18
21
|
this.protocolLevel = MQTTLevel.unknown;
|
|
19
22
|
this.incoming = new AsyncQueue();
|
|
20
23
|
this.unresolvedPublish = new Map();
|
|
21
24
|
this.unresolvedSubscribe = new Map();
|
|
22
25
|
this.unresolvedUnSubscribe = new Map();
|
|
23
26
|
}
|
|
27
|
+
get connectionState() {
|
|
28
|
+
return this.#connectionState;
|
|
29
|
+
}
|
|
30
|
+
set connectionState(state) {
|
|
31
|
+
this.#connectionState = state;
|
|
32
|
+
switch (state) {
|
|
33
|
+
case "connected":
|
|
34
|
+
queueMicrotask(this.#client.onConnected);
|
|
35
|
+
break;
|
|
36
|
+
case "disconnected":
|
|
37
|
+
queueMicrotask(this.#client.onDisconnected);
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
24
41
|
async connect(packet) {
|
|
25
42
|
this.connectionState = ConnectionState.connecting;
|
|
26
43
|
if (packet.protocolLevel === MQTTLevel.unknown) {
|
|
@@ -67,21 +84,20 @@ export class Context {
|
|
|
67
84
|
}
|
|
68
85
|
async handleConnection(conn, connectPacket) {
|
|
69
86
|
this.mqttConn = new MqttConn({ conn });
|
|
70
|
-
if (this.mqttConn === undefined) {
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
87
|
try {
|
|
74
88
|
logger.debug("Send connect packet", connectPacket);
|
|
75
89
|
await this.connect(connectPacket);
|
|
76
90
|
logger.debug("Accepting packets");
|
|
77
91
|
for await (const packet of this.mqttConn) {
|
|
78
|
-
handlePacket(this, packet);
|
|
92
|
+
await handlePacket(this, packet);
|
|
79
93
|
}
|
|
80
94
|
logger.debug("No more packets");
|
|
81
95
|
}
|
|
82
96
|
catch (err) {
|
|
97
|
+
assert(err instanceof Error, `Caught something that is not an instance of Error: ${err}`);
|
|
98
|
+
queueMicrotask(() => this.#client.onError(err));
|
|
83
99
|
logger.debug(`error ${err}`);
|
|
84
|
-
if (this.mqttConn.isClosed) {
|
|
100
|
+
if (!this.mqttConn.isClosed) {
|
|
85
101
|
this.mqttConn.close();
|
|
86
102
|
}
|
|
87
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../client/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,GACN,MAAM,WAAW,CAAC;AAenB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAO,OAAO;IAClB,QAAQ,CAAY;IACpB,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../client/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { CodecOpts, TPacketType } from "./types.ts";
|
|
2
2
|
import type { TReasonCode } from "./ReasonCode.ts";
|
|
3
3
|
import type { AuthProperties } from "./Properties.ts";
|
|
4
|
-
/**
|
|
5
|
-
* An AUTH packet is sent from Client to Server or Server to Client as part of an extended
|
|
6
|
-
* authentication exchange, such as challenge / response authentication.
|
|
7
|
-
* It is a Protocol Error for the Client or Server to send an AUTH packet
|
|
8
|
-
* if the CONNECT packet did not contain the same Authentication Method.
|
|
9
|
-
*/
|
|
10
4
|
export type AuthPacketV5 = {
|
|
11
5
|
type: TPacketType;
|
|
12
6
|
protocolLevel: 5;
|
|
13
7
|
reasonCode: TReasonCode;
|
|
14
8
|
properties?: AuthProperties;
|
|
15
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* An AUTH packet is sent from Client to Server or Server to Client as part of an extended
|
|
12
|
+
* authentication exchange, such as challenge / response authentication.
|
|
13
|
+
* It is a Protocol Error for the Client or Server to send an AUTH packet
|
|
14
|
+
* if the CONNECT packet did not contain the same Authentication Method.
|
|
15
|
+
*/
|
|
16
16
|
export type AuthPacket = AuthPacketV5;
|
|
17
17
|
export declare const auth: {
|
|
18
18
|
encode(packet: AuthPacket, codecOpts: CodecOpts): Uint8Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../mqttPacket/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../mqttPacket/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,CAAC,CAAC;IACjB,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AAEtC,eAAO,MAAM,IAAI,EAAE;IACjB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7D,MAAM,CACJ,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,WAAW,GACtB,UAAU,CAAC;CAwCf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../mqttPacket/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../mqttPacket/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAoBpE,MAAM,CAAC,MAAM,IAAI,GAQb;IACF,MAAM,CAAC,MAAkB,EAAE,SAAoB;QAC7C,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CAAC,wBAAwB,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO;aACJ,aAAa,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;aACrC,aAAa,CACZ,MAAM,CAAC,UAAU,IAAI,EAAE,EACvB,MAAM,CAAC,IAAI,EACX,SAAS,CAAC,qBAAqB,CAChC,CAAC;QACJ,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CACJ,MAAkB,EAClB,KAAa,EACb,SAAoB,EACpB,UAAuB;QAEvB,iGAAiG;QACjG,iHAAiH;QACjH,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,SAAS,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,YAAY,CAAC,wBAAwB,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,aAAa,EAAE,CAAC;YAChB,UAAU;YACV,UAAU;SACX,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import type { CodecOpts, ProtocolLevelNoV5, TAuthenticationResult, TPacketType } from "./types.ts";
|
|
2
2
|
import type { TReasonCode } from "./ReasonCode.ts";
|
|
3
3
|
import type { ConnackProperties } from "./Properties.ts";
|
|
4
|
-
/**
|
|
5
|
-
* ConnackPacket is sent from the server to the client in response to a connect packet.
|
|
6
|
-
* It indicates that the connect is accepted.
|
|
7
|
-
*/
|
|
8
4
|
export type ConnackPacketV4 = {
|
|
9
5
|
type: TPacketType;
|
|
10
6
|
protocolLevel: ProtocolLevelNoV5;
|
|
@@ -18,6 +14,10 @@ export type ConnackPacketV5 = {
|
|
|
18
14
|
reasonCode: TReasonCode;
|
|
19
15
|
properties?: ConnackProperties;
|
|
20
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* ConnackPacket is sent from the server to the client in response to a connect packet.
|
|
19
|
+
* It indicates that the connect is accepted.
|
|
20
|
+
*/
|
|
21
21
|
export type ConnackPacket = ConnackPacketV4 | ConnackPacketV5;
|
|
22
22
|
export declare const connack: {
|
|
23
23
|
encode(packet: ConnackPacket, codecOpts: CodecOpts): Uint8Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connack.d.ts","sourceRoot":"","sources":["../../mqttPacket/connack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACZ,MAAM,YAAY,CAAC;AAWpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD
|
|
1
|
+
{"version":3,"file":"connack.d.ts","sourceRoot":"","sources":["../../mqttPacket/connack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACZ,MAAM,YAAY,CAAC;AAWpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,iBAAiB,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,qBAAqB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,CAAC,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,eAAe,CAAC;AAE9D,eAAO,MAAM,OAAO,EAAE;IACpB,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAChE,MAAM,CACJ,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,WAAW,GACtB,aAAa,CAAC;CA4DlB,CAAC"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import type { ClientId, CodecOpts, Payload, ProtocolLevelNoV5, QoS, Topic, TPacketType } from "./types.ts";
|
|
2
2
|
import type { ConnectProperties, WillProperties } from "./Properties.ts";
|
|
3
|
-
/**
|
|
4
|
-
* ConnectPacket is sent from the client to the server to initiate a connection.
|
|
5
|
-
*/
|
|
6
3
|
export type ConnectPacketV4 = {
|
|
7
4
|
type: TPacketType;
|
|
8
5
|
protocolName?: string;
|
|
@@ -39,6 +36,9 @@ export type ConnectPacketV5 = {
|
|
|
39
36
|
bridgeMode?: boolean;
|
|
40
37
|
properties?: ConnectProperties;
|
|
41
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
* ConnectPacket is sent from the client to the server to initiate a connection.
|
|
41
|
+
*/
|
|
42
42
|
export type ConnectPacket = ConnectPacketV4 | ConnectPacketV5;
|
|
43
43
|
export declare const connect: {
|
|
44
44
|
encode(packet: ConnectPacket, _codecOpts: CodecOpts): Uint8Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../mqttPacket/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EAEP,iBAAiB,EACjB,GAAG,EACH,KAAK,EACL,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAYzE
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../mqttPacket/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EAEP,iBAAiB,EACjB,GAAG,EACH,KAAK,EACL,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAYzE,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,GAAG,CAAC;KACX,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,UAAU,CAAC,EAAE,cAAc,CAAC;KAC7B,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,eAAe,CAAC;AAe9D,eAAO,MAAM,OAAO,EAAE;IACpB,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,GAAG,UAAU,CAAC;IACjE,MAAM,CACJ,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,WAAW,GACtB,aAAa,CAAC;CAkNlB,CAAC"}
|