← Files ModRetro Chromatic PluginARCHIVED FILE

dist/loopback-listener.js

838 Bytes · Oct 3, 2026 · 06:38 UTC

↓ Download file

/** 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.map

SHA-256: 88dcfe30a6d90403d3c438ad22cba693c8eaeda24b38f3aa510698f24a4da530