← Files ModRetro Chromatic PluginARCHIVED FILE
dist/loopback-listener.js
838 Bytes · Oct 3, 2026 · 06:38 UTC
/** Reuse only an instance's positively closed port; never inspect or disturb its new owner. */
export async function listenLoopback(server, closedPort) {
const listen = (port) => new Promise((resolve, reject) => {
const ready = () => { server.off("error", failed); resolve(); };
const failed = (error) => { server.off("error", failed); server.off("listening", ready); reject(error); };
server.once("error", failed);
try {
server.listen(port, "127.0.0.1", ready);
}
catch (error) {
failed(error);
}
});
try {
await listen(closedPort ?? 0);
}
catch (error) {
if (closedPort === undefined || error.code !== "EADDRINUSE")
throw error;
await listen(0);
}
}
//# sourceMappingURL=loopback-listener.js.mapSHA-256: 88dcfe30a6d90403d3c438ad22cba693c8eaeda24b38f3aa510698f24a4da530