hap-nodejs 1.1.1-beta.2 → 1.1.1-beta.3

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 (289) hide show
  1. package/@types/bonjour-hap.d.ts +50 -53
  2. package/README.md +16 -19
  3. package/dist/accessories/AirConditioner_accessory.js +28 -30
  4. package/dist/accessories/AirConditioner_accessory.js.map +1 -1
  5. package/dist/accessories/AppleTVRemote_accessory.js +69 -81
  6. package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
  7. package/dist/accessories/Camera_accessory.js +141 -136
  8. package/dist/accessories/Camera_accessory.js.map +1 -1
  9. package/dist/accessories/Fan_accessory.js +18 -22
  10. package/dist/accessories/Fan_accessory.js.map +1 -1
  11. package/dist/accessories/GarageDoorOpener_accessory.js +33 -35
  12. package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
  13. package/dist/accessories/Light-AdaptiveLighting_accessory.js +42 -44
  14. package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
  15. package/dist/accessories/Light_accessory.js +32 -34
  16. package/dist/accessories/Light_accessory.js.map +1 -1
  17. package/dist/accessories/Lock_accessory.js +25 -26
  18. package/dist/accessories/Lock_accessory.js.map +1 -1
  19. package/dist/accessories/MotionSensor_accessory.js +13 -16
  20. package/dist/accessories/MotionSensor_accessory.js.map +1 -1
  21. package/dist/accessories/Outlet_accessory.js +20 -22
  22. package/dist/accessories/Outlet_accessory.js.map +1 -1
  23. package/dist/accessories/SmartSpeaker_accessory.js +18 -20
  24. package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
  25. package/dist/accessories/Sprinkler_accessory.js +34 -37
  26. package/dist/accessories/Sprinkler_accessory.js.map +1 -1
  27. package/dist/accessories/TV_accessory.js +43 -45
  28. package/dist/accessories/TV_accessory.js.map +1 -1
  29. package/dist/accessories/TemperatureSensor_accessory.js +12 -15
  30. package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
  31. package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
  32. package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
  33. package/dist/accessories/Wi-FiRouter_accessory.js +9 -12
  34. package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
  35. package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
  36. package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
  37. package/dist/accessories/Wi-FiSatellite_accessory.js +11 -14
  38. package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
  39. package/dist/accessories/gstreamer-audioProducer.d.ts +3 -3
  40. package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
  41. package/dist/accessories/gstreamer-audioProducer.js +37 -38
  42. package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
  43. package/dist/accessories/types.d.ts +63 -63
  44. package/dist/accessories/types.d.ts.map +1 -1
  45. package/dist/accessories/types.js +83 -87
  46. package/dist/accessories/types.js.map +1 -1
  47. package/dist/index.d.ts +26 -28
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +40 -34
  50. package/dist/index.js.map +1 -1
  51. package/dist/internal-types.d.ts +1 -1
  52. package/dist/internal-types.d.ts.map +1 -1
  53. package/dist/internal-types.js +19 -21
  54. package/dist/internal-types.js.map +1 -1
  55. package/dist/lib/Accessory.d.ts +38 -37
  56. package/dist/lib/Accessory.d.ts.map +1 -1
  57. package/dist/lib/Accessory.js +286 -291
  58. package/dist/lib/Accessory.js.map +1 -1
  59. package/dist/lib/Advertiser.d.ts +7 -7
  60. package/dist/lib/Advertiser.d.ts.map +1 -1
  61. package/dist/lib/Advertiser.js +128 -136
  62. package/dist/lib/Advertiser.js.map +1 -1
  63. package/dist/lib/Bridge.d.ts +1 -1
  64. package/dist/lib/Bridge.d.ts.map +1 -1
  65. package/dist/lib/Bridge.js +2 -6
  66. package/dist/lib/Bridge.js.map +1 -1
  67. package/dist/lib/Characteristic.d.ts +40 -41
  68. package/dist/lib/Characteristic.d.ts.map +1 -1
  69. package/dist/lib/Characteristic.js +204 -208
  70. package/dist/lib/Characteristic.js.map +1 -1
  71. package/dist/lib/HAPServer.d.ts +31 -30
  72. package/dist/lib/HAPServer.d.ts.map +1 -1
  73. package/dist/lib/HAPServer.js +220 -229
  74. package/dist/lib/HAPServer.js.map +1 -1
  75. package/dist/lib/Service.d.ts +22 -22
  76. package/dist/lib/Service.d.ts.map +1 -1
  77. package/dist/lib/Service.js +63 -67
  78. package/dist/lib/Service.js.map +1 -1
  79. package/dist/lib/camera/RTPProxy.d.ts +2 -1
  80. package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
  81. package/dist/lib/camera/RTPProxy.js +28 -44
  82. package/dist/lib/camera/RTPProxy.js.map +1 -1
  83. package/dist/lib/camera/RTPStreamManagement.d.ts +34 -33
  84. package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
  85. package/dist/lib/camera/RTPStreamManagement.js +179 -151
  86. package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
  87. package/dist/lib/camera/RecordingManagement.d.ts +19 -17
  88. package/dist/lib/camera/RecordingManagement.d.ts.map +1 -1
  89. package/dist/lib/camera/RecordingManagement.js +160 -151
  90. package/dist/lib/camera/RecordingManagement.js.map +1 -1
  91. package/dist/lib/camera/index.d.ts +3 -3
  92. package/dist/lib/camera/index.d.ts.map +1 -1
  93. package/dist/lib/camera/index.js +3 -6
  94. package/dist/lib/camera/index.js.map +1 -1
  95. package/dist/lib/controller/AdaptiveLightingController.d.ts +33 -33
  96. package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
  97. package/dist/lib/controller/AdaptiveLightingController.js +152 -144
  98. package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
  99. package/dist/lib/controller/CameraController.d.ts +22 -20
  100. package/dist/lib/controller/CameraController.d.ts.map +1 -1
  101. package/dist/lib/controller/CameraController.js +74 -78
  102. package/dist/lib/controller/CameraController.js.map +1 -1
  103. package/dist/lib/controller/Controller.d.ts +4 -4
  104. package/dist/lib/controller/Controller.d.ts.map +1 -1
  105. package/dist/lib/controller/Controller.js +5 -8
  106. package/dist/lib/controller/Controller.js.map +1 -1
  107. package/dist/lib/controller/DoorbellController.d.ts +5 -4
  108. package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
  109. package/dist/lib/controller/DoorbellController.js +9 -13
  110. package/dist/lib/controller/DoorbellController.js.map +1 -1
  111. package/dist/lib/controller/RemoteController.d.ts +39 -37
  112. package/dist/lib/controller/RemoteController.d.ts.map +1 -1
  113. package/dist/lib/controller/RemoteController.js +208 -197
  114. package/dist/lib/controller/RemoteController.js.map +1 -1
  115. package/dist/lib/controller/index.d.ts +5 -5
  116. package/dist/lib/controller/index.d.ts.map +1 -1
  117. package/dist/lib/controller/index.js +5 -8
  118. package/dist/lib/controller/index.js.map +1 -1
  119. package/dist/lib/datastream/DataStreamManagement.d.ts +2 -2
  120. package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
  121. package/dist/lib/datastream/DataStreamManagement.js +39 -39
  122. package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
  123. package/dist/lib/datastream/DataStreamParser.d.ts +1 -0
  124. package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
  125. package/dist/lib/datastream/DataStreamParser.js +57 -77
  126. package/dist/lib/datastream/DataStreamParser.js.map +1 -1
  127. package/dist/lib/datastream/DataStreamServer.d.ts +23 -22
  128. package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
  129. package/dist/lib/datastream/DataStreamServer.js +154 -164
  130. package/dist/lib/datastream/DataStreamServer.js.map +1 -1
  131. package/dist/lib/datastream/index.d.ts +3 -3
  132. package/dist/lib/datastream/index.d.ts.map +1 -1
  133. package/dist/lib/datastream/index.js +3 -6
  134. package/dist/lib/datastream/index.js.map +1 -1
  135. package/dist/lib/dbus/align.d.ts +2 -0
  136. package/dist/lib/dbus/align.d.ts.map +1 -0
  137. package/dist/lib/dbus/align.js +12 -0
  138. package/dist/lib/dbus/align.js.map +1 -0
  139. package/dist/lib/dbus/bus.d.ts +38 -0
  140. package/dist/lib/dbus/bus.d.ts.map +1 -0
  141. package/dist/lib/dbus/bus.js +222 -0
  142. package/dist/lib/dbus/bus.js.map +1 -0
  143. package/dist/lib/dbus/constants.d.ts +43 -0
  144. package/dist/lib/dbus/constants.d.ts.map +1 -0
  145. package/dist/lib/dbus/constants.js +53 -0
  146. package/dist/lib/dbus/constants.js.map +1 -0
  147. package/dist/lib/dbus/dbus-buffer.d.ts +30 -0
  148. package/dist/lib/dbus/dbus-buffer.d.ts.map +1 -0
  149. package/dist/lib/dbus/dbus-buffer.js +175 -0
  150. package/dist/lib/dbus/dbus-buffer.js.map +1 -0
  151. package/dist/lib/dbus/handshake.d.ts +2 -0
  152. package/dist/lib/dbus/handshake.d.ts.map +1 -0
  153. package/dist/lib/dbus/handshake.js +130 -0
  154. package/dist/lib/dbus/handshake.js.map +1 -0
  155. package/dist/lib/dbus/index.d.ts +3 -0
  156. package/dist/lib/dbus/index.d.ts.map +1 -0
  157. package/dist/lib/dbus/index.js +123 -0
  158. package/dist/lib/dbus/index.js.map +1 -0
  159. package/dist/lib/dbus/introspect.d.ts +30 -0
  160. package/dist/lib/dbus/introspect.d.ts.map +1 -0
  161. package/dist/lib/dbus/introspect.js +208 -0
  162. package/dist/lib/dbus/introspect.js.map +1 -0
  163. package/dist/lib/dbus/marshall.d.ts +2 -0
  164. package/dist/lib/dbus/marshall.d.ts.map +1 -0
  165. package/dist/lib/dbus/marshall.js +97 -0
  166. package/dist/lib/dbus/marshall.js.map +1 -0
  167. package/dist/lib/dbus/marshallers.d.ts +10 -0
  168. package/dist/lib/dbus/marshallers.d.ts.map +1 -0
  169. package/dist/lib/dbus/marshallers.js +329 -0
  170. package/dist/lib/dbus/marshallers.js.map +1 -0
  171. package/dist/lib/dbus/message.d.ts +4 -0
  172. package/dist/lib/dbus/message.d.ts.map +1 -0
  173. package/dist/lib/dbus/message.js +116 -0
  174. package/dist/lib/dbus/message.js.map +1 -0
  175. package/dist/lib/dbus/put.d.ts +21 -0
  176. package/dist/lib/dbus/put.d.ts.map +1 -0
  177. package/dist/lib/dbus/put.js +120 -0
  178. package/dist/lib/dbus/put.js.map +1 -0
  179. package/dist/lib/dbus/readline.d.ts +2 -0
  180. package/dist/lib/dbus/readline.d.ts.map +1 -0
  181. package/dist/lib/dbus/readline.js +27 -0
  182. package/dist/lib/dbus/readline.js.map +1 -0
  183. package/dist/lib/dbus/signature.d.ts +2 -0
  184. package/dist/lib/dbus/signature.d.ts.map +1 -0
  185. package/dist/lib/dbus/signature.js +58 -0
  186. package/dist/lib/dbus/signature.js.map +1 -0
  187. package/dist/lib/dbus/stdifaces.d.ts +3 -0
  188. package/dist/lib/dbus/stdifaces.d.ts.map +1 -0
  189. package/dist/lib/dbus/stdifaces.js +206 -0
  190. package/dist/lib/dbus/stdifaces.js.map +1 -0
  191. package/dist/lib/definitions/CharacteristicDefinitions.d.ts +1 -1
  192. package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
  193. package/dist/lib/definitions/CharacteristicDefinitions.js +958 -1204
  194. package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
  195. package/dist/lib/definitions/ServiceDefinitions.d.ts +1 -1
  196. package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
  197. package/dist/lib/definitions/ServiceDefinitions.js +620 -695
  198. package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
  199. package/dist/lib/definitions/generate-definitions.d.ts +3 -3
  200. package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
  201. package/dist/lib/definitions/generate-definitions.js +246 -253
  202. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  203. package/dist/lib/definitions/generator-configuration.d.ts +1 -1
  204. package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
  205. package/dist/lib/definitions/generator-configuration.js +160 -165
  206. package/dist/lib/definitions/generator-configuration.js.map +1 -1
  207. package/dist/lib/definitions/index.d.ts +2 -2
  208. package/dist/lib/definitions/index.d.ts.map +1 -1
  209. package/dist/lib/definitions/index.js +2 -5
  210. package/dist/lib/definitions/index.js.map +1 -1
  211. package/dist/lib/model/AccessoryInfo.d.ts +4 -3
  212. package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
  213. package/dist/lib/model/AccessoryInfo.js +50 -53
  214. package/dist/lib/model/AccessoryInfo.js.map +1 -1
  215. package/dist/lib/model/ControllerStorage.d.ts +3 -3
  216. package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
  217. package/dist/lib/model/ControllerStorage.js +17 -22
  218. package/dist/lib/model/ControllerStorage.js.map +1 -1
  219. package/dist/lib/model/HAPStorage.d.ts +2 -2
  220. package/dist/lib/model/HAPStorage.d.ts.map +1 -1
  221. package/dist/lib/model/HAPStorage.js +4 -11
  222. package/dist/lib/model/HAPStorage.js.map +1 -1
  223. package/dist/lib/model/IdentifierCache.d.ts +1 -1
  224. package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
  225. package/dist/lib/model/IdentifierCache.js +19 -27
  226. package/dist/lib/model/IdentifierCache.js.map +1 -1
  227. package/dist/lib/tv/AccessControlManagement.d.ts +9 -9
  228. package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
  229. package/dist/lib/tv/AccessControlManagement.js +27 -29
  230. package/dist/lib/tv/AccessControlManagement.js.map +1 -1
  231. package/dist/lib/util/checkName.d.ts +2 -2
  232. package/dist/lib/util/checkName.d.ts.map +1 -1
  233. package/dist/lib/util/checkName.js +6 -9
  234. package/dist/lib/util/checkName.js.map +1 -1
  235. package/dist/lib/util/clone.d.ts.map +1 -1
  236. package/dist/lib/util/clone.js +1 -5
  237. package/dist/lib/util/clone.js.map +1 -1
  238. package/dist/lib/util/color-utils.d.ts +1 -1
  239. package/dist/lib/util/color-utils.d.ts.map +1 -1
  240. package/dist/lib/util/color-utils.js +4 -9
  241. package/dist/lib/util/color-utils.js.map +1 -1
  242. package/dist/lib/util/eventedhttp.d.ts +23 -22
  243. package/dist/lib/util/eventedhttp.d.ts.map +1 -1
  244. package/dist/lib/util/eventedhttp.js +109 -116
  245. package/dist/lib/util/eventedhttp.js.map +1 -1
  246. package/dist/lib/util/hapCrypto.d.ts +3 -2
  247. package/dist/lib/util/hapCrypto.d.ts.map +1 -1
  248. package/dist/lib/util/hapCrypto.js +31 -40
  249. package/dist/lib/util/hapCrypto.js.map +1 -1
  250. package/dist/lib/util/hapStatusError.d.ts +1 -1
  251. package/dist/lib/util/hapStatusError.d.ts.map +1 -1
  252. package/dist/lib/util/hapStatusError.js +4 -8
  253. package/dist/lib/util/hapStatusError.js.map +1 -1
  254. package/dist/lib/util/net-utils.d.ts +1 -1
  255. package/dist/lib/util/net-utils.js +17 -23
  256. package/dist/lib/util/net-utils.js.map +1 -1
  257. package/dist/lib/util/once.d.ts.map +1 -1
  258. package/dist/lib/util/once.js +2 -6
  259. package/dist/lib/util/once.js.map +1 -1
  260. package/dist/lib/util/promise-utils.d.ts +1 -1
  261. package/dist/lib/util/promise-utils.d.ts.map +1 -1
  262. package/dist/lib/util/promise-utils.js +3 -9
  263. package/dist/lib/util/promise-utils.js.map +1 -1
  264. package/dist/lib/util/request-util.d.ts +3 -2
  265. package/dist/lib/util/request-util.d.ts.map +1 -1
  266. package/dist/lib/util/request-util.js +11 -19
  267. package/dist/lib/util/request-util.js.map +1 -1
  268. package/dist/lib/util/time.d.ts +1 -0
  269. package/dist/lib/util/time.d.ts.map +1 -1
  270. package/dist/lib/util/time.js +6 -11
  271. package/dist/lib/util/time.js.map +1 -1
  272. package/dist/lib/util/tlv.d.ts +1 -0
  273. package/dist/lib/util/tlv.d.ts.map +1 -1
  274. package/dist/lib/util/tlv.js +28 -43
  275. package/dist/lib/util/tlv.js.map +1 -1
  276. package/dist/lib/util/uuid.d.ts +1 -0
  277. package/dist/lib/util/uuid.d.ts.map +1 -1
  278. package/dist/lib/util/uuid.js +26 -38
  279. package/dist/lib/util/uuid.js.map +1 -1
  280. package/dist/types.d.ts +24 -24
  281. package/dist/types.d.ts.map +1 -1
  282. package/dist/types.js +3 -5
  283. package/dist/types.js.map +1 -1
  284. package/package.json +48 -45
  285. package/@types/simple-plist.d.ts +0 -4
  286. package/dist/lib/gen/HomeKit.d.ts +0 -7
  287. package/dist/lib/gen/HomeKit.d.ts.map +0 -1
  288. package/dist/lib/gen/HomeKit.js +0 -8
  289. package/dist/lib/gen/HomeKit.js.map +0 -1
