UNPKG

autumn-js

Version:
56 lines (53 loc) 1.58 kB
"use client"; import { createAutumnClient } from "./chunk-QOFGTXEX.mjs"; import { QueryClient, QueryClientProvider } from "./chunk-FU6VEECB.mjs"; import { AutumnContext } from "./chunk-SOA7GEAN.mjs"; // src/react/AutumnProvider.tsx import { useMemo, useRef } from "react"; import { jsx } from "react/jsx-runtime"; var DEFAULT_PATH_PREFIX = "/api/autumn"; var BETTER_AUTH_PATH_PREFIX = "/api/auth/autumn"; var AutumnProvider = ({ children, backendUrl, pathPrefix, useBetterAuth, includeCredentials, headers }) => { const queryClientRef = useRef(null); if (!queryClientRef.current) { queryClientRef.current = new QueryClient({ defaultOptions: { queries: { staleTime: 1e3 * 60, retry: false, refetchOnWindowFocus: false, refetchOnReconnect: false } } }); } const contextValue = useMemo(() => { const resolvedPathPrefix = pathPrefix ?? (useBetterAuth ? BETTER_AUTH_PATH_PREFIX : DEFAULT_PATH_PREFIX); const resolvedIncludeCredentials = includeCredentials ?? useBetterAuth; const client = createAutumnClient({ backendUrl, pathPrefix: resolvedPathPrefix, includeCredentials: resolvedIncludeCredentials, headers }); return { client }; }, [backendUrl, pathPrefix, useBetterAuth, includeCredentials, JSON.stringify(headers)]); return /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClientRef.current, children: /* @__PURE__ */ jsx(AutumnContext.Provider, { value: contextValue, children }) }); }; export { AutumnProvider };