hap-nodejs 0.11.0-beta.1 → 0.11.0-beta.11

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 (35) hide show
  1. package/dist/lib/Accessory.d.ts +9 -1
  2. package/dist/lib/Accessory.d.ts.map +1 -1
  3. package/dist/lib/Accessory.js +31 -8
  4. package/dist/lib/Accessory.js.map +1 -1
  5. package/dist/lib/Advertiser.d.ts +48 -1
  6. package/dist/lib/Advertiser.d.ts.map +1 -1
  7. package/dist/lib/Advertiser.js +338 -34
  8. package/dist/lib/Advertiser.js.map +1 -1
  9. package/dist/lib/Characteristic.d.ts +64 -30
  10. package/dist/lib/Characteristic.d.ts.map +1 -1
  11. package/dist/lib/Characteristic.js +54 -32
  12. package/dist/lib/Characteristic.js.map +1 -1
  13. package/dist/lib/Service.d.ts +70 -5
  14. package/dist/lib/Service.d.ts.map +1 -1
  15. package/dist/lib/Service.js +5 -5
  16. package/dist/lib/Service.js.map +1 -1
  17. package/dist/lib/camera/RecordingManagement.d.ts +9 -0
  18. package/dist/lib/camera/RecordingManagement.d.ts.map +1 -1
  19. package/dist/lib/camera/RecordingManagement.js +26 -7
  20. package/dist/lib/camera/RecordingManagement.js.map +1 -1
  21. package/dist/lib/definitions/CharacteristicDefinitions.d.ts +49 -0
  22. package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
  23. package/dist/lib/definitions/CharacteristicDefinitions.js +132 -5
  24. package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
  25. package/dist/lib/definitions/ServiceDefinitions.d.ts +14 -0
  26. package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
  27. package/dist/lib/definitions/ServiceDefinitions.js +48 -4
  28. package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
  29. package/dist/lib/definitions/generate-definitions.js +1 -1
  30. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  31. package/dist/lib/util/eventedhttp.js +1 -2
  32. package/dist/lib/util/eventedhttp.js.map +1 -1
  33. package/dist/types.d.ts +6 -0
  34. package/dist/types.d.ts.map +1 -1
  35. package/package.json +2 -2
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AvahiAdvertiser = exports.BonjourHAPAdvertiser = exports.CiaoAdvertiser = exports.AdvertiserEvent = exports.PairingFeatureFlag = exports.StatusFlag = void 0;
3
+ exports.ResolvedAdvertiser = exports.AvahiAdvertiser = exports.DBusInvokeError = exports.BonjourHAPAdvertiser = exports.CiaoAdvertiser = exports.AdvertiserEvent = exports.PairingFeatureFlag = exports.StatusFlag = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  // eslint-disable-next-line @typescript-eslint/triple-slash-reference
6
6
  /// <reference path="../../@types/bonjour-hap.d.ts" />
7
7
  var ciao_1 = (0, tslib_1.__importDefault)(require("@homebridge/ciao"));
8
+ var dbus_native_1 = (0, tslib_1.__importDefault)(require("@homebridge/dbus-native"));
8
9
  var assert_1 = (0, tslib_1.__importDefault)(require("assert"));
9
10
  var bonjour_hap_1 = (0, tslib_1.__importDefault)(require("bonjour-hap"));
10
11
  var crypto_1 = (0, tslib_1.__importDefault)(require("crypto"));
11
12
  var debug_1 = (0, tslib_1.__importDefault)(require("debug"));
12
- var dbus_native_1 = (0, tslib_1.__importDefault)(require("@homebridge/dbus-native"));
13
13
  var events_1 = require("events");
14
14
  var promise_utils_1 = require("./util/promise-utils");
15
15
  var debug = (0, debug_1.default)("HAP-NodeJS:Advertiser");
@@ -34,6 +34,10 @@ var PairingFeatureFlag;
34
34
  })(PairingFeatureFlag = exports.PairingFeatureFlag || (exports.PairingFeatureFlag = {}));
35
35
  var AdvertiserEvent;
36
36
  (function (AdvertiserEvent) {
37
+ /**
38
+ * Emitted if the underlying mDNS advertisers signals, that the service name
39
+ * was automatically changed due to some naming conflicts on the network.
40
+ */
37
41
  AdvertiserEvent["UPDATED_NAME"] = "updated-name";
38
42
  })(AdvertiserEvent = exports.AdvertiserEvent || (exports.AdvertiserEvent = {}));