@@ -1,52 +1,50 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResolvedAdvertiser = exports.AvahiAdvertiser = exports.DBusInvokeError = exports.BonjourHAPAdvertiser = exports.CiaoAdvertiser = exports.AdvertiserEvent = exports.PairingFeatureFlag = exports.StatusFlag = void 0;
4
- const tslib_1 = require("tslib");
5
- // eslint-disable-next-line @typescript-eslint/triple-slash-reference
6
- /// <reference path="../../@types/bonjour-hap.d.ts" />
7
- const ciao_1 = tslib_1.__importDefault(require("@homebridge/ciao"));
8
- const dbus_native_1 = tslib_1.__importDefault(require("@homebridge/dbus-native"));
9
- const assert_1 = tslib_1.__importDefault(require("assert"));
10
- const bonjour_hap_1 = tslib_1.__importDefault(require("bonjour-hap"));
11
- const crypto_1 = tslib_1.__importDefault(require("crypto"));
12
- const debug_1 = tslib_1.__importDefault(require("debug"));
13
- const events_1 = require("events");
14
- const promise_utils_1 = require("./util/promise-utils");
15
- const debug = (0, debug_1.default)("HAP-NodeJS:Advertiser");
1
+ import assert from 'node:assert';
2
+ import { Buffer } from 'node:buffer';
3
+ import { createHash } from 'node:crypto';
4
+ import { EventEmitter } from 'node:events';
5
+ import { getResponder } from '@homebridge/ciao';
6
+ import bonjour from 'bonjour-hap';
7
+ import createDebug from 'debug';
8
+ import { systemBus } from './dbus/index.js';
9
+ import { PromiseTimeout } from './util/promise-utils.js';
10
+ const debug = createDebug('HAP-NodeJS:Advertiser');
16
11
  /**
17
12
  * This enum lists all bitmasks for all known status flags.
18
13
  * When the bit for the given bitmask is set, it represents the state described by the name.
19
14
  *
20
15
  * @group Advertiser
21
16
  */
