@trpc/tanstack-react-query 0.0.0-alpha.3 → 11.0.0-alpha-tmp-query-optoins-codemod.670
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 +8 -7
- package/dist/bundle-analysis.json +128 -0
- package/dist/internals/createOptionsProxy.d.ts +5 -5
- package/dist/internals/createOptionsProxy.d.ts.map +1 -1
- package/dist/internals/createOptionsProxy.js +2 -3
- package/dist/internals/createOptionsProxy.mjs +2 -3
- package/dist/internals/subscriptionOptions.d.ts +1 -1
- package/dist/internals/subscriptionOptions.d.ts.map +1 -1
- package/dist/internals/subscriptionOptions.js +37 -35
- package/dist/internals/subscriptionOptions.mjs +37 -35
- package/package.json +21 -18
- package/src/internals/createOptionsProxy.ts +10 -9
- package/src/internals/subscriptionOptions.ts +38 -38
package/README.md
CHANGED
|
@@ -8,21 +8,22 @@
|
|
|
8
8
|
<strong>End-to-end typesafe APIs made easy</strong>
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
|
-
<p align="center">
|
|
12
|
-
<img src="https://assets.trpc.io/www/v10/v10-dark-landscape.gif" alt="Demo" />
|
|
13
|
-
</p>
|
|
14
|
-
|
|
15
11
|
# `@trpc/tanstack-react-query`
|
|
16
12
|
|
|
17
|
-
> A tRPC wrapper around
|
|
13
|
+
> A tRPC wrapper around `@tanstack/react-query`.
|
|
14
|
+
|
|
15
|
+
> [!WARNING]
|
|
16
|
+
>
|
|
17
|
+
> 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧 🚧
|
|
18
|
+
> This package is currently in beta as we stabilize the API. We might do breaking changes without respecting semver.
|
|
18
19
|
|
|
19
20
|
## Documentation
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
Full documentation can be found at https://trpc.io/docs/client/tanstack-react-query/introduction.
|
|
22
23
|
|
|
23
24
|
## Installation
|
|
24
25
|
|
|
25
|
-
> Requires `@tanstack/react-query` v5.
|
|
26
|
+
> Requires `@tanstack/react-query` v5.62.8 or higher
|
|
26
27
|
|
|
27
28
|
```bash
|
|
28
29
|
# npm
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"bundleSize": 14971,
|
|
3
|
+
"bundleOrigSize": 36805,
|
|
4
|
+
"bundleReduction": 59.32,
|
|
5
|
+
"modules": [
|
|
6
|
+
{
|
|
7
|
+
"id": "/src/internals/subscriptionOptions.ts",
|
|
8
|
+
"size": 4675,
|
|
9
|
+
"origSize": 7697,
|
|
10
|
+
"renderedExports": [
|
|
11
|
+
"trpcSubscriptionOptions",
|
|
12
|
+
"useSubscription"
|
|
13
|
+
],
|
|
14
|
+
"removedExports": [],
|
|
15
|
+
"dependents": [
|
|
16
|
+
"/src/index.ts",
|
|
17
|
+
"/src/internals/createOptionsProxy.ts"
|
|
18
|
+
],
|
|
19
|
+
"percent": 31.23,
|
|
20
|
+
"reduction": 39.26
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "/src/internals/createOptionsProxy.ts",
|
|
24
|
+
"size": 3156,
|
|
25
|
+
"origSize": 8733,
|
|
26
|
+
"renderedExports": [
|
|
27
|
+
"createTRPCOptionsProxy"
|
|
28
|
+
],
|
|
29
|
+
"removedExports": [],
|
|
30
|
+
"dependents": [
|
|
31
|
+
"/src/index.ts",
|
|
32
|
+
"/src/internals/Context.tsx"
|
|
33
|
+
],
|
|
34
|
+
"percent": 21.08,
|
|
35
|
+
"reduction": 63.86
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "/src/internals/utils.ts",
|
|
39
|
+
"size": 3047,
|
|
40
|
+
"origSize": 3436,
|
|
41
|
+
"renderedExports": [
|
|
42
|
+
"createTRPCOptionsResult",
|
|
43
|
+
"getClientArgs",
|
|
44
|
+
"buildQueryFromAsyncIterable",
|
|
45
|
+
"getQueryKeyInternal",
|
|
46
|
+
"getMutationKeyInternal",
|
|
47
|
+
"unwrapLazyArg"
|
|
48
|
+
],
|
|
49
|
+
"removedExports": [],
|
|
50
|
+
"dependents": [
|
|
51
|
+
"/src/internals/createOptionsProxy.ts",
|
|
52
|
+
"/src/internals/subscriptionOptions.ts",
|
|
53
|
+
"/src/internals/infiniteQueryOptions.ts",
|
|
54
|
+
"/src/internals/mutationOptions.ts",
|
|
55
|
+
"/src/internals/queryOptions.ts"
|
|
56
|
+
],
|
|
57
|
+
"percent": 20.35,
|
|
58
|
+
"reduction": 11.32
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "/src/internals/mutationOptions.ts",
|
|
62
|
+
"size": 1116,
|
|
63
|
+
"origSize": 3113,
|
|
64
|
+
"renderedExports": [
|
|
65
|
+
"trpcMutationOptions"
|
|
66
|
+
],
|
|
67
|
+
"removedExports": [],
|
|
68
|
+
"dependents": [
|
|
69
|
+
"/src/internals/createOptionsProxy.ts"
|
|
70
|
+
],
|
|
71
|
+
"percent": 7.45,
|
|
72
|
+
"reduction": 64.15
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "/src/internals/queryOptions.ts",
|
|
76
|
+
"size": 1082,
|
|
77
|
+
"origSize": 5498,
|
|
78
|
+
"renderedExports": [
|
|
79
|
+
"trpcQueryOptions"
|
|
80
|
+
],
|
|
81
|
+
"removedExports": [],
|
|
82
|
+
"dependents": [
|
|
83
|
+
"/src/internals/createOptionsProxy.ts"
|
|
84
|
+
],
|
|
85
|
+
"percent": 7.23,
|
|
86
|
+
"reduction": 80.32
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "/src/internals/infiniteQueryOptions.ts",
|
|
90
|
+
"size": 1042,
|
|
91
|
+
"origSize": 6209,
|
|
92
|
+
"renderedExports": [
|
|
93
|
+
"trpcInfiniteQueryOptions"
|
|
94
|
+
],
|
|
95
|
+
"removedExports": [],
|
|
96
|
+
"dependents": [
|
|
97
|
+
"/src/internals/createOptionsProxy.ts"
|
|
98
|
+
],
|
|
99
|
+
"percent": 6.96,
|
|
100
|
+
"reduction": 83.22
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "/src/internals/Context.tsx",
|
|
104
|
+
"size": 853,
|
|
105
|
+
"origSize": 1200,
|
|
106
|
+
"renderedExports": [
|
|
107
|
+
"createTRPCContext"
|
|
108
|
+
],
|
|
109
|
+
"removedExports": [],
|
|
110
|
+
"dependents": [
|
|
111
|
+
"/src/index.ts"
|
|
112
|
+
],
|
|
113
|
+
"percent": 5.7,
|
|
114
|
+
"reduction": 28.92
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"id": "/src/index.ts",
|
|
118
|
+
"size": 0,
|
|
119
|
+
"origSize": 919,
|
|
120
|
+
"renderedExports": [],
|
|
121
|
+
"removedExports": [],
|
|
122
|
+
"dependents": [],
|
|
123
|
+
"percent": 0,
|
|
124
|
+
"reduction": 100
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"moduleCount": 8
|
|
128
|
+
}
|
|
@@ -11,13 +11,13 @@ import { type TRPCSubscriptionOptions } from './subscriptionOptions';
|
|
|
11
11
|
import type { ResolverDef, TRPCMutationKey, TRPCQueryKey } from './types';
|
|
12
12
|
export interface DecorateQueryKeyable {
|
|
13
13
|
/**
|
|
14
|
-
* Calculate the
|
|
14
|
+
* Calculate the TanStack Query Key for a Route
|
|
15
15
|
*
|
|
16
16
|
* @see https://tanstack.com/query/latest/docs/framework/react/guides/query-keys
|
|
17
17
|
*/
|
|
18
18
|
queryKey: () => TRPCQueryKey;
|
|
19
19
|
/**
|
|
20
|
-
* Calculate a
|
|
20
|
+
* Calculate a TanStack Query Filter for a Route
|
|
21
21
|
*
|
|
22
22
|
* @see https://tanstack.com/query/latest/docs/framework/react/guides/filters
|
|
23
23
|
*/
|
|
@@ -43,13 +43,13 @@ export interface DecorateQueryProcedure<TDef extends ResolverDef> {
|
|
|
43
43
|
*/
|
|
44
44
|
infiniteQueryOptions: TRPCInfiniteQueryOptions<TDef>;
|
|
45
45
|
/**
|
|
46
|
-
* Calculate the
|
|
46
|
+
* Calculate the TanStack Query Key for a Query Procedure
|
|
47
47
|
*
|
|
48
48
|
* @see https://tanstack.com/query/latest/docs/framework/react/guides/query-keys
|
|
49
49
|
*/
|
|
50
50
|
queryKey: (input?: TDef['input']) => DataTag<TRPCQueryKey, TDef['output'], TDef['errorShape']>;
|
|
51
51
|
/**
|
|
52
|
-
* Calculate a
|
|
52
|
+
* Calculate a TanStack Query Filter for a Query Procedure
|
|
53
53
|
*
|
|
54
54
|
* @see https://tanstack.com/query/latest/docs/framework/react/guides/filters
|
|
55
55
|
*/
|
|
@@ -68,7 +68,7 @@ export interface DecorateMutationProcedure<TDef extends ResolverDef> {
|
|
|
68
68
|
*/
|
|
69
69
|
mutationOptions: TRPCMutationOptions<TDef>;
|
|
70
70
|
/**
|
|
71
|
-
* Calculate the
|
|
71
|
+
* Calculate the TanStack Mutation Key for a Mutation Procedure
|
|
72
72
|
*/
|
|
73
73
|
mutationKey: () => TRPCMutationKey;
|
|
74
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOptionsProxy.d.ts","sourceRoot":"","sources":["../../src/internals/createOptionsProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAEL,iBAAiB,EACjB,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAC;AACtB,OAAO,
|
|
1
|
+
{"version":3,"file":"createOptionsProxy.d.ts","sourceRoot":"","sources":["../../src/internals/createOptionsProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var client = require('@trpc/client');
|
|
4
|
-
var server = require('@trpc/server');
|
|
5
4
|
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
6
5
|
var infiniteQueryOptions = require('./infiniteQueryOptions.js');
|
|
7
6
|
var mutationOptions = require('./mutationOptions.js');
|
|
@@ -22,8 +21,8 @@ function createTRPCOptionsProxy(opts) {
|
|
|
22
21
|
const callIt = (type)=>{
|
|
23
22
|
return (path, input, trpcOpts)=>{
|
|
24
23
|
if ('router' in opts) {
|
|
25
|
-
return Promise.resolve(utils.unwrapLazyArg(opts.ctx)).then((ctx)=>
|
|
26
|
-
|
|
24
|
+
return Promise.resolve(utils.unwrapLazyArg(opts.ctx)).then((ctx)=>unstableCoreDoNotImport.callProcedure({
|
|
25
|
+
router: opts.router,
|
|
27
26
|
path: path,
|
|
28
27
|
getRawInput: async ()=>input,
|
|
29
28
|
ctx: ctx,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { TRPCUntypedClient, getUntypedClient } from '@trpc/client';
|
|
2
|
-
import { callProcedure } from '@trpc/server';
|
|
3
|
-
import { createRecursiveProxy } from '@trpc/server/unstable-core-do-not-import';
|
|
2
|
+
import { createRecursiveProxy, callProcedure } from '@trpc/server/unstable-core-do-not-import';
|
|
4
3
|
import { trpcInfiniteQueryOptions } from './infiniteQueryOptions.mjs';
|
|
5
4
|
import { trpcMutationOptions } from './mutationOptions.mjs';
|
|
6
5
|
import { trpcQueryOptions } from './queryOptions.mjs';
|
|
@@ -21,7 +20,7 @@ function createTRPCOptionsProxy(opts) {
|
|
|
21
20
|
return (path, input, trpcOpts)=>{
|
|
22
21
|
if ('router' in opts) {
|
|
23
22
|
return Promise.resolve(unwrapLazyArg(opts.ctx)).then((ctx)=>callProcedure({
|
|
24
|
-
|
|
23
|
+
router: opts.router,
|
|
25
24
|
path: path,
|
|
26
25
|
getRawInput: async ()=>input,
|
|
27
26
|
ctx: ctx,
|
|
@@ -47,7 +47,7 @@ export interface TRPCSubscriptionConnectingResult<TOutput, TError> extends TRPCS
|
|
|
47
47
|
}
|
|
48
48
|
export interface TRPCSubscriptionPendingResult<TOutput> extends TRPCSubscriptionBaseResult<TOutput, undefined> {
|
|
49
49
|
status: 'pending';
|
|
50
|
-
data: TOutput;
|
|
50
|
+
data: TOutput | undefined;
|
|
51
51
|
error: null;
|
|
52
52
|
}
|
|
53
53
|
export interface TRPCSubscriptionErrorResult<TOutput, TError> extends TRPCSubscriptionBaseResult<TOutput, TError> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptionOptions.d.ts","sourceRoot":"","sources":["../../src/internals/subscriptionOptions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"subscriptionOptions.d.ts","sourceRoot":"","sources":["../../src/internals/subscriptionOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,54 +55,56 @@ function useSubscription(opts) {
|
|
|
55
55
|
if (!opts.enabled) {
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
|
-
let isStopped = false;
|
|
59
58
|
const subscription = opts.subscribe({
|
|
60
59
|
onStarted: ()=>{
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}));
|
|
68
|
-
}
|
|
60
|
+
optsRef.current.onStarted?.();
|
|
61
|
+
updateState((prev)=>({
|
|
62
|
+
...prev,
|
|
63
|
+
status: 'pending',
|
|
64
|
+
error: null
|
|
65
|
+
}));
|
|
69
66
|
},
|
|
70
67
|
onData: (data)=>{
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}));
|
|
79
|
-
}
|
|
68
|
+
optsRef.current.onData?.(data);
|
|
69
|
+
updateState((prev)=>({
|
|
70
|
+
...prev,
|
|
71
|
+
status: 'pending',
|
|
72
|
+
data,
|
|
73
|
+
error: null
|
|
74
|
+
}));
|
|
80
75
|
},
|
|
81
76
|
onError: (error)=>{
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}));
|
|
89
|
-
}
|
|
77
|
+
optsRef.current.onError?.(error);
|
|
78
|
+
updateState((prev)=>({
|
|
79
|
+
...prev,
|
|
80
|
+
status: 'error',
|
|
81
|
+
error
|
|
82
|
+
}));
|
|
90
83
|
},
|
|
91
84
|
onConnectionStateChange: (result)=>{
|
|
92
|
-
const delta = {
|
|
93
|
-
status: result.state,
|
|
94
|
-
error: result.error
|
|
95
|
-
};
|
|
96
85
|
updateState((prev)=>{
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
86
|
+
switch(result.state){
|
|
87
|
+
case 'connecting':
|
|
88
|
+
return {
|
|
89
|
+
...prev,
|
|
90
|
+
status: 'connecting',
|
|
91
|
+
error: result.error
|
|
92
|
+
};
|
|
93
|
+
case 'pending':
|
|
94
|
+
// handled in onStarted
|
|
95
|
+
return prev;
|
|
96
|
+
case 'idle':
|
|
97
|
+
return {
|
|
98
|
+
...prev,
|
|
99
|
+
status: 'idle',
|
|
100
|
+
data: undefined,
|
|
101
|
+
error: null
|
|
102
|
+
};
|
|
103
|
+
}
|
|
101
104
|
});
|
|
102
105
|
}
|
|
103
106
|
});
|
|
104
107
|
currentSubscriptionRef.current = ()=>{
|
|
105
|
-
isStopped = true;
|
|
106
108
|
subscription.unsubscribe();
|
|
107
109
|
};
|
|
108
110
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -34,54 +34,56 @@ function useSubscription(opts) {
|
|
|
34
34
|
if (!opts.enabled) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
-
let isStopped = false;
|
|
38
37
|
const subscription = opts.subscribe({
|
|
39
38
|
onStarted: ()=>{
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
39
|
+
optsRef.current.onStarted?.();
|
|
40
|
+
updateState((prev)=>({
|
|
41
|
+
...prev,
|
|
42
|
+
status: 'pending',
|
|
43
|
+
error: null
|
|
44
|
+
}));
|
|
48
45
|
},
|
|
49
46
|
onData: (data)=>{
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
47
|
+
optsRef.current.onData?.(data);
|
|
48
|
+
updateState((prev)=>({
|
|
49
|
+
...prev,
|
|
50
|
+
status: 'pending',
|
|
51
|
+
data,
|
|
52
|
+
error: null
|
|
53
|
+
}));
|
|
59
54
|
},
|
|
60
55
|
onError: (error)=>{
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}));
|
|
68
|
-
}
|
|
56
|
+
optsRef.current.onError?.(error);
|
|
57
|
+
updateState((prev)=>({
|
|
58
|
+
...prev,
|
|
59
|
+
status: 'error',
|
|
60
|
+
error
|
|
61
|
+
}));
|
|
69
62
|
},
|
|
70
63
|
onConnectionStateChange: (result)=>{
|
|
71
|
-
const delta = {
|
|
72
|
-
status: result.state,
|
|
73
|
-
error: result.error
|
|
74
|
-
};
|
|
75
64
|
updateState((prev)=>{
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
65
|
+
switch(result.state){
|
|
66
|
+
case 'connecting':
|
|
67
|
+
return {
|
|
68
|
+
...prev,
|
|
69
|
+
status: 'connecting',
|
|
70
|
+
error: result.error
|
|
71
|
+
};
|
|
72
|
+
case 'pending':
|
|
73
|
+
// handled in onStarted
|
|
74
|
+
return prev;
|
|
75
|
+
case 'idle':
|
|
76
|
+
return {
|
|
77
|
+
...prev,
|
|
78
|
+
status: 'idle',
|
|
79
|
+
data: undefined,
|
|
80
|
+
error: null
|
|
81
|
+
};
|
|
82
|
+
}
|
|
80
83
|
});
|
|
81
84
|
}
|
|
82
85
|
});
|
|
83
86
|
currentSubscriptionRef.current = ()=>{
|
|
84
|
-
isStopped = true;
|
|
85
87
|
subscription.unsubscribe();
|
|
86
88
|
};
|
|
87
89
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
package/package.json
CHANGED
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/tanstack-react-query",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "11.0.0-alpha-tmp-query-optoins-codemod.670+e01d94921",
|
|
4
|
+
"description": "TanStack React Query Integration for tRPC",
|
|
5
5
|
"author": "juliusmarminge",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"module": "dist/index.mjs",
|
|
9
9
|
"typings": "dist/index.d.ts",
|
|
10
|
-
"homepage": "https://trpc.io",
|
|
10
|
+
"homepage": "https://trpc.io/docs/client/tanstack-react-query/introduction",
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|
|
13
13
|
"url": "git+https://github.com/trpc/trpc.git",
|
|
14
14
|
"directory": "packages/tanstack-react-query"
|
|
15
15
|
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "rollup --config rollup.config.ts --configPlugin rollup-plugin-swc3",
|
|
18
|
+
"dev": "pnpm build --watch",
|
|
19
|
+
"codegen-entrypoints": "tsx entrypoints.script.ts",
|
|
20
|
+
"lint": "eslint --cache src",
|
|
21
|
+
"test-run:tsc": "tsc --noEmit --pretty",
|
|
22
|
+
"ts-watch": "tsc --watch"
|
|
23
|
+
},
|
|
16
24
|
"exports": {
|
|
17
25
|
"./package.json": "./package.json",
|
|
18
26
|
".": {
|
|
@@ -40,20 +48,21 @@
|
|
|
40
48
|
}
|
|
41
49
|
},
|
|
42
50
|
"peerDependencies": {
|
|
43
|
-
"@tanstack/react-query": "^5.62.
|
|
44
|
-
"@trpc/client": "
|
|
45
|
-
"@trpc/server": "
|
|
51
|
+
"@tanstack/react-query": "^5.62.8",
|
|
52
|
+
"@trpc/client": "11.0.0-alpha-tmp-query-optoins-codemod.670+e01d94921",
|
|
53
|
+
"@trpc/server": "11.0.0-alpha-tmp-query-optoins-codemod.670+e01d94921",
|
|
46
54
|
"react": ">=18.2.0",
|
|
47
55
|
"react-dom": ">=18.2.0",
|
|
48
56
|
"typescript": ">=5.7.2"
|
|
49
57
|
},
|
|
50
58
|
"devDependencies": {
|
|
51
|
-
"@tanstack/react-query": "^5.
|
|
52
|
-
"@trpc/client": "
|
|
53
|
-
"@trpc/server": "
|
|
59
|
+
"@tanstack/react-query": "^5.66.0",
|
|
60
|
+
"@trpc/client": "11.0.0-alpha-tmp-query-optoins-codemod.670+e01d94921",
|
|
61
|
+
"@trpc/server": "11.0.0-alpha-tmp-query-optoins-codemod.670+e01d94921",
|
|
54
62
|
"@types/node": "^20.10.0",
|
|
55
63
|
"@types/react": "^18.3.1",
|
|
56
64
|
"eslint": "^8.57.0",
|
|
65
|
+
"event-source-polyfill": "^1.0.31",
|
|
57
66
|
"konn": "^0.7.0",
|
|
58
67
|
"react": "^19.0.0",
|
|
59
68
|
"react-dom": "^18.3.1",
|
|
@@ -61,6 +70,7 @@
|
|
|
61
70
|
"tsx": "^4.0.0",
|
|
62
71
|
"typescript": "^5.6.2",
|
|
63
72
|
"vitest": "^2.0.4",
|
|
73
|
+
"ws": "^8.0.0",
|
|
64
74
|
"zod": "^3.0.0"
|
|
65
75
|
},
|
|
66
76
|
"publishConfig": {
|
|
@@ -69,12 +79,5 @@
|
|
|
69
79
|
"funding": [
|
|
70
80
|
"https://trpc.io/sponsor"
|
|
71
81
|
],
|
|
72
|
-
"
|
|
73
|
-
|
|
74
|
-
"dev": "pnpm build --watch",
|
|
75
|
-
"codegen-entrypoints": "tsx entrypoints.script.ts",
|
|
76
|
-
"lint": "eslint --cache src",
|
|
77
|
-
"test-run:tsc": "tsc --noEmit --pretty",
|
|
78
|
-
"ts-watch": "tsc --watch"
|
|
79
|
-
}
|
|
80
|
-
}
|
|
82
|
+
"gitHead": "e01d949212c0240bbd94b7f967c41d26b4b41ed8"
|
|
83
|
+
}
|
|
@@ -7,20 +7,22 @@ import {
|
|
|
7
7
|
type TRPCRequestOptions,
|
|
8
8
|
} from '@trpc/client';
|
|
9
9
|
import {
|
|
10
|
-
callProcedure,
|
|
11
10
|
type AnyProcedure,
|
|
12
11
|
type inferProcedureInput,
|
|
13
12
|
type inferRouterContext,
|
|
14
13
|
type inferTransformedProcedureOutput,
|
|
15
14
|
type ProcedureType,
|
|
16
15
|
} from '@trpc/server';
|
|
17
|
-
import { createRecursiveProxy } from '@trpc/server/unstable-core-do-not-import';
|
|
18
16
|
import type {
|
|
19
17
|
AnyRootTypes,
|
|
20
18
|
AnyRouter,
|
|
21
19
|
MaybePromise,
|
|
22
20
|
RouterRecord,
|
|
23
21
|
} from '@trpc/server/unstable-core-do-not-import';
|
|
22
|
+
import {
|
|
23
|
+
callProcedure,
|
|
24
|
+
createRecursiveProxy,
|
|
25
|
+
} from '@trpc/server/unstable-core-do-not-import';
|
|
24
26
|
import {
|
|
25
27
|
trpcInfiniteQueryOptions,
|
|
26
28
|
type TRPCInfiniteQueryOptions,
|
|
@@ -49,14 +51,14 @@ import {
|
|
|
49
51
|
|
|
50
52
|
export interface DecorateQueryKeyable {
|
|
51
53
|
/**
|
|
52
|
-
* Calculate the
|
|
54
|
+
* Calculate the TanStack Query Key for a Route
|
|
53
55
|
*
|
|
54
56
|
* @see https://tanstack.com/query/latest/docs/framework/react/guides/query-keys
|
|
55
57
|
*/
|
|
56
58
|
queryKey: () => TRPCQueryKey;
|
|
57
59
|
|
|
58
60
|
/**
|
|
59
|
-
* Calculate a
|
|
61
|
+
* Calculate a TanStack Query Filter for a Route
|
|
60
62
|
*
|
|
61
63
|
* @see https://tanstack.com/query/latest/docs/framework/react/guides/filters
|
|
62
64
|
*/
|
|
@@ -96,17 +98,16 @@ export interface DecorateQueryProcedure<TDef extends ResolverDef> {
|
|
|
96
98
|
infiniteQueryOptions: TRPCInfiniteQueryOptions<TDef>;
|
|
97
99
|
|
|
98
100
|
/**
|
|
99
|
-
* Calculate the
|
|
101
|
+
* Calculate the TanStack Query Key for a Query Procedure
|
|
100
102
|
*
|
|
101
103
|
* @see https://tanstack.com/query/latest/docs/framework/react/guides/query-keys
|
|
102
104
|
*/
|
|
103
105
|
queryKey: (
|
|
104
106
|
input?: TDef['input'],
|
|
105
|
-
// tslint seems to be wrong here, the type is correct
|
|
106
107
|
) => DataTag<TRPCQueryKey, TDef['output'], TDef['errorShape']>;
|
|
107
108
|
|
|
108
109
|
/**
|
|
109
|
-
* Calculate a
|
|
110
|
+
* Calculate a TanStack Query Filter for a Query Procedure
|
|
110
111
|
*
|
|
111
112
|
* @see https://tanstack.com/query/latest/docs/framework/react/guides/filters
|
|
112
113
|
*/
|
|
@@ -136,7 +137,7 @@ export interface DecorateMutationProcedure<TDef extends ResolverDef> {
|
|
|
136
137
|
mutationOptions: TRPCMutationOptions<TDef>;
|
|
137
138
|
|
|
138
139
|
/**
|
|
139
|
-
* Calculate the
|
|
140
|
+
* Calculate the TanStack Mutation Key for a Mutation Procedure
|
|
140
141
|
*/
|
|
141
142
|
mutationKey: () => TRPCMutationKey;
|
|
142
143
|
}
|
|
@@ -239,7 +240,7 @@ export function createTRPCOptionsProxy<TRouter extends AnyRouter>(
|
|
|
239
240
|
if ('router' in opts) {
|
|
240
241
|
return Promise.resolve(unwrapLazyArg(opts.ctx)).then((ctx) =>
|
|
241
242
|
callProcedure({
|
|
242
|
-
|
|
243
|
+
router: opts.router,
|
|
243
244
|
path: path,
|
|
244
245
|
getRawInput: async () => input,
|
|
245
246
|
ctx: ctx,
|
|
@@ -90,7 +90,7 @@ export interface TRPCSubscriptionConnectingResult<TOutput, TError>
|
|
|
90
90
|
export interface TRPCSubscriptionPendingResult<TOutput>
|
|
91
91
|
extends TRPCSubscriptionBaseResult<TOutput, undefined> {
|
|
92
92
|
status: 'pending';
|
|
93
|
-
data: TOutput;
|
|
93
|
+
data: TOutput | undefined;
|
|
94
94
|
error: null;
|
|
95
95
|
}
|
|
96
96
|
|
|
@@ -157,57 +157,57 @@ export function useSubscription<TOutput, TError>(
|
|
|
157
157
|
if (!opts.enabled) {
|
|
158
158
|
return;
|
|
159
159
|
}
|
|
160
|
-
|
|
161
|
-
let isStopped = false;
|
|
162
160
|
const subscription = opts.subscribe({
|
|
163
161
|
onStarted: () => {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}));
|
|
171
|
-
}
|
|
162
|
+
optsRef.current.onStarted?.();
|
|
163
|
+
updateState((prev) => ({
|
|
164
|
+
...(prev as any),
|
|
165
|
+
status: 'pending',
|
|
166
|
+
error: null,
|
|
167
|
+
}));
|
|
172
168
|
},
|
|
173
169
|
onData: (data) => {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}));
|
|
182
|
-
}
|
|
170
|
+
optsRef.current.onData?.(data);
|
|
171
|
+
updateState((prev) => ({
|
|
172
|
+
...(prev as any),
|
|
173
|
+
status: 'pending',
|
|
174
|
+
data,
|
|
175
|
+
error: null,
|
|
176
|
+
}));
|
|
183
177
|
},
|
|
184
178
|
onError: (error) => {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}));
|
|
192
|
-
}
|
|
179
|
+
optsRef.current.onError?.(error);
|
|
180
|
+
updateState((prev) => ({
|
|
181
|
+
...(prev as any),
|
|
182
|
+
status: 'error',
|
|
183
|
+
error,
|
|
184
|
+
}));
|
|
193
185
|
},
|
|
194
186
|
onConnectionStateChange: (result) => {
|
|
195
|
-
const delta = {
|
|
196
|
-
status: result.state,
|
|
197
|
-
error: result.error,
|
|
198
|
-
} as $Result;
|
|
199
|
-
|
|
200
187
|
updateState((prev) => {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
188
|
+
switch (result.state) {
|
|
189
|
+
case 'connecting':
|
|
190
|
+
return {
|
|
191
|
+
...prev,
|
|
192
|
+
status: 'connecting',
|
|
193
|
+
error: result.error,
|
|
194
|
+
};
|
|
195
|
+
case 'pending':
|
|
196
|
+
// handled in onStarted
|
|
197
|
+
return prev;
|
|
198
|
+
case 'idle':
|
|
199
|
+
return {
|
|
200
|
+
...prev,
|
|
201
|
+
status: 'idle',
|
|
202
|
+
data: undefined,
|
|
203
|
+
error: null,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
205
206
|
});
|
|
206
207
|
},
|
|
207
208
|
});
|
|
208
209
|
|
|
209
210
|
currentSubscriptionRef.current = () => {
|
|
210
|
-
isStopped = true;
|
|
211
211
|
subscription.unsubscribe();
|
|
212
212
|
};
|
|
213
213
|
|