@studiolambda/query 1.1.0 → 1.2.0
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.cjs +1 -1
- package/dist/query.cjs.map +1 -1
- package/dist/query.js +105 -95
- package/dist/query.js.map +1 -1
- package/dist/query_react.cjs +1 -1
- package/dist/query_react.cjs.map +1 -1
- package/dist/query_react.js +216 -177
- package/dist/query_react.js.map +1 -1
- package/dist/src/query/options.d.ts +44 -10
- package/dist/src/react/_internal.d.ts +1 -0
- package/dist/src/react/components/QueryPrefetch.d.ts +7 -0
- package/dist/src/react/components/QueryPrefetch.text.d.ts +1 -0
- package/dist/src/react/components/QueryPrefetchTags.d.ts +9 -0
- package/dist/src/react/hooks/useQuery.d.ts +2 -1
- package/dist/src/react/hooks/useQueryBasic.d.ts +9 -0
- package/dist/src/react/hooks/useQueryPrefetch.d.ts +2 -0
- package/dist/src/react/index.d.ts +4 -0
- package/package.json +24 -19
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/transition.ts","../src/react/hooks/useQueryTransitionContext.ts","../src/react/hooks/useQueryActions.ts","../src/react/hooks/useQueryStatus.ts","../src/react/hooks/useQuery.ts","../src/react/components/QueryProvider.tsx","../src/react/components/QueryTransition.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport { 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 function query() {\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\n return useMemo(query, [oQuery, cQuery])\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 { MutateOptions, MutationValue, Options } from 'query:index'\nimport { useCallback, useDebugValue, useMemo } from 'react'\nimport { QueryInstance, useQueryInstance } 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 function refetchHandler(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 const refetch = useCallback(refetchHandler, [\n query,\n key,\n oExpiration,\n oFetcher,\n oStale,\n oRemoveOnError,\n oFresh,\n ])\n\n function mutateHandler<T = unknown>(value: MutationValue<T>, options?: MutateOptions<T>) {\n return mutate(key, value, options)\n }\n\n const localMutate = useCallback(mutateHandler, [mutate, key])\n\n async function forgetHandler() {\n await forget(key)\n }\n\n const localForget = useCallback(forgetHandler, [forget, key])\n\n function actionsHandler() {\n return { refetch, mutate: localMutate, forget: localForget }\n }\n\n return useMemo(actionsHandler, [refetch, localMutate, localForget])\n}\n","import { useDebugValue, useEffect, useMemo, useState } from 'react'\nimport { QueryInstance, useQueryInstance } 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 function expirationHandler() {\n if (Date.now() >= expiresAt.getTime()) {\n setIsExpired(true)\n return\n }\n\n setIsExpired(false)\n\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\n useEffect(expirationHandler, [expiresAt])\n\n function subscribeHandler() {\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\n useEffect(subscribeHandler, [key, subscribe, expiration, setExpiresAt])\n\n function statusHandler() {\n return { expiresAt, isExpired, isRefetching, isMutating }\n }\n\n return useMemo(statusHandler, [expiresAt, isExpired, isRefetching, isMutating])\n}\n","import { useEffect, use, useState, useMemo, useDebugValue, useTransition, useRef } from 'react'\nimport { ContextValue } from 'query/react:context'\nimport { Options } from 'query:index'\nimport { useQueryContext } from './useQueryContext'\nimport { QueryInstance, useQueryInstance } from './useQueryInstance'\nimport { useQueryTransitionContext } from './useQueryTransitionContext'\nimport { QueryActions, useQueryActions } from './useQueryActions'\nimport { useQueryStatus, type Status } from './useQueryStatus'\n\ntype AdditionalHooks<T> = QueryActions<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 { 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 function ignoreTransitionContextHandler() {\n return oIgnoreTransitionContext ?? cIgnoreTransitionContext ?? false\n }\n\n const ignoreTransitionContext = useMemo(ignoreTransitionContextHandler, [\n oIgnoreTransitionContext,\n cIgnoreTransitionContext,\n ])\n\n function isPendingHandler() {\n if (ignoreTransitionContext) {\n return isLocalPending\n }\n\n return isContextPending ?? isLocalPending\n }\n\n const isPending = useMemo(isPendingHandler, [\n isContextPending,\n isLocalPending,\n ignoreTransitionContext,\n ])\n\n function startTransitionHandler() {\n if (ignoreTransitionContext) {\n return startLocalTransition\n }\n\n return startContextTransition ?? startLocalTransition\n }\n\n const startTransition = useMemo(startTransitionHandler, [\n startContextTransition,\n startLocalTransition,\n ignoreTransitionContext,\n ])\n\n function clearOnForgetHandler() {\n return oClearOnForget ?? cClearOnForget ?? false\n }\n\n const clearOnForget = useMemo(clearOnForgetHandler, [oClearOnForget, cClearOnForget])\n\n function promiseHandler() {\n return query<T>(key, {\n expiration: oExpiration,\n fetcher: oFetcher,\n stale: oStale,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n })\n }\n\n const promise = useMemo(promiseHandler, [\n query,\n key,\n oExpiration,\n oFetcher,\n oStale,\n oRemoveOnError,\n oFresh,\n ])\n\n const initial = useRef<T>(undefined)\n\n if (initial.current === undefined) {\n initial.current = use(promise)\n }\n\n const [data, setData] = useState(initial.current)\n\n function subscribeHandler() {\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 useEffect(subscribeHandler, [\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 const actions = useQueryActions<T>(key, options)\n const status = useQueryStatus(key, options)\n\n function resourceHandler(): Resource<T> {\n return { data, isPending, ...actions, ...status }\n }\n\n return useMemo(resourceHandler, [data, isPending, actions, status])\n}\n","import { useEffect, useMemo, type ReactNode } from 'react'\nimport { Context, ContextValue } from 'query/react:context'\nimport { createQuery, 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 function queryInstance() {\n return query ?? createQuery()\n }\n\n const localQuery = useMemo<Query>(queryInstance, [query])\n\n function broadcastCleanup() {\n if (localQuery.broadcast()) {\n const unsubscribe = localQuery.subscribeBroadcast()\n\n return function () {\n unsubscribe()\n }\n }\n\n const channel = new BroadcastChannel('query')\n\n localQuery.configure({ broadcast: channel })\n const unsubscribe = localQuery.subscribeBroadcast()\n\n return function () {\n unsubscribe()\n channel.close()\n }\n }\n\n useEffect(broadcastCleanup, [localQuery])\n\n function valueHandler(): ContextValue {\n return { query, clearOnForget, ignoreTransitionContext }\n }\n\n const value = useMemo(valueHandler, [query, clearOnForget, ignoreTransitionContext])\n\n return <Context value={value}>{children}</Context>\n}\n","import { TransitionContext, 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 function valueHandler(): QueryTransitionContextValue {\n return { startTransition, isPending }\n }\n\n const value = useMemo(valueHandler, [startTransition, isPending])\n\n return <TransitionContext value={value}>{children}</TransitionContext>\n}\n"],"names":["Context","createContext","useQueryContext","useDebugValue","use","useQueryInstance","options","cQuery","oQuery","query","instance","useMemo","TransitionContext","useQueryTransitionContext","useQueryActions","key","oExpiration","oFetcher","oStale","oRemoveOnError","oFresh","mutate","forget","refetchHandler","refetchOptions","refetch","useCallback","mutateHandler","value","localMutate","forgetHandler","localForget","actionsHandler","useQueryStatus","expiration","subscribe","expiresAt","setExpiresAt","useState","isExpired","setIsExpired","isRefetching","setIsRefetching","isMutating","setIsMutating","expirationHandler","handler","id","useEffect","subscribeHandler","onMutating","onMutated","onHydrated","onResolved","onForgotten","onRefetching","onError","unsubscribeMutating","unsubscribeMutated","unsubscribeHydrated","unsubscribeResolved","unsubscribeForgotten","unsubscribeRefetching","unsubscribeError","statusHandler","useQuery","cClearOnForget","cIgnoreTransitionContext","oClearOnForget","oIgnoreTransitionContext","isContextPending","startContextTransition","isLocalPending","startLocalTransition","useTransition","ignoreTransitionContextHandler","ignoreTransitionContext","isPendingHandler","isPending","startTransitionHandler","startTransition","clearOnForgetHandler","clearOnForget","promiseHandler","promise","initial","useRef","data","setData","event","actions","status","resourceHandler","QueryProvider","children","queryInstance","createQuery","localQuery","broadcastCleanup","unsubscribe","channel","valueHandler","jsx","QueryTransition"],"mappings":"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"}
|
|
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/_internal.ts","../src/react/hooks/useQueryPrefetch.ts","../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 function query() {\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\n return useMemo(query, [oQuery, cQuery])\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 function refetchHandler(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 const refetch = useCallback(refetchHandler, [\n query,\n key,\n oExpiration,\n oFetcher,\n oStale,\n oRemoveOnError,\n oFresh,\n ])\n\n function mutateHandler<T = unknown>(value: MutationValue<T>, options?: MutateOptions<T>) {\n return mutate(key, value, options)\n }\n\n const localMutate = useCallback(mutateHandler, [mutate, key])\n\n async function forgetHandler() {\n await forget(key)\n }\n\n const localForget = useCallback(forgetHandler, [forget, key])\n\n function actionsHandler() {\n return { refetch, mutate: localMutate, forget: localForget }\n }\n\n return useMemo(actionsHandler, [refetch, localMutate, localForget])\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 function expirationHandler() {\n if (Date.now() >= expiresAt.getTime()) {\n setIsExpired(true)\n return\n }\n\n setIsExpired(false)\n\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\n useEffect(expirationHandler, [expiresAt])\n\n function subscribeHandler() {\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\n useEffect(subscribeHandler, [key, subscribe, expiration, setExpiresAt])\n\n function statusHandler() {\n return { expiresAt, isExpired, isRefetching, isMutating }\n }\n\n return useMemo(statusHandler, [expiresAt, isExpired, isRefetching, isMutating])\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 function ignoreTransitionContextHandler() {\n return oIgnoreTransitionContext ?? cIgnoreTransitionContext ?? false\n }\n\n const ignoreTransitionContext = useMemo(ignoreTransitionContextHandler, [\n oIgnoreTransitionContext,\n cIgnoreTransitionContext,\n ])\n\n function isPendingHandler() {\n if (ignoreTransitionContext) {\n return isLocalPending\n }\n\n return isContextPending ?? isLocalPending\n }\n\n const isPending = useMemo(isPendingHandler, [\n isContextPending,\n isLocalPending,\n ignoreTransitionContext,\n ])\n\n function startTransitionHandler() {\n if (ignoreTransitionContext) {\n return startLocalTransition\n }\n\n return startContextTransition ?? startLocalTransition\n }\n\n const startTransition = useMemo(startTransitionHandler, [\n startContextTransition,\n startLocalTransition,\n ignoreTransitionContext,\n ])\n\n function clearOnForgetHandler() {\n return oClearOnForget ?? cClearOnForget ?? false\n }\n\n const clearOnForget = useMemo(clearOnForgetHandler, [oClearOnForget, cClearOnForget])\n\n function promiseHandler() {\n return query<T>(key, {\n expiration: oExpiration,\n fetcher: oFetcher,\n stale: oStale,\n removeOnError: oRemoveOnError,\n fresh: oFresh,\n })\n }\n\n const promise = useMemo(promiseHandler, [\n query,\n key,\n oExpiration,\n oFetcher,\n oStale,\n oRemoveOnError,\n oFresh,\n ])\n\n const [data, setData] = useState<T>(use(promise))\n\n function subscribeHandler() {\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 useEffect(subscribeHandler, [\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 function resourceHandler(): BasicResource<T> {\n return { data, isPending }\n }\n\n return useMemo(resourceHandler, [data, isPending])\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 function resourceHandler(): Resource<T> {\n return { ...basic, ...actions, ...status }\n }\n\n return useMemo(resourceHandler, [basic, actions, status])\n}\n","import { useMemo, useRef } from 'react'\n\nfunction keysEqual<T>(arr1: T[], arr2: T[]): boolean {\n if (arr1.length !== arr2.length) {\n return false\n }\n\n return arr1.every((value, index) => value === arr2[index])\n}\n\nexport function useStableKeys(keys: string[]) {\n const prevKeysRef = useRef<string[]>([])\n\n function stableKeysHandler() {\n if (!keysEqual(prevKeysRef.current, keys)) {\n prevKeysRef.current = keys\n }\n\n return prevKeysRef.current\n }\n\n return useMemo(stableKeysHandler, [keys])\n}\n","import { useDebugValue, useMemo } from 'react'\nimport { QueryInstance, useQueryInstance } from './useQueryInstance'\nimport { useStableKeys } from 'query/react:_internal'\n\nexport function useQueryPrefetch(keys: string[], options?: QueryInstance) {\n useDebugValue('useQueryPrefetch')\n\n const stableKeys = useStableKeys(keys)\n const { query } = useQueryInstance(options)\n\n void useMemo(() => stableKeys.map((key) => query(key)), [query, stableKeys])\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 function queryInstance() {\n return query ?? createQuery()\n }\n\n const localQuery = useMemo<Query>(queryInstance, [query])\n\n function broadcastCleanup() {\n if (localQuery.broadcast()) {\n const unsubscribe = localQuery.subscribeBroadcast()\n\n return function () {\n unsubscribe()\n }\n }\n\n const channel = new BroadcastChannel('query')\n\n localQuery.configure({ broadcast: channel })\n const unsubscribe = localQuery.subscribeBroadcast()\n\n return function () {\n unsubscribe()\n channel.close()\n }\n }\n\n useEffect(broadcastCleanup, [localQuery])\n\n function valueHandler(): ContextValue {\n return { query, clearOnForget, ignoreTransitionContext }\n }\n\n const value = useMemo(valueHandler, [query, clearOnForget, ignoreTransitionContext])\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 function valueHandler(): QueryTransitionContextValue {\n return { startTransition, isPending }\n }\n\n const value = useMemo(valueHandler, [startTransition, isPending])\n\n return <TransitionContext value={value}>{children}</TransitionContext>\n}\n","import type { QueryInstance } from 'query/react:hooks/useQueryInstance'\nimport { useQueryPrefetch } from 'query/react:hooks/useQueryPrefetch'\nimport { ReactNode } from 'react'\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 { useStableKeys } from 'query/react:_internal'\nimport type { QueryInstance } from 'query/react:hooks/useQueryInstance'\nimport { useQueryPrefetch } from 'query/react:hooks/useQueryPrefetch'\nimport { ReactNode, useMemo, LinkHTMLAttributes } from 'react'\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 stableKeys = useStableKeys(keys)\n\n function tagsHandler() {\n return stableKeys.map((key) => <link rel=\"preload\" href={key} as=\"fetch\" {...options} />)\n }\n\n const tags = useMemo(tagsHandler, [stableKeys, options])\n\n return (\n <>\n {tags}\n {children}\n </>\n )\n}\n"],"names":["Context","createContext","useQueryContext","useDebugValue","use","useQueryInstance","options","cQuery","oQuery","query","instance","useMemo","useQueryActions","key","oExpiration","oFetcher","oStale","oRemoveOnError","oFresh","mutate","forget","refetchHandler","refetchOptions","refetch","useCallback","mutateHandler","value","localMutate","forgetHandler","localForget","actionsHandler","useQueryStatus","expiration","subscribe","expiresAt","setExpiresAt","useState","isExpired","setIsExpired","isRefetching","setIsRefetching","isMutating","setIsMutating","expirationHandler","handler","id","useEffect","subscribeHandler","onMutating","onMutated","onHydrated","onResolved","onForgotten","onRefetching","onError","unsubscribeMutating","unsubscribeMutated","unsubscribeHydrated","unsubscribeResolved","unsubscribeForgotten","unsubscribeRefetching","unsubscribeError","statusHandler","TransitionContext","useQueryTransitionContext","useQueryBasic","cClearOnForget","cIgnoreTransitionContext","oClearOnForget","oIgnoreTransitionContext","isContextPending","startContextTransition","isLocalPending","startLocalTransition","useTransition","ignoreTransitionContextHandler","ignoreTransitionContext","isPendingHandler","isPending","startTransitionHandler","startTransition","clearOnForgetHandler","clearOnForget","promiseHandler","promise","data","setData","event","resourceHandler","useQuery","basic","actions","status","keysEqual","arr1","arr2","index","useStableKeys","keys","prevKeysRef","useRef","stableKeysHandler","useQueryPrefetch","stableKeys","QueryProvider","children","queryInstance","createQuery","localQuery","broadcastCleanup","unsubscribe","channel","valueHandler","jsx","QueryTransition","QueryPrefetch","QueryPrefetchTags","tagsHandler","tags","jsxs","Fragment"],"mappings":"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"}
|
package/dist/query_react.js
CHANGED
|
@@ -1,302 +1,341 @@
|
|
|
1
|
-
import { createContext as
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { createQuery as
|
|
4
|
-
const
|
|
1
|
+
import { createContext as L, useDebugValue as v, use as A, useMemo as s, useCallback as K, useState as E, useEffect as O, useTransition as sn, useRef as cn } from "react";
|
|
2
|
+
import { jsx as j, jsxs as an, Fragment as fn } from "react/jsx-runtime";
|
|
3
|
+
import { createQuery as ln } from "./query.js";
|
|
4
|
+
const N = L({
|
|
5
5
|
query: void 0,
|
|
6
6
|
clearOnForget: void 0,
|
|
7
7
|
ignoreTransitionContext: void 0
|
|
8
8
|
});
|
|
9
|
-
function
|
|
10
|
-
return
|
|
9
|
+
function V() {
|
|
10
|
+
return v("useQueryContext"), A(N);
|
|
11
11
|
}
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
const { query:
|
|
15
|
-
function
|
|
16
|
-
const
|
|
17
|
-
if (!
|
|
12
|
+
function M(n) {
|
|
13
|
+
v("useQueryInstance");
|
|
14
|
+
const { query: r } = V(), { query: t } = n ?? {};
|
|
15
|
+
function e() {
|
|
16
|
+
const o = t ?? r;
|
|
17
|
+
if (!o)
|
|
18
18
|
throw new Error(
|
|
19
19
|
"No query instance was found. Please provide one via the resource options or the query context."
|
|
20
20
|
);
|
|
21
|
-
return
|
|
21
|
+
return o;
|
|
22
22
|
}
|
|
23
|
-
return
|
|
24
|
-
}
|
|
25
|
-
const U = z({
|
|
26
|
-
isPending: void 0,
|
|
27
|
-
startTransition: void 0
|
|
28
|
-
});
|
|
29
|
-
function dn() {
|
|
30
|
-
return Q("useQueryTransitionContext"), B(U);
|
|
23
|
+
return s(e, [t, r]);
|
|
31
24
|
}
|
|
32
|
-
function
|
|
33
|
-
|
|
25
|
+
function dn(n, r) {
|
|
26
|
+
v("useQueryActions");
|
|
34
27
|
const {
|
|
35
|
-
expiration:
|
|
36
|
-
fetcher:
|
|
37
|
-
stale:
|
|
28
|
+
expiration: t,
|
|
29
|
+
fetcher: e,
|
|
30
|
+
stale: o,
|
|
38
31
|
removeOnError: u,
|
|
39
|
-
fresh:
|
|
40
|
-
} =
|
|
41
|
-
function g(
|
|
42
|
-
return
|
|
43
|
-
stale:
|
|
44
|
-
expiration:
|
|
45
|
-
fetcher:
|
|
32
|
+
fresh: i
|
|
33
|
+
} = r ?? {}, { query: a, mutate: l, forget: c } = M(r);
|
|
34
|
+
function g(f) {
|
|
35
|
+
return a(n, {
|
|
36
|
+
stale: o ?? !1,
|
|
37
|
+
expiration: t,
|
|
38
|
+
fetcher: e,
|
|
46
39
|
removeOnError: u,
|
|
47
|
-
fresh:
|
|
48
|
-
...
|
|
40
|
+
fresh: i,
|
|
41
|
+
...f
|
|
49
42
|
});
|
|
50
43
|
}
|
|
51
|
-
const b =
|
|
52
|
-
|
|
44
|
+
const b = K(g, [
|
|
45
|
+
a,
|
|
53
46
|
n,
|
|
54
|
-
e,
|
|
55
47
|
t,
|
|
56
|
-
|
|
48
|
+
e,
|
|
49
|
+
o,
|
|
57
50
|
u,
|
|
58
|
-
|
|
51
|
+
i
|
|
59
52
|
]);
|
|
60
|
-
function
|
|
61
|
-
return
|
|
53
|
+
function T(f, y) {
|
|
54
|
+
return l(n, f, y);
|
|
62
55
|
}
|
|
63
|
-
const m =
|
|
64
|
-
async function
|
|
65
|
-
await
|
|
56
|
+
const m = K(T, [l, n]);
|
|
57
|
+
async function Q() {
|
|
58
|
+
await c(n);
|
|
66
59
|
}
|
|
67
|
-
const h =
|
|
68
|
-
function
|
|
60
|
+
const h = K(Q, [c, n]);
|
|
61
|
+
function H() {
|
|
69
62
|
return { refetch: b, mutate: m, forget: h };
|
|
70
63
|
}
|
|
71
|
-
return
|
|
64
|
+
return s(H, [b, m, h]);
|
|
72
65
|
}
|
|
73
|
-
function gn(n,
|
|
74
|
-
|
|
75
|
-
const { expiration:
|
|
76
|
-
function
|
|
77
|
-
if (Date.now() >=
|
|
78
|
-
|
|
66
|
+
function gn(n, r) {
|
|
67
|
+
v("useQueryStatus");
|
|
68
|
+
const { expiration: t, subscribe: e } = M(r), [o, u] = E(t(n) ?? /* @__PURE__ */ new Date()), [i, a] = E(Date.now() > o.getTime()), [l, c] = E(!1), [g, b] = E(!1);
|
|
69
|
+
function T() {
|
|
70
|
+
if (Date.now() >= o.getTime()) {
|
|
71
|
+
a(!0);
|
|
79
72
|
return;
|
|
80
73
|
}
|
|
81
|
-
|
|
74
|
+
a(!1);
|
|
82
75
|
function h() {
|
|
83
|
-
|
|
76
|
+
a(!0);
|
|
84
77
|
}
|
|
85
|
-
const
|
|
78
|
+
const H = setTimeout(h, o.getTime() - Date.now());
|
|
86
79
|
return function() {
|
|
87
|
-
clearTimeout(
|
|
80
|
+
clearTimeout(H);
|
|
88
81
|
};
|
|
89
82
|
}
|
|
90
|
-
|
|
83
|
+
O(T, [o]);
|
|
91
84
|
function m() {
|
|
92
85
|
function h() {
|
|
93
86
|
b(!0);
|
|
94
87
|
}
|
|
95
|
-
function
|
|
96
|
-
b(!1), u(
|
|
88
|
+
function H() {
|
|
89
|
+
b(!1), u(t(n) ?? /* @__PURE__ */ new Date());
|
|
97
90
|
}
|
|
98
|
-
function
|
|
99
|
-
u(
|
|
91
|
+
function f() {
|
|
92
|
+
u(t(n) ?? /* @__PURE__ */ new Date());
|
|
100
93
|
}
|
|
101
|
-
function
|
|
102
|
-
u(
|
|
94
|
+
function y() {
|
|
95
|
+
u(t(n) ?? /* @__PURE__ */ new Date()), c(!1);
|
|
103
96
|
}
|
|
104
|
-
function
|
|
105
|
-
u(
|
|
97
|
+
function p() {
|
|
98
|
+
u(t(n) ?? /* @__PURE__ */ new Date());
|
|
106
99
|
}
|
|
107
|
-
function
|
|
108
|
-
|
|
100
|
+
function P() {
|
|
101
|
+
c(!0);
|
|
109
102
|
}
|
|
110
|
-
function
|
|
111
|
-
|
|
103
|
+
function w() {
|
|
104
|
+
c(!1), b(!1);
|
|
112
105
|
}
|
|
113
|
-
const
|
|
106
|
+
const D = e(n, "mutating", h), d = e(n, "mutated", H), q = e(n, "hydrated", f), F = e(n, "resolved", y), I = e(n, "forgotten", p), S = e(n, "refetching", P), R = e(n, "error", w);
|
|
114
107
|
return function() {
|
|
115
|
-
|
|
108
|
+
D(), d(), q(), F(), I(), S(), R();
|
|
116
109
|
};
|
|
117
110
|
}
|
|
118
|
-
|
|
119
|
-
function
|
|
120
|
-
return { expiresAt:
|
|
111
|
+
O(m, [n, e, t, u]);
|
|
112
|
+
function Q() {
|
|
113
|
+
return { expiresAt: o, isExpired: i, isRefetching: l, isMutating: g };
|
|
121
114
|
}
|
|
122
|
-
return
|
|
115
|
+
return s(Q, [o, i, l, g]);
|
|
116
|
+
}
|
|
117
|
+
const z = L({
|
|
118
|
+
isPending: void 0,
|
|
119
|
+
startTransition: void 0
|
|
120
|
+
});
|
|
121
|
+
function bn() {
|
|
122
|
+
return v("useQueryTransitionContext"), A(z);
|
|
123
123
|
}
|
|
124
|
-
function
|
|
125
|
-
|
|
126
|
-
const { clearOnForget:
|
|
127
|
-
clearOnForget:
|
|
124
|
+
function hn(n, r) {
|
|
125
|
+
v("useQueryBasic");
|
|
126
|
+
const { clearOnForget: t, ignoreTransitionContext: e } = V(), {
|
|
127
|
+
clearOnForget: o,
|
|
128
128
|
ignoreTransitionContext: u,
|
|
129
|
-
expiration:
|
|
130
|
-
fetcher:
|
|
131
|
-
stale:
|
|
132
|
-
removeOnError:
|
|
129
|
+
expiration: i,
|
|
130
|
+
fetcher: a,
|
|
131
|
+
stale: l,
|
|
132
|
+
removeOnError: c,
|
|
133
133
|
fresh: g
|
|
134
|
-
} =
|
|
135
|
-
function
|
|
136
|
-
return u ??
|
|
134
|
+
} = r ?? {}, { isPending: b, startTransition: T } = bn(), [m, Q] = sn(), { query: h, expiration: H, subscribe: f } = M(r);
|
|
135
|
+
function y() {
|
|
136
|
+
return u ?? e ?? !1;
|
|
137
137
|
}
|
|
138
|
-
const
|
|
138
|
+
const p = s(y, [
|
|
139
139
|
u,
|
|
140
|
-
|
|
140
|
+
e
|
|
141
141
|
]);
|
|
142
|
-
function
|
|
143
|
-
return
|
|
142
|
+
function P() {
|
|
143
|
+
return p ? m : b ?? m;
|
|
144
144
|
}
|
|
145
|
-
const
|
|
145
|
+
const w = s(P, [
|
|
146
146
|
b,
|
|
147
147
|
m,
|
|
148
|
-
|
|
148
|
+
p
|
|
149
149
|
]);
|
|
150
|
-
function
|
|
151
|
-
return
|
|
150
|
+
function D() {
|
|
151
|
+
return p ? Q : T ?? Q;
|
|
152
152
|
}
|
|
153
|
-
const d =
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
153
|
+
const d = s(D, [
|
|
154
|
+
T,
|
|
155
|
+
Q,
|
|
156
|
+
p
|
|
157
157
|
]);
|
|
158
158
|
function q() {
|
|
159
|
-
return
|
|
159
|
+
return o ?? t ?? !1;
|
|
160
160
|
}
|
|
161
|
-
const
|
|
162
|
-
function
|
|
161
|
+
const F = s(q, [o, t]);
|
|
162
|
+
function I() {
|
|
163
163
|
return h(n, {
|
|
164
|
-
expiration:
|
|
165
|
-
fetcher:
|
|
166
|
-
stale:
|
|
167
|
-
removeOnError:
|
|
164
|
+
expiration: i,
|
|
165
|
+
fetcher: a,
|
|
166
|
+
stale: l,
|
|
167
|
+
removeOnError: c,
|
|
168
168
|
fresh: g
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
|
-
const
|
|
171
|
+
const S = s(I, [
|
|
172
172
|
h,
|
|
173
173
|
n,
|
|
174
|
-
a,
|
|
175
174
|
i,
|
|
176
|
-
|
|
177
|
-
|
|
175
|
+
a,
|
|
176
|
+
l,
|
|
177
|
+
c,
|
|
178
178
|
g
|
|
179
|
-
]),
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
function W() {
|
|
183
|
-
function Y(x) {
|
|
179
|
+
]), [R, C] = E(A(S));
|
|
180
|
+
function U() {
|
|
181
|
+
function X(x) {
|
|
184
182
|
d(function() {
|
|
185
|
-
|
|
183
|
+
C(x.detail);
|
|
186
184
|
});
|
|
187
185
|
}
|
|
188
|
-
function
|
|
186
|
+
function Y(x) {
|
|
189
187
|
d(async function() {
|
|
190
|
-
const
|
|
188
|
+
const B = await x.detail;
|
|
191
189
|
d(function() {
|
|
192
|
-
|
|
190
|
+
C(B);
|
|
193
191
|
});
|
|
194
192
|
});
|
|
195
193
|
}
|
|
196
|
-
function
|
|
194
|
+
function Z(x) {
|
|
197
195
|
d(function() {
|
|
198
|
-
|
|
196
|
+
C(x.detail);
|
|
199
197
|
});
|
|
200
198
|
}
|
|
201
|
-
function
|
|
199
|
+
function _(x) {
|
|
202
200
|
d(function() {
|
|
203
|
-
|
|
201
|
+
C(x.detail);
|
|
204
202
|
});
|
|
205
203
|
}
|
|
206
|
-
function
|
|
204
|
+
function $(x) {
|
|
207
205
|
d(async function() {
|
|
208
|
-
const
|
|
206
|
+
const B = await x.detail;
|
|
209
207
|
d(function() {
|
|
210
|
-
|
|
208
|
+
C(B);
|
|
211
209
|
});
|
|
212
210
|
});
|
|
213
211
|
}
|
|
214
|
-
function
|
|
215
|
-
|
|
212
|
+
function k() {
|
|
213
|
+
F && d(async function() {
|
|
216
214
|
const x = await h(n, {
|
|
217
|
-
expiration:
|
|
218
|
-
fetcher:
|
|
219
|
-
stale:
|
|
220
|
-
removeOnError:
|
|
215
|
+
expiration: i,
|
|
216
|
+
fetcher: a,
|
|
217
|
+
stale: l,
|
|
218
|
+
removeOnError: c,
|
|
221
219
|
fresh: g
|
|
222
220
|
});
|
|
223
221
|
d(function() {
|
|
224
|
-
|
|
222
|
+
C(x);
|
|
225
223
|
});
|
|
226
224
|
});
|
|
227
225
|
}
|
|
228
|
-
const
|
|
226
|
+
const nn = f(n, "resolved", X), tn = f(n, "mutating", Y), en = f(n, "mutated", Z), rn = f(n, "hydrated", _), on = f(n, "refetching", $), un = f(n, "forgotten", k);
|
|
229
227
|
return function() {
|
|
230
|
-
tn(), en(), rn(), on(), un()
|
|
228
|
+
nn(), tn(), en(), rn(), on(), un();
|
|
231
229
|
};
|
|
232
230
|
}
|
|
233
|
-
|
|
231
|
+
O(U, [
|
|
234
232
|
h,
|
|
235
|
-
|
|
236
|
-
|
|
233
|
+
H,
|
|
234
|
+
f,
|
|
237
235
|
n,
|
|
238
|
-
|
|
239
|
-
a,
|
|
236
|
+
F,
|
|
240
237
|
i,
|
|
241
|
-
|
|
242
|
-
|
|
238
|
+
a,
|
|
239
|
+
l,
|
|
240
|
+
c,
|
|
243
241
|
g,
|
|
244
242
|
d
|
|
245
243
|
]);
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
return { data: j, isPending: O, ...N, ...V };
|
|
244
|
+
function W() {
|
|
245
|
+
return { data: R, isPending: w };
|
|
249
246
|
}
|
|
250
|
-
return
|
|
247
|
+
return s(W, [R, w]);
|
|
251
248
|
}
|
|
252
|
-
function
|
|
249
|
+
function Hn(n, r) {
|
|
250
|
+
v("useQuery");
|
|
251
|
+
const t = hn(n, r), e = dn(n, r), o = gn(n, r);
|
|
252
|
+
function u() {
|
|
253
|
+
return { ...t, ...e, ...o };
|
|
254
|
+
}
|
|
255
|
+
return s(u, [t, e, o]);
|
|
256
|
+
}
|
|
257
|
+
function xn(n, r) {
|
|
258
|
+
return n.length !== r.length ? !1 : n.every((t, e) => t === r[e]);
|
|
259
|
+
}
|
|
260
|
+
function G(n) {
|
|
261
|
+
const r = cn([]);
|
|
262
|
+
function t() {
|
|
263
|
+
return xn(r.current, n) || (r.current = n), r.current;
|
|
264
|
+
}
|
|
265
|
+
return s(t, [n]);
|
|
266
|
+
}
|
|
267
|
+
function J(n, r) {
|
|
268
|
+
v("useQueryPrefetch");
|
|
269
|
+
const t = G(n), { query: e } = M(r);
|
|
270
|
+
s(() => t.map((o) => e(o)), [e, t]);
|
|
271
|
+
}
|
|
272
|
+
function Tn({
|
|
253
273
|
children: n,
|
|
254
|
-
clearOnForget:
|
|
255
|
-
ignoreTransitionContext:
|
|
256
|
-
query:
|
|
274
|
+
clearOnForget: r,
|
|
275
|
+
ignoreTransitionContext: t,
|
|
276
|
+
query: e
|
|
257
277
|
}) {
|
|
258
|
-
function
|
|
259
|
-
return
|
|
278
|
+
function o() {
|
|
279
|
+
return e ?? ln();
|
|
260
280
|
}
|
|
261
|
-
const u =
|
|
262
|
-
function
|
|
281
|
+
const u = s(o, [e]);
|
|
282
|
+
function i() {
|
|
263
283
|
if (u.broadcast()) {
|
|
264
284
|
const b = u.subscribeBroadcast();
|
|
265
285
|
return function() {
|
|
266
286
|
b();
|
|
267
287
|
};
|
|
268
288
|
}
|
|
269
|
-
const
|
|
270
|
-
u.configure({ broadcast:
|
|
289
|
+
const c = new BroadcastChannel("query");
|
|
290
|
+
u.configure({ broadcast: c });
|
|
271
291
|
const g = u.subscribeBroadcast();
|
|
272
292
|
return function() {
|
|
273
|
-
g(),
|
|
293
|
+
g(), c.close();
|
|
274
294
|
};
|
|
275
295
|
}
|
|
276
|
-
|
|
277
|
-
function
|
|
278
|
-
return { query:
|
|
296
|
+
O(i, [u]);
|
|
297
|
+
function a() {
|
|
298
|
+
return { query: e, clearOnForget: r, ignoreTransitionContext: t };
|
|
279
299
|
}
|
|
280
|
-
const
|
|
281
|
-
return /* @__PURE__ */
|
|
300
|
+
const l = s(a, [e, r, t]);
|
|
301
|
+
return /* @__PURE__ */ j(N, { value: l, children: n });
|
|
282
302
|
}
|
|
283
|
-
function
|
|
284
|
-
function
|
|
285
|
-
return { startTransition:
|
|
303
|
+
function pn({ children: n, startTransition: r, isPending: t }) {
|
|
304
|
+
function e() {
|
|
305
|
+
return { startTransition: r, isPending: t };
|
|
286
306
|
}
|
|
287
|
-
const
|
|
288
|
-
return /* @__PURE__ */
|
|
307
|
+
const o = s(e, [r, t]);
|
|
308
|
+
return /* @__PURE__ */ j(z, { value: o, children: n });
|
|
309
|
+
}
|
|
310
|
+
function Cn({ keys: n, query: r, children: t }) {
|
|
311
|
+
return J(n, { query: r }), t;
|
|
312
|
+
}
|
|
313
|
+
function yn({ keys: n, children: r, ...t }) {
|
|
314
|
+
J(n, t);
|
|
315
|
+
const e = G(n);
|
|
316
|
+
function o() {
|
|
317
|
+
return e.map((i) => /* @__PURE__ */ j("link", { rel: "preload", href: i, as: "fetch", ...t }));
|
|
318
|
+
}
|
|
319
|
+
const u = s(o, [e, t]);
|
|
320
|
+
return /* @__PURE__ */ an(fn, { children: [
|
|
321
|
+
u,
|
|
322
|
+
r
|
|
323
|
+
] });
|
|
289
324
|
}
|
|
290
325
|
export {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
326
|
+
N as Context,
|
|
327
|
+
Cn as QueryPrefetch,
|
|
328
|
+
yn as QueryPrefetchTags,
|
|
329
|
+
Tn as QueryProvider,
|
|
330
|
+
pn as QueryTransition,
|
|
331
|
+
z as TransitionContext,
|
|
332
|
+
Hn as useQuery,
|
|
333
|
+
dn as useQueryActions,
|
|
334
|
+
hn as useQueryBasic,
|
|
335
|
+
V as useQueryContext,
|
|
336
|
+
M as useQueryInstance,
|
|
337
|
+
J as useQueryPrefetch,
|
|
299
338
|
gn as useQueryStatus,
|
|
300
|
-
|
|
339
|
+
bn as useQueryTransitionContext
|
|
301
340
|
};
|
|
302
341
|
//# sourceMappingURL=query_react.js.map
|