homebridge-plugin-utils 1.35.0 → 2.0.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.
Files changed (198) hide show
  1. package/README.md +130 -2
  2. package/build/eslint-plugin/README.md +164 -0
  3. package/build/eslint-plugin/config.mjs +308 -0
  4. package/build/eslint-plugin/index.mjs +7 -0
  5. package/build/eslint-plugin/plugin.mjs +46 -0
  6. package/build/eslint-plugin/rules/blank-line-after-open-brace.mjs +137 -0
  7. package/build/eslint-plugin/rules/blank-line-after-open-brace.test.mjs +112 -0
  8. package/build/eslint-plugin/rules/comment-style.mjs +190 -0
  9. package/build/eslint-plugin/rules/comment-style.test.mjs +190 -0
  10. package/build/eslint-plugin/rules/enforce-node-protocol.mjs +114 -0
  11. package/build/eslint-plugin/rules/enforce-node-protocol.test.mjs +116 -0
  12. package/build/eslint-plugin/rules/paren-comparisons-in-logical.mjs +94 -0
  13. package/build/eslint-plugin/rules/paren-comparisons-in-logical.test.mjs +107 -0
  14. package/build/eslint-plugin/rules/split-type-imports.mjs +354 -0
  15. package/build/eslint-plugin/rules/split-type-imports.test.mjs +268 -0
  16. package/build/eslint-plugin/test-setup.mjs +21 -0
  17. package/build/fs-ops.mjs +184 -0
  18. package/build/tsconfig.json +18 -3
  19. package/dist/backpressure.d.ts +94 -45
  20. package/dist/backpressure.js +229 -93
  21. package/dist/backpressure.js.map +1 -1
  22. package/dist/cli/index.d.ts +95 -0
  23. package/dist/cli/index.js +355 -0
  24. package/dist/cli/index.js.map +1 -0
  25. package/dist/clock-double.d.ts +93 -0
  26. package/dist/clock-double.js +141 -0
  27. package/dist/clock-double.js.map +1 -0
  28. package/dist/clock.d.ts +39 -0
  29. package/dist/clock.js +34 -0
  30. package/dist/clock.js.map +1 -0
  31. package/dist/eslint-plugin/config.d.mts +193 -0
  32. package/dist/eslint-plugin/index.d.mts +2 -0
  33. package/dist/eslint-plugin/plugin.d.mts +87 -0
  34. package/dist/eslint-plugin/rules/blank-line-after-open-brace.d.mts +19 -0
  35. package/dist/eslint-plugin/rules/comment-style.d.mts +15 -0
  36. package/dist/eslint-plugin/rules/enforce-node-protocol.d.mts +18 -0
  37. package/dist/eslint-plugin/rules/paren-comparisons-in-logical.d.mts +15 -0
  38. package/dist/eslint-plugin/rules/split-type-imports.d.mts +16 -0
  39. package/dist/featureOptions-docs.d.ts +96 -0
  40. package/dist/featureOptions-docs.js +193 -0
  41. package/dist/featureOptions-docs.js.map +1 -0
  42. package/dist/featureOptions.d.ts +674 -0
  43. package/dist/featureOptions.js +870 -0
  44. package/dist/featureOptions.js.map +1 -0
  45. package/dist/ffmpeg/codecs.d.ts +256 -72
  46. package/dist/ffmpeg/codecs.js +477 -262
  47. package/dist/ffmpeg/codecs.js.map +1 -1
  48. package/dist/ffmpeg/dgram-util.d.ts +46 -0
  49. package/dist/ffmpeg/dgram-util.js +38 -0
  50. package/dist/ffmpeg/dgram-util.js.map +1 -0
  51. package/dist/ffmpeg/exec.d.ts +83 -64
  52. package/dist/ffmpeg/exec.js +77 -86
  53. package/dist/ffmpeg/exec.js.map +1 -1
  54. package/dist/ffmpeg/fmp4.d.ts +49 -2
  55. package/dist/ffmpeg/fmp4.js +47 -11
  56. package/dist/ffmpeg/fmp4.js.map +1 -1
  57. package/dist/ffmpeg/hap-enums.d.ts +214 -0
  58. package/dist/ffmpeg/hap-enums.js +92 -0
  59. package/dist/ffmpeg/hap-enums.js.map +1 -0
  60. package/dist/ffmpeg/index.d.ts +16 -9
  61. package/dist/ffmpeg/index.js +6 -0
  62. package/dist/ffmpeg/index.js.map +1 -1
  63. package/dist/ffmpeg/mp4-assembler.d.ts +120 -0
  64. package/dist/ffmpeg/mp4-assembler.js +387 -0
  65. package/dist/ffmpeg/mp4-assembler.js.map +1 -0
  66. package/dist/ffmpeg/mp4-parser.d.ts +94 -0
  67. package/dist/ffmpeg/mp4-parser.js +130 -0
  68. package/dist/ffmpeg/mp4-parser.js.map +1 -0
  69. package/dist/ffmpeg/options.d.ts +62 -149
  70. package/dist/ffmpeg/options.js +608 -499
  71. package/dist/ffmpeg/options.js.map +1 -1
  72. package/dist/ffmpeg/process.d.ts +142 -96
  73. package/dist/ffmpeg/process.js +406 -278
  74. package/dist/ffmpeg/process.js.map +1 -1
  75. package/dist/ffmpeg/record.d.ts +302 -188
  76. package/dist/ffmpeg/record.js +408 -567
  77. package/dist/ffmpeg/record.js.map +1 -1
  78. package/dist/ffmpeg/recording-process-double.d.ts +144 -0
  79. package/dist/ffmpeg/recording-process-double.js +168 -0
  80. package/dist/ffmpeg/recording-process-double.js.map +1 -0
  81. package/dist/ffmpeg/rtp-parser.d.ts +70 -0
  82. package/dist/ffmpeg/rtp-parser.js +77 -0
  83. package/dist/ffmpeg/rtp-parser.js.map +1 -0
  84. package/dist/ffmpeg/rtp.d.ts +198 -141
  85. package/dist/ffmpeg/rtp.js +473 -251
  86. package/dist/ffmpeg/rtp.js.map +1 -1
  87. package/dist/ffmpeg/settings.d.ts +5 -2
  88. package/dist/ffmpeg/settings.js +20 -5
  89. package/dist/ffmpeg/settings.js.map +1 -1
  90. package/dist/ffmpeg/stream.d.ts +57 -107
  91. package/dist/ffmpeg/stream.js +121 -150
  92. package/dist/ffmpeg/stream.js.map +1 -1
  93. package/dist/formatters.d.ts +106 -0
  94. package/dist/formatters.js +174 -0
  95. package/dist/formatters.js.map +1 -0
  96. package/dist/homebridge-enums.d.ts +30 -0
  97. package/dist/homebridge-enums.js +17 -0
  98. package/dist/homebridge-enums.js.map +1 -0
  99. package/dist/index.d.ts +12 -6
  100. package/dist/index.js +7 -2
  101. package/dist/index.js.map +1 -1
  102. package/dist/logclient/auth.d.ts +114 -0
  103. package/dist/logclient/auth.js +199 -0
  104. package/dist/logclient/auth.js.map +1 -0
  105. package/dist/logclient/cli-run.d.ts +76 -0
  106. package/dist/logclient/cli-run.js +639 -0
  107. package/dist/logclient/cli-run.js.map +1 -0
  108. package/dist/logclient/cli.d.ts +3 -0
  109. package/dist/logclient/cli.js +97 -0
  110. package/dist/logclient/cli.js.map +1 -0
  111. package/dist/logclient/client.d.ts +145 -0
  112. package/dist/logclient/client.js +600 -0
  113. package/dist/logclient/client.js.map +1 -0
  114. package/dist/logclient/config.d.ts +173 -0
  115. package/dist/logclient/config.js +199 -0
  116. package/dist/logclient/config.js.map +1 -0
  117. package/dist/logclient/endpoints.d.ts +54 -0
  118. package/dist/logclient/endpoints.js +73 -0
  119. package/dist/logclient/endpoints.js.map +1 -0
  120. package/dist/logclient/filter.d.ts +45 -0
  121. package/dist/logclient/filter.js +51 -0
  122. package/dist/logclient/filter.js.map +1 -0
  123. package/dist/logclient/frame.d.ts +93 -0
  124. package/dist/logclient/frame.js +203 -0
  125. package/dist/logclient/frame.js.map +1 -0
  126. package/dist/logclient/index.d.ts +31 -0
  127. package/dist/logclient/index.js +12 -0
  128. package/dist/logclient/index.js.map +1 -0
  129. package/dist/logclient/parser.d.ts +211 -0
  130. package/dist/logclient/parser.js +393 -0
  131. package/dist/logclient/parser.js.map +1 -0
  132. package/dist/logclient/rest.d.ts +41 -0
  133. package/dist/logclient/rest.js +111 -0
  134. package/dist/logclient/rest.js.map +1 -0
  135. package/dist/logclient/settings.d.ts +15 -0
  136. package/dist/logclient/settings.js +64 -0
  137. package/dist/logclient/settings.js.map +1 -0
  138. package/dist/logclient/socket-double.d.ts +201 -0
  139. package/dist/logclient/socket-double.js +384 -0
  140. package/dist/logclient/socket-double.js.map +1 -0
  141. package/dist/logclient/socket.d.ts +257 -0
  142. package/dist/logclient/socket.js +620 -0
  143. package/dist/logclient/socket.js.map +1 -0
  144. package/dist/logclient/stitch.d.ts +83 -0
  145. package/dist/logclient/stitch.js +146 -0
  146. package/dist/logclient/stitch.js.map +1 -0
  147. package/dist/logclient/time-expression.d.ts +42 -0
  148. package/dist/logclient/time-expression.js +181 -0
  149. package/dist/logclient/time-expression.js.map +1 -0
  150. package/dist/logclient/time-window.d.ts +38 -0
  151. package/dist/logclient/time-window.js +53 -0
  152. package/dist/logclient/time-window.js.map +1 -0
  153. package/dist/logclient/types.d.ts +107 -0
  154. package/dist/logclient/types.js +6 -0
  155. package/dist/logclient/types.js.map +1 -0
  156. package/dist/mqttClient.d.ts +287 -0
  157. package/dist/mqttClient.js +433 -0
  158. package/dist/mqttClient.js.map +1 -0
  159. package/dist/service.d.ts +64 -15
  160. package/dist/service.js +93 -66
  161. package/dist/service.js.map +1 -1
  162. package/dist/ui/featureOptions.js +870 -0
  163. package/dist/ui/featureOptions.js.map +1 -0
  164. package/dist/ui/formatters.js +174 -0
  165. package/dist/ui/formatters.js.map +1 -0
  166. package/dist/ui/pluginConfigSession.mjs +141 -0
  167. package/dist/ui/webUi-featureOptions/categoryState.mjs +135 -0
  168. package/dist/ui/webUi-featureOptions/effects/keyboard.mjs +61 -0
  169. package/dist/ui/webUi-featureOptions/effects/persist.mjs +226 -0
  170. package/dist/ui/webUi-featureOptions/effects/theme.mjs +398 -0
  171. package/dist/ui/webUi-featureOptions/effects/tokens.mjs +152 -0
  172. package/dist/ui/webUi-featureOptions/rendering.mjs +431 -0
  173. package/dist/ui/webUi-featureOptions/selectors.mjs +360 -0
  174. package/dist/ui/webUi-featureOptions/state.mjs +319 -0
  175. package/dist/ui/webUi-featureOptions/store.mjs +181 -0
  176. package/dist/ui/webUi-featureOptions/utils.mjs +200 -0
  177. package/dist/ui/webUi-featureOptions/views/connectionError.mjs +152 -0
  178. package/dist/ui/webUi-featureOptions/views/deviceInfo.mjs +80 -0
  179. package/dist/ui/webUi-featureOptions/views/header.mjs +77 -0
  180. package/dist/ui/webUi-featureOptions/views/nav.mjs +327 -0
  181. package/dist/ui/webUi-featureOptions/views/options.mjs +521 -0
  182. package/dist/ui/webUi-featureOptions/views/search.mjs +395 -0
  183. package/dist/ui/webUi-featureOptions.mjs +677 -0
  184. package/dist/ui/webUi.mjs +192 -87
  185. package/dist/util.d.ts +602 -45
  186. package/dist/util.js +783 -78
  187. package/dist/util.js.map +1 -1
  188. package/package.json +33 -15
  189. package/build/eslint-rules.mjs +0 -511
  190. package/dist/featureoptions.d.ts +0 -264
  191. package/dist/featureoptions.js +0 -480
  192. package/dist/featureoptions.js.map +0 -1
  193. package/dist/mqttclient.d.ts +0 -178
  194. package/dist/mqttclient.js +0 -310
  195. package/dist/mqttclient.js.map +0 -1
  196. package/dist/ui/featureoptions.js +0 -480
  197. package/dist/ui/featureoptions.js.map +0 -1
  198. package/dist/ui/webUi-featureoptions.mjs +0 -3765
