@trpc/server 10.0.0-alpha.21 → 10.0.0-alpha.22
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/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +3 -3
- package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +3 -3
- package/adapters/express/dist/trpc-server-adapters-express.esm.js +3 -3
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +2 -2
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +2 -2
- package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +2 -2
- package/adapters/fastify/index.js +1 -1
- package/adapters/fetch/index.d.ts +1 -0
- package/adapters/fetch/index.js +1 -0
- package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +3 -3
- package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +3 -3
- package/adapters/next/dist/trpc-server-adapters-next.esm.js +3 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +3 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +3 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +3 -3
- package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +3 -3
- package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +3 -3
- package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +3 -3
- package/dist/{transformTRPCResponse-9fdeecca.mjs → TRPCError-7971540a.mjs} +1 -53
- package/dist/{transformTRPCResponse-a57d3226.js → TRPCError-ddec3395.js} +0 -54
- package/dist/adapters/express.js +5 -4
- package/dist/adapters/express.mjs +5 -4
- package/dist/adapters/fastify/index.js +5 -5
- package/dist/adapters/fastify/index.mjs +5 -5
- package/dist/adapters/fetch/fetchRequestHandler.d.ts +8 -0
- package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -0
- package/dist/adapters/fetch/index.d.ts +3 -0
- package/dist/adapters/fetch/index.d.ts.map +1 -0
- package/dist/adapters/fetch/index.js +69 -0
- package/dist/adapters/fetch/index.mjs +65 -0
- package/dist/adapters/fetch/index.ts.js +1 -0
- package/dist/adapters/fetch/types.d.ts +21 -0
- package/dist/adapters/fetch/types.d.ts.map +1 -0
- package/dist/adapters/next.d.ts.map +1 -1
- package/dist/adapters/next.js +9 -9
- package/dist/adapters/next.mjs +8 -8
- package/dist/adapters/node-http/index.js +5 -4
- package/dist/adapters/node-http/index.mjs +5 -4
- package/dist/adapters/node-http/types.d.ts +1 -2
- package/dist/adapters/node-http/types.d.ts.map +1 -1
- package/dist/adapters/standalone.js +5 -4
- package/dist/adapters/standalone.mjs +5 -4
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +117 -80
- package/dist/adapters/ws.mjs +111 -74
- package/dist/{codes-6c13cf43.mjs → envelopes-1deb2fa7.mjs} +17 -1
- package/dist/{codes-4e4d55a9.js → envelopes-a953b930.js} +16 -0
- package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -51
- package/dist/index.mjs +30 -42
- package/dist/internals/callProcedure.d.ts +2 -2
- package/dist/internals/callProcedure.d.ts.map +1 -1
- package/dist/internals/procedure.d.ts +4 -3
- package/dist/internals/procedure.d.ts.map +1 -1
- package/dist/internals/transformTRPCResponse.d.ts +4 -2
- package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
- package/dist/{nodeHTTPRequestHandler-13c4bded.mjs → nodeHTTPRequestHandler-1cdb6383.mjs} +2 -2
- package/dist/{nodeHTTPRequestHandler-745e43e5.js → nodeHTTPRequestHandler-848f07b5.js} +3 -3
- package/dist/observable/index.d.ts +5 -0
- package/dist/observable/index.d.ts.map +1 -0
- package/dist/observable/index.js +204 -0
- package/dist/observable/index.mjs +195 -0
- package/dist/observable/index.ts.js +1 -0
- package/dist/observable/internals/identity.d.ts +2 -0
- package/dist/observable/internals/identity.d.ts.map +1 -0
- package/dist/observable/internals/observableToPromise.d.ts +10 -0
- package/dist/observable/internals/observableToPromise.d.ts.map +1 -0
- package/dist/observable/internals/pipe.d.ts +4 -0
- package/dist/observable/internals/pipe.d.ts.map +1 -0
- package/dist/observable/observable.d.ts +5 -0
- package/dist/observable/observable.d.ts.map +1 -0
- package/dist/observable/operators/index.d.ts +4 -0
- package/dist/observable/operators/index.d.ts.map +1 -0
- package/dist/observable/operators/map.d.ts +3 -0
- package/dist/observable/operators/map.d.ts.map +1 -0
- package/dist/observable/operators/share.d.ts +6 -0
- package/dist/observable/operators/share.d.ts.map +1 -0
- package/dist/observable/operators/tap.d.ts +3 -0
- package/dist/observable/operators/tap.d.ts.map +1 -0
- package/dist/observable/types.d.ts +29 -0
- package/dist/observable/types.d.ts.map +1 -0
- package/dist/observable-137ea1bd.mjs +105 -0
- package/dist/observable-3aa4d911.js +108 -0
- package/dist/{resolveHTTPResponse-de40fda7.mjs → resolveHTTPResponse-54a79e6c.mjs} +14 -20
- package/dist/{resolveHTTPResponse-b1167b6a.js → resolveHTTPResponse-ec3dccaa.js} +21 -27
- package/dist/router.d.ts +6 -6
- package/dist/router.d.ts.map +1 -1
- package/dist/rpc/envelopes.d.ts +61 -39
- package/dist/rpc/envelopes.d.ts.map +1 -1
- package/dist/rpc/index.js +7 -3
- package/dist/rpc/index.mjs +1 -1
- package/dist/subscription.d.ts +3 -52
- package/dist/subscription.d.ts.map +1 -1
- package/dist/subscription.js +44 -0
- package/dist/subscription.mjs +40 -0
- package/dist/subscription.ts.js +1 -0
- package/dist/transformTRPCResponse-333bed6c.js +56 -0
- package/dist/transformTRPCResponse-e0cba527.mjs +53 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/observable/index.d.ts +1 -0
- package/observable/index.js +1 -0
- package/package.json +24 -7
- package/rpc/dist/trpc-server-rpc.cjs.dev.js +1 -1
- package/rpc/dist/trpc-server-rpc.cjs.prod.js +1 -1
- package/rpc/dist/trpc-server-rpc.esm.js +1 -1
- package/src/adapters/fetch/fetchRequestHandler.ts +61 -0
- package/src/adapters/fetch/index.ts +2 -0
- package/src/adapters/fetch/types.ts +28 -0
- package/src/adapters/next.ts +3 -5
- package/src/adapters/node-http/types.ts +1 -2
- package/src/adapters/ws.ts +109 -71
- package/src/http/resolveHTTPResponse.ts +16 -20
- package/src/index.ts +0 -1
- package/src/internals/callProcedure.ts +6 -3
- package/src/internals/procedure.ts +40 -27
- package/src/internals/transformTRPCResponse.ts +20 -15
- package/src/observable/index.ts +4 -0
- package/src/observable/internals/identity.ts +3 -0
- package/src/observable/internals/observableToPromise.ts +49 -0
- package/src/observable/internals/pipe.ts +22 -0
- package/src/observable/observable.test.ts +101 -0
- package/src/observable/observable.ts +75 -0
- package/src/observable/operators/index.ts +3 -0
- package/src/observable/operators/map.test.ts +92 -0
- package/src/observable/operators/map.ts +25 -0
- package/src/observable/operators/share.test.ts +60 -0
- package/src/observable/operators/share.ts +67 -0
- package/src/observable/operators/tap.ts +26 -0
- package/src/observable/types.ts +69 -0
- package/src/router.ts +7 -9
- package/src/rpc/envelopes.ts +87 -68
- package/src/subscription.ts +5 -123
- package/src/types.ts +7 -0
- package/dist/internals/wrapCallSafe.d.ts +0 -16
- package/dist/internals/wrapCallSafe.d.ts.map +0 -1
- package/dist/subscription-4b936ba3.js +0 -136
- package/dist/subscription-8a85f253.mjs +0 -133
- package/src/internals/wrapCallSafe.ts +0 -19
- package/ws/dist/trpc-server-ws.cjs.d.ts +0 -1
- package/ws/dist/trpc-server-ws.cjs.dev.js +0 -15
- package/ws/dist/trpc-server-ws.cjs.js +0 -7
- package/ws/dist/trpc-server-ws.cjs.prod.js +0 -15
- package/ws/dist/trpc-server-ws.esm.js +0 -11
- package/ws/index.d.ts +0 -1
- package/ws/index.js +0 -1
package/dist/adapters/next.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-
|
|
7
|
-
require('../resolveHTTPResponse-
|
|
8
|
-
require('../
|
|
5
|
+
var TRPCError = require('../TRPCError-ddec3395.js');
|
|
6
|
+
var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-848f07b5.js');
|
|
7
|
+
require('../resolveHTTPResponse-ec3dccaa.js');
|
|
8
|
+
require('../transformTRPCResponse-333bed6c.js');
|
|
9
|
+
require('../envelopes-a953b930.js');
|
|
9
10
|
|
|
10
11
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
11
12
|
function createNextApiHandler(opts) {
|
|
@@ -26,7 +27,7 @@ function createNextApiHandler(opts) {
|
|
|
26
27
|
|
|
27
28
|
if (path === null) {
|
|
28
29
|
const error = opts.router.getErrorShape({
|
|
29
|
-
error: new
|
|
30
|
+
error: new TRPCError.TRPCError({
|
|
30
31
|
message: 'Query "trpc" not found - is the file named `[trpc]`.ts or `[...trpc].ts`?',
|
|
31
32
|
code: 'INTERNAL_SERVER_ERROR'
|
|
32
33
|
}),
|
|
@@ -35,12 +36,11 @@ function createNextApiHandler(opts) {
|
|
|
35
36
|
path: undefined,
|
|
36
37
|
input: undefined
|
|
37
38
|
});
|
|
38
|
-
|
|
39
|
+
res.statusCode = 500;
|
|
40
|
+
res.json({
|
|
39
41
|
id: -1,
|
|
40
42
|
error
|
|
41
|
-
};
|
|
42
|
-
res.statusCode = 500;
|
|
43
|
-
res.json(json);
|
|
43
|
+
});
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
|
package/dist/adapters/next.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { T as TRPCError } from '../
|
|
2
|
-
import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-
|
|
3
|
-
import '../resolveHTTPResponse-
|
|
4
|
-
import '../
|
|
1
|
+
import { T as TRPCError } from '../TRPCError-7971540a.mjs';
|
|
2
|
+
import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-1cdb6383.mjs';
|
|
3
|
+
import '../resolveHTTPResponse-54a79e6c.mjs';
|
|
4
|
+
import '../transformTRPCResponse-e0cba527.mjs';
|
|
5
|
+
import '../envelopes-1deb2fa7.mjs';
|
|
5
6
|
|
|
6
7
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
7
8
|
function createNextApiHandler(opts) {
|
|
@@ -31,12 +32,11 @@ function createNextApiHandler(opts) {
|
|
|
31
32
|
path: undefined,
|
|
32
33
|
input: undefined
|
|
33
34
|
});
|
|
34
|
-
|
|
35
|
+
res.statusCode = 500;
|
|
36
|
+
res.json({
|
|
35
37
|
id: -1,
|
|
36
38
|
error
|
|
37
|
-
};
|
|
38
|
-
res.statusCode = 500;
|
|
39
|
-
res.json(json);
|
|
39
|
+
});
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-
|
|
6
|
-
require('../../resolveHTTPResponse-
|
|
7
|
-
require('../../
|
|
8
|
-
require('../../
|
|
5
|
+
var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-848f07b5.js');
|
|
6
|
+
require('../../resolveHTTPResponse-ec3dccaa.js');
|
|
7
|
+
require('../../TRPCError-ddec3395.js');
|
|
8
|
+
require('../../transformTRPCResponse-333bed6c.js');
|
|
9
|
+
require('../../envelopes-a953b930.js');
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-
|
|
2
|
-
import '../../resolveHTTPResponse-
|
|
3
|
-
import '../../
|
|
4
|
-
import '../../
|
|
1
|
+
export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-1cdb6383.mjs';
|
|
2
|
+
import '../../resolveHTTPResponse-54a79e6c.mjs';
|
|
3
|
+
import '../../TRPCError-7971540a.mjs';
|
|
4
|
+
import '../../transformTRPCResponse-e0cba527.mjs';
|
|
5
|
+
import '../../envelopes-1deb2fa7.mjs';
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
3
|
import qs from 'qs';
|
|
4
|
-
import { inferRouterContext } from '../..';
|
|
5
4
|
import { HTTPBaseHandlerOptions } from '../../http/internals/types';
|
|
6
|
-
import { AnyRouter } from '../../router';
|
|
5
|
+
import { AnyRouter, inferRouterContext } from '../../router';
|
|
7
6
|
export declare type NodeHTTPRequest = IncomingMessage & {
|
|
8
7
|
method?: string;
|
|
9
8
|
query?: qs.ParsedQs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE7D,oBAAY,eAAe,GAAG,eAAe,GAAG;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,oBAAY,gBAAgB,GAAG,cAAc,CAAC;AAE9C,oBAAY,2BAA2B,CACrC,OAAO,SAAS,SAAS,EACzB,QAAQ,EACR,SAAS,IACP,OAAO,SAAS,kBAAkB,CAAC,OAAO,CAAC,GAC3C;IACE;;QAEI;IACJ,aAAa,CAAC,EAAE,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACvE,GACD;IACE;;QAEI;IACJ,aAAa,EAAE,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACtE,CAAC;AAEN,oBAAY,sBAAsB,CAChC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,IAChC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG;IAC9C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE9D,oBAAY,8BAA8B,CAAC,QAAQ,EAAE,SAAS,IAAI;IAChE,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;CAChB,CAAC;AACF,oBAAY,uBAAuB,CACjC,OAAO,SAAS,SAAS,EACzB,QAAQ,EACR,SAAS,IACP,CACF,IAAI,EAAE,8BAA8B,CAAC,QAAQ,EAAE,SAAS,CAAC,KACtD,kBAAkB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var http = require('http');
|
|
6
|
-
var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-
|
|
7
|
-
require('../resolveHTTPResponse-
|
|
8
|
-
require('../
|
|
9
|
-
require('../
|
|
6
|
+
var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-848f07b5.js');
|
|
7
|
+
require('../resolveHTTPResponse-ec3dccaa.js');
|
|
8
|
+
require('../TRPCError-ddec3395.js');
|
|
9
|
+
require('../transformTRPCResponse-333bed6c.js');
|
|
10
|
+
require('../envelopes-a953b930.js');
|
|
10
11
|
|
|
11
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
13
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import http from 'http';
|
|
2
|
-
import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-
|
|
3
|
-
import '../resolveHTTPResponse-
|
|
4
|
-
import '../
|
|
5
|
-
import '../
|
|
2
|
+
import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-1cdb6383.mjs';
|
|
3
|
+
import '../resolveHTTPResponse-54a79e6c.mjs';
|
|
4
|
+
import '../TRPCError-7971540a.mjs';
|
|
5
|
+
import '../transformTRPCResponse-e0cba527.mjs';
|
|
6
|
+
import '../envelopes-1deb2fa7.mjs';
|
|
6
7
|
|
|
7
8
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
8
9
|
function createHTTPHandler(opts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/adapters/ws.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/adapters/ws.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAKrE,OAAO,EAAE,SAAS,EAAqC,MAAM,WAAW,CAAC;AAQzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAyE1D;;GAEG;AACH,oBAAY,iBAAiB,CAAC,OAAO,SAAS,SAAS,IAAI,kBAAkB,CAC3E,OAAO,EACP,eAAe,CAChB,GAAG;IACF,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;CAC1B,GAAG,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;AAE9D,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EACvD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;;EAiPjC"}
|
package/dist/adapters/ws.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
require('
|
|
5
|
+
var TRPCError = require('../TRPCError-ddec3395.js');
|
|
6
|
+
var transformTRPCResponse = require('../transformTRPCResponse-333bed6c.js');
|
|
7
|
+
var observable = require('../observable-3aa4d911.js');
|
|
8
8
|
|
|
9
9
|
/* istanbul ignore next */
|
|
10
10
|
function assertIsObject(obj) {
|
|
@@ -59,8 +59,8 @@ function parseMessage(obj, transformer) {
|
|
|
59
59
|
if (method === 'subscription.stop') {
|
|
60
60
|
return {
|
|
61
61
|
id,
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
jsonrpc,
|
|
63
|
+
method
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -73,8 +73,8 @@ function parseMessage(obj, transformer) {
|
|
|
73
73
|
assertIsString(path);
|
|
74
74
|
const input = transformer.input.deserialize(rawInput);
|
|
75
75
|
return {
|
|
76
|
-
jsonrpc,
|
|
77
76
|
id,
|
|
77
|
+
jsonrpc,
|
|
78
78
|
method,
|
|
79
79
|
params: {
|
|
80
80
|
input,
|
|
@@ -103,6 +103,20 @@ function applyWSSHandler(opts) {
|
|
|
103
103
|
client.send(JSON.stringify(transformTRPCResponse.transformTRPCResponse(router, untransformedJSON)));
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
function stopSubscription(subscription, {
|
|
107
|
+
id,
|
|
108
|
+
jsonrpc
|
|
109
|
+
}) {
|
|
110
|
+
subscription.unsubscribe();
|
|
111
|
+
respond({
|
|
112
|
+
id,
|
|
113
|
+
jsonrpc,
|
|
114
|
+
result: {
|
|
115
|
+
type: 'stopped'
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
106
120
|
const ctxPromise = createContext === null || createContext === void 0 ? void 0 : createContext({
|
|
107
121
|
req,
|
|
108
122
|
res: client
|
|
@@ -111,12 +125,13 @@ function applyWSSHandler(opts) {
|
|
|
111
125
|
|
|
112
126
|
async function handleRequest(msg) {
|
|
113
127
|
const {
|
|
114
|
-
id
|
|
128
|
+
id,
|
|
129
|
+
jsonrpc
|
|
115
130
|
} = msg;
|
|
116
131
|
/* istanbul ignore next */
|
|
117
132
|
|
|
118
133
|
if (id === null) {
|
|
119
|
-
throw new
|
|
134
|
+
throw new TRPCError.TRPCError({
|
|
120
135
|
code: 'BAD_REQUEST',
|
|
121
136
|
message: '`id` is required'
|
|
122
137
|
});
|
|
@@ -126,7 +141,10 @@ function applyWSSHandler(opts) {
|
|
|
126
141
|
const sub = clientSubscriptions.get(id);
|
|
127
142
|
|
|
128
143
|
if (sub) {
|
|
129
|
-
sub
|
|
144
|
+
stopSubscription(sub, {
|
|
145
|
+
id,
|
|
146
|
+
jsonrpc
|
|
147
|
+
});
|
|
130
148
|
}
|
|
131
149
|
|
|
132
150
|
clientSubscriptions.delete(id);
|
|
@@ -150,9 +168,18 @@ function applyWSSHandler(opts) {
|
|
|
150
168
|
ctx
|
|
151
169
|
});
|
|
152
170
|
|
|
153
|
-
if (
|
|
171
|
+
if (type === 'subscription') {
|
|
172
|
+
if (!observable.isObservable(result)) {
|
|
173
|
+
throw new TRPCError.TRPCError({
|
|
174
|
+
message: `Subscription ${path} did not return an observable`,
|
|
175
|
+
code: 'INTERNAL_SERVER_ERROR'
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
} else {
|
|
179
|
+
// send the value as data if the method is not a subscription
|
|
154
180
|
respond({
|
|
155
181
|
id,
|
|
182
|
+
jsonrpc,
|
|
156
183
|
result: {
|
|
157
184
|
type: 'data',
|
|
158
185
|
data: result
|
|
@@ -161,12 +188,61 @@ function applyWSSHandler(opts) {
|
|
|
161
188
|
return;
|
|
162
189
|
}
|
|
163
190
|
|
|
164
|
-
const
|
|
191
|
+
const observable$1 = result;
|
|
192
|
+
const sub = observable$1.subscribe({
|
|
193
|
+
next(data) {
|
|
194
|
+
respond({
|
|
195
|
+
id,
|
|
196
|
+
jsonrpc,
|
|
197
|
+
result: {
|
|
198
|
+
type: 'data',
|
|
199
|
+
data
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
},
|
|
203
|
+
|
|
204
|
+
error(err) {
|
|
205
|
+
var _opts$onError;
|
|
206
|
+
|
|
207
|
+
const error = TRPCError.getErrorFromUnknown(err);
|
|
208
|
+
(_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, {
|
|
209
|
+
error,
|
|
210
|
+
path,
|
|
211
|
+
type,
|
|
212
|
+
ctx,
|
|
213
|
+
req,
|
|
214
|
+
input
|
|
215
|
+
});
|
|
216
|
+
respond({
|
|
217
|
+
id,
|
|
218
|
+
jsonrpc,
|
|
219
|
+
error: router.getErrorShape({
|
|
220
|
+
error,
|
|
221
|
+
type,
|
|
222
|
+
path,
|
|
223
|
+
input,
|
|
224
|
+
ctx
|
|
225
|
+
})
|
|
226
|
+
});
|
|
227
|
+
},
|
|
228
|
+
|
|
229
|
+
complete() {
|
|
230
|
+
respond({
|
|
231
|
+
id,
|
|
232
|
+
jsonrpc,
|
|
233
|
+
result: {
|
|
234
|
+
type: 'stopped'
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
});
|
|
165
240
|
/* istanbul ignore next */
|
|
166
241
|
|
|
167
242
|
if (client.readyState !== client.OPEN) {
|
|
168
243
|
// if the client got disconnected whilst initializing the subscription
|
|
169
|
-
|
|
244
|
+
// no need to send stopped message if the client is disconnected
|
|
245
|
+
sub.unsubscribe();
|
|
170
246
|
return;
|
|
171
247
|
}
|
|
172
248
|
/* istanbul ignore next */
|
|
@@ -174,76 +250,31 @@ function applyWSSHandler(opts) {
|
|
|
174
250
|
|
|
175
251
|
if (clientSubscriptions.has(id)) {
|
|
176
252
|
// duplicate request ids for client
|
|
177
|
-
sub
|
|
178
|
-
|
|
253
|
+
stopSubscription(sub, {
|
|
254
|
+
id,
|
|
255
|
+
jsonrpc
|
|
256
|
+
});
|
|
257
|
+
throw new TRPCError.TRPCError({
|
|
179
258
|
message: `Duplicate id ${id}`,
|
|
180
259
|
code: 'BAD_REQUEST'
|
|
181
260
|
});
|
|
182
261
|
}
|
|
183
262
|
|
|
184
263
|
clientSubscriptions.set(id, sub);
|
|
185
|
-
sub.on('data', data => {
|
|
186
|
-
respond({
|
|
187
|
-
id,
|
|
188
|
-
result: {
|
|
189
|
-
type: 'data',
|
|
190
|
-
data
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
});
|
|
194
|
-
sub.on('error', _error => {
|
|
195
|
-
var _opts$onError;
|
|
196
|
-
|
|
197
|
-
const error = transformTRPCResponse.getErrorFromUnknown(_error);
|
|
198
|
-
const json = {
|
|
199
|
-
id,
|
|
200
|
-
error: router.getErrorShape({
|
|
201
|
-
error,
|
|
202
|
-
type,
|
|
203
|
-
path,
|
|
204
|
-
input,
|
|
205
|
-
ctx
|
|
206
|
-
})
|
|
207
|
-
};
|
|
208
|
-
(_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, {
|
|
209
|
-
error,
|
|
210
|
-
path,
|
|
211
|
-
type,
|
|
212
|
-
ctx,
|
|
213
|
-
req,
|
|
214
|
-
input
|
|
215
|
-
});
|
|
216
|
-
respond(json);
|
|
217
|
-
});
|
|
218
|
-
sub.on('destroy', () => {
|
|
219
|
-
respond({
|
|
220
|
-
id,
|
|
221
|
-
result: {
|
|
222
|
-
type: 'stopped'
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
});
|
|
226
264
|
respond({
|
|
227
265
|
id,
|
|
266
|
+
jsonrpc,
|
|
228
267
|
result: {
|
|
229
268
|
type: 'started'
|
|
230
269
|
}
|
|
231
270
|
});
|
|
232
|
-
await sub.start();
|
|
233
271
|
} catch (cause)
|
|
234
272
|
/* istanbul ignore next */
|
|
235
273
|
{
|
|
236
274
|
var _opts$onError2;
|
|
237
275
|
|
|
238
276
|
// procedure threw an error
|
|
239
|
-
const error =
|
|
240
|
-
const json = router.getErrorShape({
|
|
241
|
-
error,
|
|
242
|
-
type,
|
|
243
|
-
path,
|
|
244
|
-
input,
|
|
245
|
-
ctx
|
|
246
|
-
});
|
|
277
|
+
const error = TRPCError.getErrorFromUnknown(cause);
|
|
247
278
|
(_opts$onError2 = opts.onError) === null || _opts$onError2 === void 0 ? void 0 : _opts$onError2.call(opts, {
|
|
248
279
|
error,
|
|
249
280
|
path,
|
|
@@ -254,7 +285,14 @@ function applyWSSHandler(opts) {
|
|
|
254
285
|
});
|
|
255
286
|
respond({
|
|
256
287
|
id,
|
|
257
|
-
|
|
288
|
+
jsonrpc,
|
|
289
|
+
error: router.getErrorShape({
|
|
290
|
+
error,
|
|
291
|
+
type,
|
|
292
|
+
path,
|
|
293
|
+
input,
|
|
294
|
+
ctx
|
|
295
|
+
})
|
|
258
296
|
});
|
|
259
297
|
}
|
|
260
298
|
}
|
|
@@ -266,9 +304,9 @@ function applyWSSHandler(opts) {
|
|
|
266
304
|
const promises = msgs.map(raw => parseMessage(raw, transformer)).map(handleRequest);
|
|
267
305
|
await Promise.all(promises);
|
|
268
306
|
} catch (cause) {
|
|
269
|
-
const error = new
|
|
307
|
+
const error = new TRPCError.TRPCError({
|
|
270
308
|
code: 'PARSE_ERROR',
|
|
271
|
-
cause:
|
|
309
|
+
cause: TRPCError.getCauseFromUnknown(cause)
|
|
272
310
|
});
|
|
273
311
|
respond({
|
|
274
312
|
id: null,
|
|
@@ -284,7 +322,7 @@ function applyWSSHandler(opts) {
|
|
|
284
322
|
});
|
|
285
323
|
client.once('close', () => {
|
|
286
324
|
for (const sub of clientSubscriptions.values()) {
|
|
287
|
-
sub.
|
|
325
|
+
sub.unsubscribe();
|
|
288
326
|
}
|
|
289
327
|
|
|
290
328
|
clientSubscriptions.clear();
|
|
@@ -296,17 +334,7 @@ function applyWSSHandler(opts) {
|
|
|
296
334
|
} catch (cause) {
|
|
297
335
|
var _opts$onError3, _global$setImmediate;
|
|
298
336
|
|
|
299
|
-
const error =
|
|
300
|
-
const json = {
|
|
301
|
-
id: null,
|
|
302
|
-
error: router.getErrorShape({
|
|
303
|
-
error,
|
|
304
|
-
type: 'unknown',
|
|
305
|
-
path: undefined,
|
|
306
|
-
input: undefined,
|
|
307
|
-
ctx
|
|
308
|
-
})
|
|
309
|
-
};
|
|
337
|
+
const error = TRPCError.getErrorFromUnknown(cause);
|
|
310
338
|
(_opts$onError3 = opts.onError) === null || _opts$onError3 === void 0 ? void 0 : _opts$onError3.call(opts, {
|
|
311
339
|
error,
|
|
312
340
|
path: undefined,
|
|
@@ -315,7 +343,16 @@ function applyWSSHandler(opts) {
|
|
|
315
343
|
req,
|
|
316
344
|
input: undefined
|
|
317
345
|
});
|
|
318
|
-
respond(
|
|
346
|
+
respond({
|
|
347
|
+
id: null,
|
|
348
|
+
error: router.getErrorShape({
|
|
349
|
+
error,
|
|
350
|
+
type: 'unknown',
|
|
351
|
+
path: undefined,
|
|
352
|
+
input: undefined,
|
|
353
|
+
ctx
|
|
354
|
+
})
|
|
355
|
+
}); // close in next tick
|
|
319
356
|
|
|
320
357
|
((_global$setImmediate = global.setImmediate) !== null && _global$setImmediate !== void 0 ? _global$setImmediate : global.setTimeout)(() => {
|
|
321
358
|
client.close();
|