@trpc/client 10.7.0 → 10.8.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/createTRPCClient.d.ts +16 -4
- package/dist/createTRPCClient.d.ts.map +1 -1
- package/dist/createTRPCClientProxy.d.ts +3 -2
- package/dist/createTRPCClientProxy.d.ts.map +1 -1
- package/dist/createTRPCUntypedClient.d.ts +5 -0
- package/dist/createTRPCUntypedClient.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -30
- package/dist/index.mjs +19 -31
- package/dist/internals/{TRPCClient.d.ts → TRPCUntypedClient.d.ts} +6 -7
- package/dist/internals/TRPCUntypedClient.d.ts.map +1 -0
- package/dist/links/wsLink.js +1 -1
- package/dist/links/wsLink.mjs +1 -1
- package/package.json +6 -4
- package/src/createTRPCClient.ts +54 -23
- package/src/createTRPCClientProxy.ts +8 -6
- package/src/createTRPCUntypedClient.ts +18 -0
- package/src/index.ts +1 -0
- package/src/internals/{TRPCClient.ts → TRPCUntypedClient.ts} +25 -47
- package/src/links/splitLink.test.ts +0 -1
- package/src/links/wsLink.ts +1 -1
- package/dist/internals/TRPCClient.d.ts.map +0 -1
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
import type { AnyRouter } from '@trpc/server';
|
|
2
|
-
import {
|
|
1
|
+
import type { AnyRouter, inferProcedureInput, inferProcedureOutput, inferSubscriptionOutput } from '@trpc/server';
|
|
2
|
+
import { Unsubscribable } from '@trpc/server/observable';
|
|
3
|
+
import { inferTransformedProcedureOutput } from '@trpc/server/shared';
|
|
4
|
+
import { TRPCClientError } from './TRPCClientError';
|
|
5
|
+
import { CreateTRPCClientOptions, TRPCRequestOptions, TRPCSubscriptionObserver } from './internals/TRPCUntypedClient';
|
|
6
|
+
import { TRPCClientRuntime } from './links';
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated
|
|
9
|
+
*/
|
|
10
|
+
export interface TRPCClient<TRouter extends AnyRouter> {
|
|
11
|
+
readonly runtime: TRPCClientRuntime;
|
|
12
|
+
query<TQueries extends TRouter['_def']['queries'], TPath extends string & keyof TQueries, TInput extends inferProcedureInput<TQueries[TPath]>>(path: TPath, input?: TInput, opts?: TRPCRequestOptions): Promise<inferProcedureOutput<TQueries[TPath]>>;
|
|
13
|
+
mutation<TMutations extends TRouter['_def']['mutations'], TPath extends string & keyof TMutations, TInput extends inferProcedureInput<TMutations[TPath]>>(path: TPath, input?: TInput, opts?: TRPCRequestOptions): Promise<inferTransformedProcedureOutput<TMutations[TPath]>>;
|
|
14
|
+
subscription<TSubscriptions extends TRouter['_def']['subscriptions'], TPath extends string & keyof TSubscriptions, TOutput extends inferSubscriptionOutput<TRouter, TPath>, TInput extends inferProcedureInput<TSubscriptions[TPath]>>(path: TPath, input: TInput, opts: TRPCRequestOptions & Partial<TRPCSubscriptionObserver<TOutput, TRPCClientError<TRouter>>>): Unsubscribable;
|
|
15
|
+
}
|
|
3
16
|
/**
|
|
4
17
|
* @deprecated use `createTRPCProxyClient` instead
|
|
5
18
|
*/
|
|
6
|
-
export declare function createTRPCClient<TRouter extends AnyRouter>(opts: CreateTRPCClientOptions<TRouter>):
|
|
7
|
-
export type { CreateTRPCClientOptions, TRPCClient, TRPCRequestOptions, } from './internals/TRPCClient';
|
|
19
|
+
export declare function createTRPCClient<TRouter extends AnyRouter>(opts: CreateTRPCClientOptions<TRouter>): TRPCClient<TRouter>;
|
|
8
20
|
//# sourceMappingURL=createTRPCClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTRPCClient.d.ts","sourceRoot":"","sources":["../src/createTRPCClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"createTRPCClient.d.ts","sourceRoot":"","sources":["../src/createTRPCClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EAEzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,OAAO,SAAS,SAAS;IACnD,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,KAAK,CACH,QAAQ,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAC3C,KAAK,SAAS,MAAM,GAAG,MAAM,QAAQ,EACrC,MAAM,SAAS,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAEnD,IAAI,EAAE,KAAK,EACX,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAElD,QAAQ,CACN,UAAU,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,EAC/C,KAAK,SAAS,MAAM,GAAG,MAAM,UAAU,EACvC,MAAM,SAAS,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAErD,IAAI,EAAE,KAAK,EACX,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,+BAA+B,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/D,YAAY,CACV,cAAc,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EACvD,KAAK,SAAS,MAAM,GAAG,MAAM,cAAc,EAE3C,OAAO,SAAS,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,EACvD,MAAM,SAAS,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAEzD,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,kBAAkB,GACtB,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,GACrE,cAAc,CAAC;CACnB;AACD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,SAAS,EACxD,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,uBAIvC"}
|
|
@@ -2,8 +2,9 @@ import type { AnyMutationProcedure, AnyProcedure, AnyQueryProcedure, AnyRouter,
|
|
|
2
2
|
import type { Unsubscribable } from '@trpc/server/observable';
|
|
3
3
|
import { inferTransformedProcedureOutput, inferTransformedSubscriptionOutput } from '@trpc/server/shared';
|
|
4
4
|
import { TRPCClientError } from './TRPCClientError';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { TRPCClient } from './createTRPCClient';
|
|
6
|
+
import { CreateTRPCClientOptions } from './createTRPCUntypedClient';
|
|
7
|
+
import { TRPCSubscriptionObserver } from './internals/TRPCUntypedClient';
|
|
7
8
|
export declare type inferRouterProxyClient<TRouter extends AnyRouter> = DecoratedProcedureRecord<TRouter['_def']['record'], TRouter>;
|
|
8
9
|
declare type Resolver<TProcedure extends AnyProcedure> = (...args: ProcedureArgs<TProcedure['_def']>) => Promise<inferTransformedProcedureOutput<TProcedure>>;
|
|
9
10
|
declare type SubscriptionResolver<TProcedure extends AnyProcedure, TRouter extends AnyRouter> = (...args: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTRPCClientProxy.d.ts","sourceRoot":"","sources":["../src/createTRPCClientProxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createTRPCClientProxy.d.ts","sourceRoot":"","sources":["../src/createTRPCClientProxy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,aAAa,EACb,qBAAqB,EAEtB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAGL,+BAA+B,EAC/B,kCAAkC,EACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,wBAAwB,EAEzB,MAAM,+BAA+B,CAAC;AAEvC,oBAAY,sBAAsB,CAAC,OAAO,SAAS,SAAS,IAC1D,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AAE/D,aAAK,QAAQ,CAAC,UAAU,SAAS,YAAY,IAAI,CAC/C,GAAG,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KACvC,OAAO,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC,CAAC;AAE1D,aAAK,oBAAoB,CACvB,UAAU,SAAS,YAAY,EAC/B,OAAO,SAAS,SAAS,IACvB,CACF,GAAG,IAAI,EAAE;IACP,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxC,OAAO,CACL,wBAAwB,CACtB,kCAAkC,CAAC,UAAU,CAAC,EAC9C,eAAe,CAAC,OAAO,CAAC,CACzB,CACF;CACJ,KACE,cAAc,CAAC;AAEpB,aAAK,iBAAiB,CACpB,UAAU,SAAS,YAAY,EAC/B,OAAO,SAAS,SAAS,IACvB,UAAU,SAAS,iBAAiB,GACpC;IACE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAC7B,GACD,UAAU,SAAS,oBAAoB,GACvC;IACE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAC9B,GACD,UAAU,SAAS,wBAAwB,GAC3C;IACE,SAAS,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;CACtD,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,aAAK,wBAAwB,CAC3B,WAAW,SAAS,qBAAqB,EACzC,OAAO,SAAS,SAAS,IACvB;KACD,IAAI,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,SAAS,GAC5D,wBAAwB,CACtB,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EACnC,WAAW,CAAC,IAAI,CAAC,CAClB,GACD,WAAW,CAAC,IAAI,CAAC,SAAS,YAAY,GACtC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAC7C,KAAK;CACV,CAAC;AAWF,oBAAY,qBAAqB,CAAC,OAAO,SAAS,SAAS,IACzD,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAElC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,SAAS,SAAS,EAC7D,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,gEAoB5B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,SAAS,SAAS,EAC7D,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,gEAKvC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AnyRouter } from '@trpc/server';
|
|
2
|
+
import { CreateTRPCClientOptions, TRPCUntypedClient } from './internals/TRPCUntypedClient';
|
|
3
|
+
export declare function createTRPCUntypedClient<TRouter extends AnyRouter>(opts: CreateTRPCClientOptions<TRouter>): TRPCUntypedClient<AnyRouter>;
|
|
4
|
+
export type { CreateTRPCClientOptions, TRPCRequestOptions, TRPCUntypedClient, } from './internals/TRPCUntypedClient';
|
|
5
|
+
//# sourceMappingURL=createTRPCUntypedClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTRPCUntypedClient.d.ts","sourceRoot":"","sources":["../src/createTRPCUntypedClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AAEvC,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,SAAS,EAC/D,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,gCAIvC;AAED,YAAY,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,+BAA+B,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,14 +5,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var observable = require('@trpc/server/observable');
|
|
6
6
|
var transformResult = require('./transformResult-e7a1e69e.js');
|
|
7
7
|
var links_splitLink = require('./splitLink-f29e84be.js');
|
|
8
|
-
var links_httpBatchLink = require('./links/httpBatchLink.js');
|
|
9
8
|
var shared = require('@trpc/server/shared');
|
|
10
9
|
var httpUtils = require('./httpUtils-277fd63a.js');
|
|
10
|
+
var links_httpBatchLink = require('./links/httpBatchLink.js');
|
|
11
11
|
var links_httpLink = require('./links/httpLink.js');
|
|
12
12
|
var links_loggerLink = require('./links/loggerLink.js');
|
|
13
13
|
var links_wsLink = require('./links/wsLink.js');
|
|
14
14
|
|
|
15
|
-
class
|
|
15
|
+
class TRPCUntypedClient {
|
|
16
16
|
$request({ type , input , path , context ={} }) {
|
|
17
17
|
const chain$ = links_splitLink.createChain({
|
|
18
18
|
links: this.links,
|
|
@@ -43,7 +43,7 @@ class TRPCClient {
|
|
|
43
43
|
return this.requestAsPromise({
|
|
44
44
|
type: 'query',
|
|
45
45
|
path,
|
|
46
|
-
input
|
|
46
|
+
input,
|
|
47
47
|
context: opts?.context,
|
|
48
48
|
signal: opts?.signal
|
|
49
49
|
});
|
|
@@ -52,7 +52,7 @@ class TRPCClient {
|
|
|
52
52
|
return this.requestAsPromise({
|
|
53
53
|
type: 'mutation',
|
|
54
54
|
path,
|
|
55
|
-
input
|
|
55
|
+
input,
|
|
56
56
|
context: opts?.context,
|
|
57
57
|
signal: opts?.signal
|
|
58
58
|
});
|
|
@@ -85,21 +85,16 @@ class TRPCClient {
|
|
|
85
85
|
constructor(opts){
|
|
86
86
|
this.requestId = 0;
|
|
87
87
|
function getTransformer() {
|
|
88
|
-
|
|
88
|
+
const transformer = opts.transformer;
|
|
89
|
+
if (!transformer) return {
|
|
89
90
|
serialize: (data)=>data,
|
|
90
91
|
deserialize: (data)=>data
|
|
91
92
|
};
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
if ('input' in opts.transformer) return {
|
|
98
|
-
serialize: opts.transformer.input.serialize,
|
|
99
|
-
deserialize: opts.transformer.output.deserialize
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
return opts.transformer;
|
|
93
|
+
if ('input' in transformer) return {
|
|
94
|
+
serialize: transformer.input.serialize,
|
|
95
|
+
deserialize: transformer.output.deserialize
|
|
96
|
+
};
|
|
97
|
+
return transformer;
|
|
103
98
|
}
|
|
104
99
|
this.runtime = {
|
|
105
100
|
transformer: getTransformer()
|
|
@@ -109,21 +104,15 @@ class TRPCClient {
|
|
|
109
104
|
}
|
|
110
105
|
}
|
|
111
106
|
|
|
107
|
+
function createTRPCUntypedClient(opts) {
|
|
108
|
+
const client = new TRPCUntypedClient(opts);
|
|
109
|
+
return client;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
112
|
/**
|
|
113
113
|
* @deprecated use `createTRPCProxyClient` instead
|
|
114
114
|
*/ function createTRPCClient(opts) {
|
|
115
|
-
const
|
|
116
|
-
if ('links' in opts) {
|
|
117
|
-
return opts.links;
|
|
118
|
-
}
|
|
119
|
-
return [
|
|
120
|
-
links_httpBatchLink.httpBatchLink(opts)
|
|
121
|
-
];
|
|
122
|
-
};
|
|
123
|
-
const client = new TRPCClient({
|
|
124
|
-
...opts,
|
|
125
|
-
links: getLinks()
|
|
126
|
-
});
|
|
115
|
+
const client = new TRPCUntypedClient(opts);
|
|
127
116
|
return client;
|
|
128
117
|
}
|
|
129
118
|
|
|
@@ -153,15 +142,15 @@ const clientCallTypeMap = {
|
|
|
153
142
|
});
|
|
154
143
|
}
|
|
155
144
|
function createTRPCProxyClient(opts) {
|
|
156
|
-
const client = new
|
|
145
|
+
const client = new TRPCUntypedClient(opts);
|
|
157
146
|
const proxy = createTRPCClientProxy(client);
|
|
158
147
|
return proxy;
|
|
159
148
|
}
|
|
160
149
|
|
|
161
150
|
exports.TRPCClientError = transformResult.TRPCClientError;
|
|
162
151
|
exports.splitLink = links_splitLink.splitLink;
|
|
163
|
-
exports.httpBatchLink = links_httpBatchLink.httpBatchLink;
|
|
164
152
|
exports.getFetch = httpUtils.getFetch;
|
|
153
|
+
exports.httpBatchLink = links_httpBatchLink.httpBatchLink;
|
|
165
154
|
exports.httpLink = links_httpLink.httpLink;
|
|
166
155
|
exports.loggerLink = links_loggerLink.loggerLink;
|
|
167
156
|
exports.createWSClient = links_wsLink.createWSClient;
|
|
@@ -169,3 +158,4 @@ exports.wsLink = links_wsLink.wsLink;
|
|
|
169
158
|
exports.createTRPCClient = createTRPCClient;
|
|
170
159
|
exports.createTRPCClientProxy = createTRPCClientProxy;
|
|
171
160
|
exports.createTRPCProxyClient = createTRPCProxyClient;
|
|
161
|
+
exports.createTRPCUntypedClient = createTRPCUntypedClient;
|
package/dist/index.mjs
CHANGED
|
@@ -3,15 +3,14 @@ import { T as TRPCClientError } from './transformResult-6fb67924.mjs';
|
|
|
3
3
|
export { T as TRPCClientError } from './transformResult-6fb67924.mjs';
|
|
4
4
|
import { c as createChain } from './splitLink-4c75f7be.mjs';
|
|
5
5
|
export { s as splitLink } from './splitLink-4c75f7be.mjs';
|
|
6
|
-
import { httpBatchLink } from './links/httpBatchLink.mjs';
|
|
7
|
-
export { httpBatchLink } from './links/httpBatchLink.mjs';
|
|
8
6
|
import { createFlatProxy, createRecursiveProxy } from '@trpc/server/shared';
|
|
9
7
|
export { g as getFetch } from './httpUtils-939364d7.mjs';
|
|
8
|
+
export { httpBatchLink } from './links/httpBatchLink.mjs';
|
|
10
9
|
export { httpLink } from './links/httpLink.mjs';
|
|
11
10
|
export { loggerLink } from './links/loggerLink.mjs';
|
|
12
11
|
export { createWSClient, wsLink } from './links/wsLink.mjs';
|
|
13
12
|
|
|
14
|
-
class
|
|
13
|
+
class TRPCUntypedClient {
|
|
15
14
|
$request({ type , input , path , context ={} }) {
|
|
16
15
|
const chain$ = createChain({
|
|
17
16
|
links: this.links,
|
|
@@ -42,7 +41,7 @@ class TRPCClient {
|
|
|
42
41
|
return this.requestAsPromise({
|
|
43
42
|
type: 'query',
|
|
44
43
|
path,
|
|
45
|
-
input
|
|
44
|
+
input,
|
|
46
45
|
context: opts?.context,
|
|
47
46
|
signal: opts?.signal
|
|
48
47
|
});
|
|
@@ -51,7 +50,7 @@ class TRPCClient {
|
|
|
51
50
|
return this.requestAsPromise({
|
|
52
51
|
type: 'mutation',
|
|
53
52
|
path,
|
|
54
|
-
input
|
|
53
|
+
input,
|
|
55
54
|
context: opts?.context,
|
|
56
55
|
signal: opts?.signal
|
|
57
56
|
});
|
|
@@ -84,21 +83,16 @@ class TRPCClient {
|
|
|
84
83
|
constructor(opts){
|
|
85
84
|
this.requestId = 0;
|
|
86
85
|
function getTransformer() {
|
|
87
|
-
|
|
86
|
+
const transformer = opts.transformer;
|
|
87
|
+
if (!transformer) return {
|
|
88
88
|
serialize: (data)=>data,
|
|
89
89
|
deserialize: (data)=>data
|
|
90
90
|
};
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if ('input' in opts.transformer) return {
|
|
97
|
-
serialize: opts.transformer.input.serialize,
|
|
98
|
-
deserialize: opts.transformer.output.deserialize
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
return opts.transformer;
|
|
91
|
+
if ('input' in transformer) return {
|
|
92
|
+
serialize: transformer.input.serialize,
|
|
93
|
+
deserialize: transformer.output.deserialize
|
|
94
|
+
};
|
|
95
|
+
return transformer;
|
|
102
96
|
}
|
|
103
97
|
this.runtime = {
|
|
104
98
|
transformer: getTransformer()
|
|
@@ -108,21 +102,15 @@ class TRPCClient {
|
|
|
108
102
|
}
|
|
109
103
|
}
|
|
110
104
|
|
|
105
|
+
function createTRPCUntypedClient(opts) {
|
|
106
|
+
const client = new TRPCUntypedClient(opts);
|
|
107
|
+
return client;
|
|
108
|
+
}
|
|
109
|
+
|
|
111
110
|
/**
|
|
112
111
|
* @deprecated use `createTRPCProxyClient` instead
|
|
113
112
|
*/ function createTRPCClient(opts) {
|
|
114
|
-
const
|
|
115
|
-
if ('links' in opts) {
|
|
116
|
-
return opts.links;
|
|
117
|
-
}
|
|
118
|
-
return [
|
|
119
|
-
httpBatchLink(opts)
|
|
120
|
-
];
|
|
121
|
-
};
|
|
122
|
-
const client = new TRPCClient({
|
|
123
|
-
...opts,
|
|
124
|
-
links: getLinks()
|
|
125
|
-
});
|
|
113
|
+
const client = new TRPCUntypedClient(opts);
|
|
126
114
|
return client;
|
|
127
115
|
}
|
|
128
116
|
|
|
@@ -152,9 +140,9 @@ const clientCallTypeMap = {
|
|
|
152
140
|
});
|
|
153
141
|
}
|
|
154
142
|
function createTRPCProxyClient(opts) {
|
|
155
|
-
const client = new
|
|
143
|
+
const client = new TRPCUntypedClient(opts);
|
|
156
144
|
const proxy = createTRPCClientProxy(client);
|
|
157
145
|
return proxy;
|
|
158
146
|
}
|
|
159
147
|
|
|
160
|
-
export { createTRPCClient, createTRPCClientProxy, createTRPCProxyClient };
|
|
148
|
+
export { createTRPCClient, createTRPCClientProxy, createTRPCProxyClient, createTRPCUntypedClient };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { AnyRouter, ClientDataTransformerOptions, CombinedDataTransformer, DataTransformerOptions, DefaultDataTransformer
|
|
1
|
+
import { AnyRouter, ClientDataTransformerOptions, CombinedDataTransformer, DataTransformerOptions, DefaultDataTransformer } from '@trpc/server';
|
|
2
2
|
import { Unsubscribable } from '@trpc/server/observable';
|
|
3
|
-
import { inferTransformedProcedureOutput } from '@trpc/server/shared';
|
|
4
3
|
import { TRPCClientError } from '../TRPCClientError';
|
|
5
4
|
import { OperationContext, TRPCClientRuntime, TRPCLink } from '../links/types';
|
|
6
5
|
declare type CreateTRPCClientBaseOptions<TRouter extends AnyRouter> = TRouter['_def']['_config']['transformer'] extends DefaultDataTransformer ? {
|
|
@@ -46,16 +45,16 @@ export interface TRPCSubscriptionObserver<TValue, TError> {
|
|
|
46
45
|
export declare type CreateTRPCClientOptions<TRouter extends AnyRouter> = CreateTRPCClientBaseOptions<TRouter> & {
|
|
47
46
|
links: TRPCLink<TRouter>[];
|
|
48
47
|
};
|
|
49
|
-
export declare class
|
|
48
|
+
export declare class TRPCUntypedClient<TRouter extends AnyRouter> {
|
|
50
49
|
private readonly links;
|
|
51
50
|
readonly runtime: TRPCClientRuntime;
|
|
52
51
|
private requestId;
|
|
53
52
|
constructor(opts: CreateTRPCClientOptions<TRouter>);
|
|
54
53
|
private $request;
|
|
55
54
|
private requestAsPromise;
|
|
56
|
-
query
|
|
57
|
-
mutation
|
|
58
|
-
subscription
|
|
55
|
+
query(path: string, input?: unknown, opts?: TRPCRequestOptions): Promise<unknown>;
|
|
56
|
+
mutation(path: string, input?: unknown, opts?: TRPCRequestOptions): Promise<unknown>;
|
|
57
|
+
subscription(path: string, input: unknown, opts: TRPCRequestOptions & Partial<TRPCSubscriptionObserver<unknown, TRPCClientError<AnyRouter>>>): Unsubscribable;
|
|
59
58
|
}
|
|
60
59
|
export {};
|
|
61
|
-
//# sourceMappingURL=
|
|
60
|
+
//# sourceMappingURL=TRPCUntypedClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TRPCUntypedClient.d.ts","sourceRoot":"","sources":["../../src/internals/TRPCUntypedClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,4BAA4B,EAC5B,uBAAuB,EAEvB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EAIf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,EACjB,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAExB,aAAK,2BAA2B,CAAC,OAAO,SAAS,SAAS,IACxD,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,SAAS,sBAAsB,GACpE;IACE;;;;;QAKI;IACJ,WAAW,CAAC,EAAE,kDAAkD,CAAC;CAClE,GACD,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,SAAS,sBAAsB,GACxE;IACE;;;;;QAKI;IACJ,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,SAAS,uBAAuB,GAClF,sBAAsB,GACtB,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;CAC/C,GACD;IACE;;;;;QAKI;IACJ,WAAW,CAAC,EAAE,4BAA4B,CAAC;CAC5C,CAAC;AAGR,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB,CAAC,MAAM,EAAE,MAAM;IACtD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,gBAAgB;AAChB,oBAAY,uBAAuB,CAAC,OAAO,SAAS,SAAS,IACzD,2BAA2B,CAAC,OAAO,CAAC,GAAG;IACrC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;CAC5B,CAAC;AAEN,qBAAa,iBAAiB,CAAC,OAAO,SAAS,SAAS;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,SAAgB,OAAO,EAAE,iBAAiB,CAAC;IAC3C,OAAO,CAAC,SAAS,CAAS;gBAEd,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC;IA4BlD,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,gBAAgB;IAyBjB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,kBAAkB;IAS9D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,kBAAkB;IASjE,YAAY,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,kBAAkB,GACtB,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,GACvE,cAAc;CAyBlB"}
|
package/dist/links/wsLink.js
CHANGED
|
@@ -191,7 +191,7 @@ function createWSClient(opts) {
|
|
|
191
191
|
delete pendingRequests[id];
|
|
192
192
|
outgoing = outgoing.filter((msg)=>msg.id !== id);
|
|
193
193
|
callbacks?.complete?.();
|
|
194
|
-
if (activeConnection.readyState ===
|
|
194
|
+
if (activeConnection.readyState === WebSocketImpl.OPEN && op.type === 'subscription') {
|
|
195
195
|
outgoing.push({
|
|
196
196
|
id,
|
|
197
197
|
method: 'subscription.stop'
|
package/dist/links/wsLink.mjs
CHANGED
|
@@ -187,7 +187,7 @@ function createWSClient(opts) {
|
|
|
187
187
|
delete pendingRequests[id];
|
|
188
188
|
outgoing = outgoing.filter((msg)=>msg.id !== id);
|
|
189
189
|
callbacks?.complete?.();
|
|
190
|
-
if (activeConnection.readyState ===
|
|
190
|
+
if (activeConnection.readyState === WebSocketImpl.OPEN && op.type === 'subscription') {
|
|
191
191
|
outgoing.push({
|
|
192
192
|
id,
|
|
193
193
|
method: 'subscription.stop'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/client",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.8.1",
|
|
4
4
|
"description": "tRPC Client lib",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"build": "rollup --config rollup.config.ts --configPlugin rollup-plugin-swc3",
|
|
26
26
|
"dev": "pnpm build --watch",
|
|
27
27
|
"codegen:entrypoints": "tsx entrypoints.script.ts",
|
|
28
|
+
"lint": "eslint --ext \".js,.ts,.tsx\" --ignore-path ../../.gitignore --report-unused-disable-directives src",
|
|
28
29
|
"ts-watch": "tsc --project tsconfig.watch.json"
|
|
29
30
|
},
|
|
30
31
|
"exports": {
|
|
@@ -66,17 +67,18 @@
|
|
|
66
67
|
"links"
|
|
67
68
|
],
|
|
68
69
|
"peerDependencies": {
|
|
69
|
-
"@trpc/server": "10.
|
|
70
|
+
"@trpc/server": "10.8.1"
|
|
70
71
|
},
|
|
71
72
|
"devDependencies": {
|
|
72
73
|
"@testing-library/dom": "^8.18.1",
|
|
73
|
-
"@trpc/server": "10.
|
|
74
|
+
"@trpc/server": "10.8.1",
|
|
74
75
|
"@types/node": "^18.7.20",
|
|
76
|
+
"eslint": "^8.30.0",
|
|
75
77
|
"rollup": "^2.79.1",
|
|
76
78
|
"tsx": "^3.9.0"
|
|
77
79
|
},
|
|
78
80
|
"publishConfig": {
|
|
79
81
|
"access": "public"
|
|
80
82
|
},
|
|
81
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "2a130c7cac7557ee740a687bade81a3f5747cf56"
|
|
82
84
|
}
|
package/src/createTRPCClient.ts
CHANGED
|
@@ -1,33 +1,64 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
AnyRouter,
|
|
3
|
+
inferProcedureInput,
|
|
4
|
+
inferProcedureOutput,
|
|
5
|
+
inferSubscriptionOutput,
|
|
6
|
+
} from '@trpc/server';
|
|
7
|
+
import { Unsubscribable } from '@trpc/server/observable';
|
|
8
|
+
import { inferTransformedProcedureOutput } from '@trpc/server/shared';
|
|
9
|
+
import { TRPCClientError } from './TRPCClientError';
|
|
2
10
|
import {
|
|
3
|
-
TRPCClient as Client,
|
|
4
11
|
CreateTRPCClientOptions,
|
|
5
|
-
|
|
6
|
-
|
|
12
|
+
TRPCRequestOptions,
|
|
13
|
+
TRPCSubscriptionObserver,
|
|
14
|
+
TRPCUntypedClient,
|
|
15
|
+
} from './internals/TRPCUntypedClient';
|
|
16
|
+
import { TRPCClientRuntime } from './links';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated
|
|
20
|
+
*/
|
|
21
|
+
export interface TRPCClient<TRouter extends AnyRouter> {
|
|
22
|
+
readonly runtime: TRPCClientRuntime;
|
|
23
|
+
query<
|
|
24
|
+
TQueries extends TRouter['_def']['queries'],
|
|
25
|
+
TPath extends string & keyof TQueries,
|
|
26
|
+
TInput extends inferProcedureInput<TQueries[TPath]>,
|
|
27
|
+
>(
|
|
28
|
+
path: TPath,
|
|
29
|
+
input?: TInput,
|
|
30
|
+
opts?: TRPCRequestOptions,
|
|
31
|
+
): Promise<inferProcedureOutput<TQueries[TPath]>>;
|
|
32
|
+
|
|
33
|
+
mutation<
|
|
34
|
+
TMutations extends TRouter['_def']['mutations'],
|
|
35
|
+
TPath extends string & keyof TMutations,
|
|
36
|
+
TInput extends inferProcedureInput<TMutations[TPath]>,
|
|
37
|
+
>(
|
|
38
|
+
path: TPath,
|
|
39
|
+
input?: TInput,
|
|
40
|
+
opts?: TRPCRequestOptions,
|
|
41
|
+
): Promise<inferTransformedProcedureOutput<TMutations[TPath]>>;
|
|
7
42
|
|
|
43
|
+
subscription<
|
|
44
|
+
TSubscriptions extends TRouter['_def']['subscriptions'],
|
|
45
|
+
TPath extends string & keyof TSubscriptions,
|
|
46
|
+
// TODO - this should probably be updated to use inferTransformedProcedureOutput but this is only hit for legacy clients
|
|
47
|
+
TOutput extends inferSubscriptionOutput<TRouter, TPath>,
|
|
48
|
+
TInput extends inferProcedureInput<TSubscriptions[TPath]>,
|
|
49
|
+
>(
|
|
50
|
+
path: TPath,
|
|
51
|
+
input: TInput,
|
|
52
|
+
opts: TRPCRequestOptions &
|
|
53
|
+
Partial<TRPCSubscriptionObserver<TOutput, TRPCClientError<TRouter>>>,
|
|
54
|
+
): Unsubscribable;
|
|
55
|
+
}
|
|
8
56
|
/**
|
|
9
57
|
* @deprecated use `createTRPCProxyClient` instead
|
|
10
58
|
*/
|
|
11
59
|
export function createTRPCClient<TRouter extends AnyRouter>(
|
|
12
60
|
opts: CreateTRPCClientOptions<TRouter>,
|
|
13
61
|
) {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
return opts.links;
|
|
17
|
-
}
|
|
18
|
-
return [httpBatchLink(opts)];
|
|
19
|
-
};
|
|
20
|
-
const client = new Client<TRouter>({
|
|
21
|
-
...opts,
|
|
22
|
-
links: getLinks(),
|
|
23
|
-
});
|
|
24
|
-
return client;
|
|
62
|
+
const client = new TRPCUntypedClient(opts);
|
|
63
|
+
return client as TRPCClient<TRouter>;
|
|
25
64
|
}
|
|
26
|
-
|
|
27
|
-
// Also the client created above needs to somehow be like `TRPCClient<Router> & Omit<Router, 'createCaller' | 'createProcedure' | '_def' | 'transformer' | 'errorFormatter' | 'getErrorShape>`
|
|
28
|
-
|
|
29
|
-
export type {
|
|
30
|
-
CreateTRPCClientOptions,
|
|
31
|
-
TRPCClient,
|
|
32
|
-
TRPCRequestOptions,
|
|
33
|
-
} from './internals/TRPCClient';
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
-
|
|
3
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
2
|
import type {
|
|
5
3
|
AnyMutationProcedure,
|
|
6
4
|
AnyProcedure,
|
|
@@ -19,8 +17,12 @@ import {
|
|
|
19
17
|
inferTransformedSubscriptionOutput,
|
|
20
18
|
} from '@trpc/server/shared';
|
|
21
19
|
import { TRPCClientError } from './TRPCClientError';
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
20
|
+
import { TRPCClient } from './createTRPCClient';
|
|
21
|
+
import { CreateTRPCClientOptions } from './createTRPCUntypedClient';
|
|
22
|
+
import {
|
|
23
|
+
TRPCSubscriptionObserver,
|
|
24
|
+
TRPCUntypedClient,
|
|
25
|
+
} from './internals/TRPCUntypedClient';
|
|
24
26
|
|
|
25
27
|
export type inferRouterProxyClient<TRouter extends AnyRouter> =
|
|
26
28
|
DecoratedProcedureRecord<TRouter['_def']['record'], TRouter>;
|
|
@@ -121,7 +123,7 @@ export function createTRPCClientProxy<TRouter extends AnyRouter>(
|
|
|
121
123
|
export function createTRPCProxyClient<TRouter extends AnyRouter>(
|
|
122
124
|
opts: CreateTRPCClientOptions<TRouter>,
|
|
123
125
|
) {
|
|
124
|
-
const client = new
|
|
125
|
-
const proxy = createTRPCClientProxy(client);
|
|
126
|
+
const client = new TRPCUntypedClient(opts);
|
|
127
|
+
const proxy = createTRPCClientProxy(client as TRPCClient<TRouter>);
|
|
126
128
|
return proxy;
|
|
127
129
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AnyRouter } from '@trpc/server';
|
|
2
|
+
import {
|
|
3
|
+
CreateTRPCClientOptions,
|
|
4
|
+
TRPCUntypedClient,
|
|
5
|
+
} from './internals/TRPCUntypedClient';
|
|
6
|
+
|
|
7
|
+
export function createTRPCUntypedClient<TRouter extends AnyRouter>(
|
|
8
|
+
opts: CreateTRPCClientOptions<TRouter>,
|
|
9
|
+
) {
|
|
10
|
+
const client = new TRPCUntypedClient(opts);
|
|
11
|
+
return client;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export type {
|
|
15
|
+
CreateTRPCClientOptions,
|
|
16
|
+
TRPCRequestOptions,
|
|
17
|
+
TRPCUntypedClient,
|
|
18
|
+
} from './internals/TRPCUntypedClient';
|
package/src/index.ts
CHANGED
|
@@ -5,9 +5,6 @@ import {
|
|
|
5
5
|
DataTransformer,
|
|
6
6
|
DataTransformerOptions,
|
|
7
7
|
DefaultDataTransformer,
|
|
8
|
-
inferProcedureInput,
|
|
9
|
-
inferProcedureOutput,
|
|
10
|
-
inferSubscriptionOutput,
|
|
11
8
|
} from '@trpc/server';
|
|
12
9
|
import {
|
|
13
10
|
Unsubscribable,
|
|
@@ -15,7 +12,6 @@ import {
|
|
|
15
12
|
observableToPromise,
|
|
16
13
|
share,
|
|
17
14
|
} from '@trpc/server/observable';
|
|
18
|
-
import { inferTransformedProcedureOutput } from '@trpc/server/shared';
|
|
19
15
|
import { TRPCClientError } from '../TRPCClientError';
|
|
20
16
|
import { createChain } from '../links/internals/createChain';
|
|
21
17
|
import {
|
|
@@ -81,8 +77,8 @@ export type CreateTRPCClientOptions<TRouter extends AnyRouter> =
|
|
|
81
77
|
links: TRPCLink<TRouter>[];
|
|
82
78
|
};
|
|
83
79
|
|
|
84
|
-
export class
|
|
85
|
-
private readonly links: OperationLink<
|
|
80
|
+
export class TRPCUntypedClient<TRouter extends AnyRouter> {
|
|
81
|
+
private readonly links: OperationLink<AnyRouter>[];
|
|
86
82
|
public readonly runtime: TRPCClientRuntime;
|
|
87
83
|
private requestId: number;
|
|
88
84
|
|
|
@@ -90,23 +86,21 @@ export class TRPCClient<TRouter extends AnyRouter> {
|
|
|
90
86
|
this.requestId = 0;
|
|
91
87
|
|
|
92
88
|
function getTransformer(): DataTransformer {
|
|
93
|
-
|
|
89
|
+
const transformer = opts.transformer as
|
|
90
|
+
| ClientDataTransformerOptions
|
|
91
|
+
| undefined;
|
|
92
|
+
if (!transformer)
|
|
94
93
|
return {
|
|
95
94
|
serialize: (data) => data,
|
|
96
95
|
deserialize: (data) => data,
|
|
97
96
|
};
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
serialize: opts.transformer.input.serialize,
|
|
106
|
-
deserialize: opts.transformer.output.deserialize,
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
return opts.transformer;
|
|
97
|
+
|
|
98
|
+
if ('input' in transformer)
|
|
99
|
+
return {
|
|
100
|
+
serialize: transformer.input.serialize,
|
|
101
|
+
deserialize: transformer.output.deserialize,
|
|
102
|
+
};
|
|
103
|
+
return transformer;
|
|
110
104
|
}
|
|
111
105
|
|
|
112
106
|
this.runtime = {
|
|
@@ -127,7 +121,7 @@ export class TRPCClient<TRouter extends AnyRouter> {
|
|
|
127
121
|
path: string;
|
|
128
122
|
context?: OperationContext;
|
|
129
123
|
}) {
|
|
130
|
-
const chain$ = createChain<
|
|
124
|
+
const chain$ = createChain<AnyRouter, TInput, TOutput>({
|
|
131
125
|
links: this.links as OperationLink<any, any, any>[],
|
|
132
126
|
op: {
|
|
133
127
|
id: ++this.requestId,
|
|
@@ -164,47 +158,31 @@ export class TRPCClient<TRouter extends AnyRouter> {
|
|
|
164
158
|
|
|
165
159
|
return abortablePromise;
|
|
166
160
|
}
|
|
167
|
-
public query
|
|
168
|
-
|
|
169
|
-
TPath extends string & keyof TQueries,
|
|
170
|
-
TInput extends inferProcedureInput<TQueries[TPath]>,
|
|
171
|
-
>(path: TPath, input?: TInput, opts?: TRPCRequestOptions) {
|
|
172
|
-
type TOutput = inferProcedureOutput<TQueries[TPath]>;
|
|
173
|
-
return this.requestAsPromise<TInput, TOutput>({
|
|
161
|
+
public query(path: string, input?: unknown, opts?: TRPCRequestOptions) {
|
|
162
|
+
return this.requestAsPromise<unknown, unknown>({
|
|
174
163
|
type: 'query',
|
|
175
164
|
path,
|
|
176
|
-
input
|
|
165
|
+
input,
|
|
177
166
|
context: opts?.context,
|
|
178
167
|
signal: opts?.signal,
|
|
179
168
|
});
|
|
180
169
|
}
|
|
181
|
-
public mutation
|
|
182
|
-
|
|
183
|
-
TPath extends string & keyof TMutations,
|
|
184
|
-
TInput extends inferProcedureInput<TMutations[TPath]>,
|
|
185
|
-
>(path: TPath, input?: TInput, opts?: TRPCRequestOptions) {
|
|
186
|
-
type TOutput = inferTransformedProcedureOutput<TMutations[TPath]>;
|
|
187
|
-
return this.requestAsPromise<TInput, TOutput>({
|
|
170
|
+
public mutation(path: string, input?: unknown, opts?: TRPCRequestOptions) {
|
|
171
|
+
return this.requestAsPromise<unknown, unknown>({
|
|
188
172
|
type: 'mutation',
|
|
189
173
|
path,
|
|
190
|
-
input
|
|
174
|
+
input,
|
|
191
175
|
context: opts?.context,
|
|
192
176
|
signal: opts?.signal,
|
|
193
177
|
});
|
|
194
178
|
}
|
|
195
|
-
public subscription
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
// TODO - this should probably be updated to use inferTransformedProcedureOutput but this is only hit for legacy clients
|
|
199
|
-
TOutput extends inferSubscriptionOutput<TRouter, TPath>,
|
|
200
|
-
TInput extends inferProcedureInput<TSubscriptions[TPath]>,
|
|
201
|
-
>(
|
|
202
|
-
path: TPath,
|
|
203
|
-
input: TInput,
|
|
179
|
+
public subscription(
|
|
180
|
+
path: string,
|
|
181
|
+
input: unknown,
|
|
204
182
|
opts: TRPCRequestOptions &
|
|
205
|
-
Partial<TRPCSubscriptionObserver<
|
|
183
|
+
Partial<TRPCSubscriptionObserver<unknown, TRPCClientError<AnyRouter>>>,
|
|
206
184
|
): Unsubscribable {
|
|
207
|
-
const observable$ = this.$request
|
|
185
|
+
const observable$ = this.$request({
|
|
208
186
|
type: 'subscription',
|
|
209
187
|
path,
|
|
210
188
|
input,
|
package/src/links/wsLink.ts
CHANGED
|
@@ -265,7 +265,7 @@ export function createWSClient(opts: WebSocketClientOptions) {
|
|
|
265
265
|
|
|
266
266
|
callbacks?.complete?.();
|
|
267
267
|
if (
|
|
268
|
-
activeConnection.readyState ===
|
|
268
|
+
activeConnection.readyState === WebSocketImpl.OPEN &&
|
|
269
269
|
op.type === 'subscription'
|
|
270
270
|
) {
|
|
271
271
|
outgoing.push({
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TRPCClient.d.ts","sourceRoot":"","sources":["../../src/internals/TRPCClient.ts"],"names":[],"mappings":"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"}
|