@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.
50 lines (46 loc) • 1.32 kB
JavaScript
;
var core = require('@liveblocks/core');
var react = require('@liveblocks/react');
var suspense = require('@liveblocks/react/suspense');
var useInitial = require('./use-initial.cjs');
function useUserOrGroupInfo(kind, id) {
const frozenKind = useInitial.useInitial(kind);
if (frozenKind === "user") {
const { user, isLoading, error } = react.useUser(id);
return {
info: user,
isLoading,
error
};
} else if (frozenKind === "group") {
const { info, isLoading, error } = react.useGroupInfo(id);
return {
info,
isLoading,
error
};
}
return core.assertNever(frozenKind, "Invalid kind");
}
function useUserOrGroupInfoSuspense(kind, id) {
const frozenKind = useInitial.useInitial(kind);
if (frozenKind === "user") {
const { user, isLoading, error } = suspense.useUser(id);
return {
info: user,
isLoading,
error
};
} else if (frozenKind === "group") {
const { info, isLoading, error } = suspense.useGroupInfo(id);
return {
info,
isLoading,
error
};
}
return core.assertNever(frozenKind, "Invalid kind");
}
exports.useUserOrGroupInfo = useUserOrGroupInfo;
exports.useUserOrGroupInfoSuspense = useUserOrGroupInfoSuspense;
//# sourceMappingURL=use-user-or-group-info.cjs.map