@trpc/server 11.0.0-alpha-tmp-export-from-main-nuke-core.240 → 11.0.0-alpha-tmp-export-from-main.222
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/adapters/aws-lambda/index.d.mts +68 -0
- package/dist/adapters/aws-lambda/index.d.ts +55 -6
- package/dist/adapters/aws-lambda/index.js +111 -23
- package/dist/adapters/aws-lambda/index.mjs +95 -7
- package/dist/adapters/express.d.mts +19 -0
- package/dist/adapters/express.d.ts +10 -6
- package/dist/adapters/express.js +3 -3
- package/dist/adapters/express.mjs +1 -1
- package/dist/adapters/fastify/index.d.mts +33 -0
- package/dist/adapters/fastify/index.d.ts +33 -3
- package/dist/adapters/fastify/index.js +124 -5
- package/dist/adapters/fastify/index.mjs +125 -2
- package/dist/adapters/fetch/index.d.mts +51 -0
- package/dist/adapters/fetch/index.d.ts +51 -3
- package/dist/adapters/fetch/index.js +115 -4
- package/dist/adapters/fetch/index.mjs +116 -1
- package/dist/adapters/next.d.mts +21 -0
- package/dist/adapters/next.d.ts +12 -6
- package/dist/adapters/next.js +7 -9
- package/dist/adapters/next.mjs +3 -5
- package/dist/adapters/node-http/content-type/form-data/index.d.mts +219 -0
- package/dist/adapters/node-http/content-type/form-data/index.d.ts +201 -10
- package/dist/adapters/node-http/content-type/form-data/index.js +662 -23
- package/dist/adapters/node-http/content-type/form-data/index.mjs +646 -10
- package/dist/adapters/node-http/{types.d.ts → content-type/json/index.d.mts} +22 -15
- package/dist/adapters/node-http/content-type/json/index.d.ts +89 -2
- package/dist/adapters/node-http/content-type/json/index.js +48 -9
- package/dist/adapters/node-http/content-type/json/index.mjs +44 -5
- package/dist/adapters/node-http/index.d.mts +100 -0
- package/dist/adapters/node-http/index.d.ts +100 -3
- package/dist/adapters/node-http/index.js +106 -4
- package/dist/adapters/node-http/index.mjs +107 -1
- package/dist/adapters/standalone.d.mts +21 -0
- package/dist/adapters/standalone.d.ts +12 -9
- package/dist/adapters/standalone.js +9 -6
- package/dist/adapters/standalone.mjs +2 -3
- package/dist/adapters/ws.d.mts +36 -0
- package/dist/adapters/ws.d.ts +12 -14
- package/dist/adapters/ws.js +33 -38
- package/dist/adapters/ws.mjs +12 -17
- package/dist/http.d.mts +1 -0
- package/dist/http.d.ts +1 -2
- package/dist/http.js +22 -12
- package/dist/http.mjs +1 -6
- package/dist/index.d.mts +9 -0
- package/dist/index.d.ts +9 -2
- package/dist/index.js +809 -23
- package/dist/index.mjs +798 -8
- package/dist/observable.d.mts +1 -0
- package/dist/observable.d.ts +1 -0
- package/dist/observable.js +30 -0
- package/dist/observable.mjs +1 -0
- package/dist/rpc.d.mts +1 -0
- package/dist/rpc.d.ts +1 -2
- package/dist/rpc.js +14 -7
- package/dist/rpc.mjs +1 -3
- package/dist/shared.d.mts +1 -0
- package/dist/shared.d.ts +1 -26
- package/dist/shared.js +10 -7
- package/dist/shared.mjs +1 -4
- package/dist/unstableDontImportMe.d.mts +1 -0
- package/dist/unstableDontImportMe.d.ts +1 -0
- package/dist/unstableDontImportMe.js +1549 -0
- package/dist/unstableDontImportMe.mjs +1514 -0
- package/package.json +138 -53
- package/src/@trpc-server/http.ts +2 -0
- package/src/adapters/aws-lambda/index.ts +5 -4
- package/src/adapters/aws-lambda/utils.ts +4 -3
- package/src/adapters/express.ts +3 -1
- package/src/adapters/fastify/fastifyRequestHandler.ts +4 -6
- package/src/adapters/fastify/fastifyTRPCPlugin.ts +2 -1
- package/src/adapters/fetch/fetchRequestHandler.ts +4 -6
- package/src/adapters/fetch/types.ts +3 -2
- package/src/adapters/next.ts +4 -2
- package/src/adapters/node-http/content-type/form-data/index.ts +1 -1
- package/src/adapters/node-http/content-type/json/getPostBody.ts +2 -2
- package/src/adapters/node-http/content-type/json/index.ts +1 -1
- package/src/adapters/node-http/internals/contentType.ts +2 -2
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +4 -6
- package/src/adapters/node-http/types.ts +5 -4
- package/src/adapters/standalone.ts +2 -2
- package/src/adapters/ws.ts +13 -14
- package/src/http.ts +26 -1
- package/src/index.ts +106 -1
- package/src/observable.ts +16 -0
- package/src/rpc.ts +26 -1
- package/src/shared.ts +1 -1
- package/src/unstableDontImportMe.ts +146 -0
- package/unstableDontImportMe/index.d.ts +1 -0
- package/unstableDontImportMe/index.js +1 -0
- package/dist/@trpc/server/http.d.ts +0 -7
- package/dist/@trpc/server/http.d.ts.map +0 -1
- package/dist/@trpc/server/index.d.ts +0 -69
- package/dist/@trpc/server/index.d.ts.map +0 -1
- package/dist/@trpc/server/rpc.d.ts +0 -3
- package/dist/@trpc/server/rpc.d.ts.map +0 -1
- package/dist/adapters/aws-lambda/index.d.ts.map +0 -1
- package/dist/adapters/aws-lambda/utils.d.ts +0 -47
- package/dist/adapters/aws-lambda/utils.d.ts.map +0 -1
- package/dist/adapters/aws-lambda/utils.js +0 -101
- package/dist/adapters/aws-lambda/utils.mjs +0 -94
- package/dist/adapters/express.d.ts.map +0 -1
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts +0 -13
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +0 -1
- package/dist/adapters/fastify/fastifyRequestHandler.js +0 -84
- package/dist/adapters/fastify/fastifyRequestHandler.mjs +0 -82
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +0 -21
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +0 -1
- package/dist/adapters/fastify/fastifyTRPCPlugin.js +0 -50
- package/dist/adapters/fastify/fastifyTRPCPlugin.mjs +0 -48
- package/dist/adapters/fastify/index.d.ts.map +0 -1
- package/dist/adapters/fetch/fetchRequestHandler.d.ts +0 -17
- package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +0 -1
- package/dist/adapters/fetch/fetchRequestHandler.js +0 -120
- package/dist/adapters/fetch/fetchRequestHandler.mjs +0 -118
- package/dist/adapters/fetch/index.d.ts.map +0 -1
- package/dist/adapters/fetch/types.d.ts +0 -30
- package/dist/adapters/fetch/types.d.ts.map +0 -1
- package/dist/adapters/next.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts +0 -70
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.js +0 -161
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.mjs +0 -157
- package/dist/adapters/node-http/content-type/form-data/index.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts +0 -31
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.js +0 -29
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.mjs +0 -27
- package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts +0 -16
- package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/streamSlice.js +0 -46
- package/dist/adapters/node-http/content-type/form-data/streamSlice.mjs +0 -44
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts +0 -45
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.js +0 -30
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.mjs +0 -26
- package/dist/adapters/node-http/content-type/json/getPostBody.d.ts +0 -7
- package/dist/adapters/node-http/content-type/json/getPostBody.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/json/getPostBody.js +0 -44
- package/dist/adapters/node-http/content-type/json/getPostBody.mjs +0 -42
- package/dist/adapters/node-http/content-type/json/index.d.ts.map +0 -1
- package/dist/adapters/node-http/index.d.ts.map +0 -1
- package/dist/adapters/node-http/internals/contentType.d.ts +0 -9
- package/dist/adapters/node-http/internals/contentType.d.ts.map +0 -1
- package/dist/adapters/node-http/internals/contentType.js +0 -8
- package/dist/adapters/node-http/internals/contentType.mjs +0 -6
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +0 -13
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +0 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.js +0 -111
- package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +0 -109
- package/dist/adapters/node-http/types.d.ts.map +0 -1
- package/dist/adapters/standalone.d.ts.map +0 -1
- package/dist/adapters/ws.d.ts.map +0 -1
- package/dist/bundle-analysis.json +0 -757
- package/dist/http.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/index.js +0 -203
- package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/index.mjs +0 -201
- package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/search.js +0 -167
- package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/search.mjs +0 -163
- package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/utils.js +0 -35
- package/dist/node_modules/.pnpm/@web3-storage_multipart-parser@1.0.0/node_modules/@web3-storage/multipart-parser/esm/src/utils.mjs +0 -30
- package/dist/observable/index.d.ts +0 -5
- package/dist/observable/index.d.ts.map +0 -1
- package/dist/observable/index.js +0 -13
- package/dist/observable/index.mjs +0 -2
- package/dist/observable/observable.d.ts +0 -13
- package/dist/observable/observable.d.ts.map +0 -1
- package/dist/observable/observable.js +0 -126
- package/dist/observable/observable.mjs +0 -122
- package/dist/observable/operators.d.ts +0 -8
- package/dist/observable/operators.d.ts.map +0 -1
- package/dist/observable/operators.js +0 -103
- package/dist/observable/operators.mjs +0 -99
- package/dist/observable/types.d.ts +0 -26
- package/dist/observable/types.d.ts.map +0 -1
- package/dist/rpc.d.ts.map +0 -1
- package/dist/shared.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts +0 -6
- package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/createProxy.d.ts +0 -19
- package/dist/unstable-core-do-not-import/createProxy.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/createProxy.js +0 -52
- package/dist/unstable-core-do-not-import/createProxy.mjs +0 -49
- package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +0 -13
- package/dist/unstable-core-do-not-import/error/TRPCError.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/error/TRPCError.js +0 -67
- package/dist/unstable-core-do-not-import/error/TRPCError.mjs +0 -63
- package/dist/unstable-core-do-not-import/error/formatter.d.ts +0 -33
- package/dist/unstable-core-do-not-import/error/formatter.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/error/formatter.js +0 -7
- package/dist/unstable-core-do-not-import/error/formatter.mjs +0 -5
- package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts +0 -15
- package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/error/getErrorShape.js +0 -31
- package/dist/unstable-core-do-not-import/error/getErrorShape.mjs +0 -29
- package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts +0 -24
- package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/http/batchStreamFormatter.js +0 -32
- package/dist/unstable-core-do-not-import/http/batchStreamFormatter.mjs +0 -30
- package/dist/unstable-core-do-not-import/http/contentType.d.ts +0 -29
- package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/http/contentType.js +0 -54
- package/dist/unstable-core-do-not-import/http/contentType.mjs +0 -52
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +0 -5
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +0 -51
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +0 -48
- package/dist/unstable-core-do-not-import/http/index.d.ts +0 -7
- package/dist/unstable-core-do-not-import/http/index.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts +0 -51
- package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.js +0 -295
- package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.mjs +0 -293
- package/dist/unstable-core-do-not-import/http/types.d.ts +0 -96
- package/dist/unstable-core-do-not-import/http/types.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/index.d.ts +0 -37
- package/dist/unstable-core-do-not-import/index.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/index.js +0 -48
- package/dist/unstable-core-do-not-import/index.mjs +0 -16
- package/dist/unstable-core-do-not-import/initTRPC.d.ts +0 -96
- package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/initTRPC.js +0 -95
- package/dist/unstable-core-do-not-import/initTRPC.mjs +0 -93
- package/dist/unstable-core-do-not-import/middleware.d.ts +0 -105
- package/dist/unstable-core-do-not-import/middleware.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/middleware.js +0 -95
- package/dist/unstable-core-do-not-import/middleware.mjs +0 -89
- package/dist/unstable-core-do-not-import/parser.d.ts +0 -30
- package/dist/unstable-core-do-not-import/parser.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/parser.js +0 -37
- package/dist/unstable-core-do-not-import/parser.mjs +0 -35
- package/dist/unstable-core-do-not-import/procedure.d.ts +0 -72
- package/dist/unstable-core-do-not-import/procedure.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/procedure.js +0 -9
- package/dist/unstable-core-do-not-import/procedure.mjs +0 -7
- package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +0 -101
- package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/procedureBuilder.js +0 -176
- package/dist/unstable-core-do-not-import/procedureBuilder.mjs +0 -173
- package/dist/unstable-core-do-not-import/rootConfig.d.ts +0 -75
- package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/rootConfig.js +0 -8
- package/dist/unstable-core-do-not-import/rootConfig.mjs +0 -6
- package/dist/unstable-core-do-not-import/router.d.ts +0 -85
- package/dist/unstable-core-do-not-import/router.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/router.js +0 -156
- package/dist/unstable-core-do-not-import/router.mjs +0 -151
- package/dist/unstable-core-do-not-import/rpc/codes.d.ts +0 -51
- package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/rpc/codes.js +0 -38
- package/dist/unstable-core-do-not-import/rpc/codes.mjs +0 -35
- package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts +0 -97
- package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/rpc/index.d.ts +0 -5
- package/dist/unstable-core-do-not-import/rpc/index.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts +0 -5
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.js +0 -59
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +0 -57
- package/dist/unstable-core-do-not-import/serialize.d.ts +0 -62
- package/dist/unstable-core-do-not-import/serialize.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/transformer.d.ts +0 -107
- package/dist/unstable-core-do-not-import/transformer.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/transformer.js +0 -107
- package/dist/unstable-core-do-not-import/transformer.mjs +0 -102
- package/dist/unstable-core-do-not-import/types.d.ts +0 -98
- package/dist/unstable-core-do-not-import/types.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/utils.d.ts +0 -27
- package/dist/unstable-core-do-not-import/utils.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/utils.js +0 -44
- package/dist/unstable-core-do-not-import/utils.mjs +0 -39
- package/src/@trpc/server/http.ts +0 -26
- package/src/@trpc/server/index.ts +0 -105
- package/src/@trpc/server/rpc.ts +0 -26
- package/src/observable/index.ts +0 -10
- package/src/observable/observable.ts +0 -158
- package/src/observable/operators.ts +0 -119
- package/src/observable/types.ts +0 -76
- package/src/unstable-core-do-not-import/TRPCInferrable.ts +0 -9
- package/src/unstable-core-do-not-import/createProxy.ts +0 -59
- package/src/unstable-core-do-not-import/error/TRPCError.ts +0 -82
- package/src/unstable-core-do-not-import/error/formatter.ts +0 -51
- package/src/unstable-core-do-not-import/error/getErrorShape.ts +0 -36
- package/src/unstable-core-do-not-import/http/batchStreamFormatter.ts +0 -29
- package/src/unstable-core-do-not-import/http/contentType.ts +0 -99
- package/src/unstable-core-do-not-import/http/getHTTPStatusCode.ts +0 -57
- package/src/unstable-core-do-not-import/http/index.ts +0 -23
- package/src/unstable-core-do-not-import/http/resolveHTTPResponse.ts +0 -458
- package/src/unstable-core-do-not-import/http/types.ts +0 -111
- package/src/unstable-core-do-not-import/index.ts +0 -110
- package/src/unstable-core-do-not-import/initTRPC.ts +0 -206
- package/src/unstable-core-do-not-import/middleware.ts +0 -233
- package/src/unstable-core-do-not-import/parser.ts +0 -94
- package/src/unstable-core-do-not-import/procedure.ts +0 -108
- package/src/unstable-core-do-not-import/procedureBuilder.ts +0 -458
- package/src/unstable-core-do-not-import/rootConfig.ts +0 -90
- package/src/unstable-core-do-not-import/router.ts +0 -370
- package/src/unstable-core-do-not-import/rpc/codes.ts +0 -44
- package/src/unstable-core-do-not-import/rpc/envelopes.ts +0 -136
- package/src/unstable-core-do-not-import/rpc/index.ts +0 -21
- package/src/unstable-core-do-not-import/rpc/parseTRPCMessage.ts +0 -85
- package/src/unstable-core-do-not-import/serialize.ts +0 -122
- package/src/unstable-core-do-not-import/transformer.ts +0 -202
- package/src/unstable-core-do-not-import/types.ts +0 -151
- package/src/unstable-core-do-not-import/utils.ts +0 -59
- package/unstable-core-do-not-import/index.d.ts +0 -1
- package/unstable-core-do-not-import/index.js +0 -1
|
@@ -1 +1,107 @@
|
|
|
1
|
-
|
|
1
|
+
import { resolveHTTPResponse, getBatchStreamFormatter } from '@trpc/server/http';
|
|
2
|
+
import { nodeHTTPJSONContentTypeHandler } from '@trpc/server/adapters/node-http/content-type/json';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
|
|
6
|
+
*
|
|
7
|
+
* Do **not** import from `@trpc/core`
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import type { AnyTRPCRouter } from '@trpc/server'
|
|
11
|
+
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
12
|
+
* ```
|
|
13
|
+
*/ /* eslint-disable @typescript-eslint/no-non-null-assertion */ // @trpc/server
|
|
14
|
+
const defaultJSONContentTypeHandler = nodeHTTPJSONContentTypeHandler();
|
|
15
|
+
async function nodeHTTPRequestHandler(opts) {
|
|
16
|
+
const handleViaMiddleware = opts.middleware ?? ((_req, _res, next)=>next());
|
|
17
|
+
return handleViaMiddleware(opts.req, opts.res, async (err)=>{
|
|
18
|
+
if (err) throw err;
|
|
19
|
+
//
|
|
20
|
+
// Build tRPC dependencies
|
|
21
|
+
const createContext = async (innerOpts)=>{
|
|
22
|
+
return await opts.createContext?.({
|
|
23
|
+
...opts,
|
|
24
|
+
...innerOpts
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
const query = opts.req.query ? new URLSearchParams(opts.req.query) : new URLSearchParams(opts.req.url.split('?')[1]);
|
|
28
|
+
const jsonContentTypeHandler = defaultJSONContentTypeHandler;
|
|
29
|
+
const contentTypeHandlers = opts.experimental_contentTypeHandlers ?? [
|
|
30
|
+
jsonContentTypeHandler
|
|
31
|
+
];
|
|
32
|
+
const contentTypeHandler = contentTypeHandlers.find((handler)=>handler.isMatch({
|
|
33
|
+
...opts,
|
|
34
|
+
query
|
|
35
|
+
})) ?? // fallback to json
|
|
36
|
+
jsonContentTypeHandler;
|
|
37
|
+
const bodyResult = await contentTypeHandler.getBody({
|
|
38
|
+
...opts,
|
|
39
|
+
query
|
|
40
|
+
});
|
|
41
|
+
const req = {
|
|
42
|
+
method: opts.req.method,
|
|
43
|
+
headers: opts.req.headers,
|
|
44
|
+
query,
|
|
45
|
+
body: bodyResult.ok ? bodyResult.data : undefined
|
|
46
|
+
};
|
|
47
|
+
let isStream = false;
|
|
48
|
+
let formatter;
|
|
49
|
+
const unstable_onHead = (head, isStreaming)=>{
|
|
50
|
+
if ('status' in head && (!opts.res.statusCode || opts.res.statusCode === 200)) {
|
|
51
|
+
opts.res.statusCode = head.status;
|
|
52
|
+
}
|
|
53
|
+
for (const [key, value] of Object.entries(head.headers ?? {})){
|
|
54
|
+
/* istanbul ignore if -- @preserve */ if (typeof value === 'undefined') {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
opts.res.setHeader(key, value);
|
|
58
|
+
}
|
|
59
|
+
if (isStreaming) {
|
|
60
|
+
opts.res.setHeader('Transfer-Encoding', 'chunked');
|
|
61
|
+
const vary = opts.res.getHeader('Vary');
|
|
62
|
+
opts.res.setHeader('Vary', vary ? 'trpc-batch-mode, ' + vary : 'trpc-batch-mode');
|
|
63
|
+
isStream = true;
|
|
64
|
+
formatter = getBatchStreamFormatter();
|
|
65
|
+
opts.res.flushHeaders();
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
const unstable_onChunk = ([index, string])=>{
|
|
69
|
+
if (index === -1) {
|
|
70
|
+
/**
|
|
71
|
+
* Full response, no streaming. This can happen
|
|
72
|
+
* - if the response is an error
|
|
73
|
+
* - if response is empty (HEAD request)
|
|
74
|
+
*/ opts.res.end(string);
|
|
75
|
+
} else {
|
|
76
|
+
opts.res.write(formatter(index, string));
|
|
77
|
+
opts.res.flush?.();
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
await resolveHTTPResponse({
|
|
81
|
+
batching: opts.batching,
|
|
82
|
+
responseMeta: opts.responseMeta,
|
|
83
|
+
path: opts.path,
|
|
84
|
+
createContext,
|
|
85
|
+
router: opts.router,
|
|
86
|
+
req,
|
|
87
|
+
error: bodyResult.ok ? null : bodyResult.error,
|
|
88
|
+
preprocessedBody: bodyResult.ok ? bodyResult.preprocessed : false,
|
|
89
|
+
onError (o) {
|
|
90
|
+
opts?.onError?.({
|
|
91
|
+
...o,
|
|
92
|
+
req: opts.req
|
|
93
|
+
});
|
|
94
|
+
},
|
|
95
|
+
contentTypeHandler,
|
|
96
|
+
unstable_onHead,
|
|
97
|
+
unstable_onChunk
|
|
98
|
+
});
|
|
99
|
+
if (isStream) {
|
|
100
|
+
opts.res.write(formatter.end());
|
|
101
|
+
opts.res.end();
|
|
102
|
+
}
|
|
103
|
+
return opts.res;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export { nodeHTTPRequestHandler };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import http from 'http';
|
|
2
|
+
import { AnyRouter } from '@trpc/server';
|
|
3
|
+
import { NodeHTTPHandlerOptions, NodeHTTPCreateContextFnOptions } from '@trpc/server/adapters/node-http';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
|
|
7
|
+
*
|
|
8
|
+
* Do **not** import from `@trpc/core`
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import type { AnyTRPCRouter } from '@trpc/server'
|
|
12
|
+
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
type CreateHTTPHandlerOptions<TRouter extends AnyRouter> = NodeHTTPHandlerOptions<TRouter, http.IncomingMessage, http.ServerResponse>;
|
|
17
|
+
type CreateHTTPContextOptions = NodeHTTPCreateContextFnOptions<http.IncomingMessage, http.ServerResponse>;
|
|
18
|
+
declare function createHTTPHandler<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): (req: http.IncomingMessage, res: http.ServerResponse) => Promise<void>;
|
|
19
|
+
declare function createHTTPServer<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
|
|
20
|
+
|
|
21
|
+
export { type CreateHTTPContextOptions, type CreateHTTPHandlerOptions, createHTTPHandler, createHTTPServer };
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
import http from 'http';
|
|
2
|
+
import { AnyRouter } from '@trpc/server';
|
|
3
|
+
import { NodeHTTPHandlerOptions, NodeHTTPCreateContextFnOptions } from '@trpc/server/adapters/node-http';
|
|
4
|
+
|
|
2
5
|
/**
|
|
3
6
|
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
|
|
4
7
|
*
|
|
8
|
+
* Do **not** import from `@trpc/core`
|
|
5
9
|
* @example
|
|
6
10
|
* ```ts
|
|
7
11
|
* import type { AnyTRPCRouter } from '@trpc/server'
|
|
8
12
|
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
9
13
|
* ```
|
|
10
14
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
//# sourceMappingURL=standalone.d.ts.map
|
|
15
|
+
|
|
16
|
+
type CreateHTTPHandlerOptions<TRouter extends AnyRouter> = NodeHTTPHandlerOptions<TRouter, http.IncomingMessage, http.ServerResponse>;
|
|
17
|
+
type CreateHTTPContextOptions = NodeHTTPCreateContextFnOptions<http.IncomingMessage, http.ServerResponse>;
|
|
18
|
+
declare function createHTTPHandler<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): (req: http.IncomingMessage, res: http.ServerResponse) => Promise<void>;
|
|
19
|
+
declare function createHTTPServer<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
|
|
20
|
+
|
|
21
|
+
export { type CreateHTTPContextOptions, type CreateHTTPHandlerOptions, createHTTPHandler, createHTTPServer };
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
'
|
|
1
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
2
|
|
|
3
|
-
var http = require('
|
|
4
|
-
var
|
|
3
|
+
var http = require('http');
|
|
4
|
+
var nodeHttp = require('@trpc/server/adapters/node-http');
|
|
5
|
+
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var http__default = /*#__PURE__*/_interopDefault(http);
|
|
5
9
|
|
|
6
10
|
function createHTTPHandler(opts) {
|
|
7
11
|
return async (req, res)=>{
|
|
8
12
|
// Get procedure path and remove the leading slash, `/procedure -> procedure`
|
|
9
13
|
// Use dummy hostname if one is not provided.
|
|
10
14
|
const path = new URL(req.url, 'http://127.0.0.1').pathname.slice(1);
|
|
11
|
-
await
|
|
15
|
+
await nodeHttp.nodeHTTPRequestHandler({
|
|
12
16
|
// FIXME: no typecasting should be needed here
|
|
13
17
|
...opts,
|
|
14
|
-
...opts,
|
|
15
18
|
req,
|
|
16
19
|
res,
|
|
17
20
|
path
|
|
@@ -20,7 +23,7 @@ function createHTTPHandler(opts) {
|
|
|
20
23
|
}
|
|
21
24
|
function createHTTPServer(opts) {
|
|
22
25
|
const handler = createHTTPHandler(opts);
|
|
23
|
-
return
|
|
26
|
+
return http__default.default.createServer(handler);
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
exports.createHTTPHandler = createHTTPHandler;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import http from '
|
|
2
|
-
import { nodeHTTPRequestHandler } from '
|
|
1
|
+
import http from 'http';
|
|
2
|
+
import { nodeHTTPRequestHandler } from '@trpc/server/adapters/node-http';
|
|
3
3
|
|
|
4
4
|
function createHTTPHandler(opts) {
|
|
5
5
|
return async (req, res)=>{
|
|
@@ -9,7 +9,6 @@ function createHTTPHandler(opts) {
|
|
|
9
9
|
await nodeHTTPRequestHandler({
|
|
10
10
|
// FIXME: no typecasting should be needed here
|
|
11
11
|
...opts,
|
|
12
|
-
...opts,
|
|
13
12
|
req,
|
|
14
13
|
res,
|
|
15
14
|
path
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IncomingMessage } from 'http';
|
|
2
|
+
import { MaybePromise, BaseHandlerOptions } from '@trpc/core';
|
|
3
|
+
import ws from 'ws';
|
|
4
|
+
import { AnyRouter, inferRouterContext } from '@trpc/server';
|
|
5
|
+
import { NodeHTTPCreateContextFnOptions } from '@trpc/server/adapters/node-http';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
type CreateWSSContextFnOptions = Omit<NodeHTTPCreateContextFnOptions<IncomingMessage, ws.WebSocket>, 'info'>;
|
|
11
|
+
/**
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
type CreateWSSContextFn<TRouter extends AnyRouter> = (opts: CreateWSSContextFnOptions) => MaybePromise<inferRouterContext<TRouter>>;
|
|
15
|
+
/**
|
|
16
|
+
* Web socket server handler
|
|
17
|
+
*/
|
|
18
|
+
type WSSHandlerOptions<TRouter extends AnyRouter> = BaseHandlerOptions<TRouter, IncomingMessage> & (object extends inferRouterContext<TRouter> ? {
|
|
19
|
+
/**
|
|
20
|
+
* @link https://trpc.io/docs/v11/context
|
|
21
|
+
**/
|
|
22
|
+
createContext?: CreateWSSContextFn<TRouter>;
|
|
23
|
+
} : {
|
|
24
|
+
/**
|
|
25
|
+
* @link https://trpc.io/docs/v11/context
|
|
26
|
+
**/
|
|
27
|
+
createContext: CreateWSSContextFn<TRouter>;
|
|
28
|
+
}) & {
|
|
29
|
+
wss: ws.WebSocketServer;
|
|
30
|
+
process?: NodeJS.Process;
|
|
31
|
+
};
|
|
32
|
+
declare function applyWSSHandler<TRouter extends AnyRouter>(opts: WSSHandlerOptions<TRouter>): {
|
|
33
|
+
broadcastReconnectNotification: () => void;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export { type CreateWSSContextFn, type CreateWSSContextFnOptions, type WSSHandlerOptions, applyWSSHandler };
|
package/dist/adapters/ws.d.ts
CHANGED
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
import type { BaseHandlerOptions } from '../@trpc/server/http';
|
|
8
|
-
import type { MaybePromise } from '../unstable-core-do-not-import';
|
|
9
|
-
import type { NodeHTTPCreateContextFnOptions } from './node-http';
|
|
1
|
+
import { IncomingMessage } from 'http';
|
|
2
|
+
import { MaybePromise, BaseHandlerOptions } from '@trpc/core';
|
|
3
|
+
import ws from 'ws';
|
|
4
|
+
import { AnyRouter, inferRouterContext } from '@trpc/server';
|
|
5
|
+
import { NodeHTTPCreateContextFnOptions } from '@trpc/server/adapters/node-http';
|
|
6
|
+
|
|
10
7
|
/**
|
|
11
8
|
* @public
|
|
12
9
|
*/
|
|
13
|
-
|
|
10
|
+
type CreateWSSContextFnOptions = Omit<NodeHTTPCreateContextFnOptions<IncomingMessage, ws.WebSocket>, 'info'>;
|
|
14
11
|
/**
|
|
15
12
|
* @public
|
|
16
13
|
*/
|
|
17
|
-
|
|
14
|
+
type CreateWSSContextFn<TRouter extends AnyRouter> = (opts: CreateWSSContextFnOptions) => MaybePromise<inferRouterContext<TRouter>>;
|
|
18
15
|
/**
|
|
19
16
|
* Web socket server handler
|
|
20
17
|
*/
|
|
21
|
-
|
|
18
|
+
type WSSHandlerOptions<TRouter extends AnyRouter> = BaseHandlerOptions<TRouter, IncomingMessage> & (object extends inferRouterContext<TRouter> ? {
|
|
22
19
|
/**
|
|
23
20
|
* @link https://trpc.io/docs/v11/context
|
|
24
21
|
**/
|
|
@@ -32,7 +29,8 @@ export type WSSHandlerOptions<TRouter extends AnyRouter> = BaseHandlerOptions<TR
|
|
|
32
29
|
wss: ws.WebSocketServer;
|
|
33
30
|
process?: NodeJS.Process;
|
|
34
31
|
};
|
|
35
|
-
|
|
32
|
+
declare function applyWSSHandler<TRouter extends AnyRouter>(opts: WSSHandlerOptions<TRouter>): {
|
|
36
33
|
broadcastReconnectNotification: () => void;
|
|
37
34
|
};
|
|
38
|
-
|
|
35
|
+
|
|
36
|
+
export { type CreateWSSContextFn, type CreateWSSContextFnOptions, type WSSHandlerOptions, applyWSSHandler };
|
package/dist/adapters/ws.js
CHANGED
|
@@ -1,27 +1,22 @@
|
|
|
1
|
-
'
|
|
1
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
require('
|
|
6
|
-
var router = require('../unstable-core-do-not-import/router.js');
|
|
7
|
-
var transformer = require('../unstable-core-do-not-import/transformer.js');
|
|
8
|
-
require('../unstable-core-do-not-import/rpc/codes.js');
|
|
9
|
-
var parseTRPCMessage = require('../unstable-core-do-not-import/rpc/parseTRPCMessage.js');
|
|
10
|
-
var observable = require('../observable/observable.js');
|
|
3
|
+
var server = require('@trpc/server');
|
|
4
|
+
var observable = require('@trpc/server/observable');
|
|
5
|
+
var rpc = require('@trpc/server/rpc');
|
|
11
6
|
|
|
12
7
|
/**
|
|
13
8
|
* Importing ws causes a build error
|
|
14
9
|
* @link https://github.com/trpc/trpc/pull/5279
|
|
15
10
|
*/ const WEBSOCKET_OPEN = 1; /* ws.WebSocket.OPEN */
|
|
16
11
|
function applyWSSHandler(opts) {
|
|
17
|
-
const { wss
|
|
18
|
-
const { transformer
|
|
12
|
+
const { wss, createContext, router } = opts;
|
|
13
|
+
const { transformer } = router._def._config;
|
|
19
14
|
wss.on('connection', async (client, req)=>{
|
|
20
15
|
const clientSubscriptions = new Map();
|
|
21
16
|
function respond(untransformedJSON) {
|
|
22
|
-
client.send(JSON.stringify(
|
|
17
|
+
client.send(JSON.stringify(server.transformTRPCResponse(router._def._config, untransformedJSON)));
|
|
23
18
|
}
|
|
24
|
-
function stopSubscription(subscription, { id
|
|
19
|
+
function stopSubscription(subscription, { id, jsonrpc }) {
|
|
25
20
|
subscription.unsubscribe();
|
|
26
21
|
respond({
|
|
27
22
|
id,
|
|
@@ -37,9 +32,9 @@ function applyWSSHandler(opts) {
|
|
|
37
32
|
});
|
|
38
33
|
let ctx = undefined;
|
|
39
34
|
async function handleRequest(msg) {
|
|
40
|
-
const { id
|
|
35
|
+
const { id, jsonrpc } = msg;
|
|
41
36
|
/* istanbul ignore next -- @preserve */ if (id === null) {
|
|
42
|
-
throw new
|
|
37
|
+
throw new server.TRPCError({
|
|
43
38
|
code: 'BAD_REQUEST',
|
|
44
39
|
message: '`id` is required'
|
|
45
40
|
});
|
|
@@ -55,12 +50,12 @@ function applyWSSHandler(opts) {
|
|
|
55
50
|
clientSubscriptions.delete(id);
|
|
56
51
|
return;
|
|
57
52
|
}
|
|
58
|
-
const { path
|
|
53
|
+
const { path, input } = msg.params;
|
|
59
54
|
const type = msg.method;
|
|
60
55
|
try {
|
|
61
56
|
await ctxPromise; // asserts context has been set
|
|
62
|
-
const result = await
|
|
63
|
-
procedures: router
|
|
57
|
+
const result = await server.callProcedure({
|
|
58
|
+
procedures: router._def.procedures,
|
|
64
59
|
path,
|
|
65
60
|
getRawInput: async ()=>input,
|
|
66
61
|
ctx,
|
|
@@ -68,7 +63,7 @@ function applyWSSHandler(opts) {
|
|
|
68
63
|
});
|
|
69
64
|
if (type === 'subscription') {
|
|
70
65
|
if (!observable.isObservable(result)) {
|
|
71
|
-
throw new
|
|
66
|
+
throw new server.TRPCError({
|
|
72
67
|
message: `Subscription ${path} did not return an observable`,
|
|
73
68
|
code: 'INTERNAL_SERVER_ERROR'
|
|
74
69
|
});
|
|
@@ -86,7 +81,7 @@ function applyWSSHandler(opts) {
|
|
|
86
81
|
return;
|
|
87
82
|
}
|
|
88
83
|
const observable$1 = result;
|
|
89
|
-
const
|
|
84
|
+
const sub = observable$1.subscribe({
|
|
90
85
|
next (data) {
|
|
91
86
|
respond({
|
|
92
87
|
id,
|
|
@@ -98,7 +93,7 @@ function applyWSSHandler(opts) {
|
|
|
98
93
|
});
|
|
99
94
|
},
|
|
100
95
|
error (err) {
|
|
101
|
-
const error =
|
|
96
|
+
const error = server.getTRPCErrorFromUnknown(err);
|
|
102
97
|
opts.onError?.({
|
|
103
98
|
error,
|
|
104
99
|
path,
|
|
@@ -110,8 +105,8 @@ function applyWSSHandler(opts) {
|
|
|
110
105
|
respond({
|
|
111
106
|
id,
|
|
112
107
|
jsonrpc,
|
|
113
|
-
error:
|
|
114
|
-
config: router
|
|
108
|
+
error: server.getErrorShape({
|
|
109
|
+
config: router._def._config,
|
|
115
110
|
error,
|
|
116
111
|
type,
|
|
117
112
|
path,
|
|
@@ -133,21 +128,21 @@ function applyWSSHandler(opts) {
|
|
|
133
128
|
/* istanbul ignore next -- @preserve */ if (client.readyState !== WEBSOCKET_OPEN) {
|
|
134
129
|
// if the client got disconnected whilst initializing the subscription
|
|
135
130
|
// no need to send stopped message if the client is disconnected
|
|
136
|
-
|
|
131
|
+
sub.unsubscribe();
|
|
137
132
|
return;
|
|
138
133
|
}
|
|
139
134
|
/* istanbul ignore next -- @preserve */ if (clientSubscriptions.has(id)) {
|
|
140
135
|
// duplicate request ids for client
|
|
141
|
-
stopSubscription(
|
|
136
|
+
stopSubscription(sub, {
|
|
142
137
|
id,
|
|
143
138
|
jsonrpc
|
|
144
139
|
});
|
|
145
|
-
throw new
|
|
140
|
+
throw new server.TRPCError({
|
|
146
141
|
message: `Duplicate id ${id}`,
|
|
147
142
|
code: 'BAD_REQUEST'
|
|
148
143
|
});
|
|
149
144
|
}
|
|
150
|
-
clientSubscriptions.set(id,
|
|
145
|
+
clientSubscriptions.set(id, sub);
|
|
151
146
|
respond({
|
|
152
147
|
id,
|
|
153
148
|
jsonrpc,
|
|
@@ -157,7 +152,7 @@ function applyWSSHandler(opts) {
|
|
|
157
152
|
});
|
|
158
153
|
} catch (cause) /* istanbul ignore next -- @preserve */ {
|
|
159
154
|
// procedure threw an error
|
|
160
|
-
const error =
|
|
155
|
+
const error = server.getTRPCErrorFromUnknown(cause);
|
|
161
156
|
opts.onError?.({
|
|
162
157
|
error,
|
|
163
158
|
path,
|
|
@@ -169,8 +164,8 @@ function applyWSSHandler(opts) {
|
|
|
169
164
|
respond({
|
|
170
165
|
id,
|
|
171
166
|
jsonrpc,
|
|
172
|
-
error:
|
|
173
|
-
config: router
|
|
167
|
+
error: server.getErrorShape({
|
|
168
|
+
config: router._def._config,
|
|
174
169
|
error,
|
|
175
170
|
type,
|
|
176
171
|
path,
|
|
@@ -187,17 +182,17 @@ function applyWSSHandler(opts) {
|
|
|
187
182
|
const msgs = Array.isArray(msgJSON) ? msgJSON : [
|
|
188
183
|
msgJSON
|
|
189
184
|
];
|
|
190
|
-
const promises = msgs.map((raw)=>
|
|
185
|
+
const promises = msgs.map((raw)=>rpc.parseTRPCMessage(raw, transformer)).map(handleRequest);
|
|
191
186
|
await Promise.all(promises);
|
|
192
187
|
} catch (cause) {
|
|
193
|
-
const error = new
|
|
188
|
+
const error = new server.TRPCError({
|
|
194
189
|
code: 'PARSE_ERROR',
|
|
195
190
|
cause
|
|
196
191
|
});
|
|
197
192
|
respond({
|
|
198
193
|
id: null,
|
|
199
|
-
error:
|
|
200
|
-
config: router
|
|
194
|
+
error: server.getErrorShape({
|
|
195
|
+
config: router._def._config,
|
|
201
196
|
error,
|
|
202
197
|
type: 'unknown',
|
|
203
198
|
path: undefined,
|
|
@@ -214,7 +209,7 @@ function applyWSSHandler(opts) {
|
|
|
214
209
|
client.on('error', (cause)=>{
|
|
215
210
|
opts.onError?.({
|
|
216
211
|
ctx,
|
|
217
|
-
error:
|
|
212
|
+
error: server.getTRPCErrorFromUnknown(cause),
|
|
218
213
|
input: undefined,
|
|
219
214
|
path: undefined,
|
|
220
215
|
type: 'unknown',
|
|
@@ -231,7 +226,7 @@ function applyWSSHandler(opts) {
|
|
|
231
226
|
try {
|
|
232
227
|
ctx = await ctxPromise;
|
|
233
228
|
} catch (cause) {
|
|
234
|
-
const error =
|
|
229
|
+
const error = server.getTRPCErrorFromUnknown(cause);
|
|
235
230
|
opts.onError?.({
|
|
236
231
|
error,
|
|
237
232
|
path: undefined,
|
|
@@ -242,8 +237,8 @@ function applyWSSHandler(opts) {
|
|
|
242
237
|
});
|
|
243
238
|
respond({
|
|
244
239
|
id: null,
|
|
245
|
-
error:
|
|
246
|
-
config: router
|
|
240
|
+
error: server.getErrorShape({
|
|
241
|
+
config: router._def._config,
|
|
247
242
|
error,
|
|
248
243
|
type: 'unknown',
|
|
249
244
|
path: undefined,
|
package/dist/adapters/ws.mjs
CHANGED
|
@@ -1,25 +1,20 @@
|
|
|
1
|
-
import { getErrorShape } from '
|
|
2
|
-
import {
|
|
3
|
-
import '
|
|
4
|
-
import { callProcedure } from '../unstable-core-do-not-import/router.mjs';
|
|
5
|
-
import { transformTRPCResponse } from '../unstable-core-do-not-import/transformer.mjs';
|
|
6
|
-
import '../unstable-core-do-not-import/rpc/codes.mjs';
|
|
7
|
-
import { parseTRPCMessage } from '../unstable-core-do-not-import/rpc/parseTRPCMessage.mjs';
|
|
8
|
-
import { isObservable } from '../observable/observable.mjs';
|
|
1
|
+
import { TRPCError, getErrorShape, getTRPCErrorFromUnknown, transformTRPCResponse, callProcedure } from '@trpc/server';
|
|
2
|
+
import { isObservable } from '@trpc/server/observable';
|
|
3
|
+
import { parseTRPCMessage } from '@trpc/server/rpc';
|
|
9
4
|
|
|
10
5
|
/**
|
|
11
6
|
* Importing ws causes a build error
|
|
12
7
|
* @link https://github.com/trpc/trpc/pull/5279
|
|
13
8
|
*/ const WEBSOCKET_OPEN = 1; /* ws.WebSocket.OPEN */
|
|
14
9
|
function applyWSSHandler(opts) {
|
|
15
|
-
const { wss
|
|
16
|
-
const { transformer
|
|
10
|
+
const { wss, createContext, router } = opts;
|
|
11
|
+
const { transformer } = router._def._config;
|
|
17
12
|
wss.on('connection', async (client, req)=>{
|
|
18
13
|
const clientSubscriptions = new Map();
|
|
19
14
|
function respond(untransformedJSON) {
|
|
20
15
|
client.send(JSON.stringify(transformTRPCResponse(router._def._config, untransformedJSON)));
|
|
21
16
|
}
|
|
22
|
-
function stopSubscription(subscription, { id
|
|
17
|
+
function stopSubscription(subscription, { id, jsonrpc }) {
|
|
23
18
|
subscription.unsubscribe();
|
|
24
19
|
respond({
|
|
25
20
|
id,
|
|
@@ -35,7 +30,7 @@ function applyWSSHandler(opts) {
|
|
|
35
30
|
});
|
|
36
31
|
let ctx = undefined;
|
|
37
32
|
async function handleRequest(msg) {
|
|
38
|
-
const { id
|
|
33
|
+
const { id, jsonrpc } = msg;
|
|
39
34
|
/* istanbul ignore next -- @preserve */ if (id === null) {
|
|
40
35
|
throw new TRPCError({
|
|
41
36
|
code: 'BAD_REQUEST',
|
|
@@ -53,7 +48,7 @@ function applyWSSHandler(opts) {
|
|
|
53
48
|
clientSubscriptions.delete(id);
|
|
54
49
|
return;
|
|
55
50
|
}
|
|
56
|
-
const { path
|
|
51
|
+
const { path, input } = msg.params;
|
|
57
52
|
const type = msg.method;
|
|
58
53
|
try {
|
|
59
54
|
await ctxPromise; // asserts context has been set
|
|
@@ -84,7 +79,7 @@ function applyWSSHandler(opts) {
|
|
|
84
79
|
return;
|
|
85
80
|
}
|
|
86
81
|
const observable = result;
|
|
87
|
-
const
|
|
82
|
+
const sub = observable.subscribe({
|
|
88
83
|
next (data) {
|
|
89
84
|
respond({
|
|
90
85
|
id,
|
|
@@ -131,12 +126,12 @@ function applyWSSHandler(opts) {
|
|
|
131
126
|
/* istanbul ignore next -- @preserve */ if (client.readyState !== WEBSOCKET_OPEN) {
|
|
132
127
|
// if the client got disconnected whilst initializing the subscription
|
|
133
128
|
// no need to send stopped message if the client is disconnected
|
|
134
|
-
|
|
129
|
+
sub.unsubscribe();
|
|
135
130
|
return;
|
|
136
131
|
}
|
|
137
132
|
/* istanbul ignore next -- @preserve */ if (clientSubscriptions.has(id)) {
|
|
138
133
|
// duplicate request ids for client
|
|
139
|
-
stopSubscription(
|
|
134
|
+
stopSubscription(sub, {
|
|
140
135
|
id,
|
|
141
136
|
jsonrpc
|
|
142
137
|
});
|
|
@@ -145,7 +140,7 @@ function applyWSSHandler(opts) {
|
|
|
145
140
|
code: 'BAD_REQUEST'
|
|
146
141
|
});
|
|
147
142
|
}
|
|
148
|
-
clientSubscriptions.set(id,
|
|
143
|
+
clientSubscriptions.set(id, sub);
|
|
149
144
|
respond({
|
|
150
145
|
id,
|
|
151
146
|
jsonrpc,
|
package/dist/http.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BaseContentTypeHandler, BaseHandlerOptions, BodyResult, HTTPBaseHandlerOptions, HTTPHeaders, HTTPRequest, HTTPResponse, OnErrorFunction, ProcedureCall, ResolveHTTPRequestOptionsContextFn, ResponseChunk, ResponseMeta, ResponseMetaFn, TRPCRequestInfo, getBatchStreamFormatter, getHTTPStatusCode, getHTTPStatusCodeFromError, getJsonContentTypeInputs, resolveHTTPResponse } from '@trpc/server/unstableDontImportMe';
|
package/dist/http.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
//# sourceMappingURL=http.d.ts.map
|
|
1
|
+
export { BaseContentTypeHandler, BaseHandlerOptions, BodyResult, HTTPBaseHandlerOptions, HTTPHeaders, HTTPRequest, HTTPResponse, OnErrorFunction, ProcedureCall, ResolveHTTPRequestOptionsContextFn, ResponseChunk, ResponseMeta, ResponseMetaFn, TRPCRequestInfo, getBatchStreamFormatter, getHTTPStatusCode, getHTTPStatusCodeFromError, getJsonContentTypeInputs, resolveHTTPResponse } from '@trpc/server/unstableDontImportMe';
|
package/dist/http.js
CHANGED
|
@@ -1,16 +1,26 @@
|
|
|
1
|
-
'
|
|
1
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./unstable-core-do-not-import/rpc/codes.js');
|
|
5
|
-
require('./unstable-core-do-not-import/rootConfig.js');
|
|
6
|
-
var resolveHTTPResponse = require('./unstable-core-do-not-import/http/resolveHTTPResponse.js');
|
|
7
|
-
var batchStreamFormatter = require('./unstable-core-do-not-import/http/batchStreamFormatter.js');
|
|
8
|
-
var contentType = require('./unstable-core-do-not-import/http/contentType.js');
|
|
3
|
+
var unstableDontImportMe = require('@trpc/server/unstableDontImportMe');
|
|
9
4
|
|
|
10
5
|
|
|
11
6
|
|
|
12
|
-
exports
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
exports
|
|
7
|
+
Object.defineProperty(exports, "getBatchStreamFormatter", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return unstableDontImportMe.getBatchStreamFormatter; }
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, "getHTTPStatusCode", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return unstableDontImportMe.getHTTPStatusCode; }
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(exports, "getHTTPStatusCodeFromError", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return unstableDontImportMe.getHTTPStatusCodeFromError; }
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "getJsonContentTypeInputs", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return unstableDontImportMe.getJsonContentTypeInputs; }
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "resolveHTTPResponse", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () { return unstableDontImportMe.resolveHTTPResponse; }
|
|
26
|
+
});
|
package/dist/http.mjs
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
export { getHTTPStatusCode, getHTTPStatusCodeFromError } from '
|
|
2
|
-
import './unstable-core-do-not-import/rpc/codes.mjs';
|
|
3
|
-
import './unstable-core-do-not-import/rootConfig.mjs';
|
|
4
|
-
export { resolveHTTPResponse } from './unstable-core-do-not-import/http/resolveHTTPResponse.mjs';
|
|
5
|
-
export { getBatchStreamFormatter } from './unstable-core-do-not-import/http/batchStreamFormatter.mjs';
|
|
6
|
-
export { getJsonContentTypeInputs } from './unstable-core-do-not-import/http/contentType.mjs';
|
|
1
|
+
export { getBatchStreamFormatter, getHTTPStatusCode, getHTTPStatusCodeFromError, getJsonContentTypeInputs, resolveHTTPResponse } from '@trpc/server/unstableDontImportMe';
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { AnyMiddlewareFunction, AnyMutationProcedure, AnyProcedure, AnyQueryProcedure, AnyRouter, AnySubscriptionProcedure, AnyMiddlewareFunction as AnyTRPCMiddlewareFunction, AnyMutationProcedure as AnyTRPCMutationProcedure, AnyProcedure as AnyTRPCProcedure, AnyQueryProcedure as AnyTRPCQueryProcedure, AnyRouter as AnyTRPCRouter, AnySubscriptionProcedure as AnyTRPCSubscriptionProcedure, CombinedDataTransformer, DeepPartial, Dict, ProcedureArgs, ProcedureRouterRecord, ProcedureType, CombinedDataTransformer as TRPCCombinedDataTransformer, TRPCError, ProcedureArgs as TRPCProcedureArgs, ProcedureRouterRecord as TRPCProcedureRouterRecord, ProcedureType as TRPCProcedureType, callProcedure, callProcedure as callTRPCProcedure, createFlatProxy as createTRPCFlatProxy, experimental_standaloneMiddleware, experimental_standaloneMiddleware as experimental_trpcMiddleware, getErrorShape, getTRPCErrorFromUnknown, inferProcedureInput, inferProcedureOutput, inferRouterContext, inferRouterError, inferRouterInputs, inferRouterOutputs, inferTransformedProcedureOutput, inferTransformedSubscriptionOutput, initTRPC, transformTRPCResponse } from '@trpc/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated
|
|
5
|
+
* Use `Awaited<ReturnType<typeof myFunction>>` instead
|
|
6
|
+
*/
|
|
7
|
+
type inferAsyncReturnType<TFunction extends (...args: any[]) => any> = Awaited<ReturnType<TFunction>>;
|
|
8
|
+
|
|
9
|
+
export type { inferAsyncReturnType };
|