@trpc/server 10.0.0-alpha.2 → 10.0.0-alpha.20
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 +5 -4
- package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +5 -4
- package/adapters/express/dist/trpc-server-adapters-express.esm.js +5 -4
- package/adapters/express/index.d.ts +1 -0
- package/adapters/express/index.js +1 -0
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +1 -0
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +109 -0
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +7 -0
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +109 -0
- package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +104 -0
- package/adapters/fastify/index.d.ts +1 -0
- package/adapters/fastify/index.js +1 -0
- package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +2 -1
- package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +2 -1
- package/adapters/next/dist/trpc-server-adapters-next.esm.js +2 -1
- package/adapters/next/index.d.ts +1 -0
- package/adapters/next/index.js +1 -0
- package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +2 -1
- package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +2 -1
- package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +2 -1
- package/adapters/node-http/index.d.ts +1 -0
- package/adapters/node-http/index.js +1 -0
- package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +3 -2
- package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +3 -2
- package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +3 -2
- package/adapters/standalone/index.d.ts +1 -0
- package/adapters/standalone/index.js +1 -0
- package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +5 -4
- package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +5 -4
- package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +5 -4
- package/adapters/ws/index.d.ts +1 -0
- package/adapters/ws/index.js +1 -0
- package/dist/{declarations/src/TRPCError.d.ts → TRPCError.d.ts} +10 -18
- package/dist/TRPCError.d.ts.map +1 -0
- package/dist/{declarations/src/adapters → adapters}/express.d.ts +5 -5
- package/dist/adapters/express.d.ts.map +1 -0
- package/dist/adapters/express.js +23 -0
- package/dist/adapters/express.mjs +19 -0
- package/dist/adapters/express.ts.js +1 -0
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts +13 -0
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -0
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +12 -0
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -0
- package/dist/adapters/fastify/index.d.ts +3 -0
- package/dist/adapters/fastify/index.d.ts.map +1 -0
- package/dist/adapters/fastify/index.js +109 -0
- package/dist/adapters/fastify/index.mjs +104 -0
- package/dist/adapters/fastify/index.ts.js +1 -0
- package/dist/{declarations/src/adapters → adapters}/next.d.ts +5 -5
- package/dist/adapters/next.d.ts.map +1 -0
- package/dist/adapters/next.js +56 -0
- package/dist/adapters/next.mjs +52 -0
- package/dist/adapters/next.ts.js +1 -0
- package/dist/{declarations/src/adapters → adapters}/node-http/index.d.ts +2 -2
- package/dist/adapters/node-http/index.d.ts.map +1 -0
- package/dist/adapters/node-http/index.js +13 -0
- package/dist/adapters/node-http/index.mjs +5 -0
- package/dist/adapters/node-http/index.ts.js +1 -0
- package/dist/{declarations/src/adapters → adapters}/node-http/internals/getPostBody.d.ts +12 -12
- package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -0
- package/dist/{declarations/src/adapters → adapters}/node-http/nodeHTTPRequestHandler.d.ts +9 -9
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -0
- package/dist/{declarations/src/adapters → adapters}/node-http/types.d.ts +32 -32
- package/dist/adapters/node-http/types.d.ts.map +1 -0
- package/dist/{declarations/src/adapters → adapters}/standalone.d.ts +13 -13
- package/dist/adapters/standalone.d.ts.map +1 -0
- package/dist/adapters/standalone.js +46 -0
- package/dist/adapters/standalone.mjs +36 -0
- package/dist/adapters/standalone.ts.js +1 -0
- package/dist/{declarations/src/adapters → adapters}/ws.d.ts +16 -16
- package/dist/adapters/ws.d.ts.map +1 -0
- package/dist/adapters/ws.js +347 -0
- package/dist/adapters/ws.mjs +343 -0
- package/dist/adapters/ws.ts.js +1 -0
- package/dist/{declarations/src/assertNotBrowser.d.ts → assertNotBrowser.d.ts} +1 -1
- package/dist/assertNotBrowser.d.ts.map +1 -0
- package/dist/{codes-fe07bf82.esm.js → codes-7a3d4f65.mjs} +0 -0
- package/dist/{codes-33cef953.cjs.dev.js → codes-7f46544e.js} +0 -0
- package/dist/{declarations/src/http → http}/ResponseMeta.d.ts +4 -4
- package/dist/http/ResponseMeta.d.ts.map +1 -0
- package/dist/{declarations/src/http → http}/index.d.ts +2 -2
- package/dist/http/index.d.ts.map +1 -0
- package/dist/{declarations/src/http → http}/internals/getHTTPStatusCode.d.ts +20 -20
- package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -0
- package/dist/{declarations/src/http → http}/internals/types.d.ts +39 -39
- package/dist/http/internals/types.d.ts.map +1 -0
- package/dist/{declarations/src/http → http}/resolveHTTPResponse.d.ts +12 -12
- package/dist/http/resolveHTTPResponse.d.ts.map +1 -0
- package/dist/{declarations/src/index.d.ts → index.d.ts} +7 -9
- package/dist/index.d.ts.map +1 -0
- package/dist/{trpc-server.cjs.dev.js → index.js} +45 -62
- package/dist/{trpc-server.esm.js → index.mjs} +41 -54
- package/dist/index.ts.js +1 -0
- package/dist/{declarations/src/internals → internals}/BaseHandlerOptions.d.ts +12 -12
- package/dist/internals/BaseHandlerOptions.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/OnErrorFunction.d.ts +10 -10
- package/dist/internals/OnErrorFunction.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/callProcedure.d.ts +9 -9
- package/dist/internals/callProcedure.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/errors.d.ts +3 -3
- package/dist/internals/errors.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/invert.d.ts +8 -8
- package/dist/internals/invert.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/middlewares.d.ts +33 -33
- package/dist/internals/middlewares.d.ts.map +1 -0
- package/dist/internals/procedure.d.ts +81 -0
- package/dist/internals/procedure.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/transformTRPCResponse.d.ts +6 -6
- package/dist/internals/transformTRPCResponse.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/wrapCallSafe.d.ts +15 -15
- package/dist/internals/wrapCallSafe.d.ts.map +1 -0
- package/dist/nodeHTTPRequestHandler-5fccb3bb.mjs +106 -0
- package/dist/nodeHTTPRequestHandler-7d71ac09.js +108 -0
- package/dist/{nodeHTTPRequestHandler-2e6cc2d7.esm.js → resolveHTTPResponse-3292a84a.mjs} +3 -105
- package/dist/{nodeHTTPRequestHandler-b7ff366e.cjs.dev.js → resolveHTTPResponse-c3777a47.js} +2 -105
- package/dist/{declarations/src/router.d.ts → router.d.ts} +168 -175
- package/dist/router.d.ts.map +1 -0
- package/dist/{declarations/src/rpc → rpc}/codes.d.ts +46 -46
- package/dist/rpc/codes.d.ts.map +1 -0
- package/dist/{declarations/src/rpc → rpc}/envelopes.d.ts +71 -71
- package/dist/rpc/envelopes.d.ts.map +1 -0
- package/dist/{declarations/src/rpc → rpc}/index.d.ts +2 -2
- package/dist/rpc/index.d.ts.map +1 -0
- package/dist/rpc/index.js +10 -0
- package/dist/rpc/index.mjs +1 -0
- package/dist/rpc/index.ts.js +1 -0
- package/dist/{subscription-fbda2888.esm.js → subscription-0d8a48ec.mjs} +2 -2
- package/dist/{subscription-c2e0bfbc.cjs.prod.js → subscription-41611bc2.js} +2 -2
- package/dist/{declarations/src/subscription.d.ts → subscription.d.ts} +57 -57
- package/dist/subscription.d.ts.map +1 -0
- package/dist/{transformTRPCResponse-8248515e.cjs.dev.js → transformTRPCResponse-43a869de.js} +41 -45
- package/dist/{transformTRPCResponse-f73dc4a2.esm.js → transformTRPCResponse-ff424ff4.mjs} +41 -45
- package/dist/{declarations/src/transformer.d.ts → transformer.d.ts} +29 -29
- package/dist/transformer.d.ts.map +1 -0
- package/dist/{declarations/src/types.d.ts → types.d.ts} +32 -40
- package/dist/types.d.ts.map +1 -0
- package/package.json +55 -20
- package/rpc/index.d.ts +1 -0
- package/rpc/index.js +1 -0
- package/src/TRPCError.ts +3 -11
- package/src/adapters/express.ts +3 -3
- package/src/adapters/fastify/fastifyRequestHandler.ts +78 -0
- package/src/adapters/fastify/fastifyTRPCPlugin.ts +56 -0
- package/src/adapters/fastify/index.ts +2 -0
- package/src/adapters/next.ts +6 -2
- package/src/adapters/node-http/internals/getPostBody.test.ts +2 -1
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +5 -5
- package/src/adapters/standalone.ts +2 -1
- package/src/adapters/ws.ts +8 -5
- package/src/http/internals/getHTTPStatusCode.ts +1 -1
- package/src/http/internals/types.ts +2 -2
- package/src/http/resolveHTTPResponse.ts +3 -3
- package/src/index.ts +1 -5
- package/src/internals/BaseHandlerOptions.ts +1 -1
- package/src/internals/OnErrorFunction.ts +1 -1
- package/src/internals/middlewares.ts +1 -1
- package/src/internals/procedure.ts +123 -63
- package/src/router.ts +93 -63
- package/src/subscription.ts +1 -1
- package/src/types.ts +0 -9
- package/ws/dist/trpc-server-ws.cjs.dev.js +1 -1
- package/ws/dist/trpc-server-ws.cjs.prod.js +1 -1
- package/ws/dist/trpc-server-ws.esm.js +1 -1
- package/ws/index.d.ts +1 -0
- package/ws/index.js +1 -0
- package/adapters/express/package.json +0 -4
- package/adapters/next/package.json +0 -4
- package/adapters/node-http/package.json +0 -4
- package/adapters/standalone/package.json +0 -4
- package/adapters/ws/package.json +0 -4
- package/dist/codes-e0df67c4.cjs.prod.js +0 -60
- package/dist/declarations/src/TRPCError.d.ts.map +0 -1
- package/dist/declarations/src/adapters/express.d.ts.map +0 -1
- package/dist/declarations/src/adapters/next.d.ts.map +0 -1
- package/dist/declarations/src/adapters/node-http/index.d.ts.map +0 -1
- package/dist/declarations/src/adapters/node-http/internals/getPostBody.d.ts.map +0 -1
- package/dist/declarations/src/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +0 -1
- package/dist/declarations/src/adapters/node-http/types.d.ts.map +0 -1
- package/dist/declarations/src/adapters/standalone.d.ts.map +0 -1
- package/dist/declarations/src/adapters/ws.d.ts.map +0 -1
- package/dist/declarations/src/assertNotBrowser.d.ts.map +0 -1
- package/dist/declarations/src/deprecated/LegacyRouter.d.ts +0 -3
- package/dist/declarations/src/deprecated/LegacyRouter.d.ts.map +0 -1
- package/dist/declarations/src/deprecated/createHttpServer.d.ts +0 -19
- package/dist/declarations/src/deprecated/createHttpServer.d.ts.map +0 -1
- package/dist/declarations/src/deprecated/requestHandler.d.ts +0 -15
- package/dist/declarations/src/deprecated/requestHandler.d.ts.map +0 -1
- package/dist/declarations/src/http/ResponseMeta.d.ts.map +0 -1
- package/dist/declarations/src/http/index.d.ts.map +0 -1
- package/dist/declarations/src/http/internals/getHTTPStatusCode.d.ts.map +0 -1
- package/dist/declarations/src/http/internals/types.d.ts.map +0 -1
- package/dist/declarations/src/http/resolveHTTPResponse.d.ts.map +0 -1
- package/dist/declarations/src/index.d.ts.map +0 -1
- package/dist/declarations/src/internals/BaseHandlerOptions.d.ts.map +0 -1
- package/dist/declarations/src/internals/OnErrorFunction.d.ts.map +0 -1
- package/dist/declarations/src/internals/callProcedure.d.ts.map +0 -1
- package/dist/declarations/src/internals/errors.d.ts.map +0 -1
- package/dist/declarations/src/internals/invert.d.ts.map +0 -1
- package/dist/declarations/src/internals/middlewares.d.ts.map +0 -1
- package/dist/declarations/src/internals/procedure.d.ts +0 -74
- package/dist/declarations/src/internals/procedure.d.ts.map +0 -1
- package/dist/declarations/src/internals/transformTRPCResponse.d.ts.map +0 -1
- package/dist/declarations/src/internals/wrapCallSafe.d.ts.map +0 -1
- package/dist/declarations/src/router.d.ts.map +0 -1
- package/dist/declarations/src/rpc/codes.d.ts.map +0 -1
- package/dist/declarations/src/rpc/envelopes.d.ts.map +0 -1
- package/dist/declarations/src/rpc/index.d.ts.map +0 -1
- package/dist/declarations/src/subscription.d.ts.map +0 -1
- package/dist/declarations/src/transformer.d.ts.map +0 -1
- package/dist/declarations/src/types.d.ts.map +0 -1
- package/dist/declarations/src/ws/index.d.ts +0 -7
- package/dist/declarations/src/ws/index.d.ts.map +0 -1
- package/dist/nodeHTTPRequestHandler-7325b53f.cjs.prod.js +0 -399
- package/dist/subscription-b8831081.cjs.dev.js +0 -136
- package/dist/transformTRPCResponse-dcbf66c5.cjs.prod.js +0 -114
- package/dist/trpc-server.cjs.d.ts +0 -1
- package/dist/trpc-server.cjs.js +0 -7
- package/dist/trpc-server.cjs.prod.js +0 -528
- package/rpc/package.json +0 -4
- package/src/deprecated/LegacyRouter.ts +0 -3
- package/src/deprecated/createHttpServer.ts +0 -29
- package/src/deprecated/requestHandler.ts +0 -26
- package/src/ws/index.ts +0 -8
- package/ws/package.json +0 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/server",
|
|
3
|
-
"version": "10.0.0-alpha.
|
|
3
|
+
"version": "10.0.0-alpha.20",
|
|
4
4
|
"description": "tRPC Server",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -15,24 +15,55 @@
|
|
|
15
15
|
"explicit-module-boundary-types": "off"
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
|
-
"preconstruct": {
|
|
19
|
-
"entrypoints": [
|
|
20
|
-
"index.ts",
|
|
21
|
-
"adapters/express.ts",
|
|
22
|
-
"adapters/next.ts",
|
|
23
|
-
"adapters/node-http/index.ts",
|
|
24
|
-
"adapters/standalone.ts",
|
|
25
|
-
"adapters/ws.ts",
|
|
26
|
-
"ws/index.ts",
|
|
27
|
-
"rpc/index.ts"
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
18
|
"scripts": {
|
|
31
|
-
"test": "jest"
|
|
19
|
+
"test": "jest",
|
|
20
|
+
"build": "rollup -c"
|
|
21
|
+
},
|
|
22
|
+
"main": "dist/index.js",
|
|
23
|
+
"module": "dist/index.mjs",
|
|
24
|
+
"typings": "dist/index.d.ts",
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"import": "./dist/index.mjs",
|
|
28
|
+
"require": "./dist/index.js",
|
|
29
|
+
"default": "./dist/index.js"
|
|
30
|
+
},
|
|
31
|
+
"./adapters/express": {
|
|
32
|
+
"import": "./dist/adapters/express.mjs",
|
|
33
|
+
"require": "./dist/adapters/express.js",
|
|
34
|
+
"default": "./dist/adapters/express.js"
|
|
35
|
+
},
|
|
36
|
+
"./adapters/next": {
|
|
37
|
+
"import": "./dist/adapters/next.mjs",
|
|
38
|
+
"require": "./dist/adapters/next.js",
|
|
39
|
+
"default": "./dist/adapters/next.js"
|
|
40
|
+
},
|
|
41
|
+
"./adapters/node-http": {
|
|
42
|
+
"import": "./dist/adapters/node-http/index.mjs",
|
|
43
|
+
"require": "./dist/adapters/node-http/index.js",
|
|
44
|
+
"default": "./dist/adapters/node-http/index.js"
|
|
45
|
+
},
|
|
46
|
+
"./adapters/standalone": {
|
|
47
|
+
"import": "./dist/adapters/standalone.mjs",
|
|
48
|
+
"require": "./dist/adapters/standalone.js",
|
|
49
|
+
"default": "./dist/adapters/standalone.js"
|
|
50
|
+
},
|
|
51
|
+
"./adapters/fastify": {
|
|
52
|
+
"import": "./dist/adapters/fastify/index.mjs",
|
|
53
|
+
"require": "./dist/adapters/fastify/index.js",
|
|
54
|
+
"default": "./dist/adapters/fastify/index.js"
|
|
55
|
+
},
|
|
56
|
+
"./adapters/ws": {
|
|
57
|
+
"import": "./dist/adapters/ws.mjs",
|
|
58
|
+
"require": "./dist/adapters/ws.js",
|
|
59
|
+
"default": "./dist/adapters/ws.js"
|
|
60
|
+
},
|
|
61
|
+
"./rpc": {
|
|
62
|
+
"import": "./dist/rpc/index.mjs",
|
|
63
|
+
"require": "./dist/rpc/index.js",
|
|
64
|
+
"default": "./dist/rpc/index.js"
|
|
65
|
+
}
|
|
32
66
|
},
|
|
33
|
-
"main": "dist/trpc-server.cjs.js",
|
|
34
|
-
"module": "dist/trpc-server.esm.js",
|
|
35
|
-
"typings": "dist/trpc-server.cjs.d.ts",
|
|
36
67
|
"files": [
|
|
37
68
|
"README.md",
|
|
38
69
|
"dist",
|
|
@@ -51,22 +82,26 @@
|
|
|
51
82
|
"@types/express": "^4.17.12",
|
|
52
83
|
"@types/hash-sum": "^1.0.0",
|
|
53
84
|
"@types/ws": "^8.2.0",
|
|
85
|
+
"abort-controller": "^3.0.0",
|
|
54
86
|
"devalue": "^2.0.1",
|
|
55
87
|
"express": "^4.17.1",
|
|
56
|
-
"fastify": "^3.
|
|
88
|
+
"fastify": "^3.27.1",
|
|
89
|
+
"fastify-plugin": "^3.0.1",
|
|
90
|
+
"fastify-websocket": "^4.0.0",
|
|
57
91
|
"hash-sum": "^2.0.0",
|
|
58
92
|
"jest": "^27.1.0",
|
|
59
93
|
"konn": "^0.7.0",
|
|
60
94
|
"myzod": "^1.3.1",
|
|
61
95
|
"next": "^12.0.1",
|
|
96
|
+
"node-fetch": "^2.6.1",
|
|
62
97
|
"superstruct": "^0.15.2",
|
|
63
98
|
"typescript": "4.4.4",
|
|
64
99
|
"ws": "^8.0.0",
|
|
65
100
|
"yup": "^0.32.8",
|
|
66
101
|
"zod": "^3.0.0"
|
|
67
102
|
},
|
|
68
|
-
"gitHead": "4d72f1922cfb8a74e2bb03a29b39903418312728",
|
|
69
103
|
"dependencies": {
|
|
70
104
|
"tslib": "^2.1.0"
|
|
71
|
-
}
|
|
105
|
+
},
|
|
106
|
+
"gitHead": "b1d41d19a79b71045bf92dd6a5b8370a9f4f017c"
|
|
72
107
|
}
|
package/rpc/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../dist/rpc';
|
package/rpc/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../dist/rpc/index');
|
package/src/TRPCError.ts
CHANGED
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
import { TRPC_ERROR_CODE_KEY } from './rpc/codes';
|
|
2
1
|
import { getMessageFromUnkownError } from './internals/errors';
|
|
2
|
+
import { TRPC_ERROR_CODE_KEY } from './rpc/codes';
|
|
3
3
|
|
|
4
4
|
export class TRPCError extends Error {
|
|
5
|
-
/**
|
|
6
|
-
* @deprecated use `cause`
|
|
7
|
-
*/
|
|
8
|
-
public readonly originalError?: unknown;
|
|
9
5
|
public readonly cause?: unknown;
|
|
10
6
|
public readonly code;
|
|
11
7
|
|
|
12
8
|
constructor(opts: {
|
|
13
9
|
message?: string;
|
|
14
10
|
code: TRPC_ERROR_CODE_KEY;
|
|
15
|
-
/**
|
|
16
|
-
* @deprecated use `cause`
|
|
17
|
-
*/
|
|
18
|
-
originalError?: unknown;
|
|
19
11
|
cause?: unknown;
|
|
20
12
|
}) {
|
|
21
|
-
const cause = opts.cause
|
|
13
|
+
const cause = opts.cause;
|
|
22
14
|
const code = opts.code;
|
|
23
15
|
const message = opts.message ?? getMessageFromUnkownError(cause, code);
|
|
24
16
|
|
|
@@ -27,7 +19,7 @@ export class TRPCError extends Error {
|
|
|
27
19
|
super(message, { cause });
|
|
28
20
|
|
|
29
21
|
this.code = code;
|
|
30
|
-
this.cause =
|
|
22
|
+
this.cause = cause;
|
|
31
23
|
this.name = 'TRPCError';
|
|
32
24
|
|
|
33
25
|
Object.setPrototypeOf(this, new.target.prototype);
|
package/src/adapters/express.ts
CHANGED
|
@@ -15,10 +15,10 @@ export type CreateExpressContextOptions = NodeHTTPCreateContextFnOptions<
|
|
|
15
15
|
export function createExpressMiddleware<TRouter extends AnyRouter>(
|
|
16
16
|
opts: NodeHTTPHandlerOptions<TRouter, express.Request, express.Response>,
|
|
17
17
|
): express.Handler {
|
|
18
|
-
return (req, res) => {
|
|
19
|
-
const endpoint = req.path.
|
|
18
|
+
return async (req, res) => {
|
|
19
|
+
const endpoint = req.path.slice(1);
|
|
20
20
|
|
|
21
|
-
nodeHTTPRequestHandler({
|
|
21
|
+
await nodeHTTPRequestHandler({
|
|
22
22
|
...opts,
|
|
23
23
|
req,
|
|
24
24
|
res,
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { FastifyReply, FastifyRequest } from 'fastify';
|
|
2
|
+
import { URLSearchParams } from 'url';
|
|
3
|
+
import { assertNotBrowser } from '../../assertNotBrowser';
|
|
4
|
+
import {
|
|
5
|
+
HTTPBaseHandlerOptions,
|
|
6
|
+
HTTPRequest,
|
|
7
|
+
} from '../../http/internals/types';
|
|
8
|
+
import { resolveHTTPResponse } from '../../http/resolveHTTPResponse';
|
|
9
|
+
import { AnyRouter, inferRouterContext } from '../../router';
|
|
10
|
+
import { NodeHTTPCreateContextOption } from '../node-http';
|
|
11
|
+
|
|
12
|
+
assertNotBrowser();
|
|
13
|
+
|
|
14
|
+
export type FastifyHandlerOptions<
|
|
15
|
+
TRouter extends AnyRouter,
|
|
16
|
+
TRequest extends FastifyRequest,
|
|
17
|
+
TResponse extends FastifyReply,
|
|
18
|
+
> = HTTPBaseHandlerOptions<TRouter, TRequest> &
|
|
19
|
+
NodeHTTPCreateContextOption<TRouter, TRequest, TResponse>;
|
|
20
|
+
|
|
21
|
+
type FastifyRequestHandlerOptions<
|
|
22
|
+
TRouter extends AnyRouter,
|
|
23
|
+
TRequest extends FastifyRequest,
|
|
24
|
+
TResponse extends FastifyReply,
|
|
25
|
+
> = {
|
|
26
|
+
req: TRequest;
|
|
27
|
+
res: TResponse;
|
|
28
|
+
path: string;
|
|
29
|
+
} & FastifyHandlerOptions<TRouter, TRequest, TResponse>;
|
|
30
|
+
|
|
31
|
+
export async function fastifyRequestHandler<
|
|
32
|
+
TRouter extends AnyRouter,
|
|
33
|
+
TRequest extends FastifyRequest,
|
|
34
|
+
TResponse extends FastifyReply,
|
|
35
|
+
>(opts: FastifyRequestHandlerOptions<TRouter, TRequest, TResponse>) {
|
|
36
|
+
const createContext = async function _createContext(): Promise<
|
|
37
|
+
inferRouterContext<TRouter>
|
|
38
|
+
> {
|
|
39
|
+
return opts.createContext?.(opts);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const query = opts.req.query
|
|
43
|
+
? new URLSearchParams(opts.req.query as any)
|
|
44
|
+
: new URLSearchParams(opts.req.url.split('?')[1]);
|
|
45
|
+
|
|
46
|
+
const req: HTTPRequest = {
|
|
47
|
+
query,
|
|
48
|
+
method: opts.req.method,
|
|
49
|
+
headers: opts.req.headers,
|
|
50
|
+
body: opts.req.body ?? 'null',
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const result = await resolveHTTPResponse({
|
|
54
|
+
req,
|
|
55
|
+
createContext,
|
|
56
|
+
path: opts.path,
|
|
57
|
+
router: opts.router,
|
|
58
|
+
batching: opts.batching,
|
|
59
|
+
responseMeta: opts.responseMeta,
|
|
60
|
+
onError(o) {
|
|
61
|
+
opts?.onError?.({ ...o, req: opts.req });
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
const { res } = opts;
|
|
66
|
+
|
|
67
|
+
if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
|
|
68
|
+
res.statusCode = result.status;
|
|
69
|
+
}
|
|
70
|
+
for (const [key, value] of Object.entries(result.headers ?? {})) {
|
|
71
|
+
if (typeof value === 'undefined') {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
void res.header(key, value);
|
|
76
|
+
}
|
|
77
|
+
await res.send(result.body);
|
|
78
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/// <reference types="fastify-websocket" />
|
|
2
|
+
import { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
|
|
3
|
+
import { FastifyHandlerOptions } from '.';
|
|
4
|
+
import { AnyRouter } from '../..';
|
|
5
|
+
import { NodeHTTPCreateContextFnOptions } from '../node-http';
|
|
6
|
+
import { WSSHandlerOptions, applyWSSHandler } from '../ws';
|
|
7
|
+
import { fastifyRequestHandler } from './fastifyRequestHandler';
|
|
8
|
+
|
|
9
|
+
export interface FastifyTRPCPluginOptions<TRouter extends AnyRouter> {
|
|
10
|
+
prefix?: string;
|
|
11
|
+
useWSS?: boolean;
|
|
12
|
+
trpcOptions: FastifyHandlerOptions<TRouter, FastifyRequest, FastifyReply>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type CreateFastifyContextOptions = NodeHTTPCreateContextFnOptions<
|
|
16
|
+
FastifyRequest,
|
|
17
|
+
FastifyReply
|
|
18
|
+
>;
|
|
19
|
+
|
|
20
|
+
export function fastifyTRPCPlugin<TRouter extends AnyRouter>(
|
|
21
|
+
fastify: FastifyInstance,
|
|
22
|
+
opts: FastifyTRPCPluginOptions<TRouter>,
|
|
23
|
+
done: (err?: Error) => void,
|
|
24
|
+
) {
|
|
25
|
+
fastify.addContentTypeParser(
|
|
26
|
+
'application/json',
|
|
27
|
+
{ parseAs: 'string' },
|
|
28
|
+
function (_, body, _done) {
|
|
29
|
+
_done(null, body);
|
|
30
|
+
},
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
let prefix = opts.prefix ?? '';
|
|
34
|
+
|
|
35
|
+
// https://github.com/fastify/fastify-plugin/blob/fe079bef6557a83794bf437e14b9b9edb8a74104/plugin.js#L11
|
|
36
|
+
// @ts-expect-error property 'default' does not exists on type ...
|
|
37
|
+
if (typeof fastifyTRPCPlugin.default !== 'function') {
|
|
38
|
+
prefix = ''; // handled by fastify internally
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
fastify.all(`${prefix}/:path`, async (req, res) => {
|
|
42
|
+
const path = (req.params as any).path;
|
|
43
|
+
await fastifyRequestHandler({ ...opts.trpcOptions, req, res, path });
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
if (opts.useWSS) {
|
|
47
|
+
applyWSSHandler<TRouter>({
|
|
48
|
+
...(opts.trpcOptions as WSSHandlerOptions<TRouter>),
|
|
49
|
+
wss: fastify.websocketServer,
|
|
50
|
+
});
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
52
|
+
fastify.get(prefix ?? '/', { websocket: true }, () => {});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
done();
|
|
56
|
+
}
|
package/src/adapters/next.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
NextApiHandler,
|
|
5
|
+
NextApiRequest,
|
|
6
|
+
NextApiResponse,
|
|
7
|
+
} from 'next/types';
|
|
8
|
+
import { TRPCError } from '../TRPCError';
|
|
4
9
|
import { AnyRouter } from '../router';
|
|
5
10
|
import { TRPCErrorResponse } from '../rpc';
|
|
6
|
-
import { TRPCError } from '../TRPCError';
|
|
7
11
|
import { nodeHTTPRequestHandler } from './node-http';
|
|
8
12
|
import {
|
|
9
13
|
NodeHTTPCreateContextFnOptions,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
2
|
import { URLSearchParams } from 'url';
|
|
3
3
|
import { assertNotBrowser } from '../../assertNotBrowser';
|
|
4
|
+
import { HTTPRequest } from '../../http/internals/types';
|
|
5
|
+
import { resolveHTTPResponse } from '../../http/resolveHTTPResponse';
|
|
6
|
+
import { AnyRouter, inferRouterContext } from '../../router';
|
|
7
|
+
import { getPostBody } from './internals/getPostBody';
|
|
4
8
|
import {
|
|
9
|
+
NodeHTTPHandlerOptions,
|
|
5
10
|
NodeHTTPRequest,
|
|
6
11
|
NodeHTTPResponse,
|
|
7
|
-
NodeHTTPHandlerOptions,
|
|
8
12
|
} from './types';
|
|
9
|
-
import { AnyRouter, inferRouterContext } from '../../router';
|
|
10
|
-
import { getPostBody } from './internals/getPostBody';
|
|
11
|
-
import { HTTPRequest } from '../../http/internals/types';
|
|
12
|
-
import { resolveHTTPResponse } from '../../http/resolveHTTPResponse';
|
|
13
13
|
|
|
14
14
|
assertNotBrowser();
|
|
15
15
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
+
|
|
2
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
4
|
import http from 'http';
|
|
4
5
|
import url from 'url';
|
|
@@ -21,7 +22,7 @@ export function createHTTPHandler<TRouter extends AnyRouter>(
|
|
|
21
22
|
opts: CreateHTTPHandlerOptions<TRouter>,
|
|
22
23
|
) {
|
|
23
24
|
return async (req: http.IncomingMessage, res: http.ServerResponse) => {
|
|
24
|
-
const endpoint = url.parse(req.url!).pathname!.
|
|
25
|
+
const endpoint = url.parse(req.url!).pathname!.slice(1);
|
|
25
26
|
await nodeHTTPRequestHandler({
|
|
26
27
|
...opts,
|
|
27
28
|
req,
|
package/src/adapters/ws.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import http from 'http';
|
|
2
2
|
import ws from 'ws';
|
|
3
|
+
import { TRPCError } from '../TRPCError';
|
|
3
4
|
import { BaseHandlerOptions } from '../internals/BaseHandlerOptions';
|
|
4
5
|
import { callProcedure } from '../internals/callProcedure';
|
|
5
6
|
import { getErrorFromUnknown } from '../internals/errors';
|
|
6
7
|
import { transformTRPCResponse } from '../internals/transformTRPCResponse';
|
|
7
|
-
import { AnyRouter,
|
|
8
|
+
import { AnyRouter, ProcedureType, inferRouterContext } from '../router';
|
|
8
9
|
import {
|
|
9
10
|
TRPCErrorResponse,
|
|
10
11
|
TRPCReconnectNotification,
|
|
@@ -13,7 +14,6 @@ import {
|
|
|
13
14
|
} from '../rpc';
|
|
14
15
|
import { Subscription } from '../subscription';
|
|
15
16
|
import { CombinedDataTransformer } from '../transformer';
|
|
16
|
-
import { TRPCError } from '../TRPCError';
|
|
17
17
|
import { NodeHTTPCreateContextOption } from './node-http';
|
|
18
18
|
|
|
19
19
|
/* istanbul ignore next */
|
|
@@ -96,7 +96,7 @@ export function applyWSSHandler<TRouter extends AnyRouter>(
|
|
|
96
96
|
const { wss, createContext, router } = opts;
|
|
97
97
|
|
|
98
98
|
const { transformer } = router._def;
|
|
99
|
-
wss.on('connection', (client, req) => {
|
|
99
|
+
wss.on('connection', async (client, req) => {
|
|
100
100
|
const clientSubscriptions = new Map<
|
|
101
101
|
number | string,
|
|
102
102
|
Subscription<TRouter>
|
|
@@ -225,7 +225,10 @@ export function applyWSSHandler<TRouter extends AnyRouter>(
|
|
|
225
225
|
try {
|
|
226
226
|
const msgJSON: unknown = JSON.parse(message.toString());
|
|
227
227
|
const msgs: unknown[] = Array.isArray(msgJSON) ? msgJSON : [msgJSON];
|
|
228
|
-
|
|
228
|
+
const promises = msgs
|
|
229
|
+
.map((raw) => parseMessage(raw, transformer))
|
|
230
|
+
.map(handleRequest);
|
|
231
|
+
await Promise.all(promises);
|
|
229
232
|
} catch (cause) {
|
|
230
233
|
const error = new TRPCError({
|
|
231
234
|
code: 'PARSE_ERROR',
|
|
@@ -282,7 +285,7 @@ export function applyWSSHandler<TRouter extends AnyRouter>(
|
|
|
282
285
|
});
|
|
283
286
|
}
|
|
284
287
|
}
|
|
285
|
-
createContextAsync();
|
|
288
|
+
await createContextAsync();
|
|
286
289
|
});
|
|
287
290
|
|
|
288
291
|
return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TRPCResponse, TRPC_ERROR_CODES_BY_KEY } from '../../rpc';
|
|
2
1
|
import { TRPCError } from '../../TRPCError';
|
|
3
2
|
import { invert } from '../../internals/invert';
|
|
3
|
+
import { TRPCResponse, TRPC_ERROR_CODES_BY_KEY } from '../../rpc';
|
|
4
4
|
|
|
5
5
|
export const TRPC_ERROR_CODES_BY_NUMBER = invert(TRPC_ERROR_CODES_BY_KEY);
|
|
6
6
|
type ValueOf<T> = T[keyof T];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AnyRouter,
|
|
3
3
|
Dict,
|
|
4
|
-
inferRouterContext,
|
|
5
|
-
inferRouterError,
|
|
6
4
|
ProcedureType,
|
|
7
5
|
ResponseMeta,
|
|
8
6
|
TRPCError,
|
|
7
|
+
inferRouterContext,
|
|
8
|
+
inferRouterError,
|
|
9
9
|
} from '@trpc/server';
|
|
10
10
|
import { URLSearchParams } from 'url';
|
|
11
11
|
import { BaseHandlerOptions } from '../../internals/BaseHandlerOptions';
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
2
|
import { Maybe } from '@trpc/server';
|
|
3
|
+
import { TRPCError } from '../TRPCError';
|
|
3
4
|
import { callProcedure } from '../internals/callProcedure';
|
|
4
5
|
import { getErrorFromUnknown } from '../internals/errors';
|
|
5
6
|
import { transformTRPCResponse } from '../internals/transformTRPCResponse';
|
|
6
7
|
import {
|
|
7
8
|
AnyRouter,
|
|
9
|
+
ProcedureType,
|
|
8
10
|
inferRouterContext,
|
|
9
11
|
inferRouterError,
|
|
10
|
-
ProcedureType,
|
|
11
12
|
} from '../router';
|
|
12
13
|
import { TRPCErrorResponse, TRPCResponse, TRPCResultResponse } from '../rpc';
|
|
13
|
-
import { TRPCError } from '../TRPCError';
|
|
14
14
|
import { getHTTPStatusCode } from './internals/getHTTPStatusCode';
|
|
15
15
|
import {
|
|
16
|
+
HTTPBaseHandlerOptions,
|
|
16
17
|
HTTPHeaders,
|
|
17
18
|
HTTPRequest,
|
|
18
19
|
HTTPResponse,
|
|
19
|
-
HTTPBaseHandlerOptions,
|
|
20
20
|
} from './internals/types';
|
|
21
21
|
|
|
22
22
|
const HTTP_METHOD_PROCEDURE_TYPE_MAP: Record<
|
package/src/index.ts
CHANGED
|
@@ -4,8 +4,4 @@ export * from './subscription';
|
|
|
4
4
|
export * from './transformer';
|
|
5
5
|
export * from './TRPCError';
|
|
6
6
|
export * from './types';
|
|
7
|
-
|
|
8
|
-
// deprecated
|
|
9
|
-
export * from './deprecated/createHttpServer';
|
|
10
|
-
export * from './deprecated/requestHandler';
|
|
11
|
-
export * from './deprecated/LegacyRouter';
|
|
7
|
+
export * from './router';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AnyRouter, inferRouterContext, ProcedureType } from '../router';
|
|
2
1
|
import { TRPCError } from '../TRPCError';
|
|
2
|
+
import { AnyRouter, ProcedureType, inferRouterContext } from '../router';
|
|
3
3
|
|
|
4
4
|
export type OnErrorFunction<TRouter extends AnyRouter, TRequest> = (opts: {
|
|
5
5
|
error: TRPCError;
|