Просмотр исходного кода

refactor: unwrap MDNS namespace + self-reexport (#22953)

Kit Langton 4 дней назад
Родитель
Сommit
b41b0e3d2d
1 измененных файлов с 49 добавлено и 49 удалено
  1. 49 49
      packages/opencode/src/server/mdns.ts

+ 49 - 49
packages/opencode/src/server/mdns.ts

@@ -3,58 +3,58 @@ import { Bonjour } from "bonjour-service"
 
 const log = Log.create({ service: "mdns" })
 
-export namespace MDNS {
-  let bonjour: Bonjour | undefined
-  let currentPort: number | undefined
-
-  export function publish(port: number, domain?: string) {
-    if (currentPort === port) return
-    if (bonjour) unpublish()
-
-    try {
-      const host = domain ?? "opencode.local"
-      const name = `opencode-${port}`
-      bonjour = new Bonjour()
-      const service = bonjour.publish({
-        name,
-        type: "http",
-        host,
-        port,
-        txt: { path: "/" },
-      })
-
-      service.on("up", () => {
-        log.info("mDNS service published", { name, port })
-      })
-
-      service.on("error", (err) => {
-        log.error("mDNS service error", { error: err })
-      })
-
-      currentPort = port
-    } catch (err) {
-      log.error("mDNS publish failed", { error: err })
-      if (bonjour) {
-        try {
-          bonjour.destroy()
-        } catch {}
-      }
-      bonjour = undefined
-      currentPort = undefined
-    }
-  }
-
-  export function unpublish() {
+let bonjour: Bonjour | undefined
+let currentPort: number | undefined
+
+export function publish(port: number, domain?: string) {
+  if (currentPort === port) return
+  if (bonjour) unpublish()
+
+  try {
+    const host = domain ?? "opencode.local"
+    const name = `opencode-${port}`
+    bonjour = new Bonjour()
+    const service = bonjour.publish({
+      name,
+      type: "http",
+      host,
+      port,
+      txt: { path: "/" },
+    })
+
+    service.on("up", () => {
+      log.info("mDNS service published", { name, port })
+    })
+
+    service.on("error", (err) => {
+      log.error("mDNS service error", { error: err })
+    })
+
+    currentPort = port
+  } catch (err) {
+    log.error("mDNS publish failed", { error: err })
     if (bonjour) {
       try {
-        bonjour.unpublishAll()
         bonjour.destroy()
-      } catch (err) {
-        log.error("mDNS unpublish failed", { error: err })
-      }
-      bonjour = undefined
-      currentPort = undefined
-      log.info("mDNS service unpublished")
+      } catch {}
     }
+    bonjour = undefined
+    currentPort = undefined
   }
 }
+
+export function unpublish() {
+  if (bonjour) {
+    try {
+      bonjour.unpublishAll()
+      bonjour.destroy()
+    } catch (err) {
+      log.error("mDNS unpublish failed", { error: err })
+    }
+    bonjour = undefined
+    currentPort = undefined
+    log.info("mDNS service unpublished")
+  }
+}
+
+export * as MDNS from "./mdns"