hap-nodejs 1.1.1-beta.5 → 1.1.1-beta.7

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