@studiolambda/query 1.0.0 → 1.1.1
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 +129 -109
- 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 +222 -168
- package/dist/query_react.js.map +1 -1
- package/dist/src/query/cache.d.ts +66 -0
- package/dist/src/query/index.d.ts +3 -299
- package/dist/src/query/options.d.ts +263 -0
- package/dist/src/query/query.d.ts +9 -0
- package/dist/src/react/components/QueryProvider.d.ts +3 -6
- package/dist/src/react/context.d.ts +2 -6
- package/dist/src/react/hooks/useQuery.d.ts +4 -3
- package/dist/src/react/hooks/useQueryBasic.d.ts +9 -0
- package/dist/src/react/hooks/useQueryStatus.d.ts +2 -1
- package/dist/src/react/index.d.ts +1 -0
- package/package.json +32 -20
package/dist/query_react.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),B=require("react/jsx-runtime"),te=require("./query.cjs"),I=n.createContext({query:void 0,clearOnForget:void 0,ignoreTransitionContext:void 0});function P(){return n.useDebugValue("useQueryContext"),n.use(I)}function w(e){n.useDebugValue("useQueryInstance");const{query:o}=P(),{query:r}=e??{};function t(){const u=r??o;if(!u)throw new Error("No query instance was found. Please provide one via the resource options or the query context.");return u}return n.useMemo(t,[r,o])}function A(e,o){n.useDebugValue("useQueryActions");const{expiration:r,fetcher:t,stale:u,removeOnError:s,fresh:f}=o??{},{query:c,mutate:l,forget:i}=w(o);function b(a){return c(e,{stale:u??!1,expiration:r,fetcher:t,removeOnError:s,fresh:f,...a})}const g=n.useCallback(b,[c,e,r,t,u,s,f]);function M(a,y){return l(e,a,y)}const h=n.useCallback(M,[l,e]);async function Q(){await i(e)}const x=n.useCallback(Q,[i,e]);function C(){return{refetch:g,mutate:h,forget:x}}return n.useMemo(C,[g,h,x])}function j(e,o){n.useDebugValue("useQueryStatus");const{expiration:r,subscribe:t}=w(o),[u,s]=n.useState(r(e)??new Date),[f,c]=n.useState(Date.now()>u.getTime()),[l,i]=n.useState(!1),[b,g]=n.useState(!1);function M(){if(Date.now()>=u.getTime()){c(!0);return}c(!1);function x(){c(!0)}const C=setTimeout(x,u.getTime()-Date.now());return function(){clearTimeout(C)}}n.useEffect(M,[u]);function h(){function x(){g(!0)}function C(){g(!1),s(r(e)??new Date)}function a(){s(r(e)??new Date)}function y(){s(r(e)??new Date),i(!1)}function T(){s(r(e)??new Date)}function D(){i(!0)}function H(){i(!1),g(!1)}const F=t(e,"mutating",x),d=t(e,"mutated",C),O=t(e,"hydrated",a),E=t(e,"resolved",y),q=t(e,"forgotten",T),R=t(e,"refetching",D),p=t(e,"error",H);return function(){F(),d(),O(),E(),q(),R(),p()}}n.useEffect(h,[e,t,r,s]);function Q(){return{expiresAt:u,isExpired:f,isRefetching:l,isMutating:b}}return n.useMemo(Q,[u,f,l,b])}const V=n.createContext({isPending:void 0,startTransition:void 0});function L(){return n.useDebugValue("useQueryTransitionContext"),n.use(V)}function N(e,o){n.useDebugValue("useQueryBasic");const{clearOnForget:r,ignoreTransitionContext:t}=P(),{clearOnForget:u,ignoreTransitionContext:s,expiration:f,fetcher:c,stale:l,removeOnError:i,fresh:b}=o??{},{isPending:g,startTransition:M}=L(),[h,Q]=n.useTransition(),{query:x,expiration:C,subscribe:a}=w(o);function y(){return s??t??!1}const T=n.useMemo(y,[s,t]);function D(){return T?h:g??h}const H=n.useMemo(D,[g,h,T]);function F(){return T?Q:M??Q}const d=n.useMemo(F,[M,Q,T]);function O(){return u??r??!1}const E=n.useMemo(O,[u,r]);function q(){return x(e,{expiration:f,fetcher:c,stale:l,removeOnError:i,fresh:b})}const R=n.useMemo(q,[x,e,f,c,l,i,b]),[p,v]=n.useState(()=>n.use(R));function z(){function J(m){d(function(){v(m.detail)})}function K(m){d(async function(){const S=await m.detail;d(function(){v(S)})})}function U(m){d(function(){v(m.detail)})}function W(m){d(function(){v(m.detail)})}function X(m){d(async function(){const S=await m.detail;d(function(){v(S)})})}function Y(){E&&d(async function(){const m=await x(e,{expiration:f,fetcher:c,stale:l,removeOnError:i,fresh:b});d(function(){v(m)})})}const Z=a(e,"resolved",J),_=a(e,"mutating",K),$=a(e,"mutated",U),k=a(e,"hydrated",W),ee=a(e,"refetching",X),ne=a(e,"forgotten",Y);return function(){Z(),_(),$(),k(),ee(),ne()}}n.useEffect(z,[x,C,a,e,E,f,c,l,i,b,d]);function G(){return{data:p,isPending:H}}return n.useMemo(G,[p,H])}function re(e,o){n.useDebugValue("useQuery");const r=N(e,o),t=A(e,o),u=j(e,o);function s(){return{...r,...t,...u}}return n.useMemo(s,[r,t,u])}function ue({children:e,clearOnForget:o,ignoreTransitionContext:r,query:t}){function u(){return t??te.createQuery()}const s=n.useMemo(u,[t]);function f(){if(s.broadcast()){const g=s.subscribeBroadcast();return function(){g()}}const i=new BroadcastChannel("query");s.configure({broadcast:i});const b=s.subscribeBroadcast();return function(){b(),i.close()}}n.useEffect(f,[s]);function c(){return{query:t,clearOnForget:o,ignoreTransitionContext:r}}const l=n.useMemo(c,[t,o,r]);return B.jsx(I,{value:l,children:e})}function oe({children:e,startTransition:o,isPending:r}){function t(){return{startTransition:o,isPending:r}}const u=n.useMemo(t,[o,r]);return B.jsx(V,{value:u,children:e})}exports.Context=I;exports.QueryProvider=ue;exports.QueryTransition=oe;exports.TransitionContext=V;exports.useQuery=re;exports.useQueryActions=A;exports.useQueryBasic=N;exports.useQueryContext=P;exports.useQueryInstance=w;exports.useQueryStatus=j;exports.useQueryTransitionContext=L;
|
|
2
2
|
//# sourceMappingURL=query_react.cjs.map
|
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 { Query } from 'query:index'\n\nexport interface ContextOptions {\n readonly clearOnForget?: boolean\n readonly ignoreTransitionContext?: boolean\n}\n\nexport interface ContextValue {\n readonly query?: Query\n readonly additional?: ContextOptions\n}\n\nexport const Context = createContext<ContextValue>({\n query: undefined,\n additional: 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 contextOptions = useQueryContext()\n\n function query() {\n const instance = options?.query ?? contextOptions.query\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, [options, contextOptions])\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 { query, mutate, forget } = useQueryInstance(options)\n\n function refetchHandler(refetchOptions?: Options<T>) {\n return query<T>(key, {\n stale: false,\n ...options,\n ...refetchOptions,\n })\n }\n\n const refetch = useCallback(refetchHandler, [query, key, options])\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 function forgetHandler() {\n 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, useState } from 'react'\nimport { 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): Status {\n useDebugValue('useQueryStatus')\n\n const { expiration, subscribe } = useQueryInstance()\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 return { expiresAt, isExpired, isRefetching, isMutating }\n}\n","import { useEffect, use, useState, useMemo, useDebugValue, useTransition, useRef } from 'react'\nimport { ContextOptions as ContextOptions } 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> = ContextOptions & Options<T> & QueryInstance\n\nexport function useQuery<T = unknown>(key: string, options?: ResourceOptions<T>): Resource<T> {\n useDebugValue('useQuery')\n\n const { additional } = useQueryContext()\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 options?.ignoreTransitionContext ?? additional?.ignoreTransitionContext ?? false\n }\n\n const ignoreTransitionContext = useMemo(ignoreTransitionContextHandler, [options, additional])\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 options?.clearOnForget ?? additional?.clearOnForget ?? false\n }\n\n const clearOnForget = useMemo(clearOnForgetHandler, [options, additional])\n\n async function promiseHandler() {\n return await query<T>(key, options)\n }\n\n const promise = useMemo(promiseHandler, [query, key, options])\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: Event) {\n startTransition(function () {\n setData((event as CustomEvent<T>).detail)\n })\n }\n\n function onMutating(event: Event) {\n startTransition(async function () {\n const value = await (event as CustomEvent<Promise<T>>).detail\n\n startTransition(function () {\n setData(value)\n })\n })\n }\n\n function onMutated(event: Event) {\n startTransition(function () {\n setData((event as CustomEvent<T>).detail)\n })\n }\n\n function onHydrated(event: Event) {\n startTransition(function () {\n setData((event as CustomEvent<T>).detail)\n })\n }\n\n function onRefetching(event: Event) {\n startTransition(async function () {\n const value = await (event as CustomEvent<Promise<T>>).detail\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, options)\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 options,\n startTransition,\n ])\n\n const actions = useQueryActions<T>(key, options)\n const status = useQueryStatus(key)\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, useState, type ReactNode } from 'react'\nimport { Context, ContextValue, type ContextOptions } from 'query/react:context'\nimport { createQuery, Query, type Configuration } from 'query:index'\n\ntype OtherProps = Configuration & ContextOptions\n\nexport interface QueryProviderProps extends OtherProps {\n children?: ReactNode\n}\n\nexport function QueryProvider({\n children,\n clearOnForget,\n broadcast,\n ...options\n}: QueryProviderProps) {\n function initial() {\n return createQuery({ broadcast, ...options })\n }\n\n const [query] = useState<Query>(initial)\n\n function reconfigure() {\n query.configure(options)\n }\n\n useEffect(reconfigure, [query, options])\n\n function broadcastCleanup() {\n if (broadcast) {\n query.configure({ broadcast })\n const unsubscribe = query.subscribeBroadcast()\n\n return function () {\n unsubscribe()\n }\n }\n\n const channel = new BroadcastChannel('query')\n\n query.configure({ broadcast: channel })\n const unsubscribe = query.subscribeBroadcast()\n\n return function () {\n unsubscribe()\n channel.close()\n }\n }\n\n useEffect(broadcastCleanup, [query, broadcast])\n\n function additionalHandler() {\n return { clearOnForget }\n }\n\n const additional = useMemo(additionalHandler, [clearOnForget])\n\n function valueHandler(): ContextValue {\n return { query, additional }\n }\n\n const value = useMemo(valueHandler, [query, additional])\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","contextOptions","query","instance","useMemo","TransitionContext","useQueryTransitionContext","useQueryActions","key","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","useQuery","additional","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","broadcast","createQuery","reconfigure","broadcastCleanup","unsubscribe","channel","additionalHandler","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/components/QueryProvider.tsx","../src/react/components/QueryTransition.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(() => 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(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 { 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"],"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","QueryProvider","children","queryInstance","createQuery","localQuery","broadcastCleanup","unsubscribe","channel","valueHandler","jsx","QueryTransition"],"mappings":"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"}
|
package/dist/query_react.js
CHANGED
|
@@ -1,254 +1,308 @@
|
|
|
1
|
-
import { createContext as
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { createQuery as
|
|
4
|
-
const
|
|
1
|
+
import { createContext as j, useDebugValue as T, use as A, useMemo as a, useCallback as S, useState as E, useEffect as R, useTransition as on } from "react";
|
|
2
|
+
import { jsx as N } from "react/jsx-runtime";
|
|
3
|
+
import { createQuery as un } from "./query.js";
|
|
4
|
+
const V = j({
|
|
5
5
|
query: void 0,
|
|
6
|
-
|
|
6
|
+
clearOnForget: void 0,
|
|
7
|
+
ignoreTransitionContext: void 0
|
|
7
8
|
});
|
|
8
|
-
function
|
|
9
|
-
return
|
|
9
|
+
function z() {
|
|
10
|
+
return T("useQueryContext"), A(V);
|
|
10
11
|
}
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
function
|
|
15
|
-
const r =
|
|
12
|
+
function L(n) {
|
|
13
|
+
T("useQueryInstance");
|
|
14
|
+
const { query: o } = z(), { query: e } = n ?? {};
|
|
15
|
+
function t() {
|
|
16
|
+
const r = e ?? o;
|
|
16
17
|
if (!r)
|
|
17
18
|
throw new Error(
|
|
18
19
|
"No query instance was found. Please provide one via the resource options or the query context."
|
|
19
20
|
);
|
|
20
21
|
return r;
|
|
21
22
|
}
|
|
22
|
-
return
|
|
23
|
+
return a(t, [e, o]);
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
25
|
+
function sn(n, o) {
|
|
26
|
+
T("useQueryActions");
|
|
27
|
+
const {
|
|
28
|
+
expiration: e,
|
|
29
|
+
fetcher: t,
|
|
30
|
+
stale: r,
|
|
31
|
+
removeOnError: u,
|
|
32
|
+
fresh: f
|
|
33
|
+
} = o ?? {}, { query: i, mutate: d, forget: s } = L(o);
|
|
34
|
+
function b(c) {
|
|
35
|
+
return i(n, {
|
|
36
|
+
stale: r ?? !1,
|
|
37
|
+
expiration: e,
|
|
38
|
+
fetcher: t,
|
|
39
|
+
removeOnError: u,
|
|
40
|
+
fresh: f,
|
|
41
|
+
...c
|
|
39
42
|
});
|
|
40
43
|
}
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
const g = S(b, [
|
|
45
|
+
i,
|
|
46
|
+
n,
|
|
47
|
+
e,
|
|
48
|
+
t,
|
|
49
|
+
r,
|
|
50
|
+
u,
|
|
51
|
+
f
|
|
52
|
+
]);
|
|
53
|
+
function C(c, w) {
|
|
54
|
+
return d(n, c, w);
|
|
44
55
|
}
|
|
45
|
-
const
|
|
46
|
-
function
|
|
47
|
-
|
|
56
|
+
const m = S(C, [d, n]);
|
|
57
|
+
async function v() {
|
|
58
|
+
await s(n);
|
|
48
59
|
}
|
|
49
|
-
const
|
|
50
|
-
function
|
|
51
|
-
return { refetch:
|
|
60
|
+
const h = S(v, [s, n]);
|
|
61
|
+
function H() {
|
|
62
|
+
return { refetch: g, mutate: m, forget: h };
|
|
52
63
|
}
|
|
53
|
-
return
|
|
64
|
+
return a(H, [g, m, h]);
|
|
54
65
|
}
|
|
55
|
-
function
|
|
56
|
-
|
|
57
|
-
const { expiration:
|
|
58
|
-
function
|
|
66
|
+
function cn(n, o) {
|
|
67
|
+
T("useQueryStatus");
|
|
68
|
+
const { expiration: e, subscribe: t } = L(o), [r, u] = E(e(n) ?? /* @__PURE__ */ new Date()), [f, i] = E(Date.now() > r.getTime()), [d, s] = E(!1), [b, g] = E(!1);
|
|
69
|
+
function C() {
|
|
59
70
|
if (Date.now() >= r.getTime()) {
|
|
60
71
|
i(!0);
|
|
61
72
|
return;
|
|
62
73
|
}
|
|
63
74
|
i(!1);
|
|
64
|
-
function
|
|
75
|
+
function h() {
|
|
65
76
|
i(!0);
|
|
66
77
|
}
|
|
67
|
-
const H = setTimeout(
|
|
78
|
+
const H = setTimeout(h, r.getTime() - Date.now());
|
|
68
79
|
return function() {
|
|
69
80
|
clearTimeout(H);
|
|
70
81
|
};
|
|
71
82
|
}
|
|
72
|
-
C
|
|
73
|
-
function
|
|
74
|
-
function
|
|
83
|
+
R(C, [r]);
|
|
84
|
+
function m() {
|
|
85
|
+
function h() {
|
|
75
86
|
g(!0);
|
|
76
87
|
}
|
|
77
88
|
function H() {
|
|
78
|
-
g(!1),
|
|
89
|
+
g(!1), u(e(n) ?? /* @__PURE__ */ new Date());
|
|
79
90
|
}
|
|
80
|
-
function
|
|
81
|
-
|
|
91
|
+
function c() {
|
|
92
|
+
u(e(n) ?? /* @__PURE__ */ new Date());
|
|
82
93
|
}
|
|
83
|
-
function
|
|
84
|
-
|
|
94
|
+
function w() {
|
|
95
|
+
u(e(n) ?? /* @__PURE__ */ new Date()), s(!1);
|
|
85
96
|
}
|
|
86
97
|
function Q() {
|
|
87
|
-
|
|
98
|
+
u(e(n) ?? /* @__PURE__ */ new Date());
|
|
88
99
|
}
|
|
89
|
-
function
|
|
90
|
-
|
|
100
|
+
function D() {
|
|
101
|
+
s(!0);
|
|
91
102
|
}
|
|
92
|
-
function
|
|
93
|
-
|
|
103
|
+
function F() {
|
|
104
|
+
s(!1), g(!1);
|
|
94
105
|
}
|
|
95
|
-
const
|
|
106
|
+
const y = t(n, "mutating", h), l = t(n, "mutated", H), I = t(n, "hydrated", c), O = t(n, "resolved", w), q = t(n, "forgotten", Q), P = t(n, "refetching", D), M = t(n, "error", F);
|
|
96
107
|
return function() {
|
|
97
|
-
|
|
108
|
+
y(), l(), I(), O(), q(), P(), M();
|
|
98
109
|
};
|
|
99
110
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
h("useQuery");
|
|
104
|
-
const { additional: e } = N(), { isPending: r, startTransition: o } = en(), [u, i] = k(), { query: d, expiration: l, subscribe: c } = B(t);
|
|
105
|
-
function g() {
|
|
106
|
-
return (t == null ? void 0 : t.ignoreTransitionContext) ?? (e == null ? void 0 : e.ignoreTransitionContext) ?? !1;
|
|
111
|
+
R(m, [n, t, e, u]);
|
|
112
|
+
function v() {
|
|
113
|
+
return { expiresAt: r, isExpired: f, isRefetching: d, isMutating: b };
|
|
107
114
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
115
|
+
return a(v, [r, f, d, b]);
|
|
116
|
+
}
|
|
117
|
+
const G = j({
|
|
118
|
+
isPending: void 0,
|
|
119
|
+
startTransition: void 0
|
|
120
|
+
});
|
|
121
|
+
function an() {
|
|
122
|
+
return T("useQueryTransitionContext"), A(G);
|
|
123
|
+
}
|
|
124
|
+
function fn(n, o) {
|
|
125
|
+
T("useQueryBasic");
|
|
126
|
+
const { clearOnForget: e, ignoreTransitionContext: t } = z(), {
|
|
127
|
+
clearOnForget: r,
|
|
128
|
+
ignoreTransitionContext: u,
|
|
129
|
+
expiration: f,
|
|
130
|
+
fetcher: i,
|
|
131
|
+
stale: d,
|
|
132
|
+
removeOnError: s,
|
|
133
|
+
fresh: b
|
|
134
|
+
} = o ?? {}, { isPending: g, startTransition: C } = an(), [m, v] = on(), { query: h, expiration: H, subscribe: c } = L(o);
|
|
135
|
+
function w() {
|
|
136
|
+
return u ?? t ?? !1;
|
|
111
137
|
}
|
|
112
|
-
const
|
|
113
|
-
r,
|
|
138
|
+
const Q = a(w, [
|
|
114
139
|
u,
|
|
115
|
-
|
|
140
|
+
t
|
|
116
141
|
]);
|
|
117
|
-
function
|
|
118
|
-
return
|
|
142
|
+
function D() {
|
|
143
|
+
return Q ? m : g ?? m;
|
|
144
|
+
}
|
|
145
|
+
const F = a(D, [
|
|
146
|
+
g,
|
|
147
|
+
m,
|
|
148
|
+
Q
|
|
149
|
+
]);
|
|
150
|
+
function y() {
|
|
151
|
+
return Q ? v : C ?? v;
|
|
152
|
+
}
|
|
153
|
+
const l = a(y, [
|
|
154
|
+
C,
|
|
155
|
+
v,
|
|
156
|
+
Q
|
|
157
|
+
]);
|
|
158
|
+
function I() {
|
|
159
|
+
return r ?? e ?? !1;
|
|
160
|
+
}
|
|
161
|
+
const O = a(I, [r, e]);
|
|
162
|
+
function q() {
|
|
163
|
+
return h(n, {
|
|
164
|
+
expiration: f,
|
|
165
|
+
fetcher: i,
|
|
166
|
+
stale: d,
|
|
167
|
+
removeOnError: s,
|
|
168
|
+
fresh: b
|
|
169
|
+
});
|
|
119
170
|
}
|
|
120
|
-
const
|
|
121
|
-
|
|
171
|
+
const P = a(q, [
|
|
172
|
+
h,
|
|
173
|
+
n,
|
|
174
|
+
f,
|
|
122
175
|
i,
|
|
176
|
+
d,
|
|
177
|
+
s,
|
|
123
178
|
b
|
|
124
|
-
]);
|
|
125
|
-
function
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
async function F() {
|
|
130
|
-
return await d(n, t);
|
|
131
|
-
}
|
|
132
|
-
const y = f(F, [d, n, t]), w = nn(void 0);
|
|
133
|
-
w.current === void 0 && (w.current = O(y));
|
|
134
|
-
const [M, v] = T(w.current);
|
|
135
|
-
function E() {
|
|
136
|
-
function z(a) {
|
|
137
|
-
s(function() {
|
|
138
|
-
v(a.detail);
|
|
179
|
+
]), [M, p] = E(() => A(P));
|
|
180
|
+
function J() {
|
|
181
|
+
function U(x) {
|
|
182
|
+
l(function() {
|
|
183
|
+
p(x.detail);
|
|
139
184
|
});
|
|
140
185
|
}
|
|
141
|
-
function
|
|
142
|
-
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
186
|
+
function W(x) {
|
|
187
|
+
l(async function() {
|
|
188
|
+
const B = await x.detail;
|
|
189
|
+
l(function() {
|
|
190
|
+
p(B);
|
|
146
191
|
});
|
|
147
192
|
});
|
|
148
193
|
}
|
|
149
|
-
function
|
|
150
|
-
|
|
151
|
-
|
|
194
|
+
function X(x) {
|
|
195
|
+
l(function() {
|
|
196
|
+
p(x.detail);
|
|
152
197
|
});
|
|
153
198
|
}
|
|
154
|
-
function
|
|
155
|
-
|
|
156
|
-
|
|
199
|
+
function Y(x) {
|
|
200
|
+
l(function() {
|
|
201
|
+
p(x.detail);
|
|
157
202
|
});
|
|
158
203
|
}
|
|
159
|
-
function
|
|
160
|
-
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
204
|
+
function Z(x) {
|
|
205
|
+
l(async function() {
|
|
206
|
+
const B = await x.detail;
|
|
207
|
+
l(function() {
|
|
208
|
+
p(B);
|
|
164
209
|
});
|
|
165
210
|
});
|
|
166
211
|
}
|
|
167
|
-
function
|
|
168
|
-
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
212
|
+
function _() {
|
|
213
|
+
O && l(async function() {
|
|
214
|
+
const x = await h(n, {
|
|
215
|
+
expiration: f,
|
|
216
|
+
fetcher: i,
|
|
217
|
+
stale: d,
|
|
218
|
+
removeOnError: s,
|
|
219
|
+
fresh: b
|
|
220
|
+
});
|
|
221
|
+
l(function() {
|
|
222
|
+
p(x);
|
|
172
223
|
});
|
|
173
224
|
});
|
|
174
225
|
}
|
|
175
|
-
const
|
|
226
|
+
const $ = c(n, "resolved", U), k = c(n, "mutating", W), nn = c(n, "mutated", X), tn = c(n, "hydrated", Y), en = c(n, "refetching", Z), rn = c(n, "forgotten", _);
|
|
176
227
|
return function() {
|
|
177
|
-
|
|
228
|
+
$(), k(), nn(), tn(), en(), rn();
|
|
178
229
|
};
|
|
179
230
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
231
|
+
R(J, [
|
|
232
|
+
h,
|
|
233
|
+
H,
|
|
183
234
|
c,
|
|
184
235
|
n,
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
236
|
+
O,
|
|
237
|
+
f,
|
|
238
|
+
i,
|
|
239
|
+
d,
|
|
240
|
+
s,
|
|
241
|
+
b,
|
|
242
|
+
l
|
|
188
243
|
]);
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
244
|
+
function K() {
|
|
245
|
+
return { data: M, isPending: F };
|
|
246
|
+
}
|
|
247
|
+
return a(K, [M, F]);
|
|
248
|
+
}
|
|
249
|
+
function gn(n, o) {
|
|
250
|
+
T("useQuery");
|
|
251
|
+
const e = fn(n, o), t = sn(n, o), r = cn(n, o);
|
|
252
|
+
function u() {
|
|
253
|
+
return { ...e, ...t, ...r };
|
|
192
254
|
}
|
|
193
|
-
return
|
|
255
|
+
return a(u, [e, t, r]);
|
|
194
256
|
}
|
|
195
|
-
function
|
|
257
|
+
function hn({
|
|
196
258
|
children: n,
|
|
197
|
-
clearOnForget:
|
|
198
|
-
|
|
199
|
-
|
|
259
|
+
clearOnForget: o,
|
|
260
|
+
ignoreTransitionContext: e,
|
|
261
|
+
query: t
|
|
200
262
|
}) {
|
|
201
|
-
function
|
|
202
|
-
return
|
|
203
|
-
}
|
|
204
|
-
const [u] = T(o);
|
|
205
|
-
function i() {
|
|
206
|
-
u.configure(r);
|
|
263
|
+
function r() {
|
|
264
|
+
return t ?? un();
|
|
207
265
|
}
|
|
208
|
-
|
|
209
|
-
function
|
|
210
|
-
if (
|
|
211
|
-
u.
|
|
212
|
-
const H = u.subscribeBroadcast();
|
|
266
|
+
const u = a(r, [t]);
|
|
267
|
+
function f() {
|
|
268
|
+
if (u.broadcast()) {
|
|
269
|
+
const g = u.subscribeBroadcast();
|
|
213
270
|
return function() {
|
|
214
|
-
|
|
271
|
+
g();
|
|
215
272
|
};
|
|
216
273
|
}
|
|
217
|
-
const
|
|
218
|
-
u.configure({ broadcast:
|
|
219
|
-
const
|
|
274
|
+
const s = new BroadcastChannel("query");
|
|
275
|
+
u.configure({ broadcast: s });
|
|
276
|
+
const b = u.subscribeBroadcast();
|
|
220
277
|
return function() {
|
|
221
|
-
|
|
278
|
+
b(), s.close();
|
|
222
279
|
};
|
|
223
280
|
}
|
|
224
|
-
|
|
225
|
-
function
|
|
226
|
-
return {
|
|
227
|
-
}
|
|
228
|
-
const c = f(l, [t]);
|
|
229
|
-
function g() {
|
|
230
|
-
return { query: u, additional: c };
|
|
281
|
+
R(f, [u]);
|
|
282
|
+
function i() {
|
|
283
|
+
return { query: t, clearOnForget: o, ignoreTransitionContext: e };
|
|
231
284
|
}
|
|
232
|
-
const
|
|
233
|
-
return /* @__PURE__ */
|
|
285
|
+
const d = a(i, [t, o, e]);
|
|
286
|
+
return /* @__PURE__ */ N(V, { value: d, children: n });
|
|
234
287
|
}
|
|
235
|
-
function
|
|
236
|
-
function
|
|
237
|
-
return { startTransition:
|
|
288
|
+
function xn({ children: n, startTransition: o, isPending: e }) {
|
|
289
|
+
function t() {
|
|
290
|
+
return { startTransition: o, isPending: e };
|
|
238
291
|
}
|
|
239
|
-
const
|
|
240
|
-
return /* @__PURE__ */
|
|
292
|
+
const r = a(t, [o, e]);
|
|
293
|
+
return /* @__PURE__ */ N(G, { value: r, children: n });
|
|
241
294
|
}
|
|
242
295
|
export {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
296
|
+
V as Context,
|
|
297
|
+
hn as QueryProvider,
|
|
298
|
+
xn as QueryTransition,
|
|
299
|
+
G as TransitionContext,
|
|
300
|
+
gn as useQuery,
|
|
301
|
+
sn as useQueryActions,
|
|
302
|
+
fn as useQueryBasic,
|
|
303
|
+
z as useQueryContext,
|
|
304
|
+
L as useQueryInstance,
|
|
305
|
+
cn as useQueryStatus,
|
|
306
|
+
an as useQueryTransitionContext
|
|
253
307
|
};
|
|
254
308
|
//# sourceMappingURL=query_react.js.map
|