partysocket
Version:
A better WebSocket that Just Works™
44 lines (41 loc) • 1.18 kB
JavaScript
import { PartySocket } from "./index.js";
import {
n as useStableSocket,
r as useAttachWebSocketEventHandlers,
t as getOptionsThatShouldCauseRestartWhenChanged
} from "./use-socket-5PP8Ev5U.js";
import useWebSocket from "./use-ws.js";
//#region src/react.ts
function usePartySocket(options) {
const { host, ...otherOptions } = options;
const socket = useStableSocket({
options: {
host:
host ||
(typeof window !== "undefined"
? window.location.host
: "dummy-domain.com"),
...otherOptions
},
createSocket: (options) => new PartySocket(options),
createSocketMemoKey: (options) =>
JSON.stringify([
options.query,
options.id,
options.host,
options.room,
options.party,
options.path,
options.protocol,
options.protocols,
options.basePath,
options.prefix,
...getOptionsThatShouldCauseRestartWhenChanged(options)
])
});
useAttachWebSocketEventHandlers(socket, options);
return socket;
}
//#endregion
export { usePartySocket as default, usePartySocket, useWebSocket };
//# sourceMappingURL=react.js.map