UNPKG

convex

Version:

Client for the Convex Cloud

45 lines (44 loc) 1.32 kB
"use strict"; import React from "react"; import { useCallback, useMemo } from "react"; import { ConvexProviderWithAuth } from "../react/ConvexAuthState.js"; export function ConvexProviderWithClerk({ children, client, useAuth }) { const useAuthFromClerk = useUseAuthFromClerk(useAuth); return /* @__PURE__ */ React.createElement(ConvexProviderWithAuth, { client, useAuth: useAuthFromClerk }, children); } function useUseAuthFromClerk(useAuth) { return useMemo( () => function useAuthFromClerk() { const { isLoaded, isSignedIn, getToken } = useAuth(); const fetchAccessToken = useCallback( async ({ forceRefreshToken }) => { try { return getToken({ template: "convex", skipCache: forceRefreshToken }); } catch (error) { return null; } }, // Clerk is not memoizing its getToken function at all // eslint-disable-next-line react-hooks/exhaustive-deps [] ); return useMemo( () => ({ isLoading: !isLoaded, isAuthenticated: isSignedIn ?? false, fetchAccessToken }), [isLoaded, isSignedIn, fetchAccessToken] ); }, [useAuth] ); } //# sourceMappingURL=ConvexProviderWithClerk.js.map