UNPKG

@liveblocks/react-ui

Version:

A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.

47 lines (44 loc) 1.26 kB
import { assertNever } from '@liveblocks/core'; import { useUser, useGroupInfo } from '@liveblocks/react'; import { useUser as useUser$1, useGroupInfo as useGroupInfo$1 } from '@liveblocks/react/suspense'; import { useInitial } from './use-initial.js'; function useUserOrGroupInfo(kind, id) { const frozenKind = useInitial(kind); if (frozenKind === "user") { const { user, isLoading, error } = useUser(id); return { info: user, isLoading, error }; } else if (frozenKind === "group") { const { info, isLoading, error } = useGroupInfo(id); return { info, isLoading, error }; } return assertNever(frozenKind, "Invalid kind"); } function useUserOrGroupInfoSuspense(kind, id) { const frozenKind = useInitial(kind); if (frozenKind === "user") { const { user, isLoading, error } = useUser$1(id); return { info: user, isLoading, error }; } else if (frozenKind === "group") { const { info, isLoading, error } = useGroupInfo$1(id); return { info, isLoading, error }; } return assertNever(frozenKind, "Invalid kind"); } export { useUserOrGroupInfo, useUserOrGroupInfoSuspense }; //# sourceMappingURL=use-user-or-group-info.js.map