index.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. exports.Browser = exports.Service = exports.Bonjour = void 0;
  7. const registry_1 = __importDefault(require("./lib/registry"));
  8. const mdns_server_1 = __importDefault(require("./lib/mdns-server"));
  9. const browser_1 = __importDefault(require("./lib/browser"));
  10. exports.Browser = browser_1.default;
  11. const service_1 = __importDefault(require("./lib/service"));
  12. exports.Service = service_1.default;
  13. class Bonjour {
  14. constructor(opts, errorCallback) {
  15. this.server = new mdns_server_1.default(opts, errorCallback);
  16. this.registry = new registry_1.default(this.server);
  17. }
  18. publish(opts) {
  19. return this.registry.publish(opts);
  20. }
  21. unpublishAll(callback) {
  22. return this.registry.unpublishAll(callback);
  23. }
  24. find(opts = undefined, onup) {
  25. return new browser_1.default(this.server.mdns, opts, onup);
  26. }
  27. findOne(opts = undefined, timeout = 10000, callback) {
  28. const browser = new browser_1.default(this.server.mdns, opts);
  29. var timer;
  30. browser.once('up', (service) => {
  31. if (timer !== undefined)
  32. clearTimeout(timer);
  33. browser.stop();
  34. if (callback)
  35. callback(service);
  36. });
  37. timer = setTimeout(() => {
  38. browser.stop();
  39. if (callback)
  40. callback(null);
  41. }, timeout);
  42. return browser;
  43. }
  44. destroy() {
  45. this.registry.destroy();
  46. this.server.mdns.destroy();
  47. }
  48. }
  49. exports.Bonjour = Bonjour;
  50. exports.default = Bonjour;
  51. //# sourceMappingURL=index.js.map