@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
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var procedure = require('../procedure.js');
|
|
4
|
+
var utils = require('../utils.js');
|
|
5
|
+
|
|
6
|
+
/* istanbul ignore next -- @preserve */ function assertIsObject(obj) {
|
|
7
|
+
if (!utils.isObject(obj)) {
|
|
8
|
+
throw new Error('Not an object');
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/* istanbul ignore next -- @preserve */ function assertIsProcedureType(obj) {
|
|
12
|
+
if (!procedure.procedureTypes.includes(obj)) {
|
|
13
|
+
throw new Error('Invalid procedure type');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/* istanbul ignore next -- @preserve */ function assertIsRequestId(obj) {
|
|
17
|
+
if (obj !== null && typeof obj === 'number' && isNaN(obj) && typeof obj !== 'string') {
|
|
18
|
+
throw new Error('Invalid request id');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/* istanbul ignore next -- @preserve */ function assertIsString(obj) {
|
|
22
|
+
if (typeof obj !== 'string') {
|
|
23
|
+
throw new Error('Invalid string');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/* istanbul ignore next -- @preserve */ function assertIsJSONRPC2OrUndefined(obj) {
|
|
27
|
+
if (typeof obj !== 'undefined' && obj !== '2.0') {
|
|
28
|
+
throw new Error('Must be JSONRPC 2.0');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/** @public */ function parseTRPCMessage(obj, transformer) {
|
|
32
|
+
assertIsObject(obj);
|
|
33
|
+
const { id , jsonrpc , method , params } = obj;
|
|
34
|
+
assertIsRequestId(id);
|
|
35
|
+
assertIsJSONRPC2OrUndefined(jsonrpc);
|
|
36
|
+
if (method === 'subscription.stop') {
|
|
37
|
+
return {
|
|
38
|
+
id,
|
|
39
|
+
jsonrpc,
|
|
40
|
+
method
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
assertIsProcedureType(method);
|
|
44
|
+
assertIsObject(params);
|
|
45
|
+
const { input: rawInput , path } = params;
|
|
46
|
+
assertIsString(path);
|
|
47
|
+
const input = transformer.input.deserialize(rawInput);
|
|
48
|
+
return {
|
|
49
|
+
id,
|
|
50
|
+
jsonrpc,
|
|
51
|
+
method,
|
|
52
|
+
params: {
|
|
53
|
+
input,
|
|
54
|
+
path
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
exports.parseTRPCMessage = parseTRPCMessage;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { procedureTypes } from '../procedure.mjs';
|
|
2
|
+
import { isObject } from '../utils.mjs';
|
|
3
|
+
|
|
4
|
+
/* istanbul ignore next -- @preserve */ function assertIsObject(obj) {
|
|
5
|
+
if (!isObject(obj)) {
|
|
6
|
+
throw new Error('Not an object');
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
/* istanbul ignore next -- @preserve */ function assertIsProcedureType(obj) {
|
|
10
|
+
if (!procedureTypes.includes(obj)) {
|
|
11
|
+
throw new Error('Invalid procedure type');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/* istanbul ignore next -- @preserve */ function assertIsRequestId(obj) {
|
|
15
|
+
if (obj !== null && typeof obj === 'number' && isNaN(obj) && typeof obj !== 'string') {
|
|
16
|
+
throw new Error('Invalid request id');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/* istanbul ignore next -- @preserve */ function assertIsString(obj) {
|
|
20
|
+
if (typeof obj !== 'string') {
|
|
21
|
+
throw new Error('Invalid string');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/* istanbul ignore next -- @preserve */ function assertIsJSONRPC2OrUndefined(obj) {
|
|
25
|
+
if (typeof obj !== 'undefined' && obj !== '2.0') {
|
|
26
|
+
throw new Error('Must be JSONRPC 2.0');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/** @public */ function parseTRPCMessage(obj, transformer) {
|
|
30
|
+
assertIsObject(obj);
|
|
31
|
+
const { id , jsonrpc , method , params } = obj;
|
|
32
|
+
assertIsRequestId(id);
|
|
33
|
+
assertIsJSONRPC2OrUndefined(jsonrpc);
|
|
34
|
+
if (method === 'subscription.stop') {
|
|
35
|
+
return {
|
|
36
|
+
id,
|
|
37
|
+
jsonrpc,
|
|
38
|
+
method
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
assertIsProcedureType(method);
|
|
42
|
+
assertIsObject(params);
|
|
43
|
+
const { input: rawInput , path } = params;
|
|
44
|
+
assertIsString(path);
|
|
45
|
+
const input = transformer.input.deserialize(rawInput);
|
|
46
|
+
return {
|
|
47
|
+
id,
|
|
48
|
+
jsonrpc,
|
|
49
|
+
method,
|
|
50
|
+
params: {
|
|
51
|
+
input,
|
|
52
|
+
path
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { parseTRPCMessage };
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { AnyRootTypes, RootConfig } from './rootConfig';
|
|
2
|
+
import type { AnyRouter, inferRouterError } from './router';
|
|
3
|
+
import type { TRPCResponse, TRPCResponseMessage, TRPCResultMessage } from './rpc';
|
|
4
|
+
/**
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface DataTransformer {
|
|
8
|
+
serialize: (object: any) => any;
|
|
9
|
+
deserialize: (object: any) => any;
|
|
10
|
+
}
|
|
11
|
+
interface InputDataTransformer extends DataTransformer {
|
|
12
|
+
/**
|
|
13
|
+
* This function runs **on the client** before sending the data to the server.
|
|
14
|
+
*/
|
|
15
|
+
serialize: (object: any) => any;
|
|
16
|
+
/**
|
|
17
|
+
* This function runs **on the server** to transform the data before it is passed to the resolver
|
|
18
|
+
*/
|
|
19
|
+
deserialize: (object: any) => any;
|
|
20
|
+
}
|
|
21
|
+
interface OutputDataTransformer extends DataTransformer {
|
|
22
|
+
/**
|
|
23
|
+
* This function runs **on the server** before sending the data to the client.
|
|
24
|
+
*/
|
|
25
|
+
serialize: (object: any) => any;
|
|
26
|
+
/**
|
|
27
|
+
* This function runs **only on the client** to transform the data sent from the server.
|
|
28
|
+
*/
|
|
29
|
+
deserialize: (object: any) => any;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
34
|
+
export interface CombinedDataTransformer {
|
|
35
|
+
/**
|
|
36
|
+
* Specify how the data sent from the client to the server should be transformed.
|
|
37
|
+
*/
|
|
38
|
+
input: InputDataTransformer;
|
|
39
|
+
/**
|
|
40
|
+
* Specify how the data sent from the server to the client should be transformed.
|
|
41
|
+
*/
|
|
42
|
+
output: OutputDataTransformer;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
export type CombinedDataTransformerClient = {
|
|
48
|
+
input: Pick<CombinedDataTransformer['input'], 'serialize'>;
|
|
49
|
+
output: Pick<CombinedDataTransformer['output'], 'deserialize'>;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
export type DataTransformerOptions = CombinedDataTransformer | DataTransformer;
|
|
55
|
+
/**
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
export declare function getDataTransformer(transformer: DataTransformerOptions): CombinedDataTransformer;
|
|
59
|
+
/**
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
export declare const defaultTransformer: CombinedDataTransformer;
|
|
63
|
+
/**
|
|
64
|
+
* Takes a unserialized `TRPCResponse` and serializes it with the router's transformers
|
|
65
|
+
**/
|
|
66
|
+
export declare function transformTRPCResponse<TResponse extends TRPCResponse | TRPCResponse[] | TRPCResponseMessage | TRPCResponseMessage[]>(config: RootConfig<AnyRootTypes>, itemOrItems: TResponse): import("./rpc").TRPCErrorResponse<import("./rpc").TRPCErrorShape<object>> | import("./rpc").TRPCSuccessResponse<unknown> | ({
|
|
67
|
+
id: import("./rpc").JSONRPC2.RequestId;
|
|
68
|
+
} & TRPCResultMessage<unknown>) | (TRPCResponse | TRPCResponseMessage)[];
|
|
69
|
+
/** @internal */
|
|
70
|
+
declare function transformResultInner<TRouter extends AnyRouter, TOutput>(response: TRPCResponse<TOutput, inferRouterError<TRouter>> | TRPCResponseMessage<TOutput, inferRouterError<TRouter>>, transformer: DataTransformer): {
|
|
71
|
+
readonly ok: false;
|
|
72
|
+
readonly error: {
|
|
73
|
+
readonly error: inferRouterError<TRouter>;
|
|
74
|
+
readonly id?: import("./rpc").JSONRPC2.RequestId | undefined;
|
|
75
|
+
readonly jsonrpc?: "2.0" | undefined;
|
|
76
|
+
} | {
|
|
77
|
+
readonly error: inferRouterError<TRouter>;
|
|
78
|
+
readonly id: string | number | null;
|
|
79
|
+
readonly jsonrpc?: "2.0" | undefined;
|
|
80
|
+
};
|
|
81
|
+
readonly result?: undefined;
|
|
82
|
+
} | {
|
|
83
|
+
readonly ok: true;
|
|
84
|
+
readonly result: {
|
|
85
|
+
type: "started";
|
|
86
|
+
data?: undefined;
|
|
87
|
+
} | {
|
|
88
|
+
type: "stopped";
|
|
89
|
+
data?: undefined;
|
|
90
|
+
} | (import("./rpc").TRPCResult<TOutput> & {
|
|
91
|
+
type: "data";
|
|
92
|
+
});
|
|
93
|
+
readonly error?: undefined;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Transforms and validates that the result is a valid TRPCResponse
|
|
97
|
+
* @internal
|
|
98
|
+
*/
|
|
99
|
+
export declare function transformResult<TRouter extends AnyRouter, TOutput>(response: TRPCResponse<TOutput, inferRouterError<TRouter>> | TRPCResponseMessage<TOutput, inferRouterError<TRouter>>, transformer: DataTransformer): ReturnType<typeof transformResultInner>;
|
|
100
|
+
export {};
|
|
101
|
+
//# sourceMappingURL=transformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,OAAO,CAAC;AAGf;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED,UAAU,oBAAqB,SAAQ,eAAe;IACpD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED,UAAU,qBAAsB,SAAQ,eAAe;IACrD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,KAAK,EAAE,oBAAoB,CAAC;IAC5B;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3D,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;CAChE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,GAAG,eAAe,CAAC;AAE/E;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,sBAAsB,GAClC,uBAAuB,CAKzB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,uBAGhC,CAAC;AAyBF;;IAEI;AACJ,wBAAgB,qBAAqB,CACnC,SAAS,SACL,YAAY,GACZ,YAAY,EAAE,GACd,mBAAmB,GACnB,mBAAmB,EAAE,EACzB,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,SAAS;;yEAIzD;AAKD,gBAAgB;AAChB,iBAAS,oBAAoB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,EAC9D,QAAQ,EACJ,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAChD,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC3D,WAAW,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;EAuB7B;AAQD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,EAChE,QAAQ,EACJ,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAChD,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC3D,WAAW,EAAE,eAAe,GAC3B,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAqBzC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('./utils.js');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/ function getDataTransformer(transformer) {
|
|
8
|
+
if ('input' in transformer) {
|
|
9
|
+
return transformer;
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
input: transformer,
|
|
13
|
+
output: transformer
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/ const defaultTransformer = {
|
|
19
|
+
input: {
|
|
20
|
+
serialize: (obj)=>obj,
|
|
21
|
+
deserialize: (obj)=>obj
|
|
22
|
+
},
|
|
23
|
+
output: {
|
|
24
|
+
serialize: (obj)=>obj,
|
|
25
|
+
deserialize: (obj)=>obj
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
function transformTRPCResponseItem(config, item) {
|
|
29
|
+
if ('error' in item) {
|
|
30
|
+
return {
|
|
31
|
+
...item,
|
|
32
|
+
error: config.transformer.output.serialize(item.error)
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if ('data' in item.result) {
|
|
36
|
+
return {
|
|
37
|
+
...item,
|
|
38
|
+
result: {
|
|
39
|
+
...item.result,
|
|
40
|
+
data: config.transformer.output.serialize(item.result.data)
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return item;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Takes a unserialized `TRPCResponse` and serializes it with the router's transformers
|
|
48
|
+
**/ function transformTRPCResponse(config, itemOrItems) {
|
|
49
|
+
return Array.isArray(itemOrItems) ? itemOrItems.map((item)=>transformTRPCResponseItem(config, item)) : transformTRPCResponseItem(config, itemOrItems);
|
|
50
|
+
}
|
|
51
|
+
// FIXME:
|
|
52
|
+
// - the generics here are probably unnecessary
|
|
53
|
+
// - the RPC-spec could probably be simplified to combine HTTP + WS
|
|
54
|
+
/** @internal */ function transformResultInner(response, transformer) {
|
|
55
|
+
if ('error' in response) {
|
|
56
|
+
const error = transformer.deserialize(response.error);
|
|
57
|
+
return {
|
|
58
|
+
ok: false,
|
|
59
|
+
error: {
|
|
60
|
+
...response,
|
|
61
|
+
error
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const result = {
|
|
66
|
+
...response.result,
|
|
67
|
+
...(!response.result.type || response.result.type === 'data') && {
|
|
68
|
+
type: 'data',
|
|
69
|
+
data: transformer.deserialize(response.result.data)
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
return {
|
|
73
|
+
ok: true,
|
|
74
|
+
result
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
class TransformResultError extends Error {
|
|
78
|
+
constructor(){
|
|
79
|
+
super('Unable to transform response from server');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Transforms and validates that the result is a valid TRPCResponse
|
|
84
|
+
* @internal
|
|
85
|
+
*/ function transformResult(response, transformer) {
|
|
86
|
+
let result;
|
|
87
|
+
try {
|
|
88
|
+
// Use the data transformers on the JSON-response
|
|
89
|
+
result = transformResultInner(response, transformer);
|
|
90
|
+
} catch (err) {
|
|
91
|
+
throw new TransformResultError();
|
|
92
|
+
}
|
|
93
|
+
// check that output of the transformers is a valid TRPCResponse
|
|
94
|
+
if (!result.ok && (!utils.isObject(result.error.error) || typeof result.error.error['code'] !== 'number')) {
|
|
95
|
+
throw new TransformResultError();
|
|
96
|
+
}
|
|
97
|
+
if (result.ok && !utils.isObject(result.result)) {
|
|
98
|
+
throw new TransformResultError();
|
|
99
|
+
}
|
|
100
|
+
return result;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
exports.defaultTransformer = defaultTransformer;
|
|
104
|
+
exports.getDataTransformer = getDataTransformer;
|
|
105
|
+
exports.transformResult = transformResult;
|
|
106
|
+
exports.transformTRPCResponse = transformTRPCResponse;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { isObject } from './utils.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/ function getDataTransformer(transformer) {
|
|
6
|
+
if ('input' in transformer) {
|
|
7
|
+
return transformer;
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
input: transformer,
|
|
11
|
+
output: transformer
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/ const defaultTransformer = {
|
|
17
|
+
input: {
|
|
18
|
+
serialize: (obj)=>obj,
|
|
19
|
+
deserialize: (obj)=>obj
|
|
20
|
+
},
|
|
21
|
+
output: {
|
|
22
|
+
serialize: (obj)=>obj,
|
|
23
|
+
deserialize: (obj)=>obj
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
function transformTRPCResponseItem(config, item) {
|
|
27
|
+
if ('error' in item) {
|
|
28
|
+
return {
|
|
29
|
+
...item,
|
|
30
|
+
error: config.transformer.output.serialize(item.error)
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
if ('data' in item.result) {
|
|
34
|
+
return {
|
|
35
|
+
...item,
|
|
36
|
+
result: {
|
|
37
|
+
...item.result,
|
|
38
|
+
data: config.transformer.output.serialize(item.result.data)
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return item;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Takes a unserialized `TRPCResponse` and serializes it with the router's transformers
|
|
46
|
+
**/ function transformTRPCResponse(config, itemOrItems) {
|
|
47
|
+
return Array.isArray(itemOrItems) ? itemOrItems.map((item)=>transformTRPCResponseItem(config, item)) : transformTRPCResponseItem(config, itemOrItems);
|
|
48
|
+
}
|
|
49
|
+
// FIXME:
|
|
50
|
+
// - the generics here are probably unnecessary
|
|
51
|
+
// - the RPC-spec could probably be simplified to combine HTTP + WS
|
|
52
|
+
/** @internal */ function transformResultInner(response, transformer) {
|
|
53
|
+
if ('error' in response) {
|
|
54
|
+
const error = transformer.deserialize(response.error);
|
|
55
|
+
return {
|
|
56
|
+
ok: false,
|
|
57
|
+
error: {
|
|
58
|
+
...response,
|
|
59
|
+
error
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const result = {
|
|
64
|
+
...response.result,
|
|
65
|
+
...(!response.result.type || response.result.type === 'data') && {
|
|
66
|
+
type: 'data',
|
|
67
|
+
data: transformer.deserialize(response.result.data)
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
return {
|
|
71
|
+
ok: true,
|
|
72
|
+
result
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
class TransformResultError extends Error {
|
|
76
|
+
constructor(){
|
|
77
|
+
super('Unable to transform response from server');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Transforms and validates that the result is a valid TRPCResponse
|
|
82
|
+
* @internal
|
|
83
|
+
*/ function transformResult(response, transformer) {
|
|
84
|
+
let result;
|
|
85
|
+
try {
|
|
86
|
+
// Use the data transformers on the JSON-response
|
|
87
|
+
result = transformResultInner(response, transformer);
|
|
88
|
+
} catch (err) {
|
|
89
|
+
throw new TransformResultError();
|
|
90
|
+
}
|
|
91
|
+
// check that output of the transformers is a valid TRPCResponse
|
|
92
|
+
if (!result.ok && (!isObject(result.error.error) || typeof result.error.error['code'] !== 'number')) {
|
|
93
|
+
throw new TransformResultError();
|
|
94
|
+
}
|
|
95
|
+
if (result.ok && !isObject(result.result)) {
|
|
96
|
+
throw new TransformResultError();
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export { defaultTransformer, getDataTransformer, transformResult, transformTRPCResponse };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ================================
|
|
3
|
+
* Useful utility types that doesn't have anything to do with tRPC in particular
|
|
4
|
+
* ================================
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export type Maybe<TType> = TType | null | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
* @link https://github.com/ianstormtaylor/superstruct/blob/7973400cd04d8ad92bbdc2b6f35acbfb3c934079/src/utils.ts#L323-L325
|
|
13
|
+
*/
|
|
14
|
+
export type Simplify<TType> = TType extends any[] | Date ? TType : {
|
|
15
|
+
[K in keyof TType]: TType[K];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export type Dict<TType> = Record<string, TType | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export type MaybePromise<TType> = Promise<TType> | TType;
|
|
25
|
+
export type FilterKeys<TObj extends object, TFilter> = {
|
|
26
|
+
[TKey in keyof TObj]: TObj[TKey] extends TFilter ? TKey : never;
|
|
27
|
+
}[keyof TObj];
|
|
28
|
+
/**
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export type Filter<TObj extends object, TFilter> = Pick<TObj, FilterKeys<TObj, TFilter>>;
|
|
32
|
+
/**
|
|
33
|
+
* Unwrap return type if the type is a function (sync or async), else use the type as is
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export type Unwrap<TType> = TType extends (...args: any[]) => infer R ? Awaited<R> : TType;
|
|
37
|
+
/**
|
|
38
|
+
* Makes the object recursively optional
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export type DeepPartial<TObject> = TObject extends object ? {
|
|
42
|
+
[P in keyof TObject]?: DeepPartial<TObject[P]>;
|
|
43
|
+
} : TObject;
|
|
44
|
+
/**
|
|
45
|
+
* Omits the key without removing a potential union
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
export type DistributiveOmit<TObj, TKey extends keyof any> = TObj extends any ? Omit<TObj, TKey> : never;
|
|
49
|
+
/**
|
|
50
|
+
* See https://github.com/microsoft/TypeScript/issues/41966#issuecomment-758187996
|
|
51
|
+
* Fixes issues with iterating over keys of objects with index signatures.
|
|
52
|
+
* Without this, iterations over keys of objects with index signatures will lose
|
|
53
|
+
* type information about the keys and only the index signature will remain.
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
export type WithoutIndexSignature<TObj> = {
|
|
57
|
+
[K in keyof TObj as string extends K ? never : number extends K ? never : K]: TObj[K];
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* @internal
|
|
61
|
+
* Overwrite properties in `TType` with properties in `TWith`
|
|
62
|
+
* Only overwrites properties when the type to be overwritten
|
|
63
|
+
* is an object. Otherwise it will just use the type from `TWith`.
|
|
64
|
+
*/
|
|
65
|
+
export type Overwrite<TType, TWith> = TWith extends any ? TType extends object ? {
|
|
66
|
+
[K in keyof WithoutIndexSignature<TType> | keyof WithoutIndexSignature<TWith>]: K extends keyof TWith ? TWith[K] : K extends keyof TType ? TType[K] : never;
|
|
67
|
+
} & (string extends keyof TWith ? {
|
|
68
|
+
[key: string]: TWith[string];
|
|
69
|
+
} : number extends keyof TWith ? {
|
|
70
|
+
[key: number]: TWith[number];
|
|
71
|
+
} : {}) : TWith : never;
|
|
72
|
+
/**
|
|
73
|
+
* @internal
|
|
74
|
+
*/
|
|
75
|
+
export type ValidateShape<TActualShape, TExpectedShape> = TActualShape extends TExpectedShape ? Exclude<keyof TActualShape, keyof TExpectedShape> extends never ? TActualShape : TExpectedShape : never;
|
|
76
|
+
/**
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
export type PickFirstDefined<TType, TPick> = undefined extends TType ? undefined extends TPick ? never : TPick : TType;
|
|
80
|
+
/**
|
|
81
|
+
* ================================
|
|
82
|
+
* tRPC specific types
|
|
83
|
+
* ================================
|
|
84
|
+
*/
|
|
85
|
+
/**
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
export type IntersectionError<TKey extends string> = `The property '${TKey}' in your router collides with a built-in method, rename this router or procedure on your backend.`;
|
|
89
|
+
/**
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
export type ProtectedIntersection<TType, TWith> = keyof TType & keyof TWith extends never ? TType & TWith : IntersectionError<string & keyof TType & keyof TWith>;
|
|
93
|
+
/**
|
|
94
|
+
* @internal
|
|
95
|
+
* Returns the raw input type of a procedure
|
|
96
|
+
*/
|
|
97
|
+
export type GetRawInputFn = () => Promise<unknown>;
|
|
98
|
+
export declare const ERROR_SYMBOL: unique symbol;
|
|
99
|
+
export type TypeError<TMessage extends string> = TMessage & {
|
|
100
|
+
_: typeof ERROR_SYMBOL;
|
|
101
|
+
};
|
|
102
|
+
export type ValueOf<TObj> = TObj[keyof TObj];
|
|
103
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ================================
|
|
5
|
+
* Useful utility types that doesn't have anything to do with tRPC in particular
|
|
6
|
+
* ================================
|
|
7
|
+
*/ /**
|
|
8
|
+
* @public
|
|
9
|
+
*/ const ERROR_SYMBOL = Symbol('TypeError');
|
|
10
|
+
|
|
11
|
+
exports.ERROR_SYMBOL = ERROR_SYMBOL;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ensures there are no duplicate keys when building a procedure.
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export declare function mergeWithoutOverrides<TType extends Record<string, unknown>>(obj1: TType, ...objs: Partial<TType>[]): TType;
|
|
6
|
+
/**
|
|
7
|
+
* Check that value is object
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
11
|
+
type AnyFn = (...args: any[]) => unknown;
|
|
12
|
+
export declare function isFunction(fn: unknown): fn is AnyFn;
|
|
13
|
+
/**
|
|
14
|
+
* Create an object without inheriting anything from `Object.prototype`
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function omitPrototype<TObj extends Record<string, unknown>>(obj: TObj): TObj;
|
|
18
|
+
/**
|
|
19
|
+
* Prevents access to `$types` at runtime
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare const $typesProxy: any;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GACxB,KAAK,CAYP;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;AACzC,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,KAAK,CAEnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,GAAG,EAAE,IAAI,GACR,IAAI,CAEN;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,KAItB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var createProxy = require('./createProxy.js');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Ensures there are no duplicate keys when building a procedure.
|
|
7
|
+
* @internal
|
|
8
|
+
*/ function mergeWithoutOverrides(obj1, ...objs) {
|
|
9
|
+
const newObj = Object.assign(Object.create(null), obj1);
|
|
10
|
+
for (const overrides of objs){
|
|
11
|
+
for(const key in overrides){
|
|
12
|
+
if (key in newObj && newObj[key] !== overrides[key]) {
|
|
13
|
+
throw new Error(`Duplicate key ${key}`);
|
|
14
|
+
}
|
|
15
|
+
newObj[key] = overrides[key];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return newObj;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Check that value is object
|
|
22
|
+
* @internal
|
|
23
|
+
*/ function isObject(value) {
|
|
24
|
+
return !!value && !Array.isArray(value) && typeof value === 'object';
|
|
25
|
+
}
|
|
26
|
+
function isFunction(fn) {
|
|
27
|
+
return typeof fn === 'function';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create an object without inheriting anything from `Object.prototype`
|
|
31
|
+
* @internal
|
|
32
|
+
*/ function omitPrototype(obj) {
|
|
33
|
+
return Object.assign(Object.create(null), obj);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Prevents access to `$types` at runtime
|
|
37
|
+
* @internal
|
|
38
|
+
*/ const $typesProxy = createProxy.createFlatProxy((key)=>{
|
|
39
|
+
throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
exports.$typesProxy = $typesProxy;
|
|
43
|
+
exports.isFunction = isFunction;
|
|
44
|
+
exports.isObject = isObject;
|
|
45
|
+
exports.mergeWithoutOverrides = mergeWithoutOverrides;
|
|
46
|
+
exports.omitPrototype = omitPrototype;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createFlatProxy } from './createProxy.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Ensures there are no duplicate keys when building a procedure.
|
|
5
|
+
* @internal
|
|
6
|
+
*/ function mergeWithoutOverrides(obj1, ...objs) {
|
|
7
|
+
const newObj = Object.assign(Object.create(null), obj1);
|
|
8
|
+
for (const overrides of objs){
|
|
9
|
+
for(const key in overrides){
|
|
10
|
+
if (key in newObj && newObj[key] !== overrides[key]) {
|
|
11
|
+
throw new Error(`Duplicate key ${key}`);
|
|
12
|
+
}
|
|
13
|
+
newObj[key] = overrides[key];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return newObj;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Check that value is object
|
|
20
|
+
* @internal
|
|
21
|
+
*/ function isObject(value) {
|
|
22
|
+
return !!value && !Array.isArray(value) && typeof value === 'object';
|
|
23
|
+
}
|
|
24
|
+
function isFunction(fn) {
|
|
25
|
+
return typeof fn === 'function';
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create an object without inheriting anything from `Object.prototype`
|
|
29
|
+
* @internal
|
|
30
|
+
*/ function omitPrototype(obj) {
|
|
31
|
+
return Object.assign(Object.create(null), obj);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Prevents access to `$types` at runtime
|
|
35
|
+
* @internal
|
|
36
|
+
*/ const $typesProxy = createFlatProxy((key)=>{
|
|
37
|
+
throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
export { $typesProxy, isFunction, isObject, mergeWithoutOverrides, omitPrototype };
|