@trpc/server 11.0.0-next.92 → 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 -126
- package/dist/adapters/fastify/index.mjs +2 -126
- 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 -17
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +35 -22
- package/dist/adapters/ws.mjs +28 -14
- package/dist/bundle-analysis.json +383 -493
- 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.map +1 -0
- package/dist/{parseTRPCMessage-1377f305.js → unstable-core-do-not-import/rpc/parseTRPCMessage.js} +5 -2
- package/dist/{parseTRPCMessage-a0f17853.mjs → unstable-core-do-not-import/rpc/parseTRPCMessage.mjs} +6 -3
- 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 +68 -39
- 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/{rpc → unstable-core-do-not-import/rpc}/parseTRPCMessage.ts +4 -3
- 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/parseTRPCMessage-95955211.js +0 -63
- 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 -4
- package/dist/rpc/index.d.ts.map +0 -1
- package/dist/rpc/index.js +0 -12
- package/dist/rpc/index.mjs +0 -2
- package/dist/rpc/parseTRPCMessage.d.ts.map +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 -3
- 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/dist/{rpc → unstable-core-do-not-import/rpc}/parseTRPCMessage.d.ts +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/README.md
CHANGED
|
@@ -24,16 +24,16 @@ Full documentation for `@trpc/server` can be found [here](https://trpc.io/docs/r
|
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
26
|
# npm
|
|
27
|
-
npm install @trpc/server
|
|
27
|
+
npm install @trpc/server@next
|
|
28
28
|
|
|
29
29
|
# Yarn
|
|
30
|
-
yarn add @trpc/server
|
|
30
|
+
yarn add @trpc/server@next
|
|
31
31
|
|
|
32
32
|
# pnpm
|
|
33
|
-
pnpm add @trpc/server
|
|
33
|
+
pnpm add @trpc/server@next
|
|
34
34
|
|
|
35
35
|
# Bun
|
|
36
|
-
bun add @trpc/server
|
|
36
|
+
bun add @trpc/server@next
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
We also recommend installing `zod` to validate procedure inputs.
|
|
@@ -41,7 +41,7 @@ We also recommend installing `zod` to validate procedure inputs.
|
|
|
41
41
|
## Basic Example
|
|
42
42
|
|
|
43
43
|
```ts
|
|
44
|
-
import {
|
|
44
|
+
import { initTRPC } from '@trpc/server';
|
|
45
45
|
import {
|
|
46
46
|
CreateHTTPContextOptions,
|
|
47
47
|
createHTTPServer,
|
|
@@ -54,7 +54,7 @@ function createContext(opts: CreateHTTPContextOptions) {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
// Get the context type
|
|
57
|
-
type Context =
|
|
57
|
+
type Context = Awaited<ReturnType<typeof createContext>>;
|
|
58
58
|
|
|
59
59
|
// Initialize tRPC
|
|
60
60
|
const t = initTRPC.context<Context>().create();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../../dist/adapters/next-app-dir';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../dist/adapters/next-app-dir');
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { getHTTPStatusCode, getHTTPStatusCodeFromError, } from '../../unstable-core-do-not-import';
|
|
2
|
+
export { resolveHTTPResponse } from '../../unstable-core-do-not-import';
|
|
3
|
+
export type { BaseHandlerOptions, HTTPBaseHandlerOptions, HTTPHeaders, HTTPRequest, HTTPResponse, OnErrorFunction, ProcedureCall, ResolveHTTPRequestOptionsContextFn, ResponseChunk, ResponseMeta, ResponseMetaFn, TRPCRequestInfo, } from '../../unstable-core-do-not-import';
|
|
4
|
+
export { getBatchStreamFormatter } from '../../unstable-core-do-not-import';
|
|
5
|
+
export type { BaseContentTypeHandler, BodyResult, } from '../../unstable-core-do-not-import';
|
|
6
|
+
export { getJsonContentTypeInputs } from '../../unstable-core-do-not-import';
|
|
7
|
+
export { toURL } from '../../unstable-core-do-not-import';
|
|
8
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/@trpc/server/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kCAAkC,EAClC,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,YAAY,EACV,sBAAsB,EACtB,UAAU,GACX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export { TRPCError,
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated use `experimental_trpcMiddleware` instead
|
|
4
|
+
*/
|
|
5
|
+
experimental_standaloneMiddleware, experimental_standaloneMiddleware as experimental_trpcMiddleware, initTRPC, callProcedure as callTRPCProcedure, getTRPCErrorFromUnknown, transformTRPCResponse, createFlatProxy as createTRPCFlatProxy, type inferProcedureInput, type inferProcedureOutput, type inferProcedureBuilderResolverOptions, type inferRouterError, type inferRouterInputs, type inferRouterOutputs, type inferRouterContext, type inferClientTypes as inferTRPCClientTypes, type AnyClientTypes as AnyTRPCClientTypes, type inferTransformedProcedureOutput, type inferTransformedSubscriptionOutput, type AnyProcedure as AnyTRPCProcedure, type AnyRouter as AnyTRPCRouter, type AnyMiddlewareFunction as AnyTRPCMiddlewareFunction, type CombinedDataTransformer as TRPCCombinedDataTransformer, type ProcedureType as TRPCProcedureType, type AnyMutationProcedure as AnyTRPCMutationProcedure, type AnyQueryProcedure as AnyTRPCQueryProcedure, type RouterRecord as TRPCRouterRecord, type AnySubscriptionProcedure as AnyTRPCSubscriptionProcedure, type ProcedureOptions as TRPCProcedureOptions, } from '../../unstable-core-do-not-import';
|
|
6
|
+
export type {
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated use `AnyTRPCProcedure` instead
|
|
9
|
+
*/
|
|
10
|
+
AnyProcedure,
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated use `AnyTRPCRouter` instead
|
|
13
|
+
*/
|
|
14
|
+
AnyRouter,
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated use `AnyTRPCMiddlewareFunction` instead
|
|
17
|
+
*/
|
|
18
|
+
AnyMiddlewareFunction,
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated use `TRPCCombinedDataTransformer` instead
|
|
21
|
+
*/
|
|
22
|
+
CombinedDataTransformer,
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated This is a utility type will be removed in v12
|
|
25
|
+
*/
|
|
26
|
+
Dict,
|
|
27
|
+
/**
|
|
28
|
+
* @deprecated This is a utility type will be removed in v12
|
|
29
|
+
*/
|
|
30
|
+
DeepPartial,
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated use `TRPCProcedureType` instead
|
|
33
|
+
*/
|
|
34
|
+
ProcedureType,
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated use `AnyTRPCMutationProcedure` instead
|
|
37
|
+
*/
|
|
38
|
+
AnyMutationProcedure,
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated use `AnyTRPCQueryProcedure` instead
|
|
41
|
+
*/
|
|
42
|
+
AnyQueryProcedure,
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated use `AnyTRPCSubscriptionProcedure` instead
|
|
45
|
+
*/
|
|
46
|
+
AnySubscriptionProcedure, } from '../../unstable-core-do-not-import';
|
|
47
|
+
export {
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated use `getTRPCErrorShape` instead
|
|
50
|
+
*/
|
|
51
|
+
getErrorShape,
|
|
52
|
+
/**
|
|
53
|
+
* @deprecated use `callTRPCProcedure` instead
|
|
54
|
+
*/
|
|
55
|
+
callProcedure, } from '../../unstable-core-do-not-import';
|
|
56
|
+
/**
|
|
57
|
+
* @deprecated
|
|
58
|
+
* Use `Awaited<ReturnType<typeof myFunction>>` instead
|
|
59
|
+
*/
|
|
60
|
+
export type inferAsyncReturnType<TFunction extends (...args: any[]) => any> = Awaited<ReturnType<TFunction>>;
|
|
61
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/@trpc/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS;AACT;;GAEG;AACH,iCAAiC,EACjC,iCAAiC,IAAI,2BAA2B,EAChE,QAAQ,EAER,aAAa,IAAI,iBAAiB,EAClC,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,IAAI,mBAAmB,EACtC,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oCAAoC,EACzC,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,IAAI,oBAAoB,EAC7C,KAAK,cAAc,IAAI,kBAAkB,EACzC,KAAK,+BAA+B,EACpC,KAAK,kCAAkC,EACvC,KAAK,YAAY,IAAI,gBAAgB,EACrC,KAAK,SAAS,IAAI,aAAa,EAC/B,KAAK,qBAAqB,IAAI,yBAAyB,EACvD,KAAK,uBAAuB,IAAI,2BAA2B,EAC3D,KAAK,aAAa,IAAI,iBAAiB,EACvC,KAAK,oBAAoB,IAAI,wBAAwB,EACrD,KAAK,iBAAiB,IAAI,qBAAqB,EAC/C,KAAK,YAAY,IAAI,gBAAgB,EACrC,KAAK,wBAAwB,IAAI,4BAA4B,EAC7D,KAAK,gBAAgB,IAAI,oBAAoB,GAC9C,MAAM,mCAAmC,CAAC;AAE3C,YAAY;AACV;;GAEG;AACH,YAAY;AACZ;;GAEG;AACH,SAAS;AACT;;GAEG;AACH,qBAAqB;AACrB;;GAEG;AACH,uBAAuB;AAEvB;;GAEG;AACH,IAAI;AAEJ;;GAEG;AACH,WAAW;AACX;;GAEG;AACH,aAAa;AACb;;GAEG;AACH,oBAAoB;AAEpB;;GAEG;AACH,iBAAiB;AACjB;;GAEG;AACH,wBAAwB,GACzB,MAAM,mCAAmC,CAAC;AAE3C,OAAO;AACL;;GAEG;AACH,aAAa;AAEb;;GAEG;AACH,aAAa,GACd,MAAM,mCAAmC,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IACxE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { JSONRPC2, TRPCClientIncomingMessage, TRPCClientIncomingRequest, TRPCClientOutgoingMessage, TRPCClientOutgoingRequest, TRPCErrorResponse, TRPCErrorShape, TRPCReconnectNotification, TRPCRequest, TRPCRequestMessage, TRPCResponse, TRPCResponseMessage, TRPCResult, TRPCResultMessage, TRPCSubscriptionStopNotification, TRPCSuccessResponse, TRPC_ERROR_CODE_KEY, TRPC_ERROR_CODE_NUMBER, } from '../../unstable-core-do-not-import';
|
|
2
|
+
export { TRPC_ERROR_CODES_BY_KEY, TRPC_ERROR_CODES_BY_NUMBER, parseTRPCMessage, } from '../../unstable-core-do-not-import';
|
|
3
|
+
//# sourceMappingURL=rpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/@trpc/server/rpc.ts"],"names":[],"mappings":"AACA,YAAY,EACV,QAAQ,EACR,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,yBAAyB,EACzB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,mCAAmC,CAAC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* import type { AnyTRPCRouter } from '@trpc/server'
|
|
7
|
+
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
1
10
|
import type { APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyStructuredResultV2, Context as APIGWContext } from 'aws-lambda';
|
|
2
|
-
import { AnyRouter } from '
|
|
3
|
-
import { APIGatewayEvent, AWSLambdaOptions } from './utils';
|
|
11
|
+
import type { AnyRouter } from '../../@trpc/server';
|
|
12
|
+
import type { APIGatewayEvent, AWSLambdaOptions } from './utils';
|
|
4
13
|
export * from './utils';
|
|
5
14
|
/** 1:1 mapping of v1 or v2 input events, deduces which is which.
|
|
6
15
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/aws-lambda/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iCAAiC,EACjC,OAAO,IAAI,YAAY,EACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/aws-lambda/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iCAAiC,EACjC,OAAO,IAAI,YAAY,EACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AASpD,OAAO,KAAK,EACV,eAAe,EAEf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAUjB,cAAc,SAAS,CAAC;AAqDxB;;IAEI;AACJ,KAAK,gBAAgB,CAAC,KAAK,IAAI,KAAK,SAAS,oBAAoB,GAC7D,qBAAqB,GACrB,KAAK,SAAS,sBAAsB,GACpC,iCAAiC,GACjC,KAAK,CAAC;AACV,wBAAgB,uBAAuB,CACrC,OAAO,SAAS,SAAS,EACzB,MAAM,SAAS,eAAe,EAC9B,OAAO,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAExC,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,GACtC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,CA0B5D"}
|
|
@@ -1,96 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
require('../../
|
|
7
|
-
require('
|
|
8
|
-
require('../../config-60fc2667.js');
|
|
9
|
-
var resolveHTTPResponse = require('../../resolveHTTPResponse-5def1b0c.js');
|
|
10
|
-
require('../../router-3c22fe56.js');
|
|
11
|
-
require('../../transformTRPCResponse-e65f34e9.js');
|
|
12
|
-
require('../../contentType-90bad7bb.js');
|
|
13
|
-
|
|
14
|
-
function isPayloadV1(event) {
|
|
15
|
-
return determinePayloadFormat(event) == '1.0';
|
|
16
|
-
}
|
|
17
|
-
function isPayloadV2(event) {
|
|
18
|
-
return determinePayloadFormat(event) == '2.0';
|
|
19
|
-
}
|
|
20
|
-
function determinePayloadFormat(event) {
|
|
21
|
-
// https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
|
|
22
|
-
// According to AWS support, version is is extracted from the version property in the event.
|
|
23
|
-
// If there is no version property, then the version is implied as 1.0
|
|
24
|
-
const unknownEvent = event;
|
|
25
|
-
if (typeof unknownEvent.version === 'undefined') {
|
|
26
|
-
return '1.0';
|
|
27
|
-
} else {
|
|
28
|
-
if ([
|
|
29
|
-
'1.0',
|
|
30
|
-
'2.0'
|
|
31
|
-
].includes(unknownEvent.version)) {
|
|
32
|
-
return unknownEvent.version;
|
|
33
|
-
} else {
|
|
34
|
-
return 'custom';
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function getHTTPMethod(event) {
|
|
39
|
-
if (isPayloadV1(event)) {
|
|
40
|
-
return event.httpMethod;
|
|
41
|
-
}
|
|
42
|
-
if (isPayloadV2(event)) {
|
|
43
|
-
return event.requestContext.http.method;
|
|
44
|
-
}
|
|
45
|
-
throw new TRPCError.TRPCError({
|
|
46
|
-
code: 'INTERNAL_SERVER_ERROR',
|
|
47
|
-
message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
function getPath(event) {
|
|
51
|
-
if (isPayloadV1(event)) {
|
|
52
|
-
if (!event.pathParameters) {
|
|
53
|
-
// Then this event was not triggered by a resource denoted with {proxy+}
|
|
54
|
-
return event.path.split('/').pop() ?? '';
|
|
55
|
-
}
|
|
56
|
-
const matches = event.resource.matchAll(/\{(.*?)\}/g);
|
|
57
|
-
for (const match of matches){
|
|
58
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
59
|
-
const group = match[1];
|
|
60
|
-
if (group.includes('+') && event.pathParameters) {
|
|
61
|
-
return event.pathParameters[group.replace('+', '')] ?? '';
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return event.path.slice(1);
|
|
65
|
-
}
|
|
66
|
-
if (isPayloadV2(event)) {
|
|
67
|
-
const matches1 = event.routeKey.matchAll(/\{(.*?)\}/g);
|
|
68
|
-
for (const match1 of matches1){
|
|
69
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
70
|
-
const group1 = match1[1];
|
|
71
|
-
if (group1.includes('+') && event.pathParameters) {
|
|
72
|
-
return event.pathParameters[group1.replace('+', '')] ?? '';
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return event.rawPath.slice(1);
|
|
76
|
-
}
|
|
77
|
-
throw new TRPCError.TRPCError({
|
|
78
|
-
code: 'INTERNAL_SERVER_ERROR',
|
|
79
|
-
message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
function transformHeaders(headers) {
|
|
83
|
-
const obj = {};
|
|
84
|
-
for (const [key, value] of Object.entries(headers)){
|
|
85
|
-
if (typeof value === 'undefined') {
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
obj[key] = Array.isArray(value) ? value.join(',') : value;
|
|
89
|
-
}
|
|
90
|
-
return obj;
|
|
91
|
-
}
|
|
92
|
-
const UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE = 'Custom payload format version not handled by this adapter. Please use either 1.0 or 2.0. More information here' + 'https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html';
|
|
3
|
+
require('../../unstable-core-do-not-import/utils.js');
|
|
4
|
+
var TRPCError = require('../../unstable-core-do-not-import/error/TRPCError.js');
|
|
5
|
+
var resolveHTTPResponse = require('../../unstable-core-do-not-import/http/resolveHTTPResponse.js');
|
|
6
|
+
require('../../unstable-core-do-not-import/rootConfig.js');
|
|
7
|
+
var utils = require('./utils.js');
|
|
93
8
|
|
|
9
|
+
/**
|
|
10
|
+
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import type { AnyTRPCRouter } from '@trpc/server'
|
|
15
|
+
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
16
|
+
* ```
|
|
17
|
+
*/ // @trpc/server
|
|
94
18
|
function lambdaEventToHTTPRequest(event) {
|
|
95
19
|
const query = new URLSearchParams();
|
|
96
20
|
for (const [key, value] of Object.entries(event.queryStringParameters ?? {})){
|
|
@@ -105,38 +29,38 @@ function lambdaEventToHTTPRequest(event) {
|
|
|
105
29
|
body = event.body;
|
|
106
30
|
}
|
|
107
31
|
return {
|
|
108
|
-
method: getHTTPMethod(event),
|
|
32
|
+
method: utils.getHTTPMethod(event),
|
|
109
33
|
query: query,
|
|
110
34
|
headers: event.headers,
|
|
111
35
|
body: body
|
|
112
36
|
};
|
|
113
37
|
}
|
|
114
38
|
function tRPCOutputToAPIGatewayOutput(event, response) {
|
|
115
|
-
if (isPayloadV1(event)) {
|
|
39
|
+
if (utils.isPayloadV1(event)) {
|
|
116
40
|
const resp = {
|
|
117
41
|
statusCode: response.status,
|
|
118
42
|
body: response.body ?? '',
|
|
119
|
-
headers: transformHeaders(response.headers ?? {})
|
|
43
|
+
headers: utils.transformHeaders(response.headers ?? {})
|
|
120
44
|
};
|
|
121
45
|
return resp;
|
|
122
|
-
} else if (isPayloadV2(event)) {
|
|
46
|
+
} else if (utils.isPayloadV2(event)) {
|
|
123
47
|
const resp1 = {
|
|
124
48
|
statusCode: response.status,
|
|
125
49
|
body: response.body ?? undefined,
|
|
126
|
-
headers: transformHeaders(response.headers ?? {})
|
|
50
|
+
headers: utils.transformHeaders(response.headers ?? {})
|
|
127
51
|
};
|
|
128
52
|
return resp1;
|
|
129
53
|
} else {
|
|
130
54
|
throw new TRPCError.TRPCError({
|
|
131
55
|
code: 'INTERNAL_SERVER_ERROR',
|
|
132
|
-
message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
|
|
56
|
+
message: utils.UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
|
|
133
57
|
});
|
|
134
58
|
}
|
|
135
59
|
}
|
|
136
60
|
function awsLambdaRequestHandler(opts) {
|
|
137
61
|
return async (event, context)=>{
|
|
138
62
|
const req = lambdaEventToHTTPRequest(event);
|
|
139
|
-
const path = getPath(event);
|
|
63
|
+
const path = utils.getPath(event);
|
|
140
64
|
const createContext = async (innerOpts)=>{
|
|
141
65
|
return await opts.createContext?.({
|
|
142
66
|
event,
|
|
@@ -145,9 +69,7 @@ function awsLambdaRequestHandler(opts) {
|
|
|
145
69
|
});
|
|
146
70
|
};
|
|
147
71
|
const response = await resolveHTTPResponse.resolveHTTPResponse({
|
|
148
|
-
|
|
149
|
-
batching: opts.batching,
|
|
150
|
-
responseMeta: opts?.responseMeta,
|
|
72
|
+
...opts,
|
|
151
73
|
createContext,
|
|
152
74
|
req,
|
|
153
75
|
path,
|
|
@@ -163,10 +85,10 @@ function awsLambdaRequestHandler(opts) {
|
|
|
163
85
|
};
|
|
164
86
|
}
|
|
165
87
|
|
|
166
|
-
exports.UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE = UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE;
|
|
88
|
+
exports.UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE = utils.UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE;
|
|
89
|
+
exports.getHTTPMethod = utils.getHTTPMethod;
|
|
90
|
+
exports.getPath = utils.getPath;
|
|
91
|
+
exports.isPayloadV1 = utils.isPayloadV1;
|
|
92
|
+
exports.isPayloadV2 = utils.isPayloadV2;
|
|
93
|
+
exports.transformHeaders = utils.transformHeaders;
|
|
167
94
|
exports.awsLambdaRequestHandler = awsLambdaRequestHandler;
|
|
168
|
-
exports.getHTTPMethod = getHTTPMethod;
|
|
169
|
-
exports.getPath = getPath;
|
|
170
|
-
exports.isPayloadV1 = isPayloadV1;
|
|
171
|
-
exports.isPayloadV2 = isPayloadV2;
|
|
172
|
-
exports.transformHeaders = transformHeaders;
|
|
@@ -1,92 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import '../../
|
|
3
|
-
import '../../
|
|
4
|
-
import '../../
|
|
5
|
-
import {
|
|
6
|
-
import '../../router-5274e533.mjs';
|
|
7
|
-
import '../../transformTRPCResponse-1153b421.mjs';
|
|
8
|
-
import '../../contentType-93515a46.mjs';
|
|
9
|
-
|
|
10
|
-
function isPayloadV1(event) {
|
|
11
|
-
return determinePayloadFormat(event) == '1.0';
|
|
12
|
-
}
|
|
13
|
-
function isPayloadV2(event) {
|
|
14
|
-
return determinePayloadFormat(event) == '2.0';
|
|
15
|
-
}
|
|
16
|
-
function determinePayloadFormat(event) {
|
|
17
|
-
// https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
|
|
18
|
-
// According to AWS support, version is is extracted from the version property in the event.
|
|
19
|
-
// If there is no version property, then the version is implied as 1.0
|
|
20
|
-
const unknownEvent = event;
|
|
21
|
-
if (typeof unknownEvent.version === 'undefined') {
|
|
22
|
-
return '1.0';
|
|
23
|
-
} else {
|
|
24
|
-
if ([
|
|
25
|
-
'1.0',
|
|
26
|
-
'2.0'
|
|
27
|
-
].includes(unknownEvent.version)) {
|
|
28
|
-
return unknownEvent.version;
|
|
29
|
-
} else {
|
|
30
|
-
return 'custom';
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
function getHTTPMethod(event) {
|
|
35
|
-
if (isPayloadV1(event)) {
|
|
36
|
-
return event.httpMethod;
|
|
37
|
-
}
|
|
38
|
-
if (isPayloadV2(event)) {
|
|
39
|
-
return event.requestContext.http.method;
|
|
40
|
-
}
|
|
41
|
-
throw new TRPCError({
|
|
42
|
-
code: 'INTERNAL_SERVER_ERROR',
|
|
43
|
-
message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
function getPath(event) {
|
|
47
|
-
if (isPayloadV1(event)) {
|
|
48
|
-
if (!event.pathParameters) {
|
|
49
|
-
// Then this event was not triggered by a resource denoted with {proxy+}
|
|
50
|
-
return event.path.split('/').pop() ?? '';
|
|
51
|
-
}
|
|
52
|
-
const matches = event.resource.matchAll(/\{(.*?)\}/g);
|
|
53
|
-
for (const match of matches){
|
|
54
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
55
|
-
const group = match[1];
|
|
56
|
-
if (group.includes('+') && event.pathParameters) {
|
|
57
|
-
return event.pathParameters[group.replace('+', '')] ?? '';
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return event.path.slice(1);
|
|
61
|
-
}
|
|
62
|
-
if (isPayloadV2(event)) {
|
|
63
|
-
const matches1 = event.routeKey.matchAll(/\{(.*?)\}/g);
|
|
64
|
-
for (const match1 of matches1){
|
|
65
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
66
|
-
const group1 = match1[1];
|
|
67
|
-
if (group1.includes('+') && event.pathParameters) {
|
|
68
|
-
return event.pathParameters[group1.replace('+', '')] ?? '';
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return event.rawPath.slice(1);
|
|
72
|
-
}
|
|
73
|
-
throw new TRPCError({
|
|
74
|
-
code: 'INTERNAL_SERVER_ERROR',
|
|
75
|
-
message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
function transformHeaders(headers) {
|
|
79
|
-
const obj = {};
|
|
80
|
-
for (const [key, value] of Object.entries(headers)){
|
|
81
|
-
if (typeof value === 'undefined') {
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
obj[key] = Array.isArray(value) ? value.join(',') : value;
|
|
85
|
-
}
|
|
86
|
-
return obj;
|
|
87
|
-
}
|
|
88
|
-
const UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE = 'Custom payload format version not handled by this adapter. Please use either 1.0 or 2.0. More information here' + 'https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html';
|
|
1
|
+
import '../../unstable-core-do-not-import/utils.mjs';
|
|
2
|
+
import { TRPCError } from '../../unstable-core-do-not-import/error/TRPCError.mjs';
|
|
3
|
+
import { resolveHTTPResponse } from '../../unstable-core-do-not-import/http/resolveHTTPResponse.mjs';
|
|
4
|
+
import '../../unstable-core-do-not-import/rootConfig.mjs';
|
|
5
|
+
import { getPath, getHTTPMethod, isPayloadV1, transformHeaders, isPayloadV2, UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE } from './utils.mjs';
|
|
89
6
|
|
|
7
|
+
/**
|
|
8
|
+
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import type { AnyTRPCRouter } from '@trpc/server'
|
|
13
|
+
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
14
|
+
* ```
|
|
15
|
+
*/ // @trpc/server
|
|
90
16
|
function lambdaEventToHTTPRequest(event) {
|
|
91
17
|
const query = new URLSearchParams();
|
|
92
18
|
for (const [key, value] of Object.entries(event.queryStringParameters ?? {})){
|
|
@@ -141,9 +67,7 @@ function awsLambdaRequestHandler(opts) {
|
|
|
141
67
|
});
|
|
142
68
|
};
|
|
143
69
|
const response = await resolveHTTPResponse({
|
|
144
|
-
|
|
145
|
-
batching: opts.batching,
|
|
146
|
-
responseMeta: opts?.responseMeta,
|
|
70
|
+
...opts,
|
|
147
71
|
createContext,
|
|
148
72
|
req,
|
|
149
73
|
path,
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* import type { AnyTRPCRouter } from '@trpc/server'
|
|
7
|
+
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
1
10
|
import type { APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyStructuredResultV2, Context as APIGWContext } from 'aws-lambda';
|
|
2
|
-
import type { AnyRouter, inferRouterContext } from '
|
|
3
|
-
import { TRPCRequestInfo } from '
|
|
4
|
-
import type { HTTPHeaders, ResponseMetaFn } from '../../http/internals/types';
|
|
5
|
-
import { OnErrorFunction } from '../../internals/types';
|
|
11
|
+
import type { AnyRouter, inferRouterContext } from '../../@trpc/server';
|
|
12
|
+
import type { HTTPBaseHandlerOptions, HTTPHeaders, TRPCRequestInfo } from '../../@trpc/server/http';
|
|
6
13
|
export type APIGatewayEvent = APIGatewayProxyEvent | APIGatewayProxyEventV2;
|
|
7
14
|
export type APIGatewayResult = APIGatewayProxyResult | APIGatewayProxyStructuredResultV2;
|
|
8
15
|
export type CreateAWSLambdaContextOptions<TEvent extends APIGatewayEvent> = {
|
|
@@ -11,21 +18,14 @@ export type CreateAWSLambdaContextOptions<TEvent extends APIGatewayEvent> = {
|
|
|
11
18
|
info: TRPCRequestInfo;
|
|
12
19
|
};
|
|
13
20
|
export type AWSLambdaCreateContextFn<TRouter extends AnyRouter, TEvent extends APIGatewayEvent> = ({ event, context, info, }: CreateAWSLambdaContextOptions<TEvent>) => inferRouterContext<TRouter> | Promise<inferRouterContext<TRouter>>;
|
|
14
|
-
export type AWSLambdaOptions<TRouter extends AnyRouter, TEvent extends APIGatewayEvent> = {
|
|
15
|
-
router: TRouter;
|
|
16
|
-
batching?: {
|
|
17
|
-
enabled: boolean;
|
|
18
|
-
};
|
|
19
|
-
onError?: OnErrorFunction<TRouter, TEvent>;
|
|
20
|
-
responseMeta?: ResponseMetaFn<TRouter>;
|
|
21
|
-
} & ({
|
|
21
|
+
export type AWSLambdaOptions<TRouter extends AnyRouter, TEvent extends APIGatewayEvent> = HTTPBaseHandlerOptions<TRouter, TEvent> & ({
|
|
22
22
|
/**
|
|
23
|
-
* @link https://trpc.io/docs/context
|
|
23
|
+
* @link https://trpc.io/docs/v11/context
|
|
24
24
|
**/
|
|
25
25
|
createContext: AWSLambdaCreateContextFn<TRouter, TEvent>;
|
|
26
26
|
} | {
|
|
27
27
|
/**
|
|
28
|
-
* @link https://trpc.io/docs/context
|
|
28
|
+
* @link https://trpc.io/docs/v11/context
|
|
29
29
|
**/
|
|
30
30
|
createContext?: AWSLambdaCreateContextFn<TRouter, TEvent>;
|
|
31
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/adapters/aws-lambda/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iCAAiC,EACjC,OAAO,IAAI,YAAY,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/adapters/aws-lambda/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iCAAiC,EACjC,OAAO,IAAI,YAAY,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxE,OAAO,KAAK,EACV,sBAAsB,EACtB,WAAW,EACX,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;AAC5E,MAAM,MAAM,gBAAgB,GACxB,qBAAqB,GACrB,iCAAiC,CAAC;AAEtC,MAAM,MAAM,6BAA6B,CAAC,MAAM,SAAS,eAAe,IAAI;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,wBAAwB,CAClC,OAAO,SAAS,SAAS,EACzB,MAAM,SAAS,eAAe,IAC5B,CAAC,EACH,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE,6BAA6B,CAAC,MAAM,CAAC,KACpC,kBAAkB,CAAC,OAAO,CAAC,GAC3B,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,CAC1B,OAAO,SAAS,SAAS,EACzB,MAAM,SAAS,eAAe,IAE5B,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,GACrC,CACI;IACE;;QAEI;IACJ,aAAa,EAAE,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAC1D,GACD;IACE;;QAEI;IACJ,aAAa,CAAC,EAAE,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAC3D,CACJ,CAAC;AAER,wBAAgB,WAAW,CACzB,KAAK,EAAE,eAAe,GACrB,KAAK,IAAI,oBAAoB,CAE/B;AACD,wBAAgB,WAAW,CACzB,KAAK,EAAE,eAAe,GACrB,KAAK,IAAI,sBAAsB,CAEjC;AAoBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,UAWnD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,eAAe,UA+B7C;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GACnB,gBAAgB,CAAC,SAAS,CAAC,CAU7B;AAED,MAAM,MAAM,+BAA+B,GAAG,KAAK,GAAG,KAAK,CAAC;AAC5D,MAAM,MAAM,8BAA8B,GACtC,+BAA+B,GAC/B,QAAQ,CAAC;AAEb,eAAO,MAAM,4CAA4C,QAEiD,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('../../unstable-core-do-not-import/utils.js');
|
|
4
|
+
var TRPCError = require('../../unstable-core-do-not-import/error/TRPCError.js');
|
|
5
|
+
require('../../unstable-core-do-not-import/rootConfig.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import type { AnyTRPCRouter } from '@trpc/server'
|
|
13
|
+
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
14
|
+
* ```
|
|
15
|
+
*/ // @trpc/server
|
|
16
|
+
function isPayloadV1(event) {
|
|
17
|
+
return determinePayloadFormat(event) == '1.0';
|
|
18
|
+
}
|
|
19
|
+
function isPayloadV2(event) {
|
|
20
|
+
return determinePayloadFormat(event) == '2.0';
|
|
21
|
+
}
|
|
22
|
+
function determinePayloadFormat(event) {
|
|
23
|
+
// https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
|
|
24
|
+
// According to AWS support, version is is extracted from the version property in the event.
|
|
25
|
+
// If there is no version property, then the version is implied as 1.0
|
|
26
|
+
const unknownEvent = event;
|
|
27
|
+
if (typeof unknownEvent.version === 'undefined') {
|
|
28
|
+
return '1.0';
|
|
29
|
+
} else {
|
|
30
|
+
if ([
|
|
31
|
+
'1.0',
|
|
32
|
+
'2.0'
|
|
33
|
+
].includes(unknownEvent.version)) {
|
|
34
|
+
return unknownEvent.version;
|
|
35
|
+
} else {
|
|
36
|
+
return 'custom';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function getHTTPMethod(event) {
|
|
41
|
+
if (isPayloadV1(event)) {
|
|
42
|
+
return event.httpMethod;
|
|
43
|
+
}
|
|
44
|
+
if (isPayloadV2(event)) {
|
|
45
|
+
return event.requestContext.http.method;
|
|
46
|
+
}
|
|
47
|
+
throw new TRPCError.TRPCError({
|
|
48
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
49
|
+
message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function getPath(event) {
|
|
53
|
+
if (isPayloadV1(event)) {
|
|
54
|
+
if (!event.pathParameters) {
|
|
55
|
+
// Then this event was not triggered by a resource denoted with {proxy+}
|
|
56
|
+
return event.path.split('/').pop() ?? '';
|
|
57
|
+
}
|
|
58
|
+
const matches = event.resource.matchAll(/\{(.*?)\}/g);
|
|
59
|
+
for (const match of matches){
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
61
|
+
const group = match[1];
|
|
62
|
+
if (group.includes('+') && event.pathParameters) {
|
|
63
|
+
return event.pathParameters[group.replace('+', '')] ?? '';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return event.path.slice(1);
|
|
67
|
+
}
|
|
68
|
+
if (isPayloadV2(event)) {
|
|
69
|
+
const matches1 = event.routeKey.matchAll(/\{(.*?)\}/g);
|
|
70
|
+
for (const match1 of matches1){
|
|
71
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
72
|
+
const group1 = match1[1];
|
|
73
|
+
if (group1.includes('+') && event.pathParameters) {
|
|
74
|
+
return event.pathParameters[group1.replace('+', '')] ?? '';
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return event.rawPath.slice(1);
|
|
78
|
+
}
|
|
79
|
+
throw new TRPCError.TRPCError({
|
|
80
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
81
|
+
message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function transformHeaders(headers) {
|
|
85
|
+
const obj = {};
|
|
86
|
+
for (const [key, value] of Object.entries(headers)){
|
|
87
|
+
if (typeof value === 'undefined') {
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
obj[key] = Array.isArray(value) ? value.join(',') : value;
|
|
91
|
+
}
|
|
92
|
+
return obj;
|
|
93
|
+
}
|
|
94
|
+
const UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE = 'Custom payload format version not handled by this adapter. Please use either 1.0 or 2.0. More information here' + 'https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html';
|
|
95
|
+
|
|
96
|
+
exports.UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE = UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE;
|
|
97
|
+
exports.getHTTPMethod = getHTTPMethod;
|
|
98
|
+
exports.getPath = getPath;
|
|
99
|
+
exports.isPayloadV1 = isPayloadV1;
|
|
100
|
+
exports.isPayloadV2 = isPayloadV2;
|
|
101
|
+
exports.transformHeaders = transformHeaders;
|