@hz52410/uni-query 1.0.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/README.md +247 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.esm.js +1203 -0
- package/dist/infiniteQueryOptions.d.ts +15 -0
- package/dist/mutationCache.d.ts +8 -0
- package/dist/query-core/index.d.ts +12 -0
- package/dist/query-core/infiniteQueryObserver.d.ts +31 -0
- package/dist/query-core/mutationCache.d.ts +43 -0
- package/dist/query-core/mutationObserver.d.ts +43 -0
- package/dist/query-core/queriesObserver.d.ts +27 -0
- package/dist/query-core/queryCache.d.ts +40 -0
- package/dist/query-core/queryClient.d.ts +133 -0
- package/dist/query-core/queryObserver.d.ts +67 -0
- package/dist/query-core/types.d.ts +236 -0
- package/dist/query-core/utils.d.ts +10 -0
- package/dist/queryCache.d.ts +8 -0
- package/dist/queryClient.d.ts +37 -0
- package/dist/queryOptions.d.ts +9 -0
- package/dist/types.d.ts +33 -0
- package/dist/useBaseQuery.d.ts +15 -0
- package/dist/useInfiniteQuery.d.ts +13 -0
- package/dist/useIsFetching.d.ts +7 -0
- package/dist/useMutation.d.ts +16 -0
- package/dist/useMutationState.d.ts +12 -0
- package/dist/useQueries.d.ts +84 -0
- package/dist/useQuery.d.ts +19 -0
- package/dist/useQueryClient.d.ts +3 -0
- package/dist/utils.d.ts +7 -0
- package/dist/vueQueryPlugin.d.ts +20 -0
- package/package.json +56 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { QueryCache as QC } from './query-core/queryCache';
|
|
2
|
+
import { DefaultError, Query, QueryFilters, WithRequired } from './query-core';
|
|
3
|
+
import { MaybeRefDeep } from './types';
|
|
4
|
+
|
|
5
|
+
export declare class QueryCache extends QC {
|
|
6
|
+
find<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>(filters: MaybeRefDeep<WithRequired<QueryFilters, 'queryKey'>>): Query<TQueryFnData, TError, TData> | undefined;
|
|
7
|
+
findAll(filters?: MaybeRefDeep<QueryFilters>): Array<Query>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { QueryClient as QC } from './query-core/queryClient';
|
|
2
|
+
import { UseQueryOptions } from './useQuery';
|
|
3
|
+
import { MaybeRefDeep, NoUnknown, QueryClientConfig } from './types';
|
|
4
|
+
import { CancelOptions, DefaultError, DefaultOptions, EnsureQueryDataOptions, FetchInfiniteQueryOptions, FetchQueryOptions, InferDataFromTag, InferErrorFromTag, InfiniteData, InvalidateOptions, InvalidateQueryFilters, MutationFilters, MutationKey, MutationObserverOptions, NoInfer, OmitKeyof, QueryFilters, QueryKey, QueryObserverOptions, QueryState, RefetchOptions, RefetchQueryFilters, ResetOptions, SetDataOptions, Updater } from './query-core';
|
|
5
|
+
|
|
6
|
+
export declare class QueryClient extends QC {
|
|
7
|
+
constructor(config?: QueryClientConfig);
|
|
8
|
+
isFetching(filters?: MaybeRefDeep<QueryFilters>): number;
|
|
9
|
+
isMutating(filters?: MaybeRefDeep<MutationFilters>): number;
|
|
10
|
+
getQueryData<TData = unknown, TTaggedQueryKey extends QueryKey = QueryKey>(queryKey: TTaggedQueryKey): InferDataFromTag<TData, TTaggedQueryKey> | undefined;
|
|
11
|
+
getQueryData<TData = unknown>(queryKey: MaybeRefDeep<QueryKey>): TData | undefined;
|
|
12
|
+
ensureQueryData<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<TData>;
|
|
13
|
+
ensureQueryData<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: MaybeRefDeep<EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>>): Promise<TData>;
|
|
14
|
+
getQueriesData<TData = unknown>(filters: MaybeRefDeep<QueryFilters>): Array<[QueryKey, TData | undefined]>;
|
|
15
|
+
setQueryData<TQueryFnData = unknown, TTaggedQueryKey extends QueryKey = QueryKey, TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>>(queryKey: TTaggedQueryKey, updater: Updater<NoInfer<TInferredQueryFnData> | undefined, NoInfer<TInferredQueryFnData> | undefined>, options?: MaybeRefDeep<SetDataOptions>): NoInfer<TInferredQueryFnData> | undefined;
|
|
16
|
+
setQueryData<TQueryFnData, TData = NoUnknown<TQueryFnData>>(queryKey: MaybeRefDeep<QueryKey>, updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>, options?: MaybeRefDeep<SetDataOptions>): NoInfer<TData> | undefined;
|
|
17
|
+
setQueriesData<TData>(filters: MaybeRefDeep<QueryFilters>, updater: Updater<TData | undefined, TData | undefined>, options?: MaybeRefDeep<SetDataOptions>): Array<[QueryKey, TData | undefined]>;
|
|
18
|
+
getQueryState<TData = unknown, TError = DefaultError>(queryKey: MaybeRefDeep<QueryKey>): QueryState<TData, TError> | undefined;
|
|
19
|
+
removeQueries<TQueryFnData = unknown, TError = DefaultError, TTaggedQueryKey extends QueryKey = QueryKey, TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>, TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>>(filters?: QueryFilters): void;
|
|
20
|
+
resetQueries<TQueryFnData = unknown, TError = DefaultError, TTaggedQueryKey extends QueryKey = QueryKey, TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>, TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>>(filters?: QueryFilters, options?: MaybeRefDeep<ResetOptions>): Promise<void>;
|
|
21
|
+
cancelQueries<TQueryFnData = unknown, TError = DefaultError, TTaggedQueryKey extends QueryKey = QueryKey, TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>, TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>>(filters?: QueryFilters, options?: MaybeRefDeep<CancelOptions>): Promise<void>;
|
|
22
|
+
invalidateQueries<TQueryFnData = unknown, TError = DefaultError, TTaggedQueryKey extends QueryKey = QueryKey, TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>, TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>>(filters?: InvalidateQueryFilters, options?: MaybeRefDeep<InvalidateOptions>): Promise<void>;
|
|
23
|
+
refetchQueries<TQueryFnData = unknown, TError = DefaultError, TTaggedQueryKey extends QueryKey = QueryKey, TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>, TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>>(filters?: RefetchQueryFilters, options?: MaybeRefDeep<RefetchOptions>): Promise<void>;
|
|
24
|
+
fetchQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<TData>;
|
|
25
|
+
fetchQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never>(options: MaybeRefDeep<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>>): Promise<TData>;
|
|
26
|
+
prefetchQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
|
|
27
|
+
prefetchQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: MaybeRefDeep<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>>): Promise<void>;
|
|
28
|
+
fetchInfiniteQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<InfiniteData<TData, TPageParam>>;
|
|
29
|
+
fetchInfiniteQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: MaybeRefDeep<FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>): Promise<InfiniteData<TData, TPageParam>>;
|
|
30
|
+
prefetchInfiniteQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<void>;
|
|
31
|
+
prefetchInfiniteQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: MaybeRefDeep<FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>): Promise<void>;
|
|
32
|
+
setDefaultOptions(options: MaybeRefDeep<DefaultOptions>): void;
|
|
33
|
+
setQueryDefaults<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData>(queryKey: MaybeRefDeep<QueryKey>, options: MaybeRefDeep<Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryData>, 'queryKey'>>): void;
|
|
34
|
+
getQueryDefaults(queryKey: MaybeRefDeep<QueryKey>): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'>;
|
|
35
|
+
setMutationDefaults<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown>(mutationKey: MaybeRefDeep<MutationKey>, options: MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>>): void;
|
|
36
|
+
getMutationDefaults(mutationKey: MaybeRefDeep<MutationKey>): MutationObserverOptions<any, any, any, any>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataTag, DefaultError, QueryKey } from './query-core';
|
|
2
|
+
import { DefinedInitialQueryOptions, UndefinedInitialQueryOptions } from './useQuery';
|
|
3
|
+
|
|
4
|
+
export declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
5
|
+
queryKey: DataTag<TQueryKey, TQueryFnData, TError>;
|
|
6
|
+
};
|
|
7
|
+
export declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
8
|
+
queryKey: DataTag<TQueryKey, TQueryFnData, TError>;
|
|
9
|
+
};
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DefaultError, DehydrateOptions, HydrateOptions, MutationCache, MutationObserverOptions, OmitKeyof, QueryCache, QueryObserverOptions } from './query-core';
|
|
2
|
+
import { ComputedRef, Ref, UnwrapRef } from 'vue';
|
|
3
|
+
|
|
4
|
+
type Primitive = string | number | boolean | bigint | symbol | undefined | null;
|
|
5
|
+
type UnwrapLeaf = Primitive | Function | Date | Error | RegExp | Map<any, any> | WeakMap<any, any> | Set<any> | WeakSet<any>;
|
|
6
|
+
export type MaybeRef<T> = Ref<T> | ComputedRef<T> | T;
|
|
7
|
+
export type MaybeRefOrGetter<T> = MaybeRef<T> | (() => T);
|
|
8
|
+
export type MaybeRefDeep<T> = MaybeRef<T extends Function ? T : T extends object ? {
|
|
9
|
+
[Property in keyof T]: MaybeRefDeep<T[Property]>;
|
|
10
|
+
} : T>;
|
|
11
|
+
export type NoUnknown<T> = Equal<unknown, T> extends true ? never : T;
|
|
12
|
+
export type Equal<TTargetA, TTargetB> = (<T>() => T extends TTargetA ? 1 : 2) extends <T>() => T extends TTargetB ? 1 : 2 ? true : false;
|
|
13
|
+
export type DeepUnwrapRef<T> = T extends UnwrapLeaf ? T : T extends Ref<infer U> ? DeepUnwrapRef<U> : T extends {} ? {
|
|
14
|
+
[Property in keyof T]: DeepUnwrapRef<T[Property]>;
|
|
15
|
+
} : UnwrapRef<T>;
|
|
16
|
+
export type ShallowOption = {
|
|
17
|
+
/**
|
|
18
|
+
* Return data in a shallow ref object (it is `false` by default). It can be set to `true` to return data in a shallow ref object, which can improve performance if your data does not need to be deeply reactive.
|
|
19
|
+
*/
|
|
20
|
+
shallow?: boolean;
|
|
21
|
+
};
|
|
22
|
+
export interface DefaultOptions<TError = DefaultError> {
|
|
23
|
+
queries?: OmitKeyof<QueryObserverOptions<unknown, TError>, 'queryKey'> & ShallowOption;
|
|
24
|
+
mutations?: MutationObserverOptions<unknown, TError, unknown, unknown> & ShallowOption;
|
|
25
|
+
hydrate?: HydrateOptions['defaultOptions'];
|
|
26
|
+
dehydrate?: DehydrateOptions;
|
|
27
|
+
}
|
|
28
|
+
export interface QueryClientConfig {
|
|
29
|
+
queryCache?: QueryCache;
|
|
30
|
+
mutationCache?: MutationCache;
|
|
31
|
+
defaultOptions?: DefaultOptions;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { QueryKey, QueryObserver, QueryObserverResult } from './query-core';
|
|
3
|
+
import { QueryClient } from './queryClient';
|
|
4
|
+
import { UseQueryOptions } from './useQuery';
|
|
5
|
+
import { UseInfiniteQueryOptions } from './useInfiniteQuery';
|
|
6
|
+
import { MaybeRefOrGetter } from './types';
|
|
7
|
+
|
|
8
|
+
export type UseBaseQueryReturnType<TData, TError, TResult = QueryObserverResult<TData, TError>> = {
|
|
9
|
+
[K in keyof TResult]: K extends 'fetchNextPage' | 'fetchPreviousPage' | 'refetch' ? TResult[K] : Ref<Readonly<TResult>[K]>;
|
|
10
|
+
} & {
|
|
11
|
+
suspense: () => Promise<TResult>;
|
|
12
|
+
};
|
|
13
|
+
type UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>;
|
|
14
|
+
export declare function useBaseQuery<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey, TPageParam>(Observer: typeof QueryObserver, options: MaybeRefOrGetter<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>>, queryClient?: QueryClient): UseBaseQueryReturnType<TData, TError>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DefinedInitialDataInfiniteOptions, UndefinedInitialDataInfiniteOptions } from './infiniteQueryOptions';
|
|
2
|
+
import { DefaultError, InfiniteData, InfiniteQueryObserverOptions, InfiniteQueryObserverResult, QueryKey } from './query-core';
|
|
3
|
+
import { UseBaseQueryReturnType } from './useBaseQuery';
|
|
4
|
+
import { DeepUnwrapRef, MaybeRef, MaybeRefDeep, MaybeRefOrGetter, ShallowOption } from './types';
|
|
5
|
+
import { QueryClient } from './queryClient';
|
|
6
|
+
|
|
7
|
+
export type UseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = MaybeRef<{
|
|
8
|
+
[Property in keyof InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam>]: Property extends 'enabled' ? MaybeRefOrGetter<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryFnData, DeepUnwrapRef<TQueryKey>, TPageParam>[Property]> : MaybeRefDeep<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryFnData, DeepUnwrapRef<TQueryKey>, TPageParam>[Property]>;
|
|
9
|
+
} & ShallowOption>;
|
|
10
|
+
export type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<TData, TError, InfiniteQueryObserverResult<TData, TError>>;
|
|
11
|
+
export declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: MaybeRefOrGetter<DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>, queryClient?: QueryClient): UseInfiniteQueryReturnType<TData, TError>;
|
|
12
|
+
export declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: MaybeRefOrGetter<UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>, queryClient?: QueryClient): UseInfiniteQueryReturnType<TData, TError>;
|
|
13
|
+
export declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: MaybeRefOrGetter<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>, queryClient?: QueryClient): UseInfiniteQueryReturnType<TData, TError>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { QueryFilters as QF } from './query-core';
|
|
3
|
+
import { MaybeRefDeep } from './types';
|
|
4
|
+
import { QueryClient } from './queryClient';
|
|
5
|
+
|
|
6
|
+
export type QueryFilters = MaybeRefDeep<QF> | (() => MaybeRefDeep<QF>);
|
|
7
|
+
export declare function useIsFetching(fetchingFilters?: QueryFilters, queryClient?: QueryClient): Ref<number>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ToRefs } from 'vue';
|
|
2
|
+
import { DefaultError, DistributiveOmit, MutateFunction, MutationObserverOptions, MutationObserverResult } from './query-core';
|
|
3
|
+
import { MaybeRefDeep, ShallowOption } from './types';
|
|
4
|
+
import { QueryClient } from './queryClient';
|
|
5
|
+
|
|
6
|
+
type MutationResult<TData, TError, TVariables, TOnMutateResult> = DistributiveOmit<MutationObserverResult<TData, TError, TVariables, TOnMutateResult>, 'mutate' | 'reset'>;
|
|
7
|
+
type UseMutationOptionsBase<TData, TError, TVariables, TOnMutateResult> = MutationObserverOptions<TData, TError, TVariables, TOnMutateResult> & ShallowOption;
|
|
8
|
+
export type UseMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> = MaybeRefDeep<UseMutationOptionsBase<TData, TError, TVariables, TOnMutateResult>> | (() => MaybeRefDeep<UseMutationOptionsBase<TData, TError, TVariables, TOnMutateResult>>);
|
|
9
|
+
type MutateSyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown> = (...options: Parameters<MutateFunction<TData, TError, TVariables, TOnMutateResult>>) => void;
|
|
10
|
+
export type UseMutationReturnType<TData, TError, TVariables, TOnMutateResult, TResult = MutationResult<TData, TError, TVariables, TOnMutateResult>> = ToRefs<Readonly<TResult>> & {
|
|
11
|
+
mutate: MutateSyncFunction<TData, TError, TVariables, TOnMutateResult>;
|
|
12
|
+
mutateAsync: MutateFunction<TData, TError, TVariables, TOnMutateResult>;
|
|
13
|
+
reset: MutationObserverResult<TData, TError, TVariables, TOnMutateResult>['reset'];
|
|
14
|
+
};
|
|
15
|
+
export declare function useMutation<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown>(mutationOptions: UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, queryClient?: QueryClient): UseMutationReturnType<TData, TError, TVariables, TOnMutateResult>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { MutationFilters as MF, Mutation, MutationState } from './query-core';
|
|
3
|
+
import { QueryClient } from './queryClient';
|
|
4
|
+
import { MaybeRefDeep } from './types';
|
|
5
|
+
|
|
6
|
+
export type MutationFilters = MaybeRefDeep<MF>;
|
|
7
|
+
export declare function useIsMutating(filters?: MutationFilters | (() => MutationFilters), queryClient?: QueryClient): Ref<number>;
|
|
8
|
+
export type MutationStateOptions<TResult = MutationState> = {
|
|
9
|
+
filters?: MutationFilters;
|
|
10
|
+
select?: (mutation: Mutation) => TResult;
|
|
11
|
+
};
|
|
12
|
+
export declare function useMutationState<TResult = MutationState>(options?: MutationStateOptions<TResult> | (() => MutationStateOptions<TResult>), queryClient?: QueryClient): Readonly<Ref<Array<TResult>>>;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { DefaultError, DefinedQueryObserverResult, QueryFunction, QueryKey, QueryObserverResult, ThrowOnError } from './query-core';
|
|
3
|
+
import { UseQueryOptions } from './useQuery';
|
|
4
|
+
import { QueryClient } from './queryClient';
|
|
5
|
+
import { DeepUnwrapRef, MaybeRefDeep, ShallowOption } from './types';
|
|
6
|
+
|
|
7
|
+
type UseQueryOptionsForUseQueries<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>;
|
|
8
|
+
type MAXIMUM_DEPTH = 20;
|
|
9
|
+
type SkipTokenForUseQueries = symbol;
|
|
10
|
+
type GetUseQueryOptionsForUseQueries<T> = T extends UseQueryOptions ? DeepUnwrapRef<T> : T extends {
|
|
11
|
+
queryFnData: infer TQueryFnData;
|
|
12
|
+
error?: infer TError;
|
|
13
|
+
data: infer TData;
|
|
14
|
+
} ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData> : T extends {
|
|
15
|
+
queryFnData: infer TQueryFnData;
|
|
16
|
+
error?: infer TError;
|
|
17
|
+
} ? UseQueryOptionsForUseQueries<TQueryFnData, TError> : T extends {
|
|
18
|
+
data: infer TData;
|
|
19
|
+
error?: infer TError;
|
|
20
|
+
} ? UseQueryOptionsForUseQueries<unknown, TError, TData> : T extends [infer TQueryFnData, infer TError, infer TData] ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData> : T extends [infer TQueryFnData, infer TError] ? UseQueryOptionsForUseQueries<TQueryFnData, TError> : T extends [infer TQueryFnData] ? UseQueryOptionsForUseQueries<TQueryFnData> : T extends {
|
|
21
|
+
queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> | SkipTokenForUseQueries;
|
|
22
|
+
select?: (data: any) => infer TData;
|
|
23
|
+
throwOnError?: ThrowOnError<infer TError, any>;
|
|
24
|
+
} ? UseQueryOptionsForUseQueries<TQueryFnData, unknown extends TError ? DefaultError : TError, unknown extends TData ? TQueryFnData : TData, TQueryKey> : T extends {
|
|
25
|
+
queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> | SkipTokenForUseQueries;
|
|
26
|
+
throwOnError?: ThrowOnError<infer TError, any>;
|
|
27
|
+
} ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TQueryFnData, TQueryKey> : UseQueryOptionsForUseQueries;
|
|
28
|
+
type GetDefinedOrUndefinedQueryResult<T, TData, TError = unknown> = T extends {
|
|
29
|
+
initialData?: infer TInitialData;
|
|
30
|
+
} ? unknown extends TInitialData ? QueryObserverResult<TData, TError> : TInitialData extends TData ? DefinedQueryObserverResult<TData, TError> : TInitialData extends () => infer TInitialDataResult ? unknown extends TInitialDataResult ? QueryObserverResult<TData, TError> : TInitialDataResult extends TData ? DefinedQueryObserverResult<TData, TError> : QueryObserverResult<TData, TError> : QueryObserverResult<TData, TError> : QueryObserverResult<TData, TError>;
|
|
31
|
+
type GetUseQueryResult<T> = T extends UseQueryOptions<infer TQueryFnData, infer TError, infer TData, any, any> ? GetDefinedOrUndefinedQueryResult<T, undefined extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError> : T extends {
|
|
32
|
+
queryFnData: any;
|
|
33
|
+
error?: infer TError;
|
|
34
|
+
data: infer TData;
|
|
35
|
+
} ? GetDefinedOrUndefinedQueryResult<T, TData, TError> : T extends {
|
|
36
|
+
queryFnData: infer TQueryFnData;
|
|
37
|
+
error?: infer TError;
|
|
38
|
+
} ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError> : T extends {
|
|
39
|
+
data: infer TData;
|
|
40
|
+
error?: infer TError;
|
|
41
|
+
} ? GetDefinedOrUndefinedQueryResult<T, TData, TError> : T extends [any, infer TError, infer TData] ? GetDefinedOrUndefinedQueryResult<T, TData, TError> : T extends [infer TQueryFnData, infer TError] ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError> : T extends [infer TQueryFnData] ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData> : T extends {
|
|
42
|
+
queryFn?: QueryFunction<infer TQueryFnData, any> | SkipTokenForUseQueries;
|
|
43
|
+
select?: (data: any) => infer TData;
|
|
44
|
+
throwOnError?: ThrowOnError<infer TError, any>;
|
|
45
|
+
} ? GetDefinedOrUndefinedQueryResult<T, unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError> : T extends {
|
|
46
|
+
queryFn?: QueryFunction<infer TQueryFnData, any> | SkipTokenForUseQueries;
|
|
47
|
+
throwOnError?: ThrowOnError<infer TError, any>;
|
|
48
|
+
} ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, unknown extends TError ? DefaultError : TError> : QueryObserverResult;
|
|
49
|
+
/**
|
|
50
|
+
* UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
|
|
51
|
+
*/
|
|
52
|
+
export type UseQueriesOptions<T extends Array<any>, TResults extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<UseQueryOptionsForUseQueries> : T extends [] ? [] : T extends [infer Head] ? [...TResults, GetUseQueryOptionsForUseQueries<Head>] : T extends [infer Head, ...infer Tails] ? UseQueriesOptions<[
|
|
53
|
+
...Tails
|
|
54
|
+
], [
|
|
55
|
+
...TResults,
|
|
56
|
+
GetUseQueryOptionsForUseQueries<Head>
|
|
57
|
+
], [
|
|
58
|
+
...TDepth,
|
|
59
|
+
1
|
|
60
|
+
]> : ReadonlyArray<unknown> extends T ? T : T extends Array<UseQueryOptionsForUseQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>> ? Array<UseQueryOptionsForUseQueries<TQueryFnData, TError, TData, TQueryKey>> : Array<UseQueryOptionsForUseQueries>;
|
|
61
|
+
/**
|
|
62
|
+
* UseQueriesResults reducer recursively maps type param to results
|
|
63
|
+
*/
|
|
64
|
+
export type UseQueriesResults<T extends Array<any>, TResults extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<QueryObserverResult> : T extends [] ? [] : T extends [infer Head] ? [...TResults, GetUseQueryResult<Head>] : T extends [infer Head, ...infer Tails] ? UseQueriesResults<[
|
|
65
|
+
...Tails
|
|
66
|
+
], [
|
|
67
|
+
...TResults,
|
|
68
|
+
GetUseQueryResult<Head>
|
|
69
|
+
], [
|
|
70
|
+
...TDepth,
|
|
71
|
+
1
|
|
72
|
+
]> : {
|
|
73
|
+
[K in keyof T]: GetUseQueryResult<T[K]>;
|
|
74
|
+
};
|
|
75
|
+
type UseQueriesOptionsArg<T extends Array<any>> = readonly [
|
|
76
|
+
...UseQueriesOptions<T>
|
|
77
|
+
];
|
|
78
|
+
export declare function useQueries<T extends Array<any>, TCombinedResult = UseQueriesResults<T>>({ queries, ...options }: ShallowOption & {
|
|
79
|
+
queries: (() => MaybeRefDeep<UseQueriesOptionsArg<T>>) | MaybeRefDeep<UseQueriesOptionsArg<T>> | MaybeRefDeep<Array<{
|
|
80
|
+
[K in keyof T]: GetUseQueryOptionsForUseQueries<T[K]>;
|
|
81
|
+
}[keyof T]>>;
|
|
82
|
+
combine?: (result: UseQueriesResults<T>) => TCombinedResult;
|
|
83
|
+
}, queryClient?: QueryClient): Readonly<Ref<TCombinedResult>>;
|
|
84
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DefaultError, DefinedQueryObserverResult, Enabled, InitialDataFunction, NonUndefinedGuard, QueryKey, QueryObserverOptions } from './query-core';
|
|
2
|
+
import { UseBaseQueryReturnType } from './useBaseQuery';
|
|
3
|
+
import { DeepUnwrapRef, MaybeRef, MaybeRefDeep, MaybeRefOrGetter, ShallowOption } from './types';
|
|
4
|
+
import { QueryClient } from './queryClient';
|
|
5
|
+
|
|
6
|
+
export type UseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = MaybeRef<{
|
|
7
|
+
[Property in keyof QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>]: Property extends 'enabled' ? MaybeRefOrGetter<boolean | undefined> | (() => Enabled<TQueryFnData, TError, TQueryData, DeepUnwrapRef<TQueryKey>>) : MaybeRefDeep<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property]>;
|
|
8
|
+
} & ShallowOption>;
|
|
9
|
+
export type UndefinedInitialQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {
|
|
10
|
+
initialData?: undefined | InitialDataFunction<NonUndefinedGuard<TQueryFnData>> | NonUndefinedGuard<TQueryFnData>;
|
|
11
|
+
};
|
|
12
|
+
export type DefinedInitialQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {
|
|
13
|
+
initialData: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>);
|
|
14
|
+
};
|
|
15
|
+
export type UseQueryReturnType<TData, TError> = UseBaseQueryReturnType<TData, TError>;
|
|
16
|
+
export type UseQueryDefinedReturnType<TData, TError> = UseBaseQueryReturnType<TData, TError, DefinedQueryObserverResult<TData, TError>>;
|
|
17
|
+
export declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryDefinedReturnType<TData, TError>;
|
|
18
|
+
export declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryReturnType<TData, TError>;
|
|
19
|
+
export declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: MaybeRefOrGetter<UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>>, queryClient?: QueryClient): UseQueryReturnType<TData, TError>;
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MaybeRefDeep } from './types';
|
|
2
|
+
|
|
3
|
+
export declare const VUE_QUERY_CLIENT = "VUE_QUERY_CLIENT";
|
|
4
|
+
export declare function getClientKey(key?: string): string;
|
|
5
|
+
export declare function updateState(state: Record<string, any>, update: Record<string, any>): void;
|
|
6
|
+
export declare function cloneDeep<T>(value: MaybeRefDeep<T>, customize?: (val: MaybeRefDeep<T>, key: string, level: number) => T | undefined): T;
|
|
7
|
+
export declare function cloneDeepUnref<T>(obj: MaybeRefDeep<T>, unrefGetters?: boolean): T;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { App } from 'vue';
|
|
2
|
+
import { QueryClient } from './queryClient';
|
|
3
|
+
import { QueryClientConfig } from './types';
|
|
4
|
+
|
|
5
|
+
interface CommonOptions {
|
|
6
|
+
enableDevtoolsV6Plugin?: boolean;
|
|
7
|
+
queryClientKey?: string;
|
|
8
|
+
refetchOnShow?: boolean;
|
|
9
|
+
}
|
|
10
|
+
interface ConfigOptions extends CommonOptions {
|
|
11
|
+
queryClientConfig?: QueryClientConfig;
|
|
12
|
+
}
|
|
13
|
+
interface ClientOptions extends CommonOptions {
|
|
14
|
+
queryClient?: QueryClient;
|
|
15
|
+
}
|
|
16
|
+
export type VueQueryPluginOptions = ConfigOptions | ClientOptions;
|
|
17
|
+
export declare const VueQueryPlugin: {
|
|
18
|
+
install: (app: App, options?: VueQueryPluginOptions) => void;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hz52410/uni-query",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "一个专为 uni-app 生态设计的轻量级数据获取库",
|
|
5
|
+
"main": "./dist/index.cjs.js",
|
|
6
|
+
"module": "./dist/index.esm.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.esm.js",
|
|
12
|
+
"require": "./dist/index.cjs.js"
|
|
13
|
+
},
|
|
14
|
+
"./package.json": "./package.json"
|
|
15
|
+
},
|
|
16
|
+
"sideEffects": false,
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"README.md"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "vite build",
|
|
23
|
+
"dev": "vite build --watch",
|
|
24
|
+
"type-check": "tsc --noEmit",
|
|
25
|
+
"prepublishOnly": "npm run build",
|
|
26
|
+
"prepublish:check": "npm run build && npm run type-check && npm pack --dry-run",
|
|
27
|
+
"publish:dry-run": "npm run prepublish:check",
|
|
28
|
+
"publish": "npm publish --access public"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"uni-app",
|
|
32
|
+
"vue",
|
|
33
|
+
"query",
|
|
34
|
+
"react-query",
|
|
35
|
+
"vue-query",
|
|
36
|
+
"data-fetching",
|
|
37
|
+
"cache",
|
|
38
|
+
"wechat-miniprogram"
|
|
39
|
+
],
|
|
40
|
+
"author": "",
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"peerDependencies": {
|
|
43
|
+
"vue": "^3.0.0"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/node": "^20.10.6",
|
|
47
|
+
"typescript": "^5.3.3",
|
|
48
|
+
"vite": "^5.0.0",
|
|
49
|
+
"vite-plugin-dts": "^3.6.0",
|
|
50
|
+
"vue": "^3.3.13"
|
|
51
|
+
},
|
|
52
|
+
"repository": {
|
|
53
|
+
"type": "git",
|
|
54
|
+
"url": ""
|
|
55
|
+
}
|
|
56
|
+
}
|