@falcondev-oss/trpc-vue-query 0.5.0-rc.6 → 0.5.0-rc.7

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/index.cjs CHANGED
@@ -58,10 +58,9 @@ function createVueQueryProxyDecoration(name, trpc, queryClient) {
58
58
  if (prop === "query") {
59
59
  return trpc.query(joinedPath, firstArg, opts);
60
60
  }
61
- if (prop === "useQuery") {
62
- const { trpc: trpcOptions, ...queryOptions } = opts;
63
- return (0, import_vue_query.useQuery)({
64
- queryKey: (0, import_vue.computed)(() => getQueryKey(path, (0, import_core.toValue)(firstArg), "query")),
61
+ function createQuery(input, { trpcOptions, queryOptions }) {
62
+ return (0, import_vue_query.queryOptions)({
63
+ queryKey: (0, import_vue.computed)(() => getQueryKey(path, (0, import_core.toValue)(input), "query")),
65
64
  queryFn: async ({ queryKey, signal }) => trpc.query(joinedPath, queryKey[1]?.input, {
66
65
  signal,
67
66
  ...trpcOptions
@@ -69,6 +68,22 @@ function createVueQueryProxyDecoration(name, trpc, queryClient) {
69
68
  ...maybeToRefs(queryOptions)
70
69
  });
71
70
  }
71
+ if (prop === "useQuery") {
72
+ const { trpc: trpcOptions, ...queryOptions } = opts;
73
+ const input = firstArg;
74
+ return (0, import_vue_query.useQuery)(createQuery(input, { trpcOptions, queryOptions }));
75
+ }
76
+ if (prop === "useQueries") {
77
+ const { trpc: trpcOptions, combine, shallow, ...queryOptions } = opts;
78
+ const inputs = firstArg;
79
+ return (0, import_vue_query.useQueries)({
80
+ queries: (0, import_vue.computed)(
81
+ () => (0, import_core.toValue)(inputs).map((i) => createQuery(i, { trpcOptions, queryOptions }))
82
+ ),
83
+ combine,
84
+ ...maybeToRefs({ shallow })
85
+ });
86
+ }
72
87
  if (prop === "invalidate") {
73
88
  return queryClient.invalidateQueries({
74
89
  queryKey: getQueryKey(path, (0, import_core.toValue)(firstArg), "query")
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { QueryKey, UseQueryOptions, UseQueryReturnType, QueryClient, InfiniteData, UseInfiniteQueryOptions, InitialPageParam, UseInfiniteQueryReturnType, UseMutationOptions, UseMutationReturnType } from '@tanstack/vue-query';
1
+ import { QueryKey, UseQueryOptions, UseQueryReturnType, UseQueriesResults, QueryClient, InfiniteData, UseInfiniteQueryOptions, InitialPageParam, UseInfiniteQueryReturnType, UseMutationOptions, UseMutationReturnType } from '@tanstack/vue-query';
2
2
  import { TRPCClientErrorLike, TRPCRequestOptions, OperationContext, CreateTRPCClientOptions } from '@trpc/client';
3
3
  import { AnyTRPCRouter, AnyTRPCProcedure, AnyTRPCQueryProcedure, inferTransformedProcedureOutput, inferProcedureInput, AnyTRPCMutationProcedure, AnyTRPCSubscriptionProcedure, inferProcedureOutput } from '@trpc/server';
4
4
  import { Unsubscribable } from '@trpc/server/observable';
5
5
  import { ProcedureOptions } from '@trpc/server/unstable-core-do-not-import';
6
- import { MaybeRefOrGetter, UnwrapRef } from 'vue';
6
+ import { MaybeRefOrGetter, UnwrapRef, Ref } from 'vue';
7
7
 
8
8
  type inferAsyncIterableYield<T> = T extends AsyncIterable<infer U> ? U : T;
9
9
  type TRPCSubscriptionObserver<TValue, TError> = {
@@ -25,6 +25,12 @@ type DecorateProcedure<TProcedure extends AnyTRPCProcedure, TRouter extends AnyT
25
25
  trpc?: TRPCRequestOptions;
26
26
  queryKey?: TQueryKey;
27
27
  }>) => UseQueryReturnType<TData, TError>;
28
+ useQueries: <TQueryFnData extends inferTransformedProcedureOutput<TRouter, TProcedure>, TError extends TRPCClientErrorLike<TRouter>, TData extends TQueryFnData, TQueryData extends TQueryFnData, TQueryKey extends QueryKey, TInput extends inferProcedureInput<TProcedure>, TQueries extends UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, TCombinedResult = UseQueriesResults<TQueries[]>>(inputs: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>[]>, opts?: MaybeRefOrGetter<Omit<UnwrapRef<TQueries>, 'queryKey'> & {
29
+ trpc?: TRPCRequestOptions;
30
+ queryKey?: never;
31
+ combine?: (result: UseQueriesResults<TQueries[]>) => TCombinedResult;
32
+ shallow?: boolean;
33
+ }>) => Readonly<Ref<TCombinedResult>>;
28
34
  query: <TInput extends inferProcedureInput<TProcedure>>(input: Exact<inferProcedureInput<TProcedure>, TInput>, opts?: ProcedureOptions) => Promise<inferTransformedProcedureOutput<TRouter, TProcedure>>;
29
35
  invalidate: <TInput extends inferProcedureInput<TProcedure>>(input?: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>>) => Promise<void>;
30
36
  setQueryData: <TInput extends inferProcedureInput<TProcedure>>(updater: inferTransformedProcedureOutput<TRouter, TProcedure>, input?: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>>) => ReturnType<QueryClient['setQueryData']>;
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { QueryKey, UseQueryOptions, UseQueryReturnType, QueryClient, InfiniteData, UseInfiniteQueryOptions, InitialPageParam, UseInfiniteQueryReturnType, UseMutationOptions, UseMutationReturnType } from '@tanstack/vue-query';
1
+ import { QueryKey, UseQueryOptions, UseQueryReturnType, UseQueriesResults, QueryClient, InfiniteData, UseInfiniteQueryOptions, InitialPageParam, UseInfiniteQueryReturnType, UseMutationOptions, UseMutationReturnType } from '@tanstack/vue-query';
2
2
  import { TRPCClientErrorLike, TRPCRequestOptions, OperationContext, CreateTRPCClientOptions } from '@trpc/client';
3
3
  import { AnyTRPCRouter, AnyTRPCProcedure, AnyTRPCQueryProcedure, inferTransformedProcedureOutput, inferProcedureInput, AnyTRPCMutationProcedure, AnyTRPCSubscriptionProcedure, inferProcedureOutput } from '@trpc/server';
4
4
  import { Unsubscribable } from '@trpc/server/observable';
5
5
  import { ProcedureOptions } from '@trpc/server/unstable-core-do-not-import';
6
- import { MaybeRefOrGetter, UnwrapRef } from 'vue';
6
+ import { MaybeRefOrGetter, UnwrapRef, Ref } from 'vue';
7
7
 
8
8
  type inferAsyncIterableYield<T> = T extends AsyncIterable<infer U> ? U : T;
9
9
  type TRPCSubscriptionObserver<TValue, TError> = {
@@ -25,6 +25,12 @@ type DecorateProcedure<TProcedure extends AnyTRPCProcedure, TRouter extends AnyT
25
25
  trpc?: TRPCRequestOptions;
26
26
  queryKey?: TQueryKey;
27
27
  }>) => UseQueryReturnType<TData, TError>;
28
+ useQueries: <TQueryFnData extends inferTransformedProcedureOutput<TRouter, TProcedure>, TError extends TRPCClientErrorLike<TRouter>, TData extends TQueryFnData, TQueryData extends TQueryFnData, TQueryKey extends QueryKey, TInput extends inferProcedureInput<TProcedure>, TQueries extends UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, TCombinedResult = UseQueriesResults<TQueries[]>>(inputs: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>[]>, opts?: MaybeRefOrGetter<Omit<UnwrapRef<TQueries>, 'queryKey'> & {
29
+ trpc?: TRPCRequestOptions;
30
+ queryKey?: never;
31
+ combine?: (result: UseQueriesResults<TQueries[]>) => TCombinedResult;
32
+ shallow?: boolean;
33
+ }>) => Readonly<Ref<TCombinedResult>>;
28
34
  query: <TInput extends inferProcedureInput<TProcedure>>(input: Exact<inferProcedureInput<TProcedure>, TInput>, opts?: ProcedureOptions) => Promise<inferTransformedProcedureOutput<TRouter, TProcedure>>;
29
35
  invalidate: <TInput extends inferProcedureInput<TProcedure>>(input?: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>>) => Promise<void>;
30
36
  setQueryData: <TInput extends inferProcedureInput<TProcedure>>(updater: inferTransformedProcedureOutput<TRouter, TProcedure>, input?: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>>) => ReturnType<QueryClient['setQueryData']>;
package/dist/index.mjs CHANGED
@@ -1,8 +1,10 @@
1
1
  // src/index.ts
2
2
  import {
3
+ queryOptions as defineQueryOptions,
3
4
  skipToken,
4
5
  useInfiniteQuery,
5
6
  useMutation,
7
+ useQueries,
6
8
  useQuery
7
9
  } from "@tanstack/vue-query";
8
10
  import {
@@ -41,10 +43,9 @@ function createVueQueryProxyDecoration(name, trpc, queryClient) {
41
43
  if (prop === "query") {
42
44
  return trpc.query(joinedPath, firstArg, opts);
43
45
  }
44
- if (prop === "useQuery") {
45
- const { trpc: trpcOptions, ...queryOptions } = opts;
46
- return useQuery({
47
- queryKey: computed(() => getQueryKey(path, toValue(firstArg), "query")),
46
+ function createQuery(input, { trpcOptions, queryOptions }) {
47
+ return defineQueryOptions({
48
+ queryKey: computed(() => getQueryKey(path, toValue(input), "query")),
48
49
  queryFn: async ({ queryKey, signal }) => trpc.query(joinedPath, queryKey[1]?.input, {
49
50
  signal,
50
51
  ...trpcOptions
@@ -52,6 +53,22 @@ function createVueQueryProxyDecoration(name, trpc, queryClient) {
52
53
  ...maybeToRefs(queryOptions)
53
54
  });
54
55
  }
56
+ if (prop === "useQuery") {
57
+ const { trpc: trpcOptions, ...queryOptions } = opts;
58
+ const input = firstArg;
59
+ return useQuery(createQuery(input, { trpcOptions, queryOptions }));
60
+ }
61
+ if (prop === "useQueries") {
62
+ const { trpc: trpcOptions, combine, shallow, ...queryOptions } = opts;
63
+ const inputs = firstArg;
64
+ return useQueries({
65
+ queries: computed(
66
+ () => toValue(inputs).map((i) => createQuery(i, { trpcOptions, queryOptions }))
67
+ ),
68
+ combine,
69
+ ...maybeToRefs({ shallow })
70
+ });
71
+ }
55
72
  if (prop === "invalidate") {
56
73
  return queryClient.invalidateQueries({
57
74
  queryKey: getQueryKey(path, toValue(firstArg), "query")
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@falcondev-oss/trpc-vue-query",
3
3
  "type": "module",
4
- "version": "0.5.0-rc.6",
4
+ "version": "0.5.0-rc.7",
5
5
  "description": "A tRPC wrapper around '@tanstack/vue-query'",
6
6
  "license": "MIT",
7
7
  "repository": "github:falcondev-oss/trpc-vue-query",