39
43
  /**
@@ -183,9 +187,73 @@ var BonjourHAPAdvertiser = /** @class */ (function (_super) {
183
187
  return BonjourHAPAdvertiser;
184
188
  }(events_1.EventEmitter));
185
189
  exports.BonjourHAPAdvertiser = BonjourHAPAdvertiser;
190
+ function messageBusConnectionResult(bus) {
191
+ return new Promise(function (resolve, reject) {
192
+ var errorHandler = function (error) {
193
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
194
+ bus.connection.removeListener("connect", connectHandler);
195
+ reject(error);
196
+ };
197
+ var connectHandler = function () {
198
+ bus.connection.removeListener("error", errorHandler);
199
+ resolve();
200
+ };
201
+ bus.connection.once("connect", connectHandler);
202
+ bus.connection.once("error", errorHandler);
203
+ });
204
+ }
205
+ var DBusInvokeError = /** @class */ (function (_super) {
206
+ (0, tslib_1.__extends)(DBusInvokeError, _super);
207
+ function DBusInvokeError(errorObject) {
208
+ var _this = _super.call(this) || this;
209
+ Object.setPrototypeOf(_this, DBusInvokeError.prototype);
210
+ _this.name = "DBusInvokeError";
211
+ _this.errorName = errorObject.name;
212
+ if (Array.isArray(errorObject.message) && errorObject.message.length === 1) {
213
+ _this.message = errorObject.message[0];
214
+ }
215
+ else {
216
+ _this.message = errorObject.message.toString();
217
+ }
218
+ return _this;
219
+ }
220
+ return DBusInvokeError;
221
+ }(Error));
222
+ exports.DBusInvokeError = DBusInvokeError;
223
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
224
+ function dbusInvoke(bus, destination, path, dbusInterface, member, others) {
225
+ return new Promise(function (resolve, reject) {
226
+ var command = (0, tslib_1.__assign)({ destination: destination, path: path, interface: dbusInterface, member: member }, (others || {}));
227
+ bus.invoke(command, function (err, result) {
228
+ if (err) {
229
+ reject(new DBusInvokeError(err));
230
+ }
231
+ else {
232
+ resolve(result);
233
+ }
234
+ });
235
+ });
236
+ }
237
+ /**
238
+ * AvahiServerState.
239
+ *
240
+ * Refer to https://github.com/lathiat/avahi/blob/fd482a74625b8db8547b8cfca3ee3d3c6c721423/avahi-common/defs.h#L220-L227.
241
+ */
242
+ var AvahiServerState;
243
+ (function (AvahiServerState) {
244
+ // noinspection JSUnusedGlobalSymbols
245
+ AvahiServerState[AvahiServerState["INVALID"] = 0] = "INVALID";
246
+ AvahiServerState[AvahiServerState["REGISTERING"] = 1] = "REGISTERING";
247
+ AvahiServerState[AvahiServerState["RUNNING"] = 2] = "RUNNING";
248
+ AvahiServerState[AvahiServerState["COLLISION"] = 3] = "COLLISION";
249
+ AvahiServerState[AvahiServerState["FAILURE"] = 4] = "FAILURE";
250
+ })(AvahiServerState || (AvahiServerState = {}));
186
251
  /**
187
252
  * Advertiser based on the Avahi D-Bus library.
188
253
  * For (very crappy) docs on the interface, see the XML files at: https://github.com/lathiat/avahi/tree/master/avahi-daemon.
254
+ *
255
+ * Refer to https://github.com/lathiat/avahi/blob/fd482a74625b8db8547b8cfca3ee3d3c6c721423/avahi-common/defs.h#L120-L155 for a
256
+ * rough API usage guide of Avahi.
189
257
  */
