@studiolambda/query 1.4.0 → 1.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/query-CGIqlfYX.js +185 -0
- package/dist/query-CGIqlfYX.js.map +1 -0
- package/dist/query-Do4OvbxG.cjs +2 -0
- package/dist/query-Do4OvbxG.cjs.map +1 -0
- package/dist/query.cjs +1 -2
- package/dist/query.js +2 -193
- package/dist/query_react.cjs +3 -19
- package/dist/query_react.cjs.map +1 -1
- package/dist/query_react.js +255 -418
- package/dist/query_react.js.map +1 -1
- package/dist/src/query/options.d.ts +78 -4
- package/dist/src/react/components/QueryPrefetch.d.ts +30 -1
- package/dist/src/react/components/QueryPrefetchTags.d.ts +34 -1
- package/dist/src/react/components/QueryProvider.d.ts +30 -0
- package/dist/src/react/components/QueryTransition.d.ts +35 -0
- package/dist/src/react/context.d.ts +17 -0
- package/dist/src/react/hooks/useQuery.d.ts +44 -2
- package/dist/src/react/hooks/useQueryActions.d.ts +55 -1
- package/dist/src/react/hooks/useQueryBasic.d.ts +42 -2
- package/dist/src/react/hooks/useQueryContext.d.ts +13 -0
- package/dist/src/react/hooks/useQueryInstance.d.ts +27 -0
- package/dist/src/react/hooks/useQueryPrefetch.d.ts +15 -1
- package/dist/src/react/hooks/useQueryStatus.d.ts +40 -0
- package/dist/src/react/hooks/useQueryTransitionContext.d.ts +14 -0
- package/dist/src/react/transition.d.ts +17 -0
- package/package.json +57 -59
- package/dist/query.cjs.map +0 -1
- package/dist/query.js.map +0 -1
package/dist/query_react.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query_react.cjs","sources":["../src/react/context.ts","../src/react/hooks/useQueryContext.ts","../src/react/hooks/useQueryInstance.ts","../src/react/hooks/useQueryActions.ts","../src/react/hooks/useQueryStatus.ts","../src/react/transition.ts","../src/react/hooks/useQueryTransitionContext.ts","../src/react/hooks/useQueryBasic.ts","../src/react/hooks/useQuery.ts","../src/react/hooks/useQueryPrefetch.ts","../node_modules/react/cjs/react-compiler-runtime.production.js","../node_modules/react/cjs/react-compiler-runtime.development.js","../node_modules/react/compiler-runtime.js","../src/react/components/QueryProvider.tsx","../src/react/components/QueryTransition.tsx","../src/react/components/QueryPrefetch.tsx","../src/react/components/QueryPrefetchTags.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport { type QueryInstance } from './hooks/useQueryInstance'\n\nexport interface ContextValue extends QueryInstance {\n readonly clearOnForget?: boolean\n readonly ignoreTransitionContext?: boolean\n}\n\nexport const Context = createContext<ContextValue>({\n query: undefined,\n clearOnForget: undefined,\n ignoreTransitionContext: undefined,\n})\n","import { Context, type ContextValue } from 'query/react:context'\nimport { use, useDebugValue } from 'react'\n\nexport function useQueryContext(): ContextValue {\n useDebugValue('useQueryContext')\n\n return use(Context)\n}\n","import { type Query } from 'query:index'\nimport { useQueryContext } from 'query/react:hooks/useQueryContext'\nimport { useDebugValue, useMemo } from 'react'\n\nexport interface QueryInstance {\n readonly query?: Query\n}\n\nexport function useQueryInstance(options?: QueryInstance): Query {\n useDebugValue('useQueryInstance')\n\n const { query: cQuery } = useQueryContext()\n const { query: oQuery } = options ?? {}\n\n return useMemo(\n function () {\n const instance = oQuery ?? cQuery\n\n if (!instance) {\n throw new Error(\n 'No query instance was found. Please provide one via the resource options or the query context.'\n )\n }\n\n return instance\n },\n [oQuery, cQuery]\n )\n}\n","import { type MutateOptions, type MutationValue, type Options } from 'query:index'\nimport { useCallback, useDebugValue, useMemo } from 'react'\nimport { useQueryInstance, type QueryInstance } from './useQueryInstance'\n\nexport interface QueryActions<T = unknown> {\n readonly refetch: (refetchOptions?: Options<T>) => Promise<T>\n readonly mutate: (value: MutationValue<T>, options?: MutateOptions<T>) => Promise<T>\n readonly forget: () => void\n}\n\nexport type QueryActionsOptions<T = unknown> = Options<T> & QueryInstance\n\nexport function useQueryActions<T = unknown>(\n key: string,\n options?: QueryActionsOptions<T>\n): QueryActions<T> {\n useDebugValue('useQueryActions')\n\n const {\n expiration: oExpiration,\n fetcher: oFetcher,\n stale: oStale,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n } = options ?? {}\n\n const { query, mutate, forget } = useQueryInstance(options)\n\n const refetch = useCallback(\n function (refetchOptions?: Options<T>) {\n return query<T>(key, {\n stale: oStale ?? false,\n expiration: oExpiration,\n fetcher: oFetcher,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n ...refetchOptions,\n })\n },\n [query, key, oExpiration, oFetcher, oStale, oRemoveOnError, oFresh]\n )\n\n const localMutate = useCallback(\n function <T = unknown>(value: MutationValue<T>, options?: MutateOptions<T>) {\n return mutate(key, value, options)\n },\n [mutate, key]\n )\n\n const localForget = useCallback(\n async function () {\n await forget(key)\n },\n [forget, key]\n )\n\n return useMemo(\n function () {\n return { refetch, mutate: localMutate, forget: localForget }\n },\n [refetch, localMutate, localForget]\n )\n}\n","import { useDebugValue, useEffect, useMemo, useState } from 'react'\nimport { useQueryInstance, type QueryInstance } from './useQueryInstance'\n\nexport interface Status {\n readonly expiresAt: Date\n readonly isExpired: boolean\n readonly isRefetching: boolean\n readonly isMutating: boolean\n}\n\nexport function useQueryStatus(key: string, options?: QueryInstance): Status {\n useDebugValue('useQueryStatus')\n\n const { expiration, subscribe } = useQueryInstance(options)\n const [expiresAt, setExpiresAt] = useState<Date>(() => expiration(key) ?? new Date())\n const [isExpired, setIsExpired] = useState(() => Date.now() > expiresAt.getTime())\n const [isRefetching, setIsRefetching] = useState(false)\n const [isMutating, setIsMutating] = useState(false)\n\n useEffect(\n function () {\n function handler() {\n setIsExpired(true)\n }\n\n const id = setTimeout(handler, expiresAt.getTime() - Date.now())\n\n return function () {\n clearTimeout(id)\n }\n },\n [expiresAt]\n )\n\n useEffect(\n function () {\n function onMutating() {\n setIsMutating(true)\n }\n\n function onMutated() {\n setIsMutating(false)\n setExpiresAt(expiration(key) ?? new Date())\n }\n\n function onHydrated() {\n setExpiresAt(expiration(key) ?? new Date())\n }\n\n function onResolved() {\n setExpiresAt(expiration(key) ?? new Date())\n setIsRefetching(false)\n }\n\n function onForgotten() {\n setExpiresAt(expiration(key) ?? new Date())\n }\n\n function onRefetching() {\n setIsRefetching(true)\n }\n\n function onError() {\n setIsRefetching(false)\n setIsMutating(false)\n }\n\n const unsubscribeMutating = subscribe(key, 'mutating', onMutating)\n const unsubscribeMutated = subscribe(key, 'mutated', onMutated)\n const unsubscribeHydrated = subscribe(key, 'hydrated', onHydrated)\n const unsubscribeResolved = subscribe(key, 'resolved', onResolved)\n const unsubscribeForgotten = subscribe(key, 'forgotten', onForgotten)\n const unsubscribeRefetching = subscribe(key, 'refetching', onRefetching)\n const unsubscribeError = subscribe(key, 'error', onError)\n\n return function () {\n unsubscribeMutating()\n unsubscribeMutated()\n unsubscribeHydrated()\n unsubscribeResolved()\n unsubscribeForgotten()\n unsubscribeRefetching()\n unsubscribeError()\n }\n },\n [key, subscribe, expiration, setExpiresAt]\n )\n\n return useMemo(\n function () {\n return { expiresAt, isExpired, isRefetching, isMutating }\n },\n [expiresAt, isExpired, isRefetching, isMutating]\n )\n}\n","import { createContext, type TransitionStartFunction } from 'react'\n\nexport interface QueryTransitionContextValue {\n readonly isPending?: boolean\n readonly startTransition?: TransitionStartFunction\n}\n\nexport const TransitionContext = createContext<QueryTransitionContextValue>({\n isPending: undefined,\n startTransition: undefined,\n})\n","import { TransitionContext, type QueryTransitionContextValue } from 'query/react:transition'\nimport { use, useDebugValue } from 'react'\n\nexport function useQueryTransitionContext(): QueryTransitionContextValue {\n useDebugValue('useQueryTransitionContext')\n\n return use(TransitionContext)\n}\n","import { useEffect, use, useState, useMemo, useDebugValue, useTransition } from 'react'\nimport { type ContextValue } from 'query/react:context'\nimport { type Options } from 'query:index'\nimport { useQueryContext } from './useQueryContext'\nimport { useQueryInstance, type QueryInstance } from './useQueryInstance'\nimport { useQueryTransitionContext } from './useQueryTransitionContext'\n\nexport interface BasicResource<T = unknown> {\n data: T\n isPending: boolean\n}\n\nexport type BasicResourceOptions<T = unknown> = ContextValue & Options<T> & QueryInstance\n\nexport function useQueryBasic<T = unknown>(\n key: string,\n options?: BasicResourceOptions<T>\n): BasicResource<T> {\n useDebugValue('useQueryBasic')\n\n const { clearOnForget: cClearOnForget, ignoreTransitionContext: cIgnoreTransitionContext } =\n useQueryContext()\n\n const {\n clearOnForget: oClearOnForget,\n ignoreTransitionContext: oIgnoreTransitionContext,\n expiration: oExpiration,\n fetcher: oFetcher,\n stale: oStale,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n } = options ?? {}\n\n const { isPending: isContextPending, startTransition: startContextTransition } =\n useQueryTransitionContext()\n\n const [isLocalPending, startLocalTransition] = useTransition()\n const { query, expiration, subscribe } = useQueryInstance(options)\n\n const ignoreTransitionContext = useMemo(\n function () {\n return oIgnoreTransitionContext ?? cIgnoreTransitionContext ?? false\n },\n [oIgnoreTransitionContext, cIgnoreTransitionContext]\n )\n\n const isPending = useMemo(\n function () {\n if (ignoreTransitionContext) {\n return isLocalPending\n }\n\n return isContextPending ?? isLocalPending\n },\n [isContextPending, isLocalPending, ignoreTransitionContext]\n )\n\n const startTransition = useMemo(\n function () {\n if (ignoreTransitionContext) {\n return startLocalTransition\n }\n\n return startContextTransition ?? startLocalTransition\n },\n [startContextTransition, startLocalTransition, ignoreTransitionContext]\n )\n\n const clearOnForget = useMemo(\n function () {\n return oClearOnForget ?? cClearOnForget ?? false\n },\n [oClearOnForget, cClearOnForget]\n )\n\n const promise = useMemo(\n function () {\n return query<T>(key, {\n expiration: oExpiration,\n fetcher: oFetcher,\n stale: oStale,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n })\n },\n [query, key, oExpiration, oFetcher, oStale, oRemoveOnError, oFresh]\n )\n\n const [data, setData] = useState<T>(use(promise))\n\n useEffect(\n function () {\n function onResolved(event: CustomEventInit<T>) {\n startTransition(function () {\n setData(event.detail as T)\n })\n }\n\n function onMutating(event: CustomEventInit<Promise<T>>) {\n startTransition(async function () {\n const value = await (event.detail as Promise<T>)\n\n startTransition(function () {\n setData(value)\n })\n })\n }\n\n function onMutated(event: CustomEventInit<T>) {\n startTransition(function () {\n setData(event.detail as T)\n })\n }\n\n function onHydrated(event: CustomEventInit<T>) {\n startTransition(function () {\n setData(event.detail as T)\n })\n }\n\n function onRefetching(event: CustomEventInit<Promise<T>>) {\n startTransition(async function () {\n const value = await (event.detail as Promise<T>)\n\n startTransition(function () {\n setData(value)\n })\n })\n }\n\n function onForgotten() {\n if (clearOnForget) {\n startTransition(async function () {\n const data = await query<T>(key, {\n expiration: oExpiration,\n fetcher: oFetcher,\n stale: oStale,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n })\n\n startTransition(function () {\n setData(data)\n })\n })\n }\n }\n\n const unsubscribeResolved = subscribe(key, 'resolved', onResolved)\n const unsubscribeMutating = subscribe(key, 'mutating', onMutating)\n const unsubscribeMutated = subscribe(key, 'mutated', onMutated)\n const unsubscribeHydrated = subscribe(key, 'hydrated', onHydrated)\n const unsubscribeRefetching = subscribe(key, 'refetching', onRefetching)\n const unsubscribeForgotten = subscribe(key, 'forgotten', onForgotten)\n\n return function () {\n unsubscribeResolved()\n unsubscribeMutating()\n unsubscribeMutated()\n unsubscribeHydrated()\n unsubscribeRefetching()\n unsubscribeForgotten()\n }\n },\n [\n query,\n expiration,\n subscribe,\n key,\n clearOnForget,\n oExpiration,\n oFetcher,\n oStale,\n oRemoveOnError,\n oFresh,\n startTransition,\n ]\n )\n\n return useMemo(\n function (): BasicResource<T> {\n return { data, isPending }\n },\n [data, isPending]\n )\n}\n","import { useMemo, useDebugValue } from 'react'\nimport { type ContextValue } from 'query/react:context'\nimport { type Options } from 'query:index'\nimport { type QueryInstance } from './useQueryInstance'\nimport { useQueryActions, type QueryActions } from './useQueryActions'\nimport { useQueryStatus, type Status } from './useQueryStatus'\nimport { useQueryBasic, type BasicResource } from './useQueryBasic'\n\ntype AdditionalHooks<T> = QueryActions<T> & BasicResource<T> & Status\n\nexport interface Resource<T = unknown> extends AdditionalHooks<T> {\n data: T\n isPending: boolean\n}\n\nexport type ResourceOptions<T = unknown> = ContextValue & Options<T> & QueryInstance\n\nexport function useQuery<T = unknown>(key: string, options?: ResourceOptions<T>): Resource<T> {\n useDebugValue('useQuery')\n\n const basic = useQueryBasic<T>(key, options)\n const actions = useQueryActions<T>(key, options)\n const status = useQueryStatus(key, options)\n\n return useMemo(\n function (): Resource<T> {\n return { ...basic, ...actions, ...status }\n },\n [basic, actions, status]\n )\n}\n","import { useDebugValue, useEffect } from 'react'\nimport { QueryInstance, useQueryInstance } from './useQueryInstance'\n\nexport function useQueryPrefetch(keys: string[], options?: QueryInstance) {\n useDebugValue('useQueryPrefetch')\n\n const { query } = useQueryInstance(options)\n\n useEffect(\n function () {\n for (const key of keys) {\n void query(key)\n }\n },\n [query, keys]\n )\n}\n","/**\n * @license React\n * react-compiler-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nexports.c = function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n};\n","/**\n * @license React\n * react-compiler-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n var ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n exports.c = function (size) {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher.useMemoCache(size);\n };\n })();\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-compiler-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-compiler-runtime.development.js');\n}\n","import { useEffect, useMemo, type ReactNode } from 'react'\nimport { Context, type ContextValue } from 'query/react:context'\nimport { createQuery, type Query } from 'query:index'\n\nexport interface QueryProviderProps extends ContextValue {\n children?: ReactNode\n}\n\nexport function QueryProvider({\n children,\n clearOnForget,\n ignoreTransitionContext,\n query,\n}: QueryProviderProps) {\n const localQuery = useMemo<Query>(\n function () {\n return query ?? createQuery()\n },\n [query]\n )\n\n useEffect(\n function () {\n const broadcast = new BroadcastChannel('query')\n\n localQuery.configure({ broadcast })\n\n const unsubscribe = localQuery.subscribeBroadcast()\n\n return function () {\n unsubscribe()\n broadcast.close()\n }\n },\n [localQuery]\n )\n\n const value = useMemo(\n function (): ContextValue {\n return { query: localQuery, clearOnForget, ignoreTransitionContext }\n },\n [localQuery, clearOnForget, ignoreTransitionContext]\n )\n\n return <Context value={value}>{children}</Context>\n}\n","import { TransitionContext, type QueryTransitionContextValue } from 'query/react:transition'\nimport { useMemo, type ReactNode, type TransitionStartFunction } from 'react'\n\nexport interface QueryTransitionProps {\n isPending: boolean\n startTransition: TransitionStartFunction\n children?: ReactNode\n}\n\nexport function QueryTransition({ children, startTransition, isPending }: QueryTransitionProps) {\n const value = useMemo(\n function (): QueryTransitionContextValue {\n return { startTransition, isPending }\n },\n [startTransition, isPending]\n )\n\n return <TransitionContext value={value}>{children}</TransitionContext>\n}\n","import { type ReactNode } from 'react'\nimport { type QueryInstance } from 'query/react:hooks/useQueryInstance'\nimport { useQueryPrefetch } from 'query/react:hooks/useQueryPrefetch'\n\nexport interface QueryPrefetchProps extends QueryInstance {\n keys: string[]\n children?: ReactNode\n}\n\nexport function QueryPrefetch({ keys, query, children }: QueryPrefetchProps) {\n useQueryPrefetch(keys, { query })\n\n return children\n}\n","import type { QueryInstance } from 'query/react:hooks/useQueryInstance'\nimport type { ReactNode, LinkHTMLAttributes } from 'react'\nimport { useMemo } from 'react'\nimport { useQueryPrefetch } from 'query/react:hooks/useQueryPrefetch'\n\ntype Additional = LinkHTMLAttributes<HTMLLinkElement> & QueryInstance\n\nexport interface QueryPrefetchTagsProps extends Additional {\n keys: string[]\n children?: ReactNode\n}\n\nexport function QueryPrefetchTags({ keys, children, ...options }: QueryPrefetchTagsProps) {\n useQueryPrefetch(keys, options)\n\n const tags = useMemo(\n function () {\n return keys.map((key) => <link rel=\"preload\" href={key} as=\"fetch\" {...options} />)\n },\n [keys, options]\n )\n\n return (\n <>\n {tags}\n {children}\n </>\n )\n}\n"],"names":["Context","createContext","useQueryContext","useDebugValue","use","__name","useQueryInstance","options","cQuery","oQuery","useMemo","instance","useQueryActions","key","oExpiration","oFetcher","oStale","oRemoveOnError","oFresh","query","mutate","forget","refetch","useCallback","refetchOptions","localMutate","value","localForget","useQueryStatus","expiration","subscribe","expiresAt","setExpiresAt","useState","isExpired","setIsExpired","isRefetching","setIsRefetching","isMutating","setIsMutating","useEffect","handler","id","onMutating","onMutated","onHydrated","onResolved","onForgotten","onRefetching","onError","unsubscribeMutating","unsubscribeMutated","unsubscribeHydrated","unsubscribeResolved","unsubscribeForgotten","unsubscribeRefetching","unsubscribeError","TransitionContext","useQueryTransitionContext","useQueryBasic","cClearOnForget","cIgnoreTransitionContext","oClearOnForget","oIgnoreTransitionContext","isContextPending","startContextTransition","isLocalPending","startLocalTransition","useTransition","ignoreTransitionContext","isPending","startTransition","clearOnForget","promise","data","setData","event","useQuery","basic","actions","status","useQueryPrefetch","keys","ReactSharedInternals","require$$0","reactCompilerRuntime_production","size","reactCompilerRuntime_development","dispatcher","compilerRuntimeModule","require$$1","QueryProvider","t0","$","_c","children","t1","createQuery","localQuery","t2","t3","broadcast","BroadcastChannel","configure","unsubscribe","subscribeBroadcast","close","t4","t5","jsx","QueryTransition","QueryPrefetch","QueryPrefetchTags","map","tags","jsxs","Fragment"],"mappings":"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","x_google_ignoreList":[10,11,12]}
|
|
1
|
+
{"version":3,"file":"query_react.cjs","names":["useEffect","ReactNode","Context","ContextValue","createQuery","QueryProviderProps","children","QueryProvider","t0","$","_c","clearOnForget","ignoreTransitionContext","query","t1","localQuery","t2","t3","broadcast","BroadcastChannel","configure","unsubscribe","subscribeBroadcast","close","t4","value","t5","TransitionContext","ReactNode","TransitionStartFunction","QueryTransitionProps","isPending","startTransition","children","QueryTransition","t0","$","_c","t1","value","t2","ReactNode","QueryInstance","useQueryPrefetch","QueryPrefetchProps","keys","children","QueryPrefetch","t0","$","_c","query","t1","QueryInstance","ReactNode","LinkHTMLAttributes","useQueryPrefetch","Additional","HTMLLinkElement","QueryPrefetchTagsProps","keys","children","QueryPrefetchTags","t0","$","_c","options","t1","t2","key","map","tags"],"sources":["../src/react/context.ts","../src/react/hooks/useQueryContext.ts","../src/react/hooks/useQueryInstance.ts","../src/react/hooks/useQueryActions.ts","../src/react/hooks/useQueryStatus.ts","../src/react/transition.ts","../src/react/hooks/useQueryTransitionContext.ts","../src/react/hooks/useQueryBasic.ts","../src/react/hooks/useQuery.ts","../src/react/hooks/useQueryPrefetch.ts","../node_modules/react/cjs/react-compiler-runtime.production.js","../node_modules/react/cjs/react-compiler-runtime.development.js","../node_modules/react/compiler-runtime.js","../src/react/components/QueryProvider.tsx","../src/react/components/QueryTransition.tsx","../src/react/components/QueryPrefetch.tsx","../src/react/components/QueryPrefetchTags.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport { type QueryInstance } from './hooks/useQueryInstance'\n\n/**\n * The value type for the query context, extending the query instance\n * with additional configuration options that affect query behavior\n * throughout the component tree.\n */\nexport interface ContextValue extends QueryInstance {\n /**\n * When true, components will automatically refetch data after the\n * cache for a key is cleared via the forget method.\n */\n readonly clearOnForget?: boolean\n\n /**\n * When true, query components will use their own local transition\n * instead of the shared transition from QueryTransition context.\n */\n readonly ignoreTransitionContext?: boolean\n}\n\n/**\n * React context that provides the query instance and configuration\n * to all descendant components. Created with default undefined values.\n */\nexport const Context = createContext<ContextValue>({\n query: undefined,\n clearOnForget: undefined,\n ignoreTransitionContext: undefined,\n})\n","import { Context, type ContextValue } from 'query/react:context'\nimport { use } from 'react'\n\n/**\n * A React hook that retrieves the current query context value from the\n * nearest QueryProvider ancestor. Returns the context configuration\n * including the query instance and options like clearOnForget.\n *\n * @returns The current query context value containing the query instance\n * and configuration options.\n *\n * @example\n * ```tsx\n * const { query, clearOnForget } = useQueryContext()\n * ```\n */\nexport function useQueryContext(): ContextValue {\n return use(Context)\n}\n","import { type Query } from 'query:index'\nimport { useQueryContext } from 'query/react:hooks/useQueryContext'\n\n/**\n * Options interface that allows providing a custom query instance,\n * overriding the one from the context.\n */\nexport interface QueryInstance {\n /**\n * An optional query instance to use instead of the context query.\n */\n readonly query?: Query\n}\n\n/**\n * Error thrown when no query instance is available from either\n * the options or the context.\n */\nexport const ErrNoQueryInstanceFound = new Error(\n 'No query instance was found. Please provide one via the resource options or the query context.'\n)\n\n/**\n * A React hook that resolves the query instance to use, preferring the\n * instance from options over the one from context. Throws an error if\n * no instance is available.\n *\n * @param options - Optional configuration containing a query instance.\n * @returns The resolved query instance.\n * @throws Error if no query instance is found in options or context.\n *\n * @example\n * ```tsx\n * const query = useQueryInstance()\n * const data = await query('key')\n * ```\n */\nexport function useQueryInstance(options?: QueryInstance): Query {\n const { query: cQuery } = useQueryContext()\n const { query: oQuery } = options ?? {}\n const instance = oQuery ?? cQuery\n\n if (!instance) {\n throw ErrNoQueryInstanceFound\n }\n\n return instance\n}\n","import { type MutateOptions, type MutationValue, type Options } from 'query:index'\nimport { useQueryInstance, type QueryInstance } from './useQueryInstance'\n\n/**\n * The return type of the useQueryActions hook, providing methods to\n * manually control query behavior such as refetching, mutating, and\n * clearing cached data.\n *\n * @template T - The type of the cached data.\n */\nexport interface QueryActions<T = unknown> {\n /**\n * Triggers a fresh fetch of the data, bypassing the stale cache.\n *\n * @param refetchOptions - Optional configuration to override the default\n * query options for this refetch.\n * @returns A promise that resolves with the newly fetched data.\n */\n readonly refetch: (refetchOptions?: Options<T>) => Promise<T>\n\n /**\n * Updates the cached data with a new value or a mutation function.\n * The mutation can be synchronous or asynchronous.\n *\n * @param value - The new value or a function that receives the previous\n * value and returns the new value.\n * @param options - Optional configuration for the mutation.\n * @returns A promise that resolves with the mutated data.\n */\n readonly mutate: (value: MutationValue<T>, options?: MutateOptions<T>) => Promise<T>\n\n /**\n * Removes the cached data for the key, triggering a fresh fetch on the\n * next query if clearOnForget is enabled.\n *\n * @returns A promise that resolves when the data has been forgotten.\n */\n readonly forget: () => Promise<void>\n}\n\n/**\n * Configuration options for the useQueryActions hook, combining query\n * options with an optional query instance override.\n *\n * @template T - The type of the cached data.\n */\nexport type QueryActionsOptions<T = unknown> = Options<T> & QueryInstance\n\n/**\n * A React hook that provides action methods for controlling query behavior.\n * Use this hook when you need to imperatively refetch, mutate, or forget\n * cached data without subscribing to data changes.\n *\n * @template T - The type of the cached data.\n * @param key - A unique string identifier for the cached resource.\n * @param options - Optional configuration for the query actions.\n * @returns An object containing refetch, mutate, and forget functions.\n *\n * @example\n * ```tsx\n * const { refetch, mutate, forget } = useQueryActions<User>('/api/user/1')\n *\n * const handleRefresh = () => refetch()\n * const handleUpdate = (name: string) => mutate({ name })\n * const handleClear = () => forget()\n * ```\n */\nexport function useQueryActions<T = unknown>(\n key: string,\n options?: QueryActionsOptions<T>\n): QueryActions<T> {\n const {\n expiration: oExpiration,\n fetcher: oFetcher,\n stale: oStale,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n } = options ?? {}\n\n const { query, mutate, forget } = useQueryInstance(options)\n\n function refetch(refetchOptions?: Options<T>) {\n return query<T>(key, {\n stale: oStale ?? false,\n expiration: oExpiration,\n fetcher: oFetcher,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n ...refetchOptions,\n })\n }\n\n function localMutate<T = unknown>(value: MutationValue<T>, options?: MutateOptions<T>) {\n return mutate(key, value, options)\n }\n\n async function localForget() {\n await forget(key)\n }\n\n return { refetch, mutate: localMutate, forget: localForget }\n}\n","import { useEffect, useState } from 'react'\nimport { useQueryInstance, type QueryInstance } from './useQueryInstance'\n\n/**\n * The return type of the useQueryStatus hook, providing real-time\n * information about the cache status for a specific key.\n */\nexport interface Status {\n /**\n * The timestamp when the cached data will expire. After this time,\n * the next query will trigger a background refetch.\n */\n readonly expiresAt: Date\n\n /**\n * Indicates whether the cached data has expired. When true, the data\n * is considered stale and will be refetched on the next query.\n */\n readonly isExpired: boolean\n\n /**\n * Indicates whether the data is currently being refetched in the\n * background while serving stale data.\n */\n readonly isRefetching: boolean\n\n /**\n * Indicates whether a mutation is currently in progress for this key.\n */\n readonly isMutating: boolean\n}\n\n/**\n * A React hook that subscribes to and returns the real-time status of a\n * cached query. Useful for displaying loading indicators, staleness\n * warnings, or optimistic UI updates.\n *\n * @param key - A unique string identifier for the cached resource.\n * @param options - Optional configuration containing a query instance.\n * @returns An object containing cache expiration and loading status.\n *\n * @example\n * ```tsx\n * const { isExpired, isRefetching, isMutating } = useQueryStatus('/api/user/1')\n *\n * return (\n * <div>\n * {isRefetching && <RefreshIndicator />}\n * {isExpired && <StaleWarning />}\n * </div>\n * )\n * ```\n */\nexport function useQueryStatus(key: string, options?: QueryInstance): Status {\n const { expiration, subscribe } = useQueryInstance(options)\n const [expiresAt, setExpiresAt] = useState<Date>(() => expiration(key) ?? new Date())\n const [isExpired, setIsExpired] = useState(() => Date.now() > expiresAt.getTime())\n const [isRefetching, setIsRefetching] = useState(false)\n const [isMutating, setIsMutating] = useState(false)\n\n useEffect(\n function () {\n function handler() {\n setIsExpired(true)\n }\n\n const id = setTimeout(handler, expiresAt.getTime() - Date.now())\n\n return function () {\n clearTimeout(id)\n }\n },\n [expiresAt]\n )\n\n useEffect(\n function () {\n function onMutating() {\n setIsMutating(true)\n }\n\n function onMutated() {\n setIsMutating(false)\n setExpiresAt(expiration(key) ?? new Date())\n }\n\n function onHydrated() {\n setExpiresAt(expiration(key) ?? new Date())\n }\n\n function onResolved() {\n setExpiresAt(expiration(key) ?? new Date())\n setIsRefetching(false)\n }\n\n function onForgotten() {\n setExpiresAt(expiration(key) ?? new Date())\n }\n\n function onRefetching() {\n setIsRefetching(true)\n }\n\n function onError() {\n setIsRefetching(false)\n setIsMutating(false)\n }\n\n const unsubscribeMutating = subscribe(key, 'mutating', onMutating)\n const unsubscribeMutated = subscribe(key, 'mutated', onMutated)\n const unsubscribeHydrated = subscribe(key, 'hydrated', onHydrated)\n const unsubscribeResolved = subscribe(key, 'resolved', onResolved)\n const unsubscribeForgotten = subscribe(key, 'forgotten', onForgotten)\n const unsubscribeRefetching = subscribe(key, 'refetching', onRefetching)\n const unsubscribeError = subscribe(key, 'error', onError)\n\n return function () {\n unsubscribeMutating()\n unsubscribeMutated()\n unsubscribeHydrated()\n unsubscribeResolved()\n unsubscribeForgotten()\n unsubscribeRefetching()\n unsubscribeError()\n }\n },\n [key, subscribe, expiration]\n )\n\n return { expiresAt, isExpired, isRefetching, isMutating }\n}\n","import { createContext, type TransitionStartFunction } from 'react'\n\n/**\n * The value type for the transition context, providing shared transition\n * state and control function for coordinating UI updates across multiple\n * query components.\n */\nexport interface QueryTransitionContextValue {\n /**\n * Indicates whether a transition is currently pending. When true,\n * components can show loading indicators or reduce visual updates.\n */\n readonly isPending?: boolean\n\n /**\n * The function to start a transition, allowing components to wrap\n * state updates in a transition for smoother UI behavior.\n */\n readonly startTransition?: TransitionStartFunction\n}\n\n/**\n * React context that provides shared transition state and control\n * to all descendant query components. Created with default undefined values.\n */\nexport const TransitionContext = createContext<QueryTransitionContextValue>({\n isPending: undefined,\n startTransition: undefined,\n})\n","import { TransitionContext, type QueryTransitionContextValue } from 'query/react:transition'\nimport { use } from 'react'\n\n/**\n * A React hook that retrieves the current transition context value from the\n * nearest QueryTransition ancestor. Provides access to the shared transition\n * state and startTransition function for coordinating UI updates across\n * multiple query components.\n *\n * @returns The current transition context value containing isPending state\n * and startTransition function.\n *\n * @example\n * ```tsx\n * const { isPending, startTransition } = useQueryTransitionContext()\n * ```\n */\nexport function useQueryTransitionContext(): QueryTransitionContextValue {\n return use(TransitionContext)\n}\n","import { useEffect, useEffectEvent, use, useState, useTransition } from 'react'\nimport { type ContextValue } from 'query/react:context'\nimport { type Options } from 'query:index'\nimport { useQueryContext } from './useQueryContext'\nimport { useQueryInstance, type QueryInstance } from './useQueryInstance'\nimport { useQueryTransitionContext } from './useQueryTransitionContext'\n\n/**\n * The return type of the useQueryBasic hook, providing access to\n * the fetched data and the current pending state.\n *\n * @template T - The type of the fetched data.\n */\nexport interface BasicResource<T = unknown> {\n /**\n * The fetched data for the given key.\n */\n readonly data: T\n\n /**\n * Indicates whether a transition is currently pending.\n */\n readonly isPending: boolean\n}\n\n/**\n * Configuration options for the useQueryBasic hook, combining context values,\n * query options, and an optional query instance override.\n *\n * @template T - The type of the fetched data.\n */\nexport type BasicResourceOptions<T = unknown> = ContextValue & Options<T> & QueryInstance\n\n/**\n * A foundational React hook for fetching and subscribing to cached data.\n * Automatically handles data fetching, caching, and updates when the cache\n * changes. Uses React transitions for smooth UI updates during refetches.\n *\n * This hook provides the core data fetching functionality without the\n * additional actions (refetch, mutate, forget) or status information.\n * Use useQuery for a more complete solution.\n *\n * @template T - The type of the fetched data.\n * @param key - A unique string identifier for the cached resource.\n * @param options - Optional configuration for the query behavior.\n * @returns An object containing the fetched data and pending state.\n *\n * @example\n * ```tsx\n * const { data, isPending } = useQueryBasic<User>('/api/user/1')\n *\n * if (isPending) return <Loading />\n * return <UserProfile user={data} />\n * ```\n */\nexport function useQueryBasic<T = unknown>(\n key: string,\n options?: BasicResourceOptions<T>\n): BasicResource<T> {\n const { clearOnForget: cClearOnForget, ignoreTransitionContext: cIgnoreTransitionContext } =\n useQueryContext()\n\n const {\n clearOnForget: oClearOnForget,\n ignoreTransitionContext: oIgnoreTransitionContext,\n expiration: oExpiration,\n fetcher: oFetcher,\n stale: oStale,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n } = options ?? {}\n\n const { isPending: isContextPending, startTransition: startContextTransition } =\n useQueryTransitionContext()\n\n const [isLocalPending, startLocalTransition] = useTransition()\n const { query, subscribe } = useQueryInstance(options)\n const ignoreTransitionContext = oIgnoreTransitionContext ?? cIgnoreTransitionContext ?? false\n const isPending = ignoreTransitionContext ? isLocalPending : (isContextPending ?? isLocalPending)\n\n const startTransition = ignoreTransitionContext\n ? startLocalTransition\n : (startContextTransition ?? startLocalTransition)\n\n const clearOnForget = oClearOnForget ?? cClearOnForget ?? false\n\n const promise = query<T>(key, {\n expiration: oExpiration,\n fetcher: oFetcher,\n stale: oStale,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n })\n\n const [data, setData] = useState<T>(use(promise))\n\n const onResolved = useEffectEvent(function (event: CustomEventInit<T>) {\n startTransition(function () {\n setData(event.detail as T)\n })\n })\n\n const onMutating = useEffectEvent(function (event: CustomEventInit<Promise<T>>) {\n startTransition(async function () {\n const value = await (event.detail as Promise<T>)\n\n startTransition(function () {\n setData(value)\n })\n })\n })\n\n const onMutated = useEffectEvent(function (event: CustomEventInit<T>) {\n startTransition(function () {\n setData(event.detail as T)\n })\n })\n\n const onHydrated = useEffectEvent(function (event: CustomEventInit<T>) {\n startTransition(function () {\n setData(event.detail as T)\n })\n })\n\n const onRefetching = useEffectEvent(function (event: CustomEventInit<Promise<T>>) {\n startTransition(async function () {\n const value = await (event.detail as Promise<T>)\n\n startTransition(function () {\n setData(value)\n })\n })\n })\n\n const onForgotten = useEffectEvent(function () {\n if (clearOnForget) {\n startTransition(async function () {\n const data = await query<T>(key, {\n expiration: oExpiration,\n fetcher: oFetcher,\n stale: oStale,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n })\n\n startTransition(function () {\n setData(data)\n })\n })\n }\n })\n\n useEffect(\n function () {\n const unsubscribeResolved = subscribe(key, 'resolved', onResolved)\n const unsubscribeMutating = subscribe(key, 'mutating', onMutating)\n const unsubscribeMutated = subscribe(key, 'mutated', onMutated)\n const unsubscribeHydrated = subscribe(key, 'hydrated', onHydrated)\n const unsubscribeRefetching = subscribe(key, 'refetching', onRefetching)\n const unsubscribeForgotten = subscribe(key, 'forgotten', onForgotten)\n\n return function () {\n unsubscribeResolved()\n unsubscribeMutating()\n unsubscribeMutated()\n unsubscribeHydrated()\n unsubscribeRefetching()\n unsubscribeForgotten()\n }\n },\n [key, subscribe]\n )\n\n return { data, isPending }\n}\n","import { type ContextValue } from 'query/react:context'\nimport { type Options } from 'query:index'\nimport { type QueryInstance } from './useQueryInstance'\nimport { useQueryActions, type QueryActions } from './useQueryActions'\nimport { useQueryStatus, type Status } from './useQueryStatus'\nimport { useQueryBasic, type BasicResource } from './useQueryBasic'\n\n/**\n * Combined type that merges query actions, basic resource data,\n * and status information into a single interface.\n */\ntype AdditionalHooks<T> = QueryActions<T> & BasicResource<T> & Status\n\n/**\n * The return type of the useQuery hook, providing access to fetched data,\n * pending state, query actions (refetch, mutate, forget), and cache status.\n *\n * @template T - The type of the fetched data.\n */\nexport interface Resource<T = unknown> extends AdditionalHooks<T> {\n /**\n * The fetched data for the given key.\n */\n readonly data: T\n\n /**\n * Indicates whether a transition is currently pending.\n */\n readonly isPending: boolean\n}\n\n/**\n * Configuration options for the useQuery hook, combining context values,\n * query options, and an optional query instance override.\n *\n * @template T - The type of the fetched data.\n */\nexport type ResourceOptions<T = unknown> = ContextValue & Options<T> & QueryInstance\n\n/**\n * A comprehensive React hook for managing async data fetching with\n * automatic caching, deduplication, and stale-while-revalidate behavior.\n * Combines the functionality of useQueryBasic, useQueryActions, and\n * useQueryStatus into a single convenient hook.\n *\n * @template T - The type of the fetched data.\n * @param key - A unique string identifier for the cached resource.\n * @param options - Optional configuration for the query behavior.\n * @returns A resource object containing the data, pending state, actions,\n * and cache status.\n *\n * @example\n * ```tsx\n * const { data, isPending, refetch } = useQuery<User>('/api/user/1')\n *\n * if (isPending) return <Loading />\n * return <UserProfile user={data} onRefresh={refetch} />\n * ```\n */\nexport function useQuery<T = unknown>(key: string, options?: ResourceOptions<T>): Resource<T> {\n const basic = useQueryBasic<T>(key, options)\n const actions = useQueryActions<T>(key, options)\n const status = useQueryStatus(key, options)\n\n return { ...basic, ...actions, ...status }\n}\n","import { useEffect } from 'react'\nimport { type QueryInstance, useQueryInstance } from './useQueryInstance'\n\n/**\n * A React hook that prefetches multiple query keys on mount. Useful for\n * warming the cache with data that will be needed soon, improving perceived\n * performance when the user navigates to views that use these keys.\n *\n * @param keys - An array of cache keys to prefetch.\n * @param options - Optional configuration containing a query instance.\n *\n * @example\n * ```tsx\n * // Prefetch user data when the dashboard loads\n * useQueryPrefetch(['/api/user/1', '/api/user/2', '/api/user/3'])\n * ```\n */\nexport function useQueryPrefetch(keys: readonly string[], options?: QueryInstance) {\n const { query } = useQueryInstance(options)\n\n useEffect(\n function () {\n for (const key of keys) {\n void query(key)\n }\n },\n [query, keys]\n )\n}\n","/**\n * @license React\n * react-compiler-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nexports.c = function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n};\n","/**\n * @license React\n * react-compiler-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n var ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n exports.c = function (size) {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher.useMemoCache(size);\n };\n })();\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-compiler-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-compiler-runtime.development.js');\n}\n","import { useEffect, type ReactNode } from 'react'\nimport { Context, type ContextValue } from 'query/react:context'\nimport { createQuery } from 'query:index'\n\n/**\n * Props for the QueryProvider component, extending the context value\n * configuration with optional children.\n */\nexport interface QueryProviderProps extends ContextValue {\n /**\n * The child elements to render within the provider context.\n */\n children?: ReactNode\n}\n\n/**\n * A React component that provides query context to its descendants.\n * Creates a query instance if not provided, sets up a BroadcastChannel\n * for cross-tab synchronization, and makes the query available to all\n * child components via React context.\n *\n * @param props - The provider configuration and children.\n *\n * @example\n * ```tsx\n * import { QueryProvider, createQuery } from '@studiolambda/query/react'\n *\n * const query = createQuery({ fetcher: customFetcher })\n *\n * function App() {\n * return (\n * <QueryProvider query={query} clearOnForget>\n * <MyComponents />\n * </QueryProvider>\n * )\n * }\n * ```\n */\nexport function QueryProvider({\n children,\n clearOnForget,\n ignoreTransitionContext,\n query,\n}: QueryProviderProps) {\n const localQuery = query ?? createQuery()\n\n useEffect(\n function () {\n const broadcast = new BroadcastChannel('query')\n\n localQuery.configure({ broadcast })\n\n const unsubscribe = localQuery.subscribeBroadcast()\n\n return function () {\n unsubscribe()\n broadcast.close()\n }\n },\n [localQuery]\n )\n\n const value = { query: localQuery, clearOnForget, ignoreTransitionContext }\n\n return <Context value={value}>{children}</Context>\n}\n","import { TransitionContext } from 'query/react:transition'\nimport { type ReactNode, type TransitionStartFunction } from 'react'\n\n/**\n * Props for the QueryTransition component, providing transition state\n * and control function to be shared with descendant query components.\n */\nexport interface QueryTransitionProps {\n /**\n * Indicates whether a transition is currently pending.\n */\n isPending: boolean\n\n /**\n * The function to start a transition, typically from useTransition.\n */\n startTransition: TransitionStartFunction\n\n /**\n * The child elements that will have access to the transition context.\n */\n children?: ReactNode\n}\n\n/**\n * A React component that provides a shared transition context to its\n * descendants. Allows multiple query components to coordinate their\n * UI updates through a single transition, preventing visual flickering\n * and ensuring smooth updates across related components.\n *\n * @param props - The transition state, function, and children.\n *\n * @example\n * ```tsx\n * function App() {\n * const [isPending, startTransition] = useTransition()\n *\n * return (\n * <QueryTransition isPending={isPending} startTransition={startTransition}>\n * <UserList />\n * <UserDetails />\n * </QueryTransition>\n * )\n * }\n * ```\n */\nexport function QueryTransition({ children, startTransition, isPending }: QueryTransitionProps) {\n const value = { startTransition, isPending }\n\n return <TransitionContext value={value}>{children}</TransitionContext>\n}\n","import { type ReactNode } from 'react'\nimport { type QueryInstance } from 'query/react:hooks/useQueryInstance'\nimport { useQueryPrefetch } from 'query/react:hooks/useQueryPrefetch'\n\n/**\n * Props for the QueryPrefetch component, extending the query instance\n * options with keys to prefetch and optional children.\n */\nexport interface QueryPrefetchProps extends QueryInstance {\n /**\n * An array of cache keys to prefetch when the component mounts.\n */\n keys: readonly string[]\n\n /**\n * The child elements to render after initiating the prefetch.\n */\n children?: ReactNode\n}\n\n/**\n * A React component that prefetches multiple query keys when mounted.\n * Useful for warming the cache with data that will be needed soon,\n * improving perceived performance when users navigate to views that\n * depend on this data.\n *\n * @param props - The prefetch configuration and children.\n *\n * @example\n * ```tsx\n * function Dashboard() {\n * return (\n * <QueryPrefetch keys={['/api/user/1', '/api/settings']}>\n * <DashboardContent />\n * </QueryPrefetch>\n * )\n * }\n * ```\n */\nexport function QueryPrefetch({ keys, query, children }: QueryPrefetchProps) {\n useQueryPrefetch(keys, { query })\n\n return children\n}\n","import type { QueryInstance } from 'query/react:hooks/useQueryInstance'\nimport type { ReactNode, LinkHTMLAttributes } from 'react'\nimport { useQueryPrefetch } from 'query/react:hooks/useQueryPrefetch'\n\n/**\n * Combined type that merges HTML link element attributes with\n * query instance options for the QueryPrefetchTags component.\n */\ntype Additional = LinkHTMLAttributes<HTMLLinkElement> & QueryInstance\n\n/**\n * Props for the QueryPrefetchTags component, extending link attributes\n * and query instance options with keys to prefetch and optional children.\n */\nexport interface QueryPrefetchTagsProps extends Additional {\n /**\n * An array of cache keys to prefetch when the component mounts.\n */\n keys: readonly string[]\n\n /**\n * The child elements to render alongside the prefetch link tags.\n */\n children?: ReactNode\n}\n\n/**\n * A React component that prefetches multiple query keys and renders\n * corresponding link tags with rel=\"preload\" for browser-level prefetching.\n * Combines the query library's prefetch mechanism with native browser\n * resource hints for optimal performance.\n *\n * @param props - The prefetch configuration, link attributes, and children.\n *\n * @example\n * ```tsx\n * function App() {\n * return (\n * <QueryPrefetchTags keys={['/api/user', '/api/config']}>\n * <MainContent />\n * </QueryPrefetchTags>\n * )\n * }\n * ```\n */\nexport function QueryPrefetchTags({ keys, children, ...options }: QueryPrefetchTagsProps) {\n useQueryPrefetch(keys, options)\n\n const tags = keys.map((key) => (\n <link key={key} rel=\"preload\" href={key} as=\"fetch\" {...options} />\n ))\n\n return (\n <>\n {tags}\n {children}\n </>\n )\n}\n"],"x_google_ignoreList":[10,11,12],"mappings":"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"}
|