22
- var StatusFlag;
17
+ // eslint-disable-next-line no-restricted-syntax
18
+ export var StatusFlag;
23
19
  (function (StatusFlag) {
24
20
  StatusFlag[StatusFlag["NOT_PAIRED"] = 1] = "NOT_PAIRED";
25
21
  StatusFlag[StatusFlag["NOT_JOINED_WIFI"] = 2] = "NOT_JOINED_WIFI";
26
22
  StatusFlag[StatusFlag["PROBLEM_DETECTED"] = 4] = "PROBLEM_DETECTED";
27
- })(StatusFlag || (exports.StatusFlag = StatusFlag = {}));
23
+ })(StatusFlag || (StatusFlag = {}));
28
24
  /**
29
25
  * This enum lists all bitmasks for all known pairing feature flags.
30
26
  * When the bit for the given bitmask is set, it represents the state described by the name.
31
27
  *
32
28
  * @group Advertiser
33
29
  */
34
- var PairingFeatureFlag;
30
+ // eslint-disable-next-line no-restricted-syntax
31
+ export var PairingFeatureFlag;
35
32
  (function (PairingFeatureFlag) {
36
33
  PairingFeatureFlag[PairingFeatureFlag["SUPPORTS_HARDWARE_AUTHENTICATION"] = 1] = "SUPPORTS_HARDWARE_AUTHENTICATION";
37
34
  PairingFeatureFlag[PairingFeatureFlag["SUPPORTS_SOFTWARE_AUTHENTICATION"] = 2] = "SUPPORTS_SOFTWARE_AUTHENTICATION";
38
- })(PairingFeatureFlag || (exports.PairingFeatureFlag = PairingFeatureFlag = {}));
35
+ })(PairingFeatureFlag || (PairingFeatureFlag = {}));
39
36
  /**
40
37
  * @group Advertiser
41
38
  */
