@trpc/server 11.0.0-next.91 → 11.0.0-rc.329
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/adapters/next-app-dir/index.d.ts +1 -0
- package/adapters/next-app-dir/index.js +1 -0
- package/dist/@trpc/server/http.d.ts +8 -0
- package/dist/@trpc/server/http.d.ts.map +1 -0
- package/dist/@trpc/server/index.d.ts +61 -0
- package/dist/@trpc/server/index.d.ts.map +1 -0
- package/dist/@trpc/server/rpc.d.ts +3 -0
- package/dist/@trpc/server/rpc.d.ts.map +1 -0
- package/dist/adapters/aws-lambda/index.d.ts +11 -2
- package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
- package/dist/adapters/aws-lambda/index.js +28 -106
- package/dist/adapters/aws-lambda/index.mjs +15 -91
- package/dist/adapters/aws-lambda/utils.d.ts +14 -14
- package/dist/adapters/aws-lambda/utils.d.ts.map +1 -1
- package/dist/adapters/aws-lambda/utils.js +101 -0
- package/dist/adapters/aws-lambda/utils.mjs +94 -0
- package/dist/adapters/express.d.ts +11 -2
- package/dist/adapters/express.d.ts.map +1 -1
- package/dist/adapters/express.js +2 -14
- package/dist/adapters/express.mjs +2 -12
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts +4 -4
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
- package/dist/adapters/fastify/fastifyRequestHandler.js +81 -0
- package/dist/adapters/fastify/fastifyRequestHandler.mjs +79 -0
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +13 -4
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
- package/dist/adapters/fastify/fastifyTRPCPlugin.js +48 -0
- package/dist/adapters/fastify/fastifyTRPCPlugin.mjs +46 -0
- package/dist/adapters/fastify/index.js +4 -125
- package/dist/adapters/fastify/index.mjs +2 -125
- package/dist/adapters/fetch/fetchRequestHandler.d.ts +11 -2
- package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
- package/dist/adapters/fetch/fetchRequestHandler.js +119 -0
- package/dist/adapters/fetch/fetchRequestHandler.mjs +117 -0
- package/dist/adapters/fetch/index.js +2 -106
- package/dist/adapters/fetch/index.mjs +1 -107
- package/dist/adapters/fetch/types.d.ts +13 -4
- package/dist/adapters/fetch/types.d.ts.map +1 -1
- package/dist/adapters/next-app-dir/formDataToObject.d.ts +2 -0
- package/dist/adapters/next-app-dir/formDataToObject.d.ts.map +1 -0
- package/dist/adapters/next-app-dir/formDataToObject.js +34 -0
- package/dist/adapters/next-app-dir/formDataToObject.mjs +32 -0
- package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts +24 -0
- package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts.map +1 -0
- package/dist/adapters/next-app-dir/nextAppDirCaller.js +86 -0
- package/dist/adapters/next-app-dir/nextAppDirCaller.mjs +84 -0
- package/dist/adapters/next-app-dir/notFound.d.ts +7 -0
- package/dist/adapters/next-app-dir/notFound.d.ts.map +1 -0
- package/dist/adapters/next-app-dir/notFound.js +16 -0
- package/dist/adapters/next-app-dir/notFound.mjs +14 -0
- package/dist/adapters/next-app-dir/redirect.d.ts +18 -0
- package/dist/adapters/next-app-dir/redirect.d.ts.map +1 -0
- package/dist/adapters/next-app-dir/redirect.js +34 -0
- package/dist/adapters/next-app-dir/redirect.mjs +31 -0
- package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts +6 -0
- package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts.map +1 -0
- package/dist/adapters/next-app-dir/rethrowNextErrors.js +23 -0
- package/dist/adapters/next-app-dir/rethrowNextErrors.mjs +21 -0
- package/dist/adapters/next-app-dir.d.ts +4 -0
- package/dist/adapters/next-app-dir.d.ts.map +1 -0
- package/dist/adapters/next-app-dir.js +11 -0
- package/dist/adapters/next-app-dir.mjs +3 -0
- package/dist/adapters/next.d.ts +16 -3
- package/dist/adapters/next.d.ts.map +1 -1
- package/dist/adapters/next.js +20 -19
- package/dist/adapters/next.mjs +19 -16
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts +6 -3
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts.map +1 -1
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.js +161 -0
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.mjs +157 -0
- package/dist/adapters/node-http/content-type/form-data/index.d.ts +6 -8
- package/dist/adapters/node-http/content-type/form-data/index.d.ts.map +1 -1
- package/dist/adapters/node-http/content-type/form-data/index.js +21 -647
- package/dist/adapters/node-http/content-type/form-data/index.mjs +10 -632
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts +2 -2
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts.map +1 -1
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.js +29 -0
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.mjs +27 -0
- package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts +2 -1
- package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts.map +1 -1
- package/dist/adapters/node-http/content-type/form-data/streamSlice.js +46 -0
- package/dist/adapters/node-http/content-type/form-data/streamSlice.mjs +44 -0
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts +2 -2
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts.map +1 -1
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.js +30 -0
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.mjs +26 -0
- package/dist/adapters/node-http/content-type/json/getPostBody.d.ts +2 -2
- package/dist/adapters/node-http/content-type/json/getPostBody.d.ts.map +1 -1
- package/dist/adapters/node-http/content-type/json/getPostBody.js +54 -0
- package/dist/adapters/node-http/content-type/json/getPostBody.mjs +52 -0
- package/dist/adapters/node-http/content-type/json/index.js +6 -42
- package/dist/adapters/node-http/content-type/json/index.mjs +5 -39
- package/dist/adapters/node-http/index.js +1 -14
- package/dist/adapters/node-http/index.mjs +1 -12
- package/dist/adapters/node-http/internals/contentType.d.ts +3 -3
- package/dist/adapters/node-http/internals/contentType.d.ts.map +1 -1
- package/dist/{contentType-8c16408e.js → adapters/node-http/internals/contentType.js} +1 -0
- package/dist/{contentType-3194ed5f.mjs → adapters/node-http/internals/contentType.mjs} +2 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +11 -2
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
- package/dist/{nodeHTTPRequestHandler-18f3370e.js → adapters/node-http/nodeHTTPRequestHandler.js} +19 -10
- package/dist/{nodeHTTPRequestHandler-0986c5a1.mjs → adapters/node-http/nodeHTTPRequestHandler.mjs} +19 -10
- package/dist/adapters/node-http/types.d.ts +18 -9
- package/dist/adapters/node-http/types.d.ts.map +1 -1
- package/dist/adapters/standalone.d.ts +11 -2
- package/dist/adapters/standalone.d.ts.map +1 -1
- package/dist/adapters/standalone.js +10 -22
- package/dist/adapters/standalone.mjs +10 -16
- package/dist/adapters/ws.d.ts +18 -20
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +35 -74
- package/dist/adapters/ws.mjs +29 -66
- package/dist/bundle-analysis.json +386 -482
- package/dist/http.d.ts +2 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +18 -0
- package/dist/http.mjs +7 -0
- package/dist/index.d.ts +1 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -86
- package/dist/index.mjs +9 -81
- package/dist/observable/index.d.ts +4 -4
- package/dist/observable/index.d.ts.map +1 -1
- package/dist/observable/index.js +6 -149
- package/dist/observable/index.mjs +2 -147
- package/dist/observable/observable.d.ts +9 -1
- package/dist/observable/observable.d.ts.map +1 -1
- package/dist/{observable-464116ac.js → observable/observable.js} +50 -20
- package/dist/{observable-ade1bad8.mjs → observable/observable.mjs} +50 -21
- package/dist/observable/operators.d.ts +8 -0
- package/dist/observable/operators.d.ts.map +1 -0
- package/dist/observable/operators.js +99 -0
- package/dist/observable/operators.mjs +95 -0
- package/dist/observable/types.d.ts +2 -5
- package/dist/observable/types.d.ts.map +1 -1
- package/dist/rpc.d.ts +2 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +12 -0
- package/dist/rpc.mjs +4 -0
- package/dist/shared.d.ts +26 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +11 -0
- package/dist/shared.mjs +4 -0
- package/dist/unstable-core-do-not-import/clientish/inference.d.ts +17 -0
- package/dist/unstable-core-do-not-import/clientish/inference.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/clientish/inferrable.d.ts +32 -0
- package/dist/unstable-core-do-not-import/clientish/inferrable.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/clientish/serialize.d.ts +62 -0
- package/dist/unstable-core-do-not-import/clientish/serialize.d.ts.map +1 -0
- package/dist/{shared/createProxy/index.d.ts → unstable-core-do-not-import/createProxy.d.ts} +1 -1
- package/dist/unstable-core-do-not-import/createProxy.d.ts.map +1 -0
- package/dist/{index-784ff647.js → unstable-core-do-not-import/createProxy.js} +0 -51
- package/dist/unstable-core-do-not-import/createProxy.mjs +49 -0
- package/dist/{error → unstable-core-do-not-import/error}/TRPCError.d.ts +3 -2
- package/dist/unstable-core-do-not-import/error/TRPCError.d.ts.map +1 -0
- package/dist/{TRPCError-ae7b67e8.js → unstable-core-do-not-import/error/TRPCError.js} +25 -25
- package/dist/{TRPCError-816ff32e.mjs → unstable-core-do-not-import/error/TRPCError.mjs} +24 -25
- package/dist/{error → unstable-core-do-not-import/error}/formatter.d.ts +11 -6
- package/dist/unstable-core-do-not-import/error/formatter.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/error/formatter.js +7 -0
- package/dist/unstable-core-do-not-import/error/formatter.mjs +5 -0
- package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts +15 -0
- package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/error/getErrorShape.js +32 -0
- package/dist/unstable-core-do-not-import/error/getErrorShape.mjs +30 -0
- package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts.map +1 -0
- package/dist/{batchStreamFormatter-fc1ffb26.mjs → unstable-core-do-not-import/http/batchStreamFormatter.mjs} +1 -1
- package/dist/{http → unstable-core-do-not-import/http}/contentType.d.ts +3 -3
- package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +1 -0
- package/dist/{contentType-90bad7bb.js → unstable-core-do-not-import/http/contentType.js} +1 -1
- package/dist/{contentType-93515a46.mjs → unstable-core-do-not-import/http/contentType.mjs} +2 -2
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +5 -0
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +53 -0
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +50 -0
- package/dist/unstable-core-do-not-import/http/index.d.ts +12 -0
- package/dist/unstable-core-do-not-import/http/index.d.ts.map +1 -0
- package/dist/{http → unstable-core-do-not-import/http}/resolveHTTPResponse.d.ts +4 -5
- package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts.map +1 -0
- package/dist/{resolveHTTPResponse-5def1b0c.js → unstable-core-do-not-import/http/resolveHTTPResponse.js} +60 -63
- package/dist/{resolveHTTPResponse-55c648bd.mjs → unstable-core-do-not-import/http/resolveHTTPResponse.mjs} +54 -57
- package/dist/unstable-core-do-not-import/http/toURL.d.ts +2 -0
- package/dist/unstable-core-do-not-import/http/toURL.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/http/toURL.js +8 -0
- package/dist/unstable-core-do-not-import/http/toURL.mjs +6 -0
- package/dist/unstable-core-do-not-import/http/types.d.ts +109 -0
- package/dist/unstable-core-do-not-import/http/types.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/initTRPC.d.ts +102 -0
- package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/initTRPC.js +82 -0
- package/dist/unstable-core-do-not-import/initTRPC.mjs +80 -0
- package/dist/unstable-core-do-not-import/middleware.d.ts +106 -0
- package/dist/unstable-core-do-not-import/middleware.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/middleware.js +96 -0
- package/dist/unstable-core-do-not-import/middleware.mjs +90 -0
- package/dist/{core → unstable-core-do-not-import}/parser.d.ts +3 -7
- package/dist/unstable-core-do-not-import/parser.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/parser.js +37 -0
- package/dist/unstable-core-do-not-import/parser.mjs +35 -0
- package/dist/{core → unstable-core-do-not-import}/procedure.d.ts +26 -27
- package/dist/unstable-core-do-not-import/procedure.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/procedure.js +9 -0
- package/dist/unstable-core-do-not-import/procedure.mjs +7 -0
- package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +134 -0
- package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/procedureBuilder.js +204 -0
- package/dist/unstable-core-do-not-import/procedureBuilder.mjs +201 -0
- package/dist/{core/internals/config.d.ts → unstable-core-do-not-import/rootConfig.d.ts} +19 -27
- package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/rootConfig.js +8 -0
- package/dist/unstable-core-do-not-import/rootConfig.mjs +6 -0
- package/dist/unstable-core-do-not-import/router.d.ts +81 -0
- package/dist/unstable-core-do-not-import/router.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/router.js +168 -0
- package/dist/unstable-core-do-not-import/router.mjs +163 -0
- package/dist/{rpc → unstable-core-do-not-import/rpc}/codes.d.ts +8 -16
- package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +1 -0
- package/dist/{codes-87f6824b.js → unstable-core-do-not-import/rpc/codes.js} +19 -13
- package/dist/{codes-c924c3db.mjs → unstable-core-do-not-import/rpc/codes.mjs} +20 -13
- package/dist/{rpc → unstable-core-do-not-import/rpc}/envelopes.d.ts +6 -4
- package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/rpc/index.d.ts +5 -0
- package/dist/unstable-core-do-not-import/rpc/index.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts +5 -0
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.js +59 -0
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +57 -0
- package/dist/unstable-core-do-not-import/transformer.d.ts +101 -0
- package/dist/unstable-core-do-not-import/transformer.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/transformer.js +106 -0
- package/dist/unstable-core-do-not-import/transformer.mjs +101 -0
- package/dist/unstable-core-do-not-import/types.d.ts +103 -0
- package/dist/unstable-core-do-not-import/types.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/types.js +11 -0
- package/dist/unstable-core-do-not-import/types.mjs +9 -0
- package/dist/unstable-core-do-not-import/utils.d.ts +24 -0
- package/dist/unstable-core-do-not-import/utils.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/utils.js +46 -0
- package/dist/unstable-core-do-not-import/utils.mjs +40 -0
- package/dist/unstable-core-do-not-import.d.ts +31 -0
- package/dist/unstable-core-do-not-import.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import.js +67 -0
- package/dist/unstable-core-do-not-import.mjs +21 -0
- package/package.json +51 -69
- package/src/@trpc/server/http.ts +27 -0
- package/src/@trpc/server/index.ts +100 -0
- package/src/@trpc/server/rpc.ts +26 -0
- package/src/adapters/aws-lambda/index.ts +21 -10
- package/src/adapters/aws-lambda/utils.ts +33 -26
- package/src/adapters/express.ts +18 -4
- package/src/adapters/fastify/fastifyRequestHandler.ts +22 -12
- package/src/adapters/fastify/fastifyTRPCPlugin.ts +21 -9
- package/src/adapters/fetch/fetchRequestHandler.ts +36 -12
- package/src/adapters/fetch/types.ts +18 -4
- package/src/adapters/next-app-dir/formDataToObject.ts +36 -0
- package/src/adapters/next-app-dir/nextAppDirCaller.ts +129 -0
- package/src/adapters/next-app-dir/notFound.ts +12 -0
- package/src/adapters/next-app-dir/redirect.ts +30 -0
- package/src/adapters/next-app-dir/rethrowNextErrors.ts +25 -0
- package/src/adapters/next-app-dir.ts +3 -0
- package/src/adapters/next.ts +30 -14
- package/src/adapters/node-http/content-type/form-data/fileUploadHandler.ts +11 -4
- package/src/adapters/node-http/content-type/form-data/index.ts +18 -18
- package/src/adapters/node-http/content-type/form-data/memoryUploadHandler.ts +3 -2
- package/src/adapters/node-http/content-type/form-data/streamSlice.ts +7 -2
- package/src/adapters/node-http/content-type/form-data/uploadHandler.ts +2 -2
- package/src/adapters/node-http/content-type/json/getPostBody.ts +20 -3
- package/src/adapters/node-http/content-type/json/index.ts +1 -1
- package/src/adapters/node-http/internals/contentType.ts +5 -3
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +28 -16
- package/src/adapters/node-http/types.ts +24 -9
- package/src/adapters/standalone.ts +22 -8
- package/src/adapters/ws.ts +67 -114
- package/src/http.ts +1 -0
- package/src/index.ts +1 -20
- package/src/observable/index.ts +10 -4
- package/src/observable/observable.ts +63 -3
- package/src/observable/operators.ts +114 -0
- package/src/observable/types.ts +1 -5
- package/src/rpc.ts +1 -0
- package/src/shared.ts +26 -0
- package/src/unstable-core-do-not-import/clientish/inference.ts +60 -0
- package/src/unstable-core-do-not-import/clientish/inferrable.ts +49 -0
- package/src/unstable-core-do-not-import/clientish/serialize.ts +122 -0
- package/src/{error → unstable-core-do-not-import/error}/TRPCError.ts +33 -27
- package/src/{error → unstable-core-do-not-import/error}/formatter.ts +12 -19
- package/src/{shared → unstable-core-do-not-import/error}/getErrorShape.ts +8 -8
- package/src/{http → unstable-core-do-not-import/http}/contentType.ts +4 -4
- package/src/{http → unstable-core-do-not-import/http}/getHTTPStatusCode.ts +8 -8
- package/src/unstable-core-do-not-import/http/index.ts +29 -0
- package/src/{http → unstable-core-do-not-import/http}/resolveHTTPResponse.ts +69 -69
- package/src/unstable-core-do-not-import/http/toURL.ts +7 -0
- package/src/unstable-core-do-not-import/http/types.ts +126 -0
- package/src/unstable-core-do-not-import/initTRPC.ts +152 -0
- package/src/unstable-core-do-not-import/middleware.ts +238 -0
- package/src/unstable-core-do-not-import/parser.ts +94 -0
- package/src/{core → unstable-core-do-not-import}/procedure.ts +37 -35
- package/src/unstable-core-do-not-import/procedureBuilder.ts +623 -0
- package/src/{core/internals/config.ts → unstable-core-do-not-import/rootConfig.ts} +22 -33
- package/src/unstable-core-do-not-import/router.ts +363 -0
- package/src/{rpc → unstable-core-do-not-import/rpc}/codes.ts +30 -3
- package/src/{rpc → unstable-core-do-not-import/rpc}/envelopes.ts +6 -9
- package/src/unstable-core-do-not-import/rpc/index.ts +21 -0
- package/src/unstable-core-do-not-import/rpc/parseTRPCMessage.ts +85 -0
- package/src/unstable-core-do-not-import/transformer.ts +194 -0
- package/src/unstable-core-do-not-import/types.ts +157 -0
- package/src/unstable-core-do-not-import/utils.ts +55 -0
- package/src/unstable-core-do-not-import.ts +30 -0
- package/unstable-core-do-not-import/index.d.ts +1 -0
- package/unstable-core-do-not-import/index.js +1 -0
- package/dist/TRPCError-efecb077.js +0 -63
- package/dist/batchStreamFormatter-2c1405a1.js +0 -31
- package/dist/codes-e5bb4d58.js +0 -48
- package/dist/config-5de7eae5.js +0 -10
- package/dist/config-60fc2667.js +0 -7
- package/dist/config-ab4c1c6b.mjs +0 -5
- package/dist/contentType-24c44bba.js +0 -5
- package/dist/contentType-9940f5d7.js +0 -58
- package/dist/core/index.d.ts +0 -9
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/initTRPC.d.ts +0 -105
- package/dist/core/initTRPC.d.ts.map +0 -1
- package/dist/core/internals/builderTypes.d.ts +0 -11
- package/dist/core/internals/builderTypes.d.ts.map +0 -1
- package/dist/core/internals/config.d.ts.map +0 -1
- package/dist/core/internals/getParseFn.d.ts +0 -4
- package/dist/core/internals/getParseFn.d.ts.map +0 -1
- package/dist/core/internals/mergeRouters.d.ts +0 -15
- package/dist/core/internals/mergeRouters.d.ts.map +0 -1
- package/dist/core/internals/mergeWithoutOverrides.d.ts +0 -5
- package/dist/core/internals/mergeWithoutOverrides.d.ts.map +0 -1
- package/dist/core/internals/omitPrototype.d.ts +0 -6
- package/dist/core/internals/omitPrototype.d.ts.map +0 -1
- package/dist/core/internals/procedureBuilder.d.ts +0 -113
- package/dist/core/internals/procedureBuilder.d.ts.map +0 -1
- package/dist/core/internals/utils.d.ts +0 -51
- package/dist/core/internals/utils.d.ts.map +0 -1
- package/dist/core/middleware.d.ts +0 -158
- package/dist/core/middleware.d.ts.map +0 -1
- package/dist/core/parser.d.ts.map +0 -1
- package/dist/core/procedure.d.ts.map +0 -1
- package/dist/core/router.d.ts +0 -65
- package/dist/core/router.d.ts.map +0 -1
- package/dist/core/types.d.ts +0 -24
- package/dist/core/types.d.ts.map +0 -1
- package/dist/error/TRPCError.d.ts.map +0 -1
- package/dist/error/formatter.d.ts.map +0 -1
- package/dist/error/utils.d.ts +0 -9
- package/dist/error/utils.d.ts.map +0 -1
- package/dist/http/batchStreamFormatter.d.ts.map +0 -1
- package/dist/http/contentType.d.ts.map +0 -1
- package/dist/http/getHTTPStatusCode.d.ts +0 -24
- package/dist/http/getHTTPStatusCode.d.ts.map +0 -1
- package/dist/http/index.d.ts +0 -5
- package/dist/http/index.d.ts.map +0 -1
- package/dist/http/index.js +0 -21
- package/dist/http/index.mjs +0 -9
- package/dist/http/internals/types.d.ts +0 -32
- package/dist/http/internals/types.d.ts.map +0 -1
- package/dist/http/resolveHTTPResponse.d.ts.map +0 -1
- package/dist/http/types.d.ts +0 -46
- package/dist/http/types.d.ts.map +0 -1
- package/dist/index-46cb3130.js +0 -94
- package/dist/index-f91d720c.mjs +0 -97
- package/dist/internals/invert.d.ts +0 -12
- package/dist/internals/invert.d.ts.map +0 -1
- package/dist/internals/types.d.ts +0 -26
- package/dist/internals/types.d.ts.map +0 -1
- package/dist/nodeHTTPRequestHandler-388f5fce.js +0 -107
- package/dist/observable/internals/identity.d.ts +0 -2
- package/dist/observable/internals/identity.d.ts.map +0 -1
- package/dist/observable/internals/observableToPromise.d.ts +0 -10
- package/dist/observable/internals/observableToPromise.d.ts.map +0 -1
- package/dist/observable/internals/pipe.d.ts +0 -4
- package/dist/observable/internals/pipe.d.ts.map +0 -1
- package/dist/observable/operators/index.d.ts +0 -4
- package/dist/observable/operators/index.d.ts.map +0 -1
- package/dist/observable/operators/map.d.ts +0 -3
- package/dist/observable/operators/map.d.ts.map +0 -1
- package/dist/observable/operators/share.d.ts +0 -6
- package/dist/observable/operators/share.d.ts.map +0 -1
- package/dist/observable/operators/tap.d.ts +0 -3
- package/dist/observable/operators/tap.d.ts.map +0 -1
- package/dist/observable-15588f28.js +0 -83
- package/dist/resolveHTTPResponse-8d474952.js +0 -267
- package/dist/router-3c22fe56.js +0 -159
- package/dist/router-5274e533.mjs +0 -153
- package/dist/router-a1635eab.js +0 -147
- package/dist/rpc/codes.d.ts.map +0 -1
- package/dist/rpc/envelopes.d.ts.map +0 -1
- package/dist/rpc/index.d.ts +0 -3
- package/dist/rpc/index.d.ts.map +0 -1
- package/dist/rpc/index.js +0 -10
- package/dist/rpc/index.mjs +0 -1
- package/dist/shared/createProxy/index.d.ts.map +0 -1
- package/dist/shared/getErrorShape.d.ts +0 -15
- package/dist/shared/getErrorShape.d.ts.map +0 -1
- package/dist/shared/index.d.ts +0 -7
- package/dist/shared/index.d.ts.map +0 -1
- package/dist/shared/index.js +0 -14
- package/dist/shared/index.mjs +0 -3
- package/dist/shared/internal/serialize.d.ts +0 -30
- package/dist/shared/internal/serialize.d.ts.map +0 -1
- package/dist/shared/jsonify.d.ts +0 -11
- package/dist/shared/jsonify.d.ts.map +0 -1
- package/dist/shared/transformTRPCResponse.d.ts +0 -9
- package/dist/shared/transformTRPCResponse.d.ts.map +0 -1
- package/dist/shared/types.d.ts +0 -6
- package/dist/shared/types.d.ts.map +0 -1
- package/dist/transformTRPCResponse-1153b421.mjs +0 -53
- package/dist/transformTRPCResponse-20ce3b68.js +0 -54
- package/dist/transformTRPCResponse-e65f34e9.js +0 -56
- package/dist/transformer.d.ts +0 -74
- package/dist/transformer.d.ts.map +0 -1
- package/dist/types.d.ts +0 -83
- package/dist/types.d.ts.map +0 -1
- package/dist/unstableInternalsExport-10cc2bae.mjs +0 -353
- package/dist/unstableInternalsExport-a064a7dd.js +0 -349
- package/dist/unstableInternalsExport-bf8496ea.js +0 -363
- package/dist/unstableInternalsExport.d.ts +0 -11
- package/dist/unstableInternalsExport.d.ts.map +0 -1
- package/dist/unstableInternalsExport.js +0 -16
- package/dist/unstableInternalsExport.mjs +0 -5
- package/src/core/index.ts +0 -28
- package/src/core/initTRPC.ts +0 -169
- package/src/core/internals/builderTypes.ts +0 -11
- package/src/core/internals/getParseFn.ts +0 -43
- package/src/core/internals/mergeRouters.ts +0 -90
- package/src/core/internals/mergeWithoutOverrides.ts +0 -19
- package/src/core/internals/omitPrototype.ts +0 -9
- package/src/core/internals/procedureBuilder.ts +0 -394
- package/src/core/internals/utils.ts +0 -84
- package/src/core/middleware.ts +0 -295
- package/src/core/parser.ts +0 -57
- package/src/core/router.ts +0 -226
- package/src/core/types.ts +0 -67
- package/src/error/utils.ts +0 -23
- package/src/http/index.ts +0 -4
- package/src/http/internals/types.ts +0 -40
- package/src/http/types.ts +0 -51
- package/src/internals/invert.ts +0 -21
- package/src/internals/types.ts +0 -27
- package/src/observable/internals/identity.ts +0 -3
- package/src/observable/internals/observableToPromise.ts +0 -49
- package/src/observable/internals/pipe.ts +0 -23
- package/src/observable/operators/index.ts +0 -3
- package/src/observable/operators/map.ts +0 -25
- package/src/observable/operators/share.ts +0 -65
- package/src/observable/operators/tap.ts +0 -26
- package/src/rpc/index.ts +0 -2
- package/src/shared/index.ts +0 -10
- package/src/shared/internal/serialize.ts +0 -65
- package/src/shared/jsonify.ts +0 -22
- package/src/shared/transformTRPCResponse.ts +0 -40
- package/src/shared/types.ts +0 -9
- package/src/transformer.ts +0 -94
- package/src/types.ts +0 -125
- package/src/unstableInternalsExport.ts +0 -10
- package/subscription/index.d.ts +0 -1
- package/subscription/index.js +0 -1
- package/unstableInternalsExport/index.d.ts +0 -1
- package/unstableInternalsExport/index.js +0 -1
- /package/dist/{http → unstable-core-do-not-import/http}/batchStreamFormatter.d.ts +0 -0
- /package/dist/{batchStreamFormatter-93cdcdd4.js → unstable-core-do-not-import/http/batchStreamFormatter.js} +0 -0
- /package/src/{shared/createProxy/index.ts → unstable-core-do-not-import/createProxy.ts} +0 -0
- /package/src/{http → unstable-core-do-not-import/http}/batchStreamFormatter.ts +0 -0
package/src/core/middleware.ts
DELETED
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
import { TRPCError } from '../error/TRPCError';
|
|
2
|
-
import { Simplify } from '../types';
|
|
3
|
-
import { AnyRootConfig, RootConfig } from './internals/config';
|
|
4
|
-
import { ParseFn } from './internals/getParseFn';
|
|
5
|
-
import { ProcedureBuilderMiddleware } from './internals/procedureBuilder';
|
|
6
|
-
import {
|
|
7
|
-
DefaultValue as FallbackValue,
|
|
8
|
-
GetRawInputFn,
|
|
9
|
-
MiddlewareMarker,
|
|
10
|
-
Overwrite,
|
|
11
|
-
UnsetMarker,
|
|
12
|
-
} from './internals/utils';
|
|
13
|
-
import { AnyProcedureParams, ProcedureParams } from './procedure';
|
|
14
|
-
import { ProcedureType } from './types';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
|
-
interface MiddlewareResultBase {
|
|
20
|
-
/**
|
|
21
|
-
* All middlewares should pass through their `next()`'s output.
|
|
22
|
-
* Requiring this marker makes sure that can't be forgotten at compile-time.
|
|
23
|
-
*/
|
|
24
|
-
readonly marker: MiddlewareMarker;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* @internal
|
|
29
|
-
*/
|
|
30
|
-
interface MiddlewareOKResult<
|
|
31
|
-
_TParams extends ProcedureParams<AnyProcedureParams>,
|
|
32
|
-
> extends MiddlewareResultBase {
|
|
33
|
-
ok: true;
|
|
34
|
-
data: unknown;
|
|
35
|
-
// this could be extended with `input`/`rawInput` later
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* @internal
|
|
40
|
-
*/
|
|
41
|
-
interface MiddlewareErrorResult<
|
|
42
|
-
_TParams extends ProcedureParams<AnyProcedureParams>,
|
|
43
|
-
> extends MiddlewareResultBase {
|
|
44
|
-
ok: false;
|
|
45
|
-
error: TRPCError;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* @internal
|
|
50
|
-
*/
|
|
51
|
-
export type MiddlewareResult<
|
|
52
|
-
TParams extends ProcedureParams<AnyProcedureParams>,
|
|
53
|
-
> = MiddlewareErrorResult<TParams> | MiddlewareOKResult<TParams>;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* @internal
|
|
57
|
-
*/
|
|
58
|
-
export interface MiddlewareBuilder<
|
|
59
|
-
TRoot extends ProcedureParams<AnyProcedureParams>,
|
|
60
|
-
TNewParams extends ProcedureParams<AnyProcedureParams>,
|
|
61
|
-
> {
|
|
62
|
-
/**
|
|
63
|
-
* Create a new builder based on the current middleware builder
|
|
64
|
-
*/
|
|
65
|
-
unstable_pipe<$Params extends ProcedureParams<AnyProcedureParams>>(
|
|
66
|
-
fn: {
|
|
67
|
-
_config: TRoot['_config'];
|
|
68
|
-
_meta: TRoot['_meta'];
|
|
69
|
-
_ctx_out: Overwrite<TRoot['_ctx_out'], TNewParams['_ctx_out']>;
|
|
70
|
-
_input_in: FallbackValue<TRoot['_input_in'], TNewParams['_input_in']>;
|
|
71
|
-
_input_out: UnsetMarker extends TNewParams['_input_out']
|
|
72
|
-
? TRoot['_input_out']
|
|
73
|
-
: Overwrite<TRoot['_input_out'], TNewParams['_input_out']>;
|
|
74
|
-
_output_in: FallbackValue<TRoot['_output_in'], TNewParams['_output_in']>;
|
|
75
|
-
_output_out: FallbackValue<
|
|
76
|
-
TRoot['_output_out'],
|
|
77
|
-
TNewParams['_output_out']
|
|
78
|
-
>;
|
|
79
|
-
} extends infer OParams extends ProcedureParams<AnyProcedureParams>
|
|
80
|
-
?
|
|
81
|
-
| MiddlewareBuilder<OParams, $Params>
|
|
82
|
-
| MiddlewareFunction<OParams, $Params>
|
|
83
|
-
: never,
|
|
84
|
-
): CreateMiddlewareReturnInput<
|
|
85
|
-
TRoot,
|
|
86
|
-
TNewParams,
|
|
87
|
-
Overwrite<TNewParams, $Params>
|
|
88
|
-
>;
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* List of middlewares within this middleware builder
|
|
92
|
-
*/
|
|
93
|
-
_middlewares: MiddlewareFunction<TRoot, TNewParams>[];
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* @internal
|
|
98
|
-
* FIXME: there must be a nicer way of doing this, it's hard to maintain when we have several structures like this
|
|
99
|
-
*/
|
|
100
|
-
type CreateMiddlewareReturnInput<
|
|
101
|
-
TRoot extends ProcedureParams<AnyProcedureParams>,
|
|
102
|
-
TPrev extends ProcedureParams<AnyProcedureParams>,
|
|
103
|
-
TNext extends ProcedureParams<AnyProcedureParams>,
|
|
104
|
-
> = MiddlewareBuilder<
|
|
105
|
-
TRoot,
|
|
106
|
-
{
|
|
107
|
-
_config: TPrev['_config'];
|
|
108
|
-
_meta: TPrev['_meta'];
|
|
109
|
-
_ctx_out: Overwrite<TPrev['_ctx_out'], TNext['_ctx_out']>;
|
|
110
|
-
_input_in: FallbackValue<TNext['_input_in'], TPrev['_input_in']>;
|
|
111
|
-
_input_out: UnsetMarker extends TNext['_input_out']
|
|
112
|
-
? TPrev['_input_out']
|
|
113
|
-
: Overwrite<TPrev['_input_out'], TNext['_input_out']>;
|
|
114
|
-
_output_in: FallbackValue<TNext['_output_in'], TPrev['_output_in']>;
|
|
115
|
-
_output_out: FallbackValue<TNext['_output_out'], TPrev['_output_out']>;
|
|
116
|
-
}
|
|
117
|
-
>;
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* @internal
|
|
121
|
-
*/
|
|
122
|
-
type deriveParamsFromConfig<
|
|
123
|
-
TConfig extends AnyRootConfig,
|
|
124
|
-
TInputIn = unknown,
|
|
125
|
-
> = {
|
|
126
|
-
_config: TConfig;
|
|
127
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
128
|
-
_ctx_out: {};
|
|
129
|
-
_input_out: TInputIn;
|
|
130
|
-
_input_in: TInputIn;
|
|
131
|
-
_output_in: unknown;
|
|
132
|
-
_output_out: unknown;
|
|
133
|
-
_meta: TConfig['$types']['meta'];
|
|
134
|
-
};
|
|
135
|
-
/**
|
|
136
|
-
* @internal
|
|
137
|
-
*/
|
|
138
|
-
export type MiddlewareFunction<
|
|
139
|
-
TParams extends ProcedureParams<AnyProcedureParams>,
|
|
140
|
-
TParamsAfter extends ProcedureParams<AnyProcedureParams>,
|
|
141
|
-
> = {
|
|
142
|
-
(opts: {
|
|
143
|
-
ctx: Simplify<
|
|
144
|
-
Overwrite<TParams['_config']['$types']['ctx'], TParams['_ctx_out']>
|
|
145
|
-
>;
|
|
146
|
-
type: ProcedureType;
|
|
147
|
-
path: string;
|
|
148
|
-
input: TParams['_input_out'];
|
|
149
|
-
getRawInput: GetRawInputFn;
|
|
150
|
-
meta: TParams['_meta'] | undefined;
|
|
151
|
-
next: {
|
|
152
|
-
(): Promise<MiddlewareResult<TParams>>;
|
|
153
|
-
<$Context>(opts: { ctx?: $Context; input?: unknown }): Promise<
|
|
154
|
-
MiddlewareResult<{
|
|
155
|
-
_config: TParams['_config'];
|
|
156
|
-
_ctx_out: $Context;
|
|
157
|
-
_input_in: TParams['_input_in'];
|
|
158
|
-
_input_out: TParams['_input_out'];
|
|
159
|
-
_output_in: TParams['_output_in'];
|
|
160
|
-
_output_out: TParams['_output_out'];
|
|
161
|
-
_meta: TParams['_meta'];
|
|
162
|
-
}>
|
|
163
|
-
>;
|
|
164
|
-
(opts: { getRawInput: GetRawInputFn }): Promise<
|
|
165
|
-
MiddlewareResult<TParams>
|
|
166
|
-
>;
|
|
167
|
-
};
|
|
168
|
-
}): Promise<MiddlewareResult<TParamsAfter>>;
|
|
169
|
-
_type?: string | undefined;
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* @internal
|
|
174
|
-
*/
|
|
175
|
-
export function createMiddlewareFactory<
|
|
176
|
-
TConfig extends AnyRootConfig,
|
|
177
|
-
TInputIn = unknown,
|
|
178
|
-
>() {
|
|
179
|
-
function createMiddlewareInner<
|
|
180
|
-
TNewParams extends ProcedureParams<AnyProcedureParams>,
|
|
181
|
-
>(
|
|
182
|
-
middlewares: MiddlewareFunction<any, any>[],
|
|
183
|
-
): MiddlewareBuilder<deriveParamsFromConfig<TConfig, TInputIn>, TNewParams> {
|
|
184
|
-
return {
|
|
185
|
-
_middlewares: middlewares,
|
|
186
|
-
unstable_pipe(middlewareBuilderOrFn) {
|
|
187
|
-
const pipedMiddleware =
|
|
188
|
-
'_middlewares' in middlewareBuilderOrFn
|
|
189
|
-
? middlewareBuilderOrFn._middlewares
|
|
190
|
-
: [middlewareBuilderOrFn];
|
|
191
|
-
|
|
192
|
-
return createMiddlewareInner([
|
|
193
|
-
...(middlewares as any),
|
|
194
|
-
...pipedMiddleware,
|
|
195
|
-
]);
|
|
196
|
-
},
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
function createMiddleware<
|
|
201
|
-
TNewParams extends ProcedureParams<AnyProcedureParams>,
|
|
202
|
-
>(
|
|
203
|
-
fn: MiddlewareFunction<
|
|
204
|
-
deriveParamsFromConfig<TConfig, TInputIn>,
|
|
205
|
-
TNewParams
|
|
206
|
-
>,
|
|
207
|
-
): MiddlewareBuilder<deriveParamsFromConfig<TConfig, TInputIn>, TNewParams> {
|
|
208
|
-
return createMiddlewareInner([fn]);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
return createMiddleware;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
export const experimental_standaloneMiddleware = <
|
|
215
|
-
TCtx extends {
|
|
216
|
-
ctx?: object;
|
|
217
|
-
meta?: object;
|
|
218
|
-
input?: unknown;
|
|
219
|
-
},
|
|
220
|
-
>() => ({
|
|
221
|
-
create: createMiddlewareFactory<
|
|
222
|
-
RootConfig<{
|
|
223
|
-
ctx: TCtx extends { ctx: infer T extends object } ? T : object;
|
|
224
|
-
meta: TCtx extends { meta: infer T extends object } ? T : object;
|
|
225
|
-
errorShape: object;
|
|
226
|
-
transformer: object;
|
|
227
|
-
}>,
|
|
228
|
-
TCtx extends { input: infer T } ? T : unknown
|
|
229
|
-
>(),
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
function isPlainObject(obj: unknown) {
|
|
233
|
-
return obj && typeof obj === 'object' && !Array.isArray(obj);
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* @internal
|
|
238
|
-
* Please note, `trpc-openapi` uses this function.
|
|
239
|
-
*/
|
|
240
|
-
export function createInputMiddleware<TInput>(parse: ParseFn<TInput>) {
|
|
241
|
-
const inputMiddleware: ProcedureBuilderMiddleware = async (opts) => {
|
|
242
|
-
let parsedInput: ReturnType<typeof parse>;
|
|
243
|
-
|
|
244
|
-
const rawInput = await opts.getRawInput();
|
|
245
|
-
try {
|
|
246
|
-
parsedInput = await parse(rawInput);
|
|
247
|
-
} catch (cause) {
|
|
248
|
-
throw new TRPCError({
|
|
249
|
-
code: 'BAD_REQUEST',
|
|
250
|
-
cause,
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
// Multiple input parsers
|
|
255
|
-
const combinedInput =
|
|
256
|
-
isPlainObject(opts.input) && isPlainObject(parsedInput)
|
|
257
|
-
? {
|
|
258
|
-
...opts.input,
|
|
259
|
-
...parsedInput,
|
|
260
|
-
}
|
|
261
|
-
: parsedInput;
|
|
262
|
-
|
|
263
|
-
return opts.next({ input: combinedInput });
|
|
264
|
-
};
|
|
265
|
-
inputMiddleware._type = 'input';
|
|
266
|
-
return inputMiddleware;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* @internal
|
|
271
|
-
*/
|
|
272
|
-
export function createOutputMiddleware<TOutput>(parse: ParseFn<TOutput>) {
|
|
273
|
-
const outputMiddleware: ProcedureBuilderMiddleware = async ({ next }) => {
|
|
274
|
-
const result = await next();
|
|
275
|
-
if (!result.ok) {
|
|
276
|
-
// pass through failures without validating
|
|
277
|
-
return result;
|
|
278
|
-
}
|
|
279
|
-
try {
|
|
280
|
-
const data = await parse(result.data);
|
|
281
|
-
return {
|
|
282
|
-
...result,
|
|
283
|
-
data,
|
|
284
|
-
};
|
|
285
|
-
} catch (cause) {
|
|
286
|
-
throw new TRPCError({
|
|
287
|
-
message: 'Output validation failed',
|
|
288
|
-
code: 'INTERNAL_SERVER_ERROR',
|
|
289
|
-
cause,
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
};
|
|
293
|
-
outputMiddleware._type = 'output';
|
|
294
|
-
return outputMiddleware;
|
|
295
|
-
}
|
package/src/core/parser.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
export type ParserZodEsque<TInput, TParsedInput> = {
|
|
2
|
-
_input: TInput;
|
|
3
|
-
_output: TParsedInput;
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
export type ParserValibotEsque<TInput, TParsedInput> = {
|
|
7
|
-
types?: {
|
|
8
|
-
input: TInput;
|
|
9
|
-
output: TParsedInput;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export type ParserMyZodEsque<TInput> = {
|
|
14
|
-
parse: (input: any) => TInput;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export type ParserSuperstructEsque<TInput> = {
|
|
18
|
-
create: (input: unknown) => TInput;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export type ParserCustomValidatorEsque<TInput> = (
|
|
22
|
-
input: unknown,
|
|
23
|
-
) => Promise<TInput> | TInput;
|
|
24
|
-
|
|
25
|
-
export type ParserYupEsque<TInput> = {
|
|
26
|
-
validateSync: (input: unknown) => TInput;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export type ParserScaleEsque<TInput> = {
|
|
30
|
-
assert(value: unknown): asserts value is TInput;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export type ParserWithoutInput<TInput> =
|
|
34
|
-
| ParserCustomValidatorEsque<TInput>
|
|
35
|
-
| ParserMyZodEsque<TInput>
|
|
36
|
-
| ParserScaleEsque<TInput>
|
|
37
|
-
| ParserSuperstructEsque<TInput>
|
|
38
|
-
| ParserYupEsque<TInput>;
|
|
39
|
-
|
|
40
|
-
export type ParserWithInputOutput<TInput, TParsedInput> =
|
|
41
|
-
| ParserZodEsque<TInput, TParsedInput>
|
|
42
|
-
| ParserValibotEsque<TInput, TParsedInput>;
|
|
43
|
-
|
|
44
|
-
export type Parser = ParserWithInputOutput<any, any> | ParserWithoutInput<any>;
|
|
45
|
-
|
|
46
|
-
export type inferParser<TParser extends Parser> =
|
|
47
|
-
TParser extends ParserWithInputOutput<infer $TIn, infer $TOut>
|
|
48
|
-
? {
|
|
49
|
-
in: $TIn;
|
|
50
|
-
out: $TOut;
|
|
51
|
-
}
|
|
52
|
-
: TParser extends ParserWithoutInput<infer $InOut>
|
|
53
|
-
? {
|
|
54
|
-
in: $InOut;
|
|
55
|
-
out: $InOut;
|
|
56
|
-
}
|
|
57
|
-
: never;
|
package/src/core/router.ts
DELETED
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import { DefaultErrorShape, defaultFormatter } from '../error/formatter';
|
|
2
|
-
import { TRPCError } from '../error/TRPCError';
|
|
3
|
-
import { getHTTPStatusCodeFromError } from '../http/getHTTPStatusCode';
|
|
4
|
-
import { TRPC_ERROR_CODES_BY_KEY } from '../rpc';
|
|
5
|
-
import { createRecursiveProxy } from '../shared/createProxy';
|
|
6
|
-
import { defaultTransformer } from '../transformer';
|
|
7
|
-
import { AnyRootConfig } from './internals/config';
|
|
8
|
-
import { omitPrototype } from './internals/omitPrototype';
|
|
9
|
-
import { ProcedureCallOptions } from './internals/procedureBuilder';
|
|
10
|
-
import { AnyProcedure, ProcedureArgs } from './procedure';
|
|
11
|
-
import { ProcedureType } from './types';
|
|
12
|
-
|
|
13
|
-
/** @internal **/
|
|
14
|
-
export type ProcedureRecord = Record<string, AnyProcedure>;
|
|
15
|
-
|
|
16
|
-
export interface ProcedureRouterRecord {
|
|
17
|
-
[key: string]: AnyProcedure | AnyRouter;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface RouterDef<
|
|
21
|
-
TConfig extends AnyRootConfig,
|
|
22
|
-
TRecord extends ProcedureRouterRecord,
|
|
23
|
-
> {
|
|
24
|
-
_config: TConfig;
|
|
25
|
-
router: true;
|
|
26
|
-
procedure?: never;
|
|
27
|
-
procedures: TRecord;
|
|
28
|
-
record: TRecord;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export type AnyRouterDef<TConfig extends AnyRootConfig = AnyRootConfig> =
|
|
32
|
-
RouterDef<TConfig, any>;
|
|
33
|
-
|
|
34
|
-
type DecorateProcedure<TProcedure extends AnyProcedure> = (
|
|
35
|
-
input: ProcedureArgs<TProcedure['_def']>[0],
|
|
36
|
-
) => Promise<TProcedure['_def']['_output_out']>;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* @internal
|
|
40
|
-
*/
|
|
41
|
-
type DecoratedProcedureRecord<TProcedures extends ProcedureRouterRecord> = {
|
|
42
|
-
[TKey in keyof TProcedures]: TProcedures[TKey] extends AnyRouter
|
|
43
|
-
? DecoratedProcedureRecord<TProcedures[TKey]['_def']['record']>
|
|
44
|
-
: TProcedures[TKey] extends AnyProcedure
|
|
45
|
-
? DecorateProcedure<TProcedures[TKey]>
|
|
46
|
-
: never;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* @internal
|
|
51
|
-
*/
|
|
52
|
-
type RouterCaller<TDef extends AnyRouterDef> = (
|
|
53
|
-
ctx: TDef['_config']['$types']['ctx'],
|
|
54
|
-
) => DecoratedProcedureRecord<TDef['record']>;
|
|
55
|
-
|
|
56
|
-
export interface Router<TDef extends AnyRouterDef> {
|
|
57
|
-
_def: TDef;
|
|
58
|
-
createCaller: RouterCaller<TDef>;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* @deprecated
|
|
62
|
-
* FIXME: use the new standalone `getErrorShape` instead
|
|
63
|
-
*/
|
|
64
|
-
getErrorShape(opts: {
|
|
65
|
-
error: TRPCError;
|
|
66
|
-
type: ProcedureType | 'unknown';
|
|
67
|
-
path: string | undefined;
|
|
68
|
-
input: unknown;
|
|
69
|
-
ctx: TDef['_config']['$types']['ctx'] | undefined;
|
|
70
|
-
}): TDef['_config']['$types']['errorShape'];
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export type AnyRouter = Router<AnyRouterDef>;
|
|
74
|
-
|
|
75
|
-
function isRouter(
|
|
76
|
-
procedureOrRouter: AnyProcedure | AnyRouter,
|
|
77
|
-
): procedureOrRouter is AnyRouter {
|
|
78
|
-
return 'router' in procedureOrRouter._def;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const emptyRouter = {
|
|
82
|
-
_ctx: null as any,
|
|
83
|
-
_errorShape: null as any,
|
|
84
|
-
_meta: null as any,
|
|
85
|
-
queries: {},
|
|
86
|
-
mutations: {},
|
|
87
|
-
subscriptions: {},
|
|
88
|
-
errorFormatter: defaultFormatter,
|
|
89
|
-
transformer: defaultTransformer,
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Reserved words that can't be used as router or procedure names
|
|
94
|
-
*/
|
|
95
|
-
const reservedWords = [
|
|
96
|
-
/**
|
|
97
|
-
* Then is a reserved word because otherwise we can't return a promise that returns a Proxy
|
|
98
|
-
* since JS will think that `.then` is something that exists
|
|
99
|
-
*/
|
|
100
|
-
'then',
|
|
101
|
-
];
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* @internal
|
|
105
|
-
*/
|
|
106
|
-
export type CreateRouterInner<
|
|
107
|
-
TConfig extends AnyRootConfig,
|
|
108
|
-
TProcRouterRecord extends ProcedureRouterRecord,
|
|
109
|
-
> = Router<RouterDef<TConfig, TProcRouterRecord>> &
|
|
110
|
-
/**
|
|
111
|
-
* This adds ability to call procedures directly but is primarily used for quick access in type inference
|
|
112
|
-
*/
|
|
113
|
-
TProcRouterRecord;
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* @internal
|
|
117
|
-
*/
|
|
118
|
-
export function createRouterFactory<TConfig extends AnyRootConfig>(
|
|
119
|
-
config: TConfig,
|
|
120
|
-
) {
|
|
121
|
-
return function createRouterInner<
|
|
122
|
-
TProcRouterRecord extends ProcedureRouterRecord,
|
|
123
|
-
>(
|
|
124
|
-
procedures: TProcRouterRecord,
|
|
125
|
-
): CreateRouterInner<TConfig, TProcRouterRecord> {
|
|
126
|
-
const reservedWordsUsed = new Set(
|
|
127
|
-
Object.keys(procedures).filter((v) => reservedWords.includes(v)),
|
|
128
|
-
);
|
|
129
|
-
if (reservedWordsUsed.size > 0) {
|
|
130
|
-
throw new Error(
|
|
131
|
-
'Reserved words used in `router({})` call: ' +
|
|
132
|
-
Array.from(reservedWordsUsed).join(', '),
|
|
133
|
-
);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
const routerProcedures: ProcedureRecord = omitPrototype({});
|
|
137
|
-
function recursiveGetPaths(procedures: ProcedureRouterRecord, path = '') {
|
|
138
|
-
for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})) {
|
|
139
|
-
const newPath = `${path}${key}`;
|
|
140
|
-
|
|
141
|
-
if (isRouter(procedureOrRouter)) {
|
|
142
|
-
recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
|
|
143
|
-
continue;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
if (routerProcedures[newPath]) {
|
|
147
|
-
throw new Error(`Duplicate key: ${newPath}`);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
routerProcedures[newPath] = procedureOrRouter;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
recursiveGetPaths(procedures);
|
|
154
|
-
|
|
155
|
-
const _def: AnyRouterDef<TConfig> = {
|
|
156
|
-
_config: config,
|
|
157
|
-
router: true,
|
|
158
|
-
procedures: routerProcedures,
|
|
159
|
-
...emptyRouter,
|
|
160
|
-
record: procedures,
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
const router: AnyRouter = {
|
|
164
|
-
...procedures,
|
|
165
|
-
_def,
|
|
166
|
-
createCaller(ctx) {
|
|
167
|
-
const proxy = createRecursiveProxy(({ path, args }) => {
|
|
168
|
-
const fullPath = path.join('.');
|
|
169
|
-
const procedure = _def.procedures[fullPath] as AnyProcedure;
|
|
170
|
-
|
|
171
|
-
return procedure({
|
|
172
|
-
path: fullPath,
|
|
173
|
-
getRawInput: async () => args[0],
|
|
174
|
-
ctx,
|
|
175
|
-
type: procedure._def.type,
|
|
176
|
-
});
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
return proxy as ReturnType<RouterCaller<any>>;
|
|
180
|
-
},
|
|
181
|
-
getErrorShape(opts) {
|
|
182
|
-
const { path, error } = opts;
|
|
183
|
-
const { code } = opts.error;
|
|
184
|
-
const shape: DefaultErrorShape = {
|
|
185
|
-
message: error.message,
|
|
186
|
-
code: TRPC_ERROR_CODES_BY_KEY[code],
|
|
187
|
-
data: {
|
|
188
|
-
code,
|
|
189
|
-
httpStatus: getHTTPStatusCodeFromError(error),
|
|
190
|
-
},
|
|
191
|
-
};
|
|
192
|
-
if (config.isDev && typeof opts.error.stack === 'string') {
|
|
193
|
-
shape.data.stack = opts.error.stack;
|
|
194
|
-
}
|
|
195
|
-
if (typeof path === 'string') {
|
|
196
|
-
shape.data.path = path;
|
|
197
|
-
}
|
|
198
|
-
return this._def._config.errorFormatter({ ...opts, shape });
|
|
199
|
-
},
|
|
200
|
-
};
|
|
201
|
-
return router as any;
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
function isProcedure(
|
|
206
|
-
procedureOrRouter: AnyProcedure | AnyRouter,
|
|
207
|
-
): procedureOrRouter is AnyProcedure {
|
|
208
|
-
return !!procedureOrRouter._def.procedure;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* @internal
|
|
212
|
-
*/
|
|
213
|
-
export function callProcedure(
|
|
214
|
-
opts: ProcedureCallOptions & { procedures: ProcedureRouterRecord },
|
|
215
|
-
) {
|
|
216
|
-
const { type, path } = opts;
|
|
217
|
-
const proc = opts.procedures[path];
|
|
218
|
-
if (!proc || !isProcedure(proc) || proc._def.type !== type) {
|
|
219
|
-
throw new TRPCError({
|
|
220
|
-
code: 'NOT_FOUND',
|
|
221
|
-
message: `No "${type}"-procedure on path "${path}"`,
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
return proc(opts);
|
|
226
|
-
}
|
package/src/core/types.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { inferTransformedProcedureOutput } from '../shared';
|
|
2
|
-
import { AnyProcedure, ProcedureArgs } from './procedure';
|
|
3
|
-
import { AnyRouter, AnyRouterDef, Router } from './router';
|
|
4
|
-
|
|
5
|
-
export type inferRouterDef<TRouter extends AnyRouter> = TRouter extends Router<
|
|
6
|
-
infer TParams
|
|
7
|
-
>
|
|
8
|
-
? TParams extends AnyRouterDef<any>
|
|
9
|
-
? TParams
|
|
10
|
-
: never
|
|
11
|
-
: never;
|
|
12
|
-
|
|
13
|
-
export type inferRouterConfig<TRouter extends AnyRouter> =
|
|
14
|
-
inferRouterDef<TRouter>['_config'];
|
|
15
|
-
export type inferRouterContext<TRouter extends AnyRouter> =
|
|
16
|
-
inferRouterConfig<TRouter>['$types']['ctx'];
|
|
17
|
-
export type inferRouterError<TRouter extends AnyRouter> =
|
|
18
|
-
inferRouterConfig<TRouter>['$types']['errorShape'];
|
|
19
|
-
export type inferRouterMeta<TRouter extends AnyRouter> =
|
|
20
|
-
inferRouterConfig<TRouter>['$types']['meta'];
|
|
21
|
-
|
|
22
|
-
export const procedureTypes = ['query', 'mutation', 'subscription'] as const;
|
|
23
|
-
/**
|
|
24
|
-
* @public
|
|
25
|
-
*/
|
|
26
|
-
export type ProcedureType = (typeof procedureTypes)[number];
|
|
27
|
-
|
|
28
|
-
export type inferHandlerInput<TProcedure extends AnyProcedure> = ProcedureArgs<
|
|
29
|
-
inferProcedureParams<TProcedure>
|
|
30
|
-
>;
|
|
31
|
-
|
|
32
|
-
export type inferProcedureInput<TProcedure extends AnyProcedure> =
|
|
33
|
-
inferProcedureParams<TProcedure>['_input_in'];
|
|
34
|
-
|
|
35
|
-
export type inferProcedureParams<TProcedure> = TProcedure extends AnyProcedure
|
|
36
|
-
? TProcedure['_def']
|
|
37
|
-
: never;
|
|
38
|
-
export type inferProcedureOutput<TProcedure> =
|
|
39
|
-
inferProcedureParams<TProcedure>['_output_out'];
|
|
40
|
-
|
|
41
|
-
type GetInferenceHelpers<
|
|
42
|
-
TType extends 'input' | 'output',
|
|
43
|
-
TRouter extends AnyRouter,
|
|
44
|
-
> = {
|
|
45
|
-
[TKey in keyof TRouter['_def']['record']]: TRouter['_def']['record'][TKey] extends infer TRouterOrProcedure
|
|
46
|
-
? TRouterOrProcedure extends AnyRouter
|
|
47
|
-
? GetInferenceHelpers<TType, TRouterOrProcedure>
|
|
48
|
-
: TRouterOrProcedure extends AnyProcedure
|
|
49
|
-
? TType extends 'input'
|
|
50
|
-
? inferProcedureInput<TRouterOrProcedure>
|
|
51
|
-
: inferTransformedProcedureOutput<
|
|
52
|
-
TRouter['_def']['_config'],
|
|
53
|
-
TRouterOrProcedure
|
|
54
|
-
>
|
|
55
|
-
: never
|
|
56
|
-
: never;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export type inferRouterInputs<TRouter extends AnyRouter> = GetInferenceHelpers<
|
|
60
|
-
'input',
|
|
61
|
-
TRouter
|
|
62
|
-
>;
|
|
63
|
-
|
|
64
|
-
export type inferRouterOutputs<TRouter extends AnyRouter> = GetInferenceHelpers<
|
|
65
|
-
'output',
|
|
66
|
-
TRouter
|
|
67
|
-
>;
|
package/src/error/utils.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @internal
|
|
3
|
-
*/
|
|
4
|
-
export function isObject(value: unknown): value is Record<string, unknown> {
|
|
5
|
-
// check that value is object
|
|
6
|
-
return !!value && !Array.isArray(value) && typeof value === 'object';
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
export function getMessageFromUnknownError(
|
|
13
|
-
err: unknown,
|
|
14
|
-
fallback: string,
|
|
15
|
-
): string {
|
|
16
|
-
if (typeof err === 'string') {
|
|
17
|
-
return err;
|
|
18
|
-
}
|
|
19
|
-
if (isObject(err) && typeof err.message === 'string') {
|
|
20
|
-
return err.message;
|
|
21
|
-
}
|
|
22
|
-
return fallback;
|
|
23
|
-
}
|
package/src/http/index.ts
DELETED