partysocket
Version:
A better WebSocket that Just Works™
1 lines • 2.29 kB
Source Map (JSON)
{"version":3,"sources":["../src/react.ts"],"sourcesContent":["import PartySocket from \"./index\";\nimport { useAttachWebSocketEventHandlers } from \"./use-handlers\";\nimport {\n getOptionsThatShouldCauseRestartWhenChanged,\n useStableSocket\n} from \"./use-socket\";\n\nimport type { PartySocketOptions } from \"./index\";\nimport type { EventHandlerOptions } from \"./use-handlers\";\n\ntype UsePartySocketOptions = Omit<PartySocketOptions, \"host\"> &\n EventHandlerOptions & {\n host?: string | undefined;\n };\n\n// A React hook that wraps PartySocket\nexport default function usePartySocket(options: UsePartySocketOptions) {\n const { host, ...otherOptions } = options;\n\n const socket = useStableSocket({\n options: {\n host:\n host ||\n (typeof window !== \"undefined\"\n ? window.location.host\n : \"dummy-domain.com\"),\n ...otherOptions\n },\n createSocket: (options) => new PartySocket(options),\n createSocketMemoKey: (options) =>\n JSON.stringify([\n // NOTE: if query is defined as a function, the socket\n // won't reconnect when you change the function identity\n options.query,\n options.id,\n options.host,\n options.room,\n options.party,\n options.path,\n options.protocol,\n options.protocols,\n options.basePath,\n options.prefix,\n ...getOptionsThatShouldCauseRestartWhenChanged(options)\n ])\n });\n\n useAttachWebSocketEventHandlers(socket, options);\n\n return socket;\n}\n\nexport { default as useWebSocket } from \"./use-ws\";\n\n// TODO: remove the default export in a future breaking change\nexport { usePartySocket };\n"],"mappings":";;;;;;;;;;;;AAgBe,SAAR,eAAgC,SAAgC;AACrE,QAAM,EAAE,MAAM,GAAG,aAAa,IAAI;AAElC,QAAM,SAAS,gBAAgB;AAAA,IAC7B,SAAS;AAAA,MACP,MACE,SACC,OAAO,WAAW,cACf,OAAO,SAAS,OAChB;AAAA,MACN,GAAG;AAAA,IACL;AAAA,IACA,cAAc,CAACA,aAAY,IAAI,YAAYA,QAAO;AAAA,IAClD,qBAAqB,CAACA,aACpB,KAAK,UAAU;AAAA;AAAA;AAAA,MAGbA,SAAQ;AAAA,MACRA,SAAQ;AAAA,MACRA,SAAQ;AAAA,MACRA,SAAQ;AAAA,MACRA,SAAQ;AAAA,MACRA,SAAQ;AAAA,MACRA,SAAQ;AAAA,MACRA,SAAQ;AAAA,MACRA,SAAQ;AAAA,MACRA,SAAQ;AAAA,MACR,GAAG,4CAA4CA,QAAO;AAAA,IACxD,CAAC;AAAA,EACL,CAAC;AAED,kCAAgC,QAAQ,OAAO;AAE/C,SAAO;AACT;","names":["options"]}