42
- var AdvertiserEvent;
39
+ // eslint-disable-next-line no-restricted-syntax
40
+ export var AdvertiserEvent;
43
41
  (function (AdvertiserEvent) {
44
42
  /**
45
43
  * Emitted if the underlying mDNS advertisers signals, that the service name
46
44
  * was automatically changed due to some naming conflicts on the network.
47
45
  */
48
46
  AdvertiserEvent["UPDATED_NAME"] = "updated-name";
49
- })(AdvertiserEvent || (exports.AdvertiserEvent = AdvertiserEvent = {}));
47
+ })(AdvertiserEvent || (AdvertiserEvent = {}));
50
48
  /**
51
49
  * Advertiser uses mdns to broadcast the presence of an Accessory to the local network.
52
50
  *
@@ -57,9 +55,9 @@ var AdvertiserEvent;
57
55
  *
58
56
  * @group Advertiser
59
57
  */
60
- class CiaoAdvertiser extends events_1.EventEmitter {
61
- static protocolVersion = "1.1";
62
- static protocolVersionService = "1.1.0";
58
+ export class CiaoAdvertiser extends EventEmitter {
59
+ static protocolVersion = '1.1';
60
+ static protocolVersionService = '1.1.0';
63
61
  accessoryInfo;
64
62
  setupHash;
65
63
  responder;
@@ -68,7 +66,7 @@ class CiaoAdvertiser extends events_1.EventEmitter {
68
66
  super();
69
67
  this.accessoryInfo = accessoryInfo;
70
68
  this.setupHash = CiaoAdvertiser.computeSetupHash(accessoryInfo);
71
- this.responder = ciao_1.default.getResponder({
69
+ this.responder = getResponder({
72
70
  ...responderOptions,
73
71
  });
74
72
  this.advertisedService = this.responder.createService({
@@ -90,7 +88,7 @@ class CiaoAdvertiser extends events_1.EventEmitter {
90
88
  }
91
89
  updateAdvertisement(silent) {
92
90
  const txt = CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash);
93
- debug("Updating txt record (txt: %o, silent: %d)", txt, silent);
91
+ debug('Updating txt record (txt: %o, silent: %d)', txt, silent);
94
92
  this.advertisedService.updateTxt(txt, silent);
95
93
  }
96
94
  async destroy() {
@@ -104,21 +102,21 @@ class CiaoAdvertiser extends events_1.EventEmitter {
104
102
  statusFlags.push(1 /* StatusFlag.NOT_PAIRED */);
105
103
  }
106
104
  return {
107
- "c#": accessoryInfo.getConfigVersion(), // current configuration number
108
- ff: CiaoAdvertiser.ff(), // pairing feature flags
109
- id: accessoryInfo.username, // device id
110
- md: accessoryInfo.model, // model name
111
- pv: CiaoAdvertiser.protocolVersion, // protocol version
112
- "s#": 1, // current state number (must be 1)
113
- sf: CiaoAdvertiser.sf(...statusFlags), // status flags
114
- ci: accessoryInfo.category,
115
- sh: setupHash,
105
+ 'c#': accessoryInfo.getConfigVersion(), // current configuration number
106
+ 'ff': CiaoAdvertiser.ff(), // pairing feature flags
107
+ 'id': accessoryInfo.username, // device id
108
+ 'md': accessoryInfo.model, // model name
109
+ 'pv': CiaoAdvertiser.protocolVersion, // protocol version
110
+ 's#': 1, // current state number (must be 1)
111
+ 'sf': CiaoAdvertiser.sf(...statusFlags), // status flags
112
+ 'ci': accessoryInfo.category,
113
+ 'sh': setupHash,
116
114
  };
117
115
  }
118
116
  static computeSetupHash(accessoryInfo) {
119
- const hash = crypto_1.default.createHash("sha512");
117
+ const hash = createHash('sha512');
120
118
  hash.update(accessoryInfo.setupID + accessoryInfo.username.toUpperCase());
121
- return hash.digest().slice(0, 4).toString("base64");
119
+ return hash.digest().subarray(0, 4).toString('base64');
122
120
  }
123
121
  static ff(...flags) {
124
122
  let value = 0;
@@ -131,13 +129,12 @@ class CiaoAdvertiser extends events_1.EventEmitter {
131
129
  return value;
132
130
  }
133
131
  }
134
- exports.CiaoAdvertiser = CiaoAdvertiser;
135
132
  /**
136
133
  * Advertiser base on the legacy "bonjour-hap" library.
137
134
  *
138
135
  * @group Advertiser
139
136
  */
140
- class BonjourHAPAdvertiser extends events_1.EventEmitter {
137
+ export class BonjourHAPAdvertiser extends EventEmitter {
141
138
  accessoryInfo;
142
139
  setupHash;
143
140
  serviceOptions;
@@ -150,36 +147,36 @@ class BonjourHAPAdvertiser extends events_1.EventEmitter {
150
147
  this.accessoryInfo = accessoryInfo;
151
148
  this.setupHash = CiaoAdvertiser.computeSetupHash(accessoryInfo);
152
149
  this.serviceOptions = serviceOptions;
153
- this.bonjour = (0, bonjour_hap_1.default)();
150
+ this.bonjour = bonjour();
154
151
  debug(`Preparing Advertiser for '${this.accessoryInfo.displayName}' using bonjour-hap backend!`);
155
152
  }
156
153
  initPort(port) {
157
154
  this.port = port;
158
155
  }
159
156
  startAdvertising() {
160
- (0, assert_1.default)(!this.destroyed, "Can't advertise on a destroyed bonjour instance!");
157
+ assert(!this.destroyed, 'Can\'t advertise on a destroyed bonjour instance!');
161
158
  if (this.port == null) {
162
- throw new Error("Tried starting bonjour-hap advertisement without initializing port!");
159
+ throw new Error('Tried starting bonjour-hap advertisement without initializing port!');
163
160
  }
164
161
  debug(`Starting to advertise '${this.accessoryInfo.displayName}' using bonjour-hap backend!`);
165
162
  if (this.advertisement) {
166
163
  this.destroy();
167
164
  }
168
- const hostname = this.accessoryInfo.username.replace(/:/ig, "_") + ".local";
165
+ const hostname = `${this.accessoryInfo.username.replace(/:/g, '_')}.local`;
169
166
  this.advertisement = this.bonjour.publish({
170
167
  name: this.accessoryInfo.displayName,
171
- type: "hap",
168
+ type: 'hap',
172
169
  port: this.port,
173
170
  txt: CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash),
174
171
  host: hostname,
175
172
  addUnsafeServiceEnumerationRecord: true,
176
173
  ...this.serviceOptions,
177
174
  });
178
- return (0, promise_utils_1.PromiseTimeout)(1);
175
+ return PromiseTimeout(1);
179
176
  }
180
177
  updateAdvertisement(silent) {
181
178
  const txt = CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash);
182
- debug("Updating txt record (txt: %o, silent: %d)", txt, silent);
179
+ debug('Updating txt record (txt: %o, silent: %d)', txt, silent);
183
180
  if (this.advertisement) {
184
181
  this.advertisement.updateTxt(txt, silent);
185
182
  }
@@ -197,32 +194,34 @@ class BonjourHAPAdvertiser extends events_1.EventEmitter {
197
194
  }
198
195
  }
199
196
  }
200
- exports.BonjourHAPAdvertiser = BonjourHAPAdvertiser;
201
197
  function messageBusConnectionResult(bus) {
202
198
  return new Promise((resolve, reject) => {
199
+ debug('Waiting for connection to message bus...');
203
200
  const errorHandler = (error) => {
204
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
205
- bus.connection.removeListener("connect", connectHandler);
201
+ debug('Failed to connect to message bus: %s', error);
202
+ // eslint-disable-next-line ts/no-use-before-define
203
+ bus.connection.removeListener('connect', connectHandler);
206
204
  reject(error);
207
205
  };
208
206
  const connectHandler = () => {
209
- bus.connection.removeListener("error", errorHandler);
207
+ debug('Connected to message bus!');
208
+ bus.connection.removeListener('error', errorHandler);
210
209
  resolve();
211
210
  };
212
- bus.connection.once("connect", connectHandler);
213
- bus.connection.once("error", errorHandler);
211
+ bus.connection.once('connect', connectHandler);
212
+ bus.connection.once('error', errorHandler);
213
+ debug('Listening for connection to message bus...');
214
214
  });
215
215
  }
216
216
  /**
217
217
  * @group Advertiser
218
218
  */
219
- class DBusInvokeError extends Error {
219
+ export class DBusInvokeError extends Error {
220
220
  errorName;
221
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
222
221
  constructor(errorObject) {
223
222
  super();
224
223
  Object.setPrototypeOf(this, DBusInvokeError.prototype);
225
- this.name = "DBusInvokeError";
224
+ this.name = 'DBusInvokeError';
226
225
  this.errorName = errorObject.name;
227
226
  if (Array.isArray(errorObject.message) && errorObject.message.length === 1) {
228
227
  this.message = errorObject.message[0];
@@ -232,8 +231,6 @@ class DBusInvokeError extends Error {
232
231
  }
233
232
  }
234
233
  }
235
- exports.DBusInvokeError = DBusInvokeError;
236
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
237
234
  function dbusInvoke(bus, destination, path, dbusInterface, member, others) {
238
235
  return new Promise((resolve, reject) => {
239
236
  const command = {
@@ -260,9 +257,9 @@ function dbusInvoke(bus, destination, path, dbusInterface, member, others) {
260
257
  *
261
258
  * @group Advertiser
262
259
  */
260
+ // eslint-disable-next-line no-restricted-syntax
263
261
  var AvahiServerState;
264
262
  (function (AvahiServerState) {
265
- // noinspection JSUnusedGlobalSymbols
266
263
  AvahiServerState[AvahiServerState["INVALID"] = 0] = "INVALID";
267
264
  AvahiServerState[AvahiServerState["REGISTERING"] = 1] = "REGISTERING";
268
265
  AvahiServerState[AvahiServerState["RUNNING"] = 2] = "RUNNING";
@@ -278,7 +275,7 @@ var AvahiServerState;
278
275
  *
279
276
  * @group Advertiser
280
277
  */
281
- class AvahiAdvertiser extends events_1.EventEmitter {
278
+ export class AvahiAdvertiser extends EventEmitter {
282
279
  accessoryInfo;
283
280
  setupHash;
284
281
  port;
@@ -291,53 +288,53 @@ class AvahiAdvertiser extends events_1.EventEmitter {
291
288
  this.accessoryInfo = accessoryInfo;
292
289
  this.setupHash = CiaoAdvertiser.computeSetupHash(accessoryInfo);
293
290
  debug(`Preparing Advertiser for '${this.accessoryInfo.displayName}' using Avahi backend!`);
294
- this.bus = dbus_native_1.default.systemBus();
291
+ this.bus = systemBus();
295
292
  this.stateChangeHandler = this.handleStateChangedEvent.bind(this);
296
293
  }
297
294
  createTxt() {
298
295
  return Object
299
296
  .entries(CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash))
300
- .map((el) => Buffer.from(el[0] + "=" + el[1]));
297
+ .map((el) => Buffer.from(`${el[0]}=${el[1]}`));
301
298
  }
302
299
  initPort(port) {
303
300
  this.port = port;
304
301
  }
305
302
  async startAdvertising() {
306
303
  if (this.port == null) {
307
- throw new Error("Tried starting Avahi advertisement without initializing port!");
304
+ throw new Error('Tried starting Avahi advertisement without initializing port!');
308
305
  }
309
306
  if (!this.bus) {
310
- throw new Error("Tried to start Avahi advertisement on a destroyed advertiser!");
307
+ throw new Error('Tried to start Avahi advertisement on a destroyed advertiser!');
311
308
  }
312
309
  debug(`Starting to advertise '${this.accessoryInfo.displayName}' using Avahi backend!`);
313
- this.path = await AvahiAdvertiser.avahiInvoke(this.bus, "/", "Server", "EntryGroupNew");
314
- await AvahiAdvertiser.avahiInvoke(this.bus, this.path, "EntryGroup", "AddService", {
310
+ this.path = await AvahiAdvertiser.avahiInvoke(this.bus, '/', 'Server', 'EntryGroupNew');
311
+ await AvahiAdvertiser.avahiInvoke(this.bus, this.path, 'EntryGroup', 'AddService', {
315
312
  body: [
316
313
  -1, // interface
317
314
  -1, // protocol
318
315
  0, // flags
319
316
  this.accessoryInfo.displayName, // name
320
- "_hap._tcp", // type
321
- "", // domain
322
- "", // host
317
+ '_hap._tcp', // type
318
+ '', // domain
319
+ '', // host
323
320
  this.port, // port
324
321
  this.createTxt(), // txt
325
322
  ],
326
- signature: "iiussssqaay",
323
+ signature: 'iiussssqaay',
327
324
  });
328
- await AvahiAdvertiser.avahiInvoke(this.bus, this.path, "EntryGroup", "Commit");
325
+ await AvahiAdvertiser.avahiInvoke(this.bus, this.path, 'EntryGroup', 'Commit');
329
326
  try {
330
327
  if (!this.avahiServerInterface) {
331
- this.avahiServerInterface = await AvahiAdvertiser.avahiInterface(this.bus, "Server");
332
- this.avahiServerInterface.on("StateChanged", this.stateChangeHandler);
328
+ this.avahiServerInterface = await AvahiAdvertiser.avahiInterface(this.bus, 'Server');
329
+ this.avahiServerInterface.on('StateChanged', this.stateChangeHandler);
333
330
  }
334
331
  }
335
332
  catch (error) {
336
333
  // We have some problem on Synology https://github.com/homebridge/HAP-NodeJS/issues/993
337
- console.warn("Failed to create listener for avahi-daemon server state. The system will not be notified about restarts of avahi-daemon " +
338
- "and will therefore stay undiscoverable in those instances. Error message: " + error);
334
+ console.warn(`Failed to create listener for avahi-daemon server state. The system will not be notified about restarts of avahi-daemon `
335
+ + `and will therefore stay undiscoverable in those instances. Error message: ${error}`);
339
336
  if (error.stack) {
340
- debug("Detailed error: " + error.stack);
337
+ debug(`Detailed error: ${error.stack}`);
341
338
  }
342
339
  }
343
340
  }
@@ -349,67 +346,67 @@ class AvahiAdvertiser extends events_1.EventEmitter {
349
346
  */
350
347
  handleStateChangedEvent(state) {
351
348
  if (state === 2 /* AvahiServerState.RUNNING */ && this.path) {
352
- debug("Found Avahi daemon to have restarted!");
349
+ debug('Found Avahi daemon to have restarted!');
353
350
  this.startAdvertising()
354
- .catch(reason => console.error("Could not (re-)create mDNS advertisement. The HAP-Server won't be discoverable: " + reason));
351
+ .catch(reason => console.error(`Could not (re-)create mDNS advertisement. The HAP-Server won't be discoverable: ${reason}`));
355
352
  }
356
353
  }
357
354
  async updateAdvertisement(silent) {
358
355
  if (!this.bus) {
359
- throw new Error("Tried to update Avahi advertisement on a destroyed advertiser!");
356
+ throw new Error('Tried to update Avahi advertisement on a destroyed advertiser!');
360
357
  }
361
358
  if (!this.path) {
362
- debug("Tried to update advertisement without a valid `path`!");
359
+ debug('Tried to update advertisement without a valid `path`!');
363
360
  return;
364
361
  }
365
- debug("Updating txt record (txt: %o, silent: %d)", CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash), silent);
362
+ debug('Updating txt record (txt: %o, silent: %d)', CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash), silent);
366
363
  try {
367
- await AvahiAdvertiser.avahiInvoke(this.bus, this.path, "EntryGroup", "UpdateServiceTxt", {
368
- body: [-1, -1, 0, this.accessoryInfo.displayName, "_hap._tcp", "", this.createTxt()],
369
- signature: "iiusssaay",
364
+ await AvahiAdvertiser.avahiInvoke(this.bus, this.path, 'EntryGroup', 'UpdateServiceTxt', {
365
+ body: [-1, -1, 0, this.accessoryInfo.displayName, '_hap._tcp', '', this.createTxt()],
366
+ signature: 'iiusssaay',
370
367
  });
371
368
  }
372
369
  catch (error) {
373
- console.error("Failed to update avahi advertisement: " + error);
370
+ console.error(`Failed to update avahi advertisement: ${error}`);
374
371
  }
375
372
  }
376
373
  async destroy() {
377
374
  if (!this.bus) {
378
- throw new Error("Tried to destroy Avahi advertisement on a destroyed advertiser!");
375
+ throw new Error('Tried to destroy Avahi advertisement on a destroyed advertiser!');
379
376
  }
380
377
  if (this.path) {
381
378
  try {
382
- await AvahiAdvertiser.avahiInvoke(this.bus, this.path, "EntryGroup", "Free");
379
+ await AvahiAdvertiser.avahiInvoke(this.bus, this.path, 'EntryGroup', 'Free');
383
380
  }
384
381
  catch (error) {
385
382
  // Typically, this fails if e.g. avahi service was stopped in the meantime.
386
- debug("Destroying Avahi advertisement failed: " + error);
383
+ debug(`Destroying Avahi advertisement failed: ${error}`);
387
384
  }
388
385
  this.path = undefined;
389
386
  }
390
387
  if (this.avahiServerInterface) {
391
- this.avahiServerInterface.removeListener("StateChanged", this.stateChangeHandler);
388
+ this.avahiServerInterface.removeListener('StateChanged', this.stateChangeHandler);
392
389
  this.avahiServerInterface = undefined;
393
390
  }
394
391
  this.bus.connection.stream.destroy();
395
392
  this.bus = undefined;
396
393
  }
397
394
  static async isAvailable() {
398
- const bus = dbus_native_1.default.systemBus();
395
+ debug('Checking for Avahi/DBus availability...');
396
+ const bus = systemBus();
399
397
  try {
400
398
  try {
401
399
  await messageBusConnectionResult(bus);
402
400
  }
403
401
  catch (error) {
404
- debug("Avahi/DBus classified unavailable due to missing dbus interface!");
405
402
  return false;
406
403
  }
407
404
  try {
408
- const version = await this.avahiInvoke(bus, "/", "Server", "GetVersionString");
409
- debug("Detected Avahi over DBus interface running version '%s'.", version);
405
+ const version = await this.avahiInvoke(bus, '/', 'Server', 'GetVersionString');
406
+ debug('Detected Avahi over DBus interface running version \'%s\'.', version);
410
407
  }
411
408
  catch (error) {
412
- debug("Avahi/DBus classified unavailable due to missing avahi interface!");
409
+ debug('Avahi/DBus classified unavailable due to missing avahi interface!');
413
410
  return false;
414
411
  }
415
412
  return true;
@@ -418,17 +415,16 @@ class AvahiAdvertiser extends events_1.EventEmitter {
418
415
  bus.connection.stream.destroy();
419
416
  }
420
417
  }
421
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
422
418
  static avahiInvoke(bus, path, dbusInterface, member, others) {
423
- return dbusInvoke(bus, "org.freedesktop.Avahi", path, `org.freedesktop.Avahi.${dbusInterface}`, member, others);
419
+ return dbusInvoke(bus, 'org.freedesktop.Avahi', path, `org.freedesktop.Avahi.${dbusInterface}`, member, others);
424
420
  }
425
421
  static avahiInterface(bus, dbusInterface) {
426
422
  return new Promise((resolve, reject) => {
427
423
  bus
428
- .getService("org.freedesktop.Avahi")
429
- .getInterface("/", "org.freedesktop.Avahi." + dbusInterface, (error, iface) => {
424
+ .getService('org.freedesktop.Avahi')
425
+ .getInterface('/', `org.freedesktop.Avahi.${dbusInterface}`, (error, iface) => {
430
426
  if (error || !iface) {
431
- reject(error ?? new Error("Interface not present!"));
427
+ reject(error ?? new Error('Interface not present!'));
432
428
  }
433
429
  else {
434
430
  resolve(iface);
@@ -437,11 +433,10 @@ class AvahiAdvertiser extends events_1.EventEmitter {
437
433
  });
438
434
  }
439
435
  }
440
- exports.AvahiAdvertiser = AvahiAdvertiser;
441
436
  const RESOLVED_PERMISSIONS_ERRORS = [
442
- "org.freedesktop.DBus.Error.AccessDenied",
443
- "org.freedesktop.DBus.Error.AuthFailed",
444
- "org.freedesktop.DBus.Error.InteractiveAuthorizationRequired",
437
+ 'org.freedesktop.DBus.Error.AccessDenied',
438
+ 'org.freedesktop.DBus.Error.AuthFailed',
439
+ 'org.freedesktop.DBus.Error.InteractiveAuthorizationRequired',
445
440
  ];
446
441
  /**
447
442
  * Advertiser based on the systemd-resolved D-Bus library.
@@ -449,7 +444,7 @@ const RESOLVED_PERMISSIONS_ERRORS = [
449
444
  *
450
445
  * @group Advertiser
451
446
  */
452
- class ResolvedAdvertiser extends events_1.EventEmitter {
447
+ export class ResolvedAdvertiser extends EventEmitter {
453
448
  accessoryInfo;
454
449
  setupHash;
455
450
  port;
@@ -459,7 +454,7 @@ class ResolvedAdvertiser extends events_1.EventEmitter {
459
454
  super();
460
455
  this.accessoryInfo = accessoryInfo;
461
456
  this.setupHash = CiaoAdvertiser.computeSetupHash(accessoryInfo);
462
- this.bus = dbus_native_1.default.systemBus();
457
+ this.bus = systemBus();
463
458
  debug(`Preparing Advertiser for '${this.accessoryInfo.displayName}' using systemd-resolved backend!`);
464
459
  }
465
460
  createTxt() {
@@ -472,24 +467,24 @@ class ResolvedAdvertiser extends events_1.EventEmitter {
472
467
  }
473
468
  async startAdvertising() {
474
469
  if (this.port == null) {
475
- throw new Error("Tried starting systemd-resolved advertisement without initializing port!");
470
+ throw new Error('Tried starting systemd-resolved advertisement without initializing port!');
476
471
  }
477
472
  if (!this.bus) {
478
- throw new Error("Tried to start systemd-resolved advertisement on a destroyed advertiser!");
473
+ throw new Error('Tried to start systemd-resolved advertisement on a destroyed advertiser!');
479
474
  }
480
475
  debug(`Starting to advertise '${this.accessoryInfo.displayName}' using systemd-resolved backend!`);
481
476
  try {
482
- this.path = await ResolvedAdvertiser.managerInvoke(this.bus, "RegisterService", {
477
+ this.path = await ResolvedAdvertiser.managerInvoke(this.bus, 'RegisterService', {
483
478
  body: [
484
479
  this.accessoryInfo.displayName, // name
485
480
  this.accessoryInfo.displayName, // name_template
486
- "_hap._tcp", // type
481
+ '_hap._tcp', // type
487
482
  this.port, // service_port
488
483
  0, // service_priority
489
484
  0, // service_weight
490
485
  [this.createTxt()], // txt_datas
491
486
  ],
492
- signature: "sssqqqaa{say}",
487
+ signature: 'sssqqqaa{say}',
493
488
  });
494
489
  }
495
490
  catch (error) {
@@ -503,76 +498,76 @@ class ResolvedAdvertiser extends events_1.EventEmitter {
503
498
  }
504
499
  async updateAdvertisement(silent) {
505
500
  if (!this.bus) {
506
- throw new Error("Tried to update systemd-resolved advertisement on a destroyed advertiser!");
501
+ throw new Error('Tried to update systemd-resolved advertisement on a destroyed advertiser!');
507
502
  }
508
- debug("Updating txt record (txt: %o, silent: %d)", CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash), silent);
503
+ debug('Updating txt record (txt: %o, silent: %d)', CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash), silent);
509
504
  // Currently, systemd-resolved has no way to update an existing record.
510
505
  await this.stopAdvertising();
511
506
  await this.startAdvertising();
512
507
  }
513
508
  async stopAdvertising() {
514
509
  if (!this.bus) {
515
- throw new Error("Tried to destroy systemd-resolved advertisement on a destroyed advertiser!");
510
+ throw new Error('Tried to destroy systemd-resolved advertisement on a destroyed advertiser!');
516
511
  }
517
512
  if (this.path) {
518
513
  try {
519
- await ResolvedAdvertiser.managerInvoke(this.bus, "UnregisterService", {
514
+ await ResolvedAdvertiser.managerInvoke(this.bus, 'UnregisterService', {
520
515
  body: [this.path],
521
- signature: "o",
516
+ signature: 'o',
522
517
  });
523
518
  }
524
519
  catch (error) {
525
520
  // Typically, this fails if e.g. systemd-resolved service was stopped in the meantime.
526
- debug("Destroying systemd-resolved advertisement failed: " + error);
521
+ debug(`Destroying systemd-resolved advertisement failed: ${error}`);
527
522
  }
528
523
  this.path = undefined;
529
524
  }
530
525
  }
531
526
  async destroy() {
532
527
  if (!this.bus) {
533
- throw new Error("Tried to destroy systemd-resolved advertisement on a destroyed advertiser!");
528
+ throw new Error('Tried to destroy systemd-resolved advertisement on a destroyed advertiser!');
534
529
  }
535
530
  await this.stopAdvertising();
536
531
  this.bus.connection.stream.destroy();
537
532
  this.bus = undefined;
538
533
  }
539
534
  static async isAvailable() {
540
- const bus = dbus_native_1.default.systemBus();
535
+ const bus = systemBus();
541
536
  try {
542
537
  try {
543
538
  await messageBusConnectionResult(bus);
544
539
  }
545
540
  catch (error) {
546
- debug("systemd-resolved/DBus classified unavailable due to missing dbus interface!");
541
+ debug('systemd-resolved/DBus classified unavailable due to missing dbus interface!');
547
542
  return false;
548
543
  }
549
544
  try {
550
545
  // Ensure that systemd-resolved is accessible.
551
- await this.managerInvoke(bus, "ResolveHostname", {
552
- body: [0, "127.0.0.1", 0, 0],
553
- signature: "isit",
546
+ await this.managerInvoke(bus, 'ResolveHostname', {
547
+ body: [0, '127.0.0.1', 0, 0],
548
+ signature: 'isit',
554
549
  });
555
- debug("Detected systemd-resolved over DBus interface running version.");
550
+ debug('Detected systemd-resolved over DBus interface running version.');
556
551
  }
557
552
  catch (error) {
558
- debug("systemd-resolved/DBus classified unavailable due to missing systemd-resolved interface!");
553
+ debug('systemd-resolved/DBus classified unavailable due to missing systemd-resolved interface!');
559
554
  return false;
560
555
  }
561
556
  try {
562
- const mdnsStatus = await this.resolvedInvoke(bus, "org.freedesktop.DBus.Properties", "Get", {
563
- body: ["org.freedesktop.resolve1.Manager", "MulticastDNS"],
564
- signature: "ss",
557
+ const mdnsStatus = await this.resolvedInvoke(bus, 'org.freedesktop.DBus.Properties', 'Get', {
558
+ body: ['org.freedesktop.resolve1.Manager', 'MulticastDNS'],
559
+ signature: 'ss',
565
560
  });
566
- if (mdnsStatus[0][0].type !== "s") {
567
- throw new Error("Invalid type for MulticastDNS");
561
+ if (mdnsStatus[0][0].type !== 's') {
562
+ throw new Error('Invalid type for MulticastDNS');
568
563
  }
569
- if (mdnsStatus[1][0] !== "yes") {
570
- debug("systemd-resolved/DBus classified unavailable because MulticastDNS is not enabled!");
564
+ if (mdnsStatus[1][0] !== 'yes') {
565
+ debug('systemd-resolved/DBus classified unavailable because MulticastDNS is not enabled!');
571
566
  return false;
572
567
  }
573
568
  }
574
569
  catch (error) {
575
- debug("systemd-resolved/DBus classified unavailable due to failure checking system status: " + error);
570
+ debug(`systemd-resolved/DBus classified unavailable due to failure checking system status: ${error}`);
576
571
  return false;
577
572
  }
578
573
  return true;
@@ -581,14 +576,11 @@ class ResolvedAdvertiser extends events_1.EventEmitter {
581
576
  bus.connection.stream.destroy();
582
577
  }
583
578
  }
584
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
585
579
  static resolvedInvoke(bus, dbusInterface, member, others) {
586
- return dbusInvoke(bus, "org.freedesktop.resolve1", "/org/freedesktop/resolve1", dbusInterface, member, others);
580
+ return dbusInvoke(bus, 'org.freedesktop.resolve1', '/org/freedesktop/resolve1', dbusInterface, member, others);
587
581
  }
588
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
589
582
  static managerInvoke(bus, member, others) {
590
- return this.resolvedInvoke(bus, "org.freedesktop.resolve1.Manager", member, others);
583
+ return this.resolvedInvoke(bus, 'org.freedesktop.resolve1.Manager', member, others);
591
584
  }
592
585
  }
593
- exports.ResolvedAdvertiser = ResolvedAdvertiser;
594
586
  //# sourceMappingURL=Advertiser.js.map