@@ -1,310 +0,0 @@
1
- /* Copyright(C) 2017-2026, HJD (https://github.com/hjdhjd). All rights reserved.
2
- *
3
- * mqttclient.ts: MQTT connectivity class for Homebridge plugins.
4
- */
5
- import { connect } from "mqtt";
6
- import util from "node:util";
7
- const MQTT_DEFAULT_RECONNECT_INTERVAL = 60;
8
- /**
9
- * MQTT connectivity and topic management class for Homebridge plugins.
10
- *
11
- * This class manages connection, publishing, subscription, and message handling for an MQTT broker, and provides convenience methods for Homebridge accessories to
12
- * interact with MQTT topics using a standard topic prefix.
13
- *
14
- * @example
15
- *
16
- * ```ts
17
- * const mqtt = new MqttClient("mqtt://localhost:1883", "homebridge", log);
18
- *
19
- * // Publish a message to a topic.
20
- * mqtt.publish("device1", "status", "on");
21
- *
22
- * // Subscribe to a topic.
23
- * mqtt.subscribe("device1", "status", (msg) => {
24
- *
25
- * console.log(msg.toString());
26
- * });
27
- *
28
- * // Subscribe to a 'get' topic and automatically publish a value in response.
29
- * mqtt.subscribeGet("device1", "temperature", "Temperature", () => "21.5");
30
- *
31
- * // Subscribe to a 'set' topic and handle value changes.
32
- * mqtt.subscribeSet("device1", "switch", "Switch", (value) => {
33
- *
34
- * console.log("Switch set to", value);
35
- * });
36
- *
37
- * // Unsubscribe from a topic.
38
- * mqtt.unsubscribe("device1", "status");
39
- * ```
40
- */
41
- export class MqttClient {
42
- brokerUrl;
43
- isConnected;
44
- reconnectInterval;
45
- log;
46
- mqtt;
47
- subscriptions;
48
- topicPrefix;
49
- /**
50
- * Creates a new MQTT client for connecting to a broker and managing topics with a given prefix.
51
- *
52
- * @param brokerUrl - The MQTT broker URL (e.g., "mqtt://localhost:1883").
53
- * @param topicPrefix - Prefix to use for all MQTT topics (e.g., "homebridge").
54
- * @param log - Logger for debug and info messages.
55
- * @param reconnectInterval - Optional. Interval (in seconds) to wait between reconnection attempts. Defaults to 60 seconds.
56
- *
57
- * @example
58
- *
59
- * ```ts
60
- * const mqtt = new MqttClient("mqtt://localhost", "homebridge", log);
61
- * ```
62
- *
63
- * @remarks URL must conform to formats supported by {@link https://github.com/mqttjs/MQTT.js | MQTT.js}.
64
- */
65
- constructor(brokerUrl, topicPrefix, log, reconnectInterval = MQTT_DEFAULT_RECONNECT_INTERVAL) {
66
- this.brokerUrl = brokerUrl;
67
- this.isConnected = false;
68
- this.log = log;
69
- this.mqtt = null;
70
- this.reconnectInterval = reconnectInterval;
71
- this.subscriptions = new Map();
72
- this.topicPrefix = topicPrefix;
73
- this.configure();
74
- }
75
- /**
76
- * Initializes and connects the MQTT client to the broker, setting up event handlers for connection, messages, and errors.
77
- *
78
- * Catches invalid broker URLs and logs errors. Handles all major MQTT client events internally.
79
- */
80
- configure() {
81
- // Try to connect to the MQTT broker and make sure we catch any URL errors.
82
- try {
83
- this.mqtt = connect(this.brokerUrl, { reconnectPeriod: this.reconnectInterval * 1000, rejectUnauthorized: false });
84
- }
85
- catch (error) {
86
- if (error instanceof Error) {
87
- switch (error.message) {
88
- case "Missing protocol":
89
- this.log.error("MQTT Broker: Invalid URL provided: %s.", this.brokerUrl);
90
- break;
91
- default:
92
- this.log.error("MQTT Broker: Error: %s.", error.message);
93
- break;
94
- }
95
- }
96
- }
97
- // We've been unable to even attempt to connect. It's likely we have a configuration issue - we're done here.
98
- if (!this.mqtt) {
99
- return;
100
- }
101
- // Notify the user when we connect to the broker.
102
- this.mqtt.on("connect", () => {
103
- this.isConnected = true;
104
- // Inform users, while redacting authentication credentials.
105
- this.log.info("MQTT Broker: Connected to %s (topic: %s).", this.brokerUrl.replace(/^(.*:\/\/.*:)(.*)(@.*)$/, "$1REDACTED$3"), this.topicPrefix);
106
- });
107
- // Notify the user when we've disconnected.
108
- this.mqtt.on("close", () => {
109
- // We only inform users if we're already connected. Otherwise, we're likely in an error state and that's logged elsewhere.
110
- if (!this.isConnected) {
111
- return;
112
- }
113
- this.isConnected = false;
114
- // Inform users.
115
- this.log.info("MQTT Broker: Connection closed.");
116
- });
117
- // Process inbound messages and pass it to the right message handler.
118
- this.mqtt.on("message", (topic, message) => {
119
- void this.subscriptions.get(topic)?.(message);
120
- });
121
- // Notify the user when there's a connectivity error.
122
- this.mqtt.on("error", (error) => {
123
- const logError = (message) => {
124
- this.log.error("MQTT Broker: %s. Will retry again in %s second%s.", message, this.reconnectInterval, this.reconnectInterval !== 1 ? "s" : "");
125
- };
126
- switch (error.code) {
127
- case "ECONNREFUSED":
128
- logError("Connection refused");
129
- break;
130
- case "ECONNRESET":
131
- logError("Connection reset");
132
- break;
133
- case "ENOTFOUND":
134
- this.mqtt?.end(true);
135
- this.log.error("MQTT Broker: Hostname or IP address not found.");
136
- break;
137
- default:
138
- logError(util.inspect(error, { sorted: true }));
139
- break;
140
- }
141
- });
142
- }
143
- /**
144
- * Publishes a message to a topic for a specific device.
145
- *
146
- * Expands the topic using the topic prefix and device ID, then publishes the provided message string.
147
- *
148
- * @param id - The device or accessory identifier.
149
- * @param topic - The topic name to publish to.
150
- * @param message - The message payload to publish.
151
- *
152
- * @example
153
- *
154
- * ```ts
155
- * mqtt.publish("device1", "status", "on");
156
- * ```
157
- */
158
- publish(id, topic, message) {
159
- const expandedTopic = this.expandTopic(id, topic);
160
- // No valid topic returned, we're done.
161
- if (!expandedTopic) {
162
- return;
163
- }
164
- this.log.debug("MQTT publish: %s Message: %s.", expandedTopic, message);
165
- // By default, we publish as: pluginTopicPrefix/id/topic
166
- this.mqtt?.publish(expandedTopic, message);
167
- }
168
- /**
169
- * Subscribes to a topic for a specific device and registers a handler for incoming messages.
170
- *
171
- * The topic is expanded using the prefix and device ID, and the callback will be called for each message received.
172
- *
173
- * @param id - The device or accessory identifier.
174
- * @param topic - The topic name to subscribe to.
175
- * @param callback - Handler function called with the message buffer.
176
- *
177
- * @example
178
- *
179
- * ```ts
180
- * mqtt.subscribe("device1", "status", (msg) => {
181
- *
182
- * console.log(msg.toString());
183
- * });
184
- * ```
185
- */
186
- subscribe(id, topic, callback) {
187
- const expandedTopic = this.expandTopic(id, topic);
188
- // No valid topic returned, we're done.
189
- if (!expandedTopic) {
190
- return;
191
- }
192
- this.log.debug("MQTT subscribe: %s.", expandedTopic);
193
- // Add to our callback list.
194
- this.subscriptions.set(expandedTopic, callback);
195
- // Tell MQTT we're subscribing to this event.
196
- // By default, we subscribe as: pluginTopicPrefix/id/topic
197
- this.mqtt?.subscribe(expandedTopic);
198
- }
199
- /**
200
- * Subscribes to a '<topic>/get' topic and publishes a value in response to "true" messages.
201
- *
202
- * When a message "true" is received on the '<topic>/get' topic, this method will publish the result of `getValue()` on the main topic. The log will record each status
203
- * publication event.
204
- *
205
- * @param id - The device or accessory identifier.
206
- * @param topic - The topic name to use.
207
- * @param type - A human-readable label for log messages (e.g., "Temperature").
208
- * @param getValue - Function to get the value to publish as a string.
209
- * @param log - Optional logger for status output. Defaults to the class logger.
210
- *
211
- * @example
212
- *
213
- * ```ts
214
- * mqtt.subscribeGet("device1", "temperature", "Temperature", () => "21.5");
215
- * ```
216
- */
217
- subscribeGet(id, topic, type, getValue, log = this.log) {
218
- // Subscribe to the get topic and publish the current value when requested.
219
- this.subscribe(id, topic + "/get", (message) => {
220
- const value = message.toString().toLowerCase();
221
- // We only respond to "true" messages on the get topic.
222
- if (value !== "true") {
223
- return;
224
- }
225
- this.publish(id, topic, getValue());
226
- log.info("MQTT: %s status published.", type);
227
- });
228
- }
229
- /**
230
- * Subscribes to a '<topic>/set' topic and calls a setter when a message is received.
231
- *
232
- * The `setValue` function is called with both a normalized value and the raw string. Handles both synchronous and promise-based setters. Logs when set messages are
233
- * received and when errors occur.
234
- *
235
- * @param id - The device or accessory identifier.
236
- * @param topic - The topic name to use.
237
- * @param type - A human-readable label for log messages (e.g., "Switch").
238
- * @param setValue - Function to call when a value is set. Can be synchronous or return a Promise.
239
- * @param log - Optional logger for status output. Defaults to the class logger.
240
- *
241
- * @example
242
- *
243
- * ```ts
244
- * mqtt.subscribeSet("device1", "switch", "Switch", (value) => {
245
- *
246
- * console.log("Switch set to", value);
247
- * });
248
- * ```
249
- */
250
- subscribeSet(id, topic, type, setValue, log = this.log) {
251
- // Subscribe to the set topic and invoke the setter callback when a value is received.
252
- this.subscribe(id, topic + "/set", async (message) => {
253
- const value = message.toString().toLowerCase();
254
- // Set our value and inform the user.
255
- try {
256
- await setValue(value, message.toString());
257
- log.info("MQTT: set message received for %s: %s.", type, value);
258
- }
259
- catch (error) {
260
- log.error("MQTT: error setting %s to %s: %s.", type, value, (error instanceof Error ? error.message : String(error)).replace(/\.$/, ""));
261
- }
262
- });
263
- }
264
- /**
265
- * Unsubscribes from a topic for a specific device, removing its message handler.
266
- *
267
- * @param id - The device or accessory identifier.
268
- * @param topic - The topic name to unsubscribe from.
269
- *
270
- * @example
271
- *
272
- * ```ts
273
- * mqtt.unsubscribe("device1", "status");
274
- * ```
275
- */
276
- unsubscribe(id, topic) {
277
- const expandedTopic = this.expandTopic(id, topic);
278
- // No valid topic returned, we're done.
279
- if (!expandedTopic) {
280
- return;
281
- }
282
- this.subscriptions.delete(expandedTopic);
283
- this.mqtt?.unsubscribe(expandedTopic);
284
- }
285
- /**
286
- * Expands a topic string into a fully-formed topic path including the prefix and device ID.
287
- *
288
- * Returns `null` if the device ID is missing or empty.
289
- *
290
- * @param id - The device or accessory identifier.
291
- * @param topic - The topic name to expand.
292
- *
293
- * @returns The expanded topic string, or `null` if the ID is missing.
294
- *
295
- * @example
296
- *
297
- * ```ts
298
- * const topic = mqtt['expandTopic']("device1", "status");
299
- * // topic = "homebridge/device1/status"
300
- * ```
301
- */
302
- expandTopic(id, topic) {
303
- // No id, we're done.
304
- if (!id) {
305
- return null;
306
- }
307
- return this.topicPrefix + "/" + id + "/" + topic;
308
- }
309
- }
310
- //# sourceMappingURL=mqttclient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mqttclient.js","sourceRoot":"","sources":["../src/mqttclient.ts"],"names":[],"mappings":"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"}