@falcondev-oss/trpc-vue-query 0.4.2 → 0.5.0-rc.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/README.md CHANGED
@@ -58,6 +58,7 @@ export function useTRPC() {
58
58
  <script lang="ts" setup>
59
59
  const { data: greeting } = useTRPC().hello.useQuery({ name: 'World' })
60
60
  </script>
61
+
61
62
  <template>
62
63
  <div>
63
64
  <h1>{{ greeting }}</h1>
@@ -102,7 +103,7 @@ const { mutate: updateGreeting } = useTRPC().hello.update.useMutation({
102
103
  <template>
103
104
  <div>
104
105
  <input v-model="name" type="text" />
105
- <button @click="updateGreeting({ name })">Update greeting</button>
106
+ <button @click="() => updateGreeting({ name })">Update greeting</button>
106
107
  </div>
107
108
  </template>
108
109
  ```
package/dist/index.cjs CHANGED
@@ -25,7 +25,8 @@ __export(src_exports, {
25
25
  module.exports = __toCommonJS(src_exports);
26
26
  var import_vue_query = require("@tanstack/vue-query");
27
27
  var import_client = require("@trpc/client");
28
- var import_shared = require("@trpc/server/shared");
28
+ var import_server = require("@trpc/server");
29
+ var import_unstable_core_do_not_import = require("@trpc/server/unstable-core-do-not-import");
29
30
  var import_core = require("@vueuse/core");
30
31
  var import_vue = require("vue");
31
32
  function getQueryKey(path, input) {
@@ -35,7 +36,7 @@ function maybeToRefs(obj) {
35
36
  return (0, import_vue.isReactive)(obj) ? (0, import_core.toRefs)(obj) : (0, import_core.toRefs)((0, import_core.toRef)(obj));
36
37
  }
37
38
  function createVueQueryProxyDecoration(name, client, queryClient) {
38
- return (0, import_shared.createRecursiveProxy)((opts) => {
39
+ return (0, import_unstable_core_do_not_import.createRecursiveProxy)((opts) => {
39
40
  const args = opts.args;
40
41
  const path = [name, ...opts.path];
41
42
  const lastProperty = path.pop();
@@ -79,8 +80,8 @@ function createVueQueryProxyDecoration(name, client, queryClient) {
79
80
  });
80
81
  }
81
82
  function createTRPCVueQueryClient(opts) {
82
- const client = (0, import_client.createTRPCProxyClient)(opts.trpc);
83
- const decoratedClient = (0, import_shared.createFlatProxy)((key) => {
83
+ const client = (0, import_client.createTRPCClient)(opts.trpc);
84
+ const decoratedClient = (0, import_server.createTRPCFlatProxy)((key) => {
84
85
  return createVueQueryProxyDecoration(key, client, opts.queryClient);
85
86
  });
86
87
  return decoratedClient;
package/dist/index.d.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { QueryKey, UseQueryOptions, UseQueryReturnType, QueryClient, UseMutationOptions, UseMutationReturnType } from '@tanstack/vue-query';
2
2
  import { TRPCClientErrorLike, TRPCRequestOptions, CreateTRPCClientOptions } from '@trpc/client';
3
- import { ProcedureRouterRecord, AnyRouter, AnyProcedure, AnyQueryProcedure, inferProcedureInput, AnyMutationProcedure, AnySubscriptionProcedure, ProcedureArgs, inferProcedureOutput } from '@trpc/server';
3
+ import { AnyTRPCRouter, AnyTRPCProcedure, AnyTRPCQueryProcedure, inferTransformedProcedureOutput, inferProcedureInput, AnyTRPCMutationProcedure, AnyTRPCSubscriptionProcedure, inferProcedureOutput } from '@trpc/server';
4
4
  import { inferObservableValue, Unsubscribable } from '@trpc/server/observable';
5
- import { inferTransformedProcedureOutput } from '@trpc/server/shared';
5
+ import { ProcedureOptions } from '@trpc/server/unstable-core-do-not-import';
6
6
  import { MaybeRefOrGetter, UnwrapRef } from 'vue';
7
7
 
8
8
  type TRPCSubscriptionObserver<TValue, TError> = {
@@ -12,36 +12,33 @@ type TRPCSubscriptionObserver<TValue, TError> = {
12
12
  onStopped: () => void;
13
13
  onComplete: () => void;
14
14
  };
15
- type Resolver<TProcedure extends AnyProcedure> = (...args: ProcedureArgs<TProcedure['_def']>) => Promise<inferTransformedProcedureOutput<TProcedure>>;
16
- type SubscriptionResolver<TProcedure extends AnyProcedure, TRouter extends AnyRouter> = (...args: [
17
- input: ProcedureArgs<TProcedure['_def']>[0],
18
- opts: ProcedureArgs<TProcedure['_def']>[1] & Partial<TRPCSubscriptionObserver<inferObservableValue<inferProcedureOutput<TProcedure>>, TRPCClientErrorLike<TRouter>>>
19
- ]) => Unsubscribable;
20
- type DecorateProcedure<TProcedure extends AnyProcedure, TRouter extends AnyRouter> = TProcedure extends AnyQueryProcedure ? {
21
- useQuery: <TQueryFnData = inferTransformedProcedureOutput<TProcedure>, TError = TRPCClientErrorLike<TProcedure>, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(input: MaybeRefOrGetter<inferProcedureInput<TProcedure>>, opts?: MaybeRefOrGetter<Omit<UnwrapRef<UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>>, 'queryKey'> & {
15
+ type Resolver<TRouter extends AnyTRPCRouter, TProcedure extends AnyTRPCProcedure> = (input: inferProcedureInput<TProcedure>, opts?: ProcedureOptions) => Promise<inferTransformedProcedureOutput<TRouter, TProcedure>>;
16
+ type SubscriptionResolver<TProcedure extends AnyTRPCProcedure, TRouter extends AnyTRPCRouter> = (input: inferProcedureInput<TProcedure>, opts: ProcedureOptions & Partial<TRPCSubscriptionObserver<inferObservableValue<inferProcedureOutput<TProcedure>>, TRPCClientErrorLike<TRouter>>>) => Unsubscribable;
17
+ type DecorateProcedure<TProcedure extends AnyTRPCProcedure, TRouter extends AnyTRPCRouter> = TProcedure extends AnyTRPCQueryProcedure ? {
18
+ useQuery: <TQueryFnData = inferTransformedProcedureOutput<TRouter, TProcedure>, TError = TRPCClientErrorLike<TRouter>, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(input: MaybeRefOrGetter<inferProcedureInput<TProcedure>>, opts?: MaybeRefOrGetter<Omit<UnwrapRef<UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>>, 'queryKey'> & {
22
19
  trpc?: TRPCRequestOptions;
23
20
  queryKey?: TQueryKey;
24
21
  }>) => UseQueryReturnType<TData, TError>;
25
- query: Resolver<TProcedure>;
22
+ query: Resolver<TRouter, TProcedure>;
26
23
  invalidate: (input?: MaybeRefOrGetter<inferProcedureInput<TProcedure>>) => Promise<void>;
27
- setQueryData: (updater: inferTransformedProcedureOutput<TProcedure>, input?: MaybeRefOrGetter<inferProcedureInput<TProcedure>>) => ReturnType<QueryClient['setQueryData']>;
24
+ setQueryData: (updater: inferTransformedProcedureOutput<TRouter, TProcedure>, input?: MaybeRefOrGetter<inferProcedureInput<TProcedure>>) => ReturnType<QueryClient['setQueryData']>;
28
25
  key: (input?: MaybeRefOrGetter<inferProcedureInput<TProcedure>>) => QueryKey;
29
- } : TProcedure extends AnyMutationProcedure ? {
30
- mutate: Resolver<TProcedure>;
31
- useMutation: <TData = inferTransformedProcedureOutput<TProcedure>, TError = TRPCClientErrorLike<TProcedure>, TVariables = inferProcedureInput<TProcedure>, TContext = unknown>(opts?: MaybeRefOrGetter<UseMutationOptions<TData, TError, TVariables, TContext> & {
26
+ } : TProcedure extends AnyTRPCMutationProcedure ? {
27
+ mutate: Resolver<TRouter, TProcedure>;
28
+ useMutation: <TData = inferTransformedProcedureOutput<TRouter, TProcedure>, TError = TRPCClientErrorLike<TRouter>, TVariables = inferProcedureInput<TProcedure>, TContext = unknown>(opts?: MaybeRefOrGetter<UseMutationOptions<TData, TError, TVariables, TContext> & {
32
29
  trpc?: TRPCRequestOptions;
33
30
  }>) => UseMutationReturnType<TData, TError, TVariables, TContext>;
34
- } : TProcedure extends AnySubscriptionProcedure ? {
31
+ } : TProcedure extends AnyTRPCSubscriptionProcedure ? {
35
32
  subscribe: SubscriptionResolver<TProcedure, TRouter>;
36
- } : never;
33
+ } : 'test';
37
34
  /**
38
35
  * @internal
39
36
  */
40
- type DecoratedProcedureRecord<TProcedures extends ProcedureRouterRecord, TRouter extends AnyRouter> = {
41
- [TKey in keyof TProcedures]: TProcedures[TKey] extends AnyRouter ? DecoratedProcedureRecord<TProcedures[TKey]['_def']['record'], TRouter> : TProcedures[TKey] extends AnyProcedure ? DecorateProcedure<TProcedures[TKey], TRouter> : never;
37
+ type DecoratedProcedureRecord<TProcedures extends Record<string, any>, TRouter extends AnyTRPCRouter> = {
38
+ [K in keyof TProcedures]: TProcedures[K] extends AnyTRPCProcedure ? DecorateProcedure<TProcedures[K], TRouter> : DecoratedProcedureRecord<TProcedures[K], TRouter>;
42
39
  };
43
40
 
44
- declare function createTRPCVueQueryClient<TRouter extends AnyRouter>(opts: {
41
+ declare function createTRPCVueQueryClient<TRouter extends AnyTRPCRouter>(opts: {
45
42
  queryClient: QueryClient;
46
43
  trpc: CreateTRPCClientOptions<TRouter>;
47
44
  }): DecoratedProcedureRecord<TRouter["_def"]["record"], TRouter>;
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { QueryKey, UseQueryOptions, UseQueryReturnType, QueryClient, UseMutationOptions, UseMutationReturnType } from '@tanstack/vue-query';
2
2
  import { TRPCClientErrorLike, TRPCRequestOptions, CreateTRPCClientOptions } from '@trpc/client';
3
- import { ProcedureRouterRecord, AnyRouter, AnyProcedure, AnyQueryProcedure, inferProcedureInput, AnyMutationProcedure, AnySubscriptionProcedure, ProcedureArgs, inferProcedureOutput } from '@trpc/server';
3
+ import { AnyTRPCRouter, AnyTRPCProcedure, AnyTRPCQueryProcedure, inferTransformedProcedureOutput, inferProcedureInput, AnyTRPCMutationProcedure, AnyTRPCSubscriptionProcedure, inferProcedureOutput } from '@trpc/server';
4
4
  import { inferObservableValue, Unsubscribable } from '@trpc/server/observable';
5
- import { inferTransformedProcedureOutput } from '@trpc/server/shared';
5
+ import { ProcedureOptions } from '@trpc/server/unstable-core-do-not-import';
6
6
  import { MaybeRefOrGetter, UnwrapRef } from 'vue';
7
7
 
8
8
  type TRPCSubscriptionObserver<TValue, TError> = {
@@ -12,36 +12,33 @@ type TRPCSubscriptionObserver<TValue, TError> = {
12
12
  onStopped: () => void;
13
13
  onComplete: () => void;
14
14
  };
15
- type Resolver<TProcedure extends AnyProcedure> = (...args: ProcedureArgs<TProcedure['_def']>) => Promise<inferTransformedProcedureOutput<TProcedure>>;
16
- type SubscriptionResolver<TProcedure extends AnyProcedure, TRouter extends AnyRouter> = (...args: [
17
- input: ProcedureArgs<TProcedure['_def']>[0],
18
- opts: ProcedureArgs<TProcedure['_def']>[1] & Partial<TRPCSubscriptionObserver<inferObservableValue<inferProcedureOutput<TProcedure>>, TRPCClientErrorLike<TRouter>>>
19
- ]) => Unsubscribable;
20
- type DecorateProcedure<TProcedure extends AnyProcedure, TRouter extends AnyRouter> = TProcedure extends AnyQueryProcedure ? {
21
- useQuery: <TQueryFnData = inferTransformedProcedureOutput<TProcedure>, TError = TRPCClientErrorLike<TProcedure>, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(input: MaybeRefOrGetter<inferProcedureInput<TProcedure>>, opts?: MaybeRefOrGetter<Omit<UnwrapRef<UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>>, 'queryKey'> & {
15
+ type Resolver<TRouter extends AnyTRPCRouter, TProcedure extends AnyTRPCProcedure> = (input: inferProcedureInput<TProcedure>, opts?: ProcedureOptions) => Promise<inferTransformedProcedureOutput<TRouter, TProcedure>>;
16
+ type SubscriptionResolver<TProcedure extends AnyTRPCProcedure, TRouter extends AnyTRPCRouter> = (input: inferProcedureInput<TProcedure>, opts: ProcedureOptions & Partial<TRPCSubscriptionObserver<inferObservableValue<inferProcedureOutput<TProcedure>>, TRPCClientErrorLike<TRouter>>>) => Unsubscribable;
17
+ type DecorateProcedure<TProcedure extends AnyTRPCProcedure, TRouter extends AnyTRPCRouter> = TProcedure extends AnyTRPCQueryProcedure ? {
18
+ useQuery: <TQueryFnData = inferTransformedProcedureOutput<TRouter, TProcedure>, TError = TRPCClientErrorLike<TRouter>, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(input: MaybeRefOrGetter<inferProcedureInput<TProcedure>>, opts?: MaybeRefOrGetter<Omit<UnwrapRef<UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>>, 'queryKey'> & {
22
19
  trpc?: TRPCRequestOptions;
23
20
  queryKey?: TQueryKey;
24
21
  }>) => UseQueryReturnType<TData, TError>;
25
- query: Resolver<TProcedure>;
22
+ query: Resolver<TRouter, TProcedure>;
26
23
  invalidate: (input?: MaybeRefOrGetter<inferProcedureInput<TProcedure>>) => Promise<void>;
27
- setQueryData: (updater: inferTransformedProcedureOutput<TProcedure>, input?: MaybeRefOrGetter<inferProcedureInput<TProcedure>>) => ReturnType<QueryClient['setQueryData']>;
24
+ setQueryData: (updater: inferTransformedProcedureOutput<TRouter, TProcedure>, input?: MaybeRefOrGetter<inferProcedureInput<TProcedure>>) => ReturnType<QueryClient['setQueryData']>;
28
25
  key: (input?: MaybeRefOrGetter<inferProcedureInput<TProcedure>>) => QueryKey;
29
- } : TProcedure extends AnyMutationProcedure ? {
30
- mutate: Resolver<TProcedure>;
31
- useMutation: <TData = inferTransformedProcedureOutput<TProcedure>, TError = TRPCClientErrorLike<TProcedure>, TVariables = inferProcedureInput<TProcedure>, TContext = unknown>(opts?: MaybeRefOrGetter<UseMutationOptions<TData, TError, TVariables, TContext> & {
26
+ } : TProcedure extends AnyTRPCMutationProcedure ? {
27
+ mutate: Resolver<TRouter, TProcedure>;
28
+ useMutation: <TData = inferTransformedProcedureOutput<TRouter, TProcedure>, TError = TRPCClientErrorLike<TRouter>, TVariables = inferProcedureInput<TProcedure>, TContext = unknown>(opts?: MaybeRefOrGetter<UseMutationOptions<TData, TError, TVariables, TContext> & {
32
29
  trpc?: TRPCRequestOptions;
33
30
  }>) => UseMutationReturnType<TData, TError, TVariables, TContext>;
34
- } : TProcedure extends AnySubscriptionProcedure ? {
31
+ } : TProcedure extends AnyTRPCSubscriptionProcedure ? {
35
32
  subscribe: SubscriptionResolver<TProcedure, TRouter>;
36
- } : never;
33
+ } : 'test';
37
34
  /**
38
35
  * @internal
39
36
  */
40
- type DecoratedProcedureRecord<TProcedures extends ProcedureRouterRecord, TRouter extends AnyRouter> = {
41
- [TKey in keyof TProcedures]: TProcedures[TKey] extends AnyRouter ? DecoratedProcedureRecord<TProcedures[TKey]['_def']['record'], TRouter> : TProcedures[TKey] extends AnyProcedure ? DecorateProcedure<TProcedures[TKey], TRouter> : never;
37
+ type DecoratedProcedureRecord<TProcedures extends Record<string, any>, TRouter extends AnyTRPCRouter> = {
38
+ [K in keyof TProcedures]: TProcedures[K] extends AnyTRPCProcedure ? DecorateProcedure<TProcedures[K], TRouter> : DecoratedProcedureRecord<TProcedures[K], TRouter>;
42
39
  };
43
40
 
44
- declare function createTRPCVueQueryClient<TRouter extends AnyRouter>(opts: {
41
+ declare function createTRPCVueQueryClient<TRouter extends AnyTRPCRouter>(opts: {
45
42
  queryClient: QueryClient;
46
43
  trpc: CreateTRPCClientOptions<TRouter>;
47
44
  }): DecoratedProcedureRecord<TRouter["_def"]["record"], TRouter>;
package/dist/index.mjs CHANGED
@@ -1,9 +1,10 @@
1
1
  // src/index.ts
2
2
  import { useMutation, useQuery } from "@tanstack/vue-query";
3
3
  import {
4
- createTRPCProxyClient
4
+ createTRPCClient
5
5
  } from "@trpc/client";
6
- import { createFlatProxy, createRecursiveProxy } from "@trpc/server/shared";
6
+ import { createTRPCFlatProxy } from "@trpc/server";
7
+ import { createRecursiveProxy } from "@trpc/server/unstable-core-do-not-import";
7
8
  import { toRef, toRefs, toValue } from "@vueuse/core";
8
9
  import { computed, isReactive } from "vue";
9
10
  function getQueryKey(path, input) {
@@ -57,8 +58,8 @@ function createVueQueryProxyDecoration(name, client, queryClient) {
57
58
  });
58
59
  }
59
60
  function createTRPCVueQueryClient(opts) {
60
- const client = createTRPCProxyClient(opts.trpc);
61
- const decoratedClient = createFlatProxy((key) => {
61
+ const client = createTRPCClient(opts.trpc);
62
+ const decoratedClient = createTRPCFlatProxy((key) => {
62
63
  return createVueQueryProxyDecoration(key, client, opts.queryClient);
63
64
  });
64
65
  return decoratedClient;
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "@falcondev-oss/trpc-vue-query",
3
3
  "type": "module",
4
- "version": "0.4.2",
5
- "packageManager": "pnpm@8.15.3",
4
+ "version": "0.5.0-rc.0",
6
5
  "description": "A tRPC wrapper around '@tanstack/vue-query'",
7
6
  "license": "MIT",
8
7
  "repository": "github:falcondev-oss/trpc-vue-query",
@@ -29,33 +28,33 @@
29
28
  "vue": "^3.4.19"
30
29
  },
31
30
  "dependencies": {
32
- "@vueuse/core": "^10.9.0"
31
+ "@vueuse/core": "^11.0.3"
33
32
  },
34
33
  "devDependencies": {
35
- "@commitlint/cli": "^19.2.2",
36
- "@eslint/eslintrc": "^3.0.2",
37
- "@louishaftmann/commitlint-config": "^3.1.1",
38
- "@louishaftmann/eslint-config": "^3.1.1",
39
- "@louishaftmann/lintstaged-config": "^3.1.1",
40
- "@louishaftmann/prettier-config": "^3.1.1",
41
- "@tanstack/vue-query": "^5.29.0",
42
- "@trpc/client": "^10.45.2",
43
- "@trpc/server": "^10.45.2",
44
- "@types/eslint": "^8.56.9",
45
- "@types/eslint__eslintrc": "^2.1.1",
46
- "@vitest/ui": "^1.5.0",
47
- "eslint": "^8.57.0",
48
- "happy-dom": "^13.10.1",
49
- "husky": "^9.0.11",
50
- "lint-staged": "^15.2.2",
51
- "prettier": "^3.2.5",
52
- "start-server-and-test": "^2.0.3",
53
- "tsup": "^8.0.2",
54
- "tsx": "^4.7.2",
55
- "typescript": "^5.4.5",
56
- "vitest": "^1.5.0",
57
- "vue": "^3.4.22",
58
- "vue-demi": "^0.14.7"
34
+ "@commitlint/cli": "^19.4.1",
35
+ "@eslint/eslintrc": "^3.1.0",
36
+ "@louishaftmann/commitlint-config": "^4.0.3",
37
+ "@louishaftmann/eslint-config": "^4.0.3",
38
+ "@louishaftmann/lintstaged-config": "^4.0.3",
39
+ "@louishaftmann/prettier-config": "^4.0.3",
40
+ "@tanstack/vue-query": "^5.53.1",
41
+ "@trpc/client": "11.0.0-rc.490",
42
+ "@trpc/server": "11.0.0-rc.490",
43
+ "@types/eslint": "^9.6.1",
44
+ "@types/eslint__eslintrc": "^2.1.2",
45
+ "@vitest/ui": "^2.0.5",
46
+ "eslint": "^9.9.1",
47
+ "happy-dom": "^15.7.2",
48
+ "husky": "^9.1.5",
49
+ "lint-staged": "^15.2.9",
50
+ "prettier": "^3.3.3",
51
+ "start-server-and-test": "^2.0.5",
52
+ "tsup": "^8.2.4",
53
+ "tsx": "^4.19.0",
54
+ "typescript": "^5.5.4",
55
+ "vitest": "^2.0.5",
56
+ "vue": "^3.4.38",
57
+ "vue-demi": "^0.14.10"
59
58
  },
60
59
  "changelogithub": {
61
60
  "extends": "gh:falcondev-it/configs/changelogithub"