190
258
  var AvahiAdvertiser = /** @class */ (function (_super) {
191
259
  (0, tslib_1.__extends)(AvahiAdvertiser, _super);
@@ -193,8 +261,9 @@ var AvahiAdvertiser = /** @class */ (function (_super) {
193
261
  var _this = _super.call(this) || this;
194
262
  _this.accessoryInfo = accessoryInfo;
195
263
  _this.setupHash = CiaoAdvertiser.computeSetupHash(accessoryInfo);
196
- _this.bus = dbus_native_1.default.systemBus();
197
264
  debug("Preparing Advertiser for '".concat(_this.accessoryInfo.displayName, "' using Avahi backend!"));
265
+ _this.bus = dbus_native_1.default.systemBus();
266
+ _this.stateChangeHandler = _this.handleStateChangedEvent.bind(_this);
198
267
  return _this;
199
268
  }
200
269
  AvahiAdvertiser.prototype.createTxt = function () {
@@ -207,9 +276,9 @@ var AvahiAdvertiser = /** @class */ (function (_super) {
207
276
  };
208
277
  AvahiAdvertiser.prototype.startAdvertising = function () {
209
278
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
210
- var _a;
211
- return (0, tslib_1.__generator)(this, function (_b) {
212
- switch (_b.label) {
279
+ var _a, _b;
280
+ return (0, tslib_1.__generator)(this, function (_c) {
281
+ switch (_c.label) {
213
282
  case 0:
214
283
  if (this.port == null) {
215
284
  throw new Error("Tried starting Avahi advertisement without initializing port!");
@@ -218,10 +287,18 @@ var AvahiAdvertiser = /** @class */ (function (_super) {
218
287
  throw new Error("Tried to start Avahi advertisement on a destroyed advertiser!");
219
288
  }
220
289
  debug("Starting to advertise '".concat(this.accessoryInfo.displayName, "' using Avahi backend!"));
290
+ if (!!this.avahiServerInterface) return [3 /*break*/, 2];
221
291
  _a = this;
222
- return [4 /*yield*/, AvahiAdvertiser.avahiInvoke(this.bus, "/", "Server", "EntryGroupNew")];
292
+ return [4 /*yield*/, AvahiAdvertiser.avahiInterface(this.bus, "Server")];
223
293
  case 1:
224
- _a.path = (_b.sent());
294
+ _a.avahiServerInterface = _c.sent();
295
+ this.avahiServerInterface.on("StateChanged", this.stateChangeHandler);
296
+ _c.label = 2;
297
+ case 2:
298
+ _b = this;
299
+ return [4 /*yield*/, AvahiAdvertiser.avahiInvoke(this.bus, "/", "Server", "EntryGroupNew")];
300
+ case 3:
301
+ _b.path = (_c.sent());
225
302
  return [4 /*yield*/, AvahiAdvertiser.avahiInvoke(this.bus, this.path, "EntryGroup", "AddService", {
226
303
  body: [
227
304
  -1,
@@ -236,16 +313,29 @@ var AvahiAdvertiser = /** @class */ (function (_super) {
236
313
  ],
237
314
  signature: "iiussssqaay",
238
315
  })];
239
- case 2:
240
- _b.sent();
316
+ case 4:
317
+ _c.sent();
241
318
  return [4 /*yield*/, AvahiAdvertiser.avahiInvoke(this.bus, this.path, "EntryGroup", "Commit")];
242
- case 3:
243
- _b.sent();
319
+ case 5:
320
+ _c.sent();
244
321
  return [2 /*return*/];
245
322
  }
246
323
  });
247
324
  });
248
325
  };
326
+ /**
327
+ * Event handler for the `StateChanged` event of the `org.freedesktop.Avahi.Server` DBus interface.
328
+ *
329
+ * This is called once the state of the running avahi-daemon changes its running state.
330
+ * @param state - The state the server changed into {@see AvahiServerState}.
331
+ */
332
+ AvahiAdvertiser.prototype.handleStateChangedEvent = function (state) {
333
+ if (state === 2 /* RUNNING */ && this.path) {
334
+ debug("Found Avahi daemon to have restarted!");
335
+ this.startAdvertising()
336
+ .catch(function (reason) { return console.error("Could not (re-)create mDNS advertisement. The HAP-Server won't be discoverable: " + reason); });
337
+ }
338
+ };
249
339
  AvahiAdvertiser.prototype.updateAdvertisement = function (silent) {
250
340
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
251
341
  var error_1;
@@ -305,6 +395,10 @@ var AvahiAdvertiser = /** @class */ (function (_super) {
305
395
  this.path = undefined;
306
396
  _a.label = 5;
307
397
  case 5:
398
+ if (this.avahiServerInterface) {
399
+ this.avahiServerInterface.removeListener("StateChanged", this.stateChangeHandler);
400
+ this.avahiServerInterface = undefined;
401
+ }
308
402
  this.bus.connection.stream.destroy();
309
403
  this.bus = undefined;
310
404
  return [2 /*return*/];
@@ -325,7 +419,7 @@ var AvahiAdvertiser = /** @class */ (function (_super) {
325
419
  _a.label = 2;
326
420
  case 2:
327
421
  _a.trys.push([2, 4, , 5]);
328
- return [4 /*yield*/, this.messageBusConnectionResult(bus)];
422
+ return [4 /*yield*/, messageBusConnectionResult(bus)];
329
423
  case 3:
330
424
  _a.sent();
331
425
  return [3 /*break*/, 5];
@@ -353,32 +447,20 @@ var AvahiAdvertiser = /** @class */ (function (_super) {
353
447
  });
354
448
  });
355
449
  };
356
- AvahiAdvertiser.messageBusConnectionResult = function (bus) {
357
- return new Promise(function (resolve, reject) {
358
- var errorHandler = function (error) {
359
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
360
- bus.connection.removeListener("connect", connectHandler);
361
- reject(error);
362
- };
363
- var connectHandler = function () {
364
- bus.connection.removeListener("error", errorHandler);
365
- resolve();
366
- };
367
- bus.connection.once("connect", connectHandler);
368
- bus.connection.once("error", errorHandler);
369
- });
370
- };
371
450
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
372
451
  AvahiAdvertiser.avahiInvoke = function (bus, path, dbusInterface, member, others) {
452
+ return dbusInvoke(bus, "org.freedesktop.Avahi", path, "org.freedesktop.Avahi.".concat(dbusInterface), member, others);
453
+ };
454
+ AvahiAdvertiser.avahiInterface = function (bus, dbusInterface) {
373
455
  return new Promise(function (resolve, reject) {
374
- var command = (0, tslib_1.__assign)({ destination: "org.freedesktop.Avahi", path: path, interface: "org.freedesktop.Avahi." + dbusInterface, member: member }, (others || {}));
375
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
376
- bus.invoke(command, function (err, result) {
377
- if (err) {
378
- reject(new Error("avahiInvoke error: ".concat(JSON.stringify(err))));
456
+ bus
457
+ .getService("org.freedesktop.Avahi")
458
+ .getInterface("/", "org.freedesktop.Avahi." + dbusInterface, function (error, iface) {
459
+ if (error || !iface) {
460
+ reject(error !== null && error !== void 0 ? error : new Error("Interface not present!"));
379
461
  }
380
462
  else {
381
- resolve(result);
463
+ resolve(iface);
382
464
  }
383
465
  });
384
466
  });
@@ -386,4 +468,226 @@ var AvahiAdvertiser = /** @class */ (function (_super) {
386
468
  return AvahiAdvertiser;
387
469
  }(events_1.EventEmitter));
388
470
  exports.AvahiAdvertiser = AvahiAdvertiser;
471
+ var RESOLVED_PERMISSIONS_ERRORS = [
472
+ "org.freedesktop.DBus.Error.AccessDenied",
473
+ "org.freedesktop.DBus.Error.AuthFailed",
474
+ "org.freedesktop.DBus.Error.InteractiveAuthorizationRequired",
475
+ ];
476
+ /**
477
+ * Advertiser based on the systemd-resolved D-Bus library.
478
+ * For docs on the interface, see: https://www.freedesktop.org/software/systemd/man/org.freedesktop.resolve1.html
479
+ */
480
+ var ResolvedAdvertiser = /** @class */ (function (_super) {
481
+ (0, tslib_1.__extends)(ResolvedAdvertiser, _super);
482
+ function ResolvedAdvertiser(accessoryInfo) {
483
+ var _this = _super.call(this) || this;
484
+ _this.accessoryInfo = accessoryInfo;
485
+ _this.setupHash = CiaoAdvertiser.computeSetupHash(accessoryInfo);
486
+ _this.bus = dbus_native_1.default.systemBus();
487
+ debug("Preparing Advertiser for '".concat(_this.accessoryInfo.displayName, "' using systemd-resolved backend!"));
488
+ return _this;
489
+ }
490
+ ResolvedAdvertiser.prototype.createTxt = function () {
491
+ return Object
492
+ .entries(CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash))
493
+ .map(function (el) { return [el[0].toString(), Buffer.from(el[1].toString())]; });
494
+ };
495
+ ResolvedAdvertiser.prototype.initPort = function (port) {
496
+ this.port = port;
497
+ };
498
+ ResolvedAdvertiser.prototype.startAdvertising = function () {
499
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
500
+ var _a, error_5;
501
+ return (0, tslib_1.__generator)(this, function (_b) {
502
+ switch (_b.label) {
503
+ case 0:
504
+ if (this.port == null) {
505
+ throw new Error("Tried starting systemd-resolved advertisement without initializing port!");
506
+ }
507
+ if (!this.bus) {
508
+ throw new Error("Tried to start systemd-resolved advertisement on a destroyed advertiser!");
509
+ }
510
+ debug("Starting to advertise '".concat(this.accessoryInfo.displayName, "' using systemd-resolved backend!"));
511
+ _b.label = 1;
512
+ case 1:
513
+ _b.trys.push([1, 3, , 4]);
514
+ _a = this;
515
+ return [4 /*yield*/, ResolvedAdvertiser.managerInvoke(this.bus, "RegisterService", {
516
+ body: [
517
+ this.accessoryInfo.displayName,
518
+ this.accessoryInfo.displayName,
519
+ "_hap._tcp",
520
+ this.port,
521
+ 0,
522
+ 0,
523
+ [this.createTxt()], // txt_datas
524
+ ],
525
+ signature: "sssqqqaa{say}",
526
+ })];
527
+ case 2:
528
+ _a.path = _b.sent();
529
+ return [3 /*break*/, 4];
530
+ case 3:
531
+ error_5 = _b.sent();
532
+ if (error_5 instanceof DBusInvokeError) {
533
+ if (RESOLVED_PERMISSIONS_ERRORS.includes(error_5.errorName)) {
534
+ error_5.message = "Permissions issue. See https://homebridge.io/w/mDNS-Options for more info. ".concat(error_5.message);
535
+ }
536
+ }
537
+ throw error_5;
538
+ case 4: return [2 /*return*/];
539
+ }
540
+ });
541
+ });
542
+ };
543
+ ResolvedAdvertiser.prototype.updateAdvertisement = function (silent) {
544
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
545
+ return (0, tslib_1.__generator)(this, function (_a) {
546
+ switch (_a.label) {
547
+ case 0:
548
+ if (!this.bus) {
549
+ throw new Error("Tried to update systemd-resolved advertisement on a destroyed advertiser!");
550
+ }
551
+ debug("Updating txt record (txt: %o, silent: %d)", CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash), silent);
552
+ // Currently, systemd-resolved has no way to update an existing record.
553
+ return [4 /*yield*/, this.stopAdvertising()];
554
+ case 1:
555
+ // Currently, systemd-resolved has no way to update an existing record.
556
+ _a.sent();
557
+ return [4 /*yield*/, this.startAdvertising()];
558
+ case 2:
559
+ _a.sent();
560
+ return [2 /*return*/];
561
+ }
562
+ });
563
+ });
564
+ };
565
+ ResolvedAdvertiser.prototype.stopAdvertising = function () {
566
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
567
+ var error_6;
568
+ return (0, tslib_1.__generator)(this, function (_a) {
569
+ switch (_a.label) {
570
+ case 0:
571
+ if (!this.bus) {
572
+ throw new Error("Tried to destroy systemd-resolved advertisement on a destroyed advertiser!");
573
+ }
574
+ if (!this.path) return [3 /*break*/, 5];
575
+ _a.label = 1;
576
+ case 1:
577
+ _a.trys.push([1, 3, , 4]);
578
+ return [4 /*yield*/, ResolvedAdvertiser.managerInvoke(this.bus, "UnregisterService", {
579
+ body: [this.path],
580
+ signature: "o",
581
+ })];
582
+ case 2:
583
+ _a.sent();
584
+ return [3 /*break*/, 4];
585
+ case 3:
586
+ error_6 = _a.sent();
587
+ // Typically, this fails if e.g. systemd-resolved service was stopped in the meantime.
588
+ debug("Destroying systemd-resolved advertisement failed: " + error_6);
589
+ return [3 /*break*/, 4];
590
+ case 4:
591
+ this.path = undefined;
592
+ _a.label = 5;
593
+ case 5: return [2 /*return*/];
594
+ }
595
+ });
596
+ });
597
+ };
598
+ ResolvedAdvertiser.prototype.destroy = function () {
599
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
600
+ return (0, tslib_1.__generator)(this, function (_a) {
601
+ switch (_a.label) {
602
+ case 0:
603
+ if (!this.bus) {
604
+ throw new Error("Tried to destroy systemd-resolved advertisement on a destroyed advertiser!");
605
+ }
606
+ return [4 /*yield*/, this.stopAdvertising()];
607
+ case 1:
608
+ _a.sent();
609
+ this.bus.connection.stream.destroy();
610
+ this.bus = undefined;
611
+ return [2 /*return*/];
612
+ }
613
+ });
614
+ });
615
+ };
616
+ ResolvedAdvertiser.isAvailable = function () {
617
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
618
+ var bus, error_7, error_8, mdnsStatus, error_9;
619
+ return (0, tslib_1.__generator)(this, function (_a) {
620
+ switch (_a.label) {
621
+ case 0:
622
+ bus = dbus_native_1.default.systemBus();
623
+ _a.label = 1;
624
+ case 1:
625
+ _a.trys.push([1, , 12, 13]);
626
+ _a.label = 2;
627
+ case 2:
628
+ _a.trys.push([2, 4, , 5]);
629
+ return [4 /*yield*/, messageBusConnectionResult(bus)];
630
+ case 3:
631
+ _a.sent();
632
+ return [3 /*break*/, 5];
633
+ case 4:
634
+ error_7 = _a.sent();
635
+ debug("systemd-resolved/DBus classified unavailable due to missing dbus interface!");
636
+ return [2 /*return*/, false];
637
+ case 5:
638
+ _a.trys.push([5, 7, , 8]);
639
+ // Ensure that systemd-resolved is accessible.
640
+ return [4 /*yield*/, this.managerInvoke(bus, "ResolveHostname", {
641
+ body: [0, "127.0.0.1", 0, 0],
642
+ signature: "isit",
643
+ })];
644
+ case 6:
645
+ // Ensure that systemd-resolved is accessible.
646
+ _a.sent();
647
+ debug("Detected systemd-resolved over DBus interface running version.");
648
+ return [3 /*break*/, 8];
649
+ case 7:
650
+ error_8 = _a.sent();
651
+ debug("systemd-resolved/DBus classified unavailable due to missing systemd-resolved interface!");
652
+ return [2 /*return*/, false];
653
+ case 8:
654
+ _a.trys.push([8, 10, , 11]);
655
+ return [4 /*yield*/, this.resolvedInvoke(bus, "org.freedesktop.DBus.Properties", "Get", {
656
+ body: ["org.freedesktop.resolve1.Manager", "MulticastDNS"],
657
+ signature: "ss",
658
+ })];
659
+ case 9:
660
+ mdnsStatus = _a.sent();
661
+ if (mdnsStatus[0][0].type !== "s") {
662
+ throw new Error("Invalid type for MulticastDNS");
663
+ }
664
+ if (mdnsStatus[1][0] !== "yes") {
665
+ debug("systemd-resolved/DBus classified unavailable because MulticastDNS is not enabled!");
666
+ return [2 /*return*/, false];
667
+ }
668
+ return [3 /*break*/, 11];
669
+ case 10:
670
+ error_9 = _a.sent();
671
+ debug("systemd-resolved/DBus classified unavailable due to failure checking system status: " + error_9);
672
+ return [2 /*return*/, false];
673
+ case 11: return [2 /*return*/, true];
674
+ case 12:
675
+ bus.connection.stream.destroy();
676
+ return [7 /*endfinally*/];
677
+ case 13: return [2 /*return*/];
678
+ }
679
+ });
680
+ });
681
+ };
682
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
683
+ ResolvedAdvertiser.resolvedInvoke = function (bus, dbusInterface, member, others) {
684
+ return dbusInvoke(bus, "org.freedesktop.resolve1", "/org/freedesktop/resolve1", dbusInterface, member, others);
685
+ };
686
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
687
+ ResolvedAdvertiser.managerInvoke = function (bus, member, others) {
688
+ return this.resolvedInvoke(bus, "org.freedesktop.resolve1.Manager", member, others);
689
+ };
690
+ return ResolvedAdvertiser;
691
+ }(events_1.EventEmitter));
692
+ exports.ResolvedAdvertiser = ResolvedAdvertiser;
389
693
  //# sourceMappingURL=Advertiser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Advertiser.js","sourceRoot":"","sources":["../../src/lib/Advertiser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Advertiser.js","sourceRoot":"","sources":["../../src/lib/Advertiser.ts"],"names":[],"mappings":"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"}