@trpc/server 10.0.0-alpha.4 → 10.0.0-alpha.42
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 +79 -1
- package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +1 -0
- package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +190 -0
- package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.js +7 -0
- package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +190 -0
- package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +186 -0
- package/adapters/aws-lambda/index.d.ts +1 -0
- package/adapters/aws-lambda/index.js +1 -0
- package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +7 -6
- package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +7 -6
- package/adapters/express/dist/trpc-server-adapters-express.esm.js +7 -6
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +1 -0
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +109 -0
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +7 -0
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +109 -0
- package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +104 -0
- package/adapters/fastify/index.d.ts +1 -0
- package/adapters/fastify/index.js +1 -0
- package/adapters/fetch/index.d.ts +1 -0
- package/adapters/fetch/index.js +1 -0
- package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +1 -0
- package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +25 -0
- package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +7 -0
- package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +25 -0
- package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +21 -0
- package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +4 -3
- package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +4 -3
- package/adapters/next/dist/trpc-server-adapters-next.esm.js +4 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +4 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +4 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +4 -3
- package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +5 -4
- package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +5 -4
- package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +5 -4
- package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +6 -5
- package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +6 -5
- package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +6 -5
- package/dist/TRPCError-9050a68d.js +69 -0
- package/dist/TRPCError-97212592.mjs +65 -0
- package/dist/adapters/aws-lambda/index.d.ts +14 -0
- package/dist/adapters/aws-lambda/index.d.ts.map +1 -0
- package/dist/adapters/aws-lambda/index.js +190 -0
- package/dist/adapters/aws-lambda/index.mjs +186 -0
- package/dist/{ws → adapters/aws-lambda}/index.ts.js +0 -0
- package/dist/adapters/aws-lambda/utils.d.ts +35 -0
- package/dist/adapters/aws-lambda/utils.d.ts.map +1 -0
- package/dist/adapters/express.d.ts +1 -1
- package/dist/adapters/express.d.ts.map +1 -1
- package/dist/adapters/express.js +8 -7
- package/dist/adapters/express.mjs +8 -7
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts +13 -0
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -0
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +12 -0
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -0
- package/dist/adapters/fastify/index.d.ts +3 -0
- package/dist/adapters/fastify/index.d.ts.map +1 -0
- package/dist/adapters/fastify/index.js +108 -0
- package/dist/adapters/fastify/index.mjs +103 -0
- package/dist/adapters/fastify/index.ts.js +1 -0
- package/dist/adapters/fetch/fetchRequestHandler.d.ts +8 -0
- package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -0
- package/dist/adapters/fetch/index.d.ts +3 -0
- package/dist/adapters/fetch/index.d.ts.map +1 -0
- package/dist/adapters/fetch/index.js +69 -0
- package/dist/adapters/fetch/index.mjs +65 -0
- package/dist/adapters/fetch/index.ts.js +1 -0
- package/dist/adapters/fetch/types.d.ts +21 -0
- package/dist/adapters/fetch/types.d.ts.map +1 -0
- package/dist/adapters/lambda/index.d.ts +12 -0
- package/dist/adapters/lambda/index.d.ts.map +1 -0
- package/dist/adapters/next.d.ts +2 -2
- package/dist/adapters/next.d.ts.map +1 -1
- package/dist/adapters/next.js +9 -9
- package/dist/adapters/next.mjs +8 -8
- package/dist/adapters/node-http/index.js +5 -4
- package/dist/adapters/node-http/index.mjs +5 -4
- package/dist/adapters/node-http/internals/getPostBody.d.ts +1 -1
- package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +2 -2
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
- package/dist/adapters/node-http/types.d.ts +11 -9
- package/dist/adapters/node-http/types.d.ts.map +1 -1
- package/dist/adapters/standalone.d.ts +2 -2
- package/dist/adapters/standalone.d.ts.map +1 -1
- package/dist/adapters/standalone.js +11 -7
- package/dist/adapters/standalone.mjs +11 -6
- package/dist/adapters/ws.d.ts +8 -6
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +123 -90
- package/dist/adapters/ws.mjs +118 -85
- package/dist/assertNotBrowser.d.ts.map +1 -1
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/initTRPC.d.ts +87 -0
- package/dist/core/initTRPC.d.ts.map +1 -0
- package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts +282 -0
- package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts.map +1 -0
- package/dist/core/internals/config.d.ts +36 -0
- package/dist/core/internals/config.d.ts.map +1 -0
- package/dist/core/internals/getParseFn.d.ts +9 -0
- package/dist/core/internals/getParseFn.d.ts.map +1 -0
- package/dist/core/internals/mergeRouters.d.ts +3 -0
- package/dist/core/internals/mergeRouters.d.ts.map +1 -0
- package/dist/core/internals/mergeWithoutOverrides.d.ts +5 -0
- package/dist/core/internals/mergeWithoutOverrides.d.ts.map +1 -0
- package/dist/core/internals/omitPrototype.d.ts +6 -0
- package/dist/core/internals/omitPrototype.d.ts.map +1 -0
- package/dist/core/internals/prefixObjectKeys.d.ts +2 -0
- package/dist/core/internals/prefixObjectKeys.d.ts.map +1 -0
- package/dist/core/internals/procedureBuilder.d.ts +122 -0
- package/dist/core/internals/procedureBuilder.d.ts.map +1 -0
- package/dist/core/internals/utils.d.ts +44 -0
- package/dist/core/internals/utils.d.ts.map +1 -0
- package/dist/core/middleware.d.ts +87 -0
- package/dist/core/middleware.d.ts.map +1 -0
- package/dist/core/parser.d.ts +25 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/procedure.d.ts +88 -0
- package/dist/core/procedure.d.ts.map +1 -0
- package/dist/core/router.d.ts +128 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/types.d.ts +19 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/{internals → deprecated/internals}/callProcedure.d.ts +5 -2
- package/dist/deprecated/internals/callProcedure.d.ts.map +1 -0
- package/dist/{internals → deprecated/internals}/middlewares.d.ts +21 -3
- package/dist/deprecated/internals/middlewares.d.ts.map +1 -0
- package/dist/deprecated/internals/procedure.d.ts +96 -0
- package/dist/deprecated/internals/procedure.d.ts.map +1 -0
- package/dist/deprecated/interop.d.ts +34 -0
- package/dist/deprecated/interop.d.ts.map +1 -0
- package/dist/deprecated/router.d.ts +194 -0
- package/dist/deprecated/router.d.ts.map +1 -0
- package/dist/{codes-7a3d4f65.mjs → envelopes-af8c2959.mjs} +30 -1
- package/dist/{codes-7f46544e.js → envelopes-b6dd0367.js} +29 -1
- package/dist/error/TRPCError.d.ts +11 -0
- package/dist/error/TRPCError.d.ts.map +1 -0
- package/dist/error/formatter.d.ts +33 -0
- package/dist/error/formatter.d.ts.map +1 -0
- package/dist/{internals/errors.d.ts → error/utils.d.ts} +3 -2
- package/dist/error/utils.d.ts.map +1 -0
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/internals/getHTTPStatusCode.d.ts +2 -1
- package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
- package/dist/http/internals/types.d.ts +11 -8
- package/dist/http/internals/types.d.ts.map +1 -1
- package/dist/http/resolveHTTPResponse.d.ts +4 -4
- package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
- package/dist/http/{ResponseMeta.d.ts → types.d.ts} +1 -1
- package/dist/http/types.d.ts.map +1 -0
- package/dist/index-1a25ccbd.js +33 -0
- package/dist/index-a3bd54c7.mjs +31 -0
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +95 -496
- package/dist/index.mjs +88 -488
- package/dist/internals/transformTRPCResponse.d.ts +5 -3
- package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
- package/dist/internals/types.d.ts +23 -0
- package/dist/internals/types.d.ts.map +1 -0
- package/dist/internals.d.ts +11 -0
- package/dist/internals.d.ts.map +1 -0
- package/dist/nodeHTTPRequestHandler-65cf2218.mjs +105 -0
- package/dist/nodeHTTPRequestHandler-6b7c8622.js +107 -0
- package/dist/observable/index.d.ts +5 -0
- package/dist/observable/index.d.ts.map +1 -0
- package/dist/observable/index.js +204 -0
- package/dist/observable/index.mjs +195 -0
- package/dist/observable/index.ts.js +1 -0
- package/dist/observable/internals/identity.d.ts +2 -0
- package/dist/observable/internals/identity.d.ts.map +1 -0
- package/dist/observable/internals/observableToPromise.d.ts +10 -0
- package/dist/observable/internals/observableToPromise.d.ts.map +1 -0
- package/dist/observable/internals/pipe.d.ts +4 -0
- package/dist/observable/internals/pipe.d.ts.map +1 -0
- package/dist/observable/observable.d.ts +5 -0
- package/dist/observable/observable.d.ts.map +1 -0
- package/dist/observable/operators/index.d.ts +4 -0
- package/dist/observable/operators/index.d.ts.map +1 -0
- package/dist/observable/operators/map.d.ts +3 -0
- package/dist/observable/operators/map.d.ts.map +1 -0
- package/dist/observable/operators/share.d.ts +6 -0
- package/dist/observable/operators/share.d.ts.map +1 -0
- package/dist/observable/operators/tap.d.ts +3 -0
- package/dist/observable/operators/tap.d.ts.map +1 -0
- package/dist/observable/types.d.ts +29 -0
- package/dist/observable/types.d.ts.map +1 -0
- package/dist/observable-341a0506.js +109 -0
- package/dist/observable-cfedfa30.mjs +106 -0
- package/dist/{nodeHTTPRequestHandler-10e6d2f9.mjs → resolveHTTPResponse-95634936.mjs} +32 -133
- package/dist/{nodeHTTPRequestHandler-d7c307d3.js → resolveHTTPResponse-fcc8f644.js} +37 -139
- package/dist/router-6665b0ee.mjs +1093 -0
- package/dist/router-9d12560f.js +1103 -0
- package/dist/rpc/codes.d.ts +2 -0
- package/dist/rpc/codes.d.ts.map +1 -1
- package/dist/rpc/envelopes.d.ts +62 -40
- package/dist/rpc/envelopes.d.ts.map +1 -1
- package/dist/rpc/index.js +7 -3
- package/dist/rpc/index.mjs +1 -1
- package/dist/rpc/internals/invert.d.ts +18 -0
- package/dist/rpc/internals/invert.d.ts.map +1 -0
- package/dist/shared/createProxy/index.d.ts +12 -0
- package/dist/shared/createProxy/index.d.ts.map +1 -0
- package/dist/shared/index.d.ts +2 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +9 -0
- package/dist/shared/index.mjs +1 -0
- package/dist/shared/index.ts.js +1 -0
- package/dist/subscription.d.ts +3 -52
- package/dist/subscription.d.ts.map +1 -1
- package/dist/subscription.js +44 -0
- package/dist/subscription.mjs +40 -0
- package/dist/subscription.ts.js +1 -0
- package/dist/transformTRPCResponse-0c261655.js +29 -0
- package/dist/transformTRPCResponse-747b9a68.mjs +27 -0
- package/dist/transformer.d.ts +14 -0
- package/dist/transformer.d.ts.map +1 -1
- package/dist/types.d.ts +35 -8
- package/dist/types.d.ts.map +1 -1
- package/observable/index.d.ts +1 -0
- package/observable/index.js +1 -0
- package/package.json +57 -16
- package/rpc/dist/trpc-server-rpc.cjs.dev.js +1 -1
- package/rpc/dist/trpc-server-rpc.cjs.prod.js +1 -1
- package/rpc/dist/trpc-server-rpc.esm.js +1 -1
- package/shared/index.d.ts +1 -0
- package/shared/index.js +1 -0
- package/src/adapters/aws-lambda/index.ts +173 -0
- package/src/adapters/aws-lambda/utils.ts +92 -0
- package/src/adapters/express.ts +4 -4
- package/src/adapters/fastify/fastifyRequestHandler.ts +77 -0
- package/src/adapters/fastify/fastifyTRPCPlugin.ts +56 -0
- package/src/adapters/fastify/index.ts +2 -0
- package/src/adapters/fetch/fetchRequestHandler.ts +61 -0
- package/src/adapters/fetch/index.ts +2 -0
- package/src/adapters/fetch/types.ts +28 -0
- package/src/adapters/lambda/index.ts +18 -0
- package/src/adapters/next.ts +10 -8
- package/src/adapters/node-http/internals/getPostBody.test.ts +2 -1
- package/src/adapters/node-http/internals/getPostBody.ts +1 -1
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +7 -7
- package/src/adapters/node-http/types.ts +11 -9
- package/src/adapters/standalone.ts +12 -4
- package/src/adapters/ws.ts +135 -91
- package/src/assertNotBrowser.ts +1 -0
- package/src/core/index.ts +11 -0
- package/src/core/initTRPC.ts +95 -0
- package/src/core/internals/__generated__/mergeRoutersGeneric.ts +386 -0
- package/src/core/internals/config.ts +43 -0
- package/src/core/internals/getParseFn.ts +47 -0
- package/src/core/internals/mergeRouters.ts +45 -0
- package/src/core/internals/mergeWithoutOverrides.ts +19 -0
- package/src/core/internals/omitPrototype.ts +9 -0
- package/src/core/internals/prefixObjectKeys.ts +9 -0
- package/src/core/internals/procedureBuilder.ts +398 -0
- package/src/core/internals/utils.ts +64 -0
- package/src/core/middleware.ts +96 -0
- package/src/core/parser.ts +45 -0
- package/src/core/procedure.ts +120 -0
- package/src/core/router.ts +366 -0
- package/src/core/types.ts +58 -0
- package/src/{internals → deprecated/internals}/callProcedure.ts +9 -3
- package/src/{internals → deprecated/internals}/middlewares.ts +23 -3
- package/src/deprecated/internals/procedure.ts +415 -0
- package/src/deprecated/interop.ts +229 -0
- package/src/{router.ts → deprecated/router.ts} +219 -104
- package/src/{TRPCError.ts → error/TRPCError.ts} +6 -14
- package/src/error/formatter.ts +51 -0
- package/src/{internals/errors.ts → error/utils.ts} +21 -5
- package/src/http/index.ts +1 -1
- package/src/http/internals/getHTTPStatusCode.ts +3 -2
- package/src/http/internals/types.ts +11 -14
- package/src/http/resolveHTTPResponse.ts +29 -38
- package/src/http/{ResponseMeta.ts → types.ts} +0 -0
- package/src/index.ts +4 -7
- package/src/internals/transformTRPCResponse.ts +21 -16
- package/src/internals/types.ts +24 -0
- package/src/internals.ts +14 -0
- package/src/observable/index.ts +4 -0
- package/src/observable/internals/identity.ts +3 -0
- package/src/observable/internals/observableToPromise.ts +49 -0
- package/src/observable/internals/pipe.ts +23 -0
- package/src/observable/observable.test.ts +101 -0
- package/src/observable/observable.ts +78 -0
- package/src/observable/operators/index.ts +3 -0
- package/src/observable/operators/map.test.ts +92 -0
- package/src/observable/operators/map.ts +25 -0
- package/src/observable/operators/share.test.ts +60 -0
- package/src/observable/operators/share.ts +67 -0
- package/src/observable/operators/tap.ts +26 -0
- package/src/observable/types.ts +69 -0
- package/src/rpc/codes.ts +2 -1
- package/src/rpc/envelopes.ts +88 -69
- package/src/rpc/internals/invert.ts +27 -0
- package/src/shared/createProxy/index.ts +38 -0
- package/src/shared/index.ts +1 -0
- package/src/subscription.ts +7 -125
- package/src/transformer.ts +28 -0
- package/src/types.ts +40 -9
- package/dist/TRPCError.d.ts +0 -19
- package/dist/TRPCError.d.ts.map +0 -1
- package/dist/deprecated/LegacyRouter.d.ts +0 -3
- package/dist/deprecated/LegacyRouter.d.ts.map +0 -1
- package/dist/deprecated/createHttpServer.d.ts +0 -19
- package/dist/deprecated/createHttpServer.d.ts.map +0 -1
- package/dist/deprecated/requestHandler.d.ts +0 -15
- package/dist/deprecated/requestHandler.d.ts.map +0 -1
- package/dist/http/ResponseMeta.d.ts.map +0 -1
- package/dist/internals/BaseHandlerOptions.d.ts +0 -13
- package/dist/internals/BaseHandlerOptions.d.ts.map +0 -1
- package/dist/internals/OnErrorFunction.d.ts +0 -11
- package/dist/internals/OnErrorFunction.d.ts.map +0 -1
- package/dist/internals/callProcedure.d.ts.map +0 -1
- package/dist/internals/errors.d.ts.map +0 -1
- package/dist/internals/middlewares.d.ts.map +0 -1
- package/dist/internals/procedure.d.ts +0 -74
- package/dist/internals/procedure.d.ts.map +0 -1
- package/dist/internals/wrapCallSafe.d.ts +0 -16
- package/dist/internals/wrapCallSafe.d.ts.map +0 -1
- package/dist/router.d.ts +0 -176
- package/dist/router.d.ts.map +0 -1
- package/dist/subscription-5b7e1eba.js +0 -136
- package/dist/subscription-e1d42e69.mjs +0 -133
- package/dist/transformTRPCResponse-76e0c91e.mjs +0 -109
- package/dist/transformTRPCResponse-bd24f548.js +0 -114
- package/dist/ws/index.d.ts +0 -7
- package/dist/ws/index.d.ts.map +0 -1
- package/dist/ws/index.js +0 -15
- package/dist/ws/index.mjs +0 -11
- package/src/deprecated/LegacyRouter.ts +0 -3
- package/src/deprecated/createHttpServer.ts +0 -29
- package/src/deprecated/requestHandler.ts +0 -26
- package/src/internals/BaseHandlerOptions.ts +0 -13
- package/src/internals/OnErrorFunction.ts +0 -11
- package/src/internals/procedure.ts +0 -283
- package/src/internals/wrapCallSafe.ts +0 -19
- package/src/ws/index.ts +0 -8
- package/ws/dist/trpc-server-ws.cjs.d.ts +0 -1
- package/ws/dist/trpc-server-ws.cjs.dev.js +0 -15
- package/ws/dist/trpc-server-ws.cjs.js +0 -7
- package/ws/dist/trpc-server-ws.cjs.prod.js +0 -15
- package/ws/dist/trpc-server-ws.esm.js +0 -11
- package/ws/index.d.ts +0 -1
- package/ws/index.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPostBody.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node-http/internals/getPostBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getPostBody.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node-http/internals/getPostBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAsB,WAAW,CAAC,EAChC,GAAG,EACH,WAAW,GACZ,EAAE;IACD,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;QAES,IAAI;UAAQ,OAAO;;QAAW,KAAK;WAAS,SAAS;GA0B9D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { AnyRouter } from '../../core';
|
|
2
|
+
import { NodeHTTPHandlerOptions, NodeHTTPRequest, NodeHTTPResponse } from './types';
|
|
3
3
|
declare type NodeHTTPRequestHandlerOptions<TRouter extends AnyRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse> = {
|
|
4
4
|
req: TRequest;
|
|
5
5
|
res: TResponse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeHTTPRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/nodeHTTPRequestHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nodeHTTPRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/nodeHTTPRequestHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAKvC,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAIjB,aAAK,6BAA6B,CAChC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,IAChC;IACF,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEzD,wBAAsB,sBAAsB,CAC1C,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,EAClC,IAAI,EAAE,6BAA6B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,iBA+ClE"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
2
|
+
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
+
import { AnyRouter, inferRouterContext } from '../../core';
|
|
4
|
+
import { inferRouterDef } from '../../core';
|
|
5
5
|
import { HTTPBaseHandlerOptions } from '../../http/internals/types';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
interface ParsedQs {
|
|
7
|
+
[key: string]: undefined | string | string[] | ParsedQs | ParsedQs[];
|
|
8
|
+
}
|
|
9
|
+
export declare type NodeHTTPRequest = IncomingMessage & {
|
|
10
|
+
query?: ParsedQs;
|
|
10
11
|
body?: unknown;
|
|
11
12
|
};
|
|
12
|
-
export declare type NodeHTTPResponse =
|
|
13
|
+
export declare type NodeHTTPResponse = ServerResponse;
|
|
13
14
|
export declare type NodeHTTPCreateContextOption<TRouter extends AnyRouter, TRequest, TResponse> = unknown extends inferRouterContext<TRouter> ? {
|
|
14
15
|
/**
|
|
15
16
|
* @link https://trpc.io/docs/context
|
|
@@ -29,5 +30,6 @@ export declare type NodeHTTPCreateContextFnOptions<TRequest, TResponse> = {
|
|
|
29
30
|
req: TRequest;
|
|
30
31
|
res: TResponse;
|
|
31
32
|
};
|
|
32
|
-
export declare type NodeHTTPCreateContextFn<TRouter extends AnyRouter, TRequest, TResponse> = (opts: NodeHTTPCreateContextFnOptions<TRequest, TResponse>) =>
|
|
33
|
+
export declare type NodeHTTPCreateContextFn<TRouter extends AnyRouter, TRequest, TResponse> = (opts: NodeHTTPCreateContextFnOptions<TRequest, TResponse>) => inferRouterDef<TRouter>['_ctx'] | Promise<inferRouterDef<TRouter>['_ctx']>;
|
|
34
|
+
export {};
|
|
33
35
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/types.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,UAAU,QAAQ;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC;CACtE;AAED,oBAAY,eAAe,GAAG,eAAe,GAAG;IAC9C,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,oBAAY,gBAAgB,GAAG,cAAc,CAAC;AAE9C,oBAAY,2BAA2B,CACrC,OAAO,SAAS,SAAS,EACzB,QAAQ,EACR,SAAS,IACP,OAAO,SAAS,kBAAkB,CAAC,OAAO,CAAC,GAC3C;IACE;;QAEI;IACJ,aAAa,CAAC,EAAE,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACvE,GACD;IACE;;QAEI;IACJ,aAAa,EAAE,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACtE,CAAC;AAEN,oBAAY,sBAAsB,CAChC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,IAChC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG;IAC9C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE9D,oBAAY,8BAA8B,CAAC,QAAQ,EAAE,SAAS,IAAI;IAChE,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;CAChB,CAAC;AACF,oBAAY,uBAAuB,CACjC,OAAO,SAAS,SAAS,EACzB,QAAQ,EACR,SAAS,IACP,CACF,IAAI,EAAE,8BAA8B,CAAC,QAAQ,EAAE,SAAS,CAAC,KACtD,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import http from 'http';
|
|
3
|
-
import { AnyRouter } from '../
|
|
3
|
+
import { AnyRouter } from '../core';
|
|
4
4
|
import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions } from './node-http';
|
|
5
5
|
export declare type CreateHTTPHandlerOptions<TRouter extends AnyRouter> = NodeHTTPHandlerOptions<TRouter, http.IncomingMessage, http.ServerResponse>;
|
|
6
6
|
export declare type CreateHTTPContextOptions = NodeHTTPCreateContextFnOptions<http.IncomingMessage, http.ServerResponse>;
|
|
7
7
|
export declare function createHTTPHandler<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): (req: http.IncomingMessage, res: http.ServerResponse) => Promise<void>;
|
|
8
8
|
export declare function createHTTPServer<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): {
|
|
9
9
|
server: http.Server;
|
|
10
|
-
listen(port?: number
|
|
10
|
+
listen(port?: number): {
|
|
11
11
|
port: number | undefined;
|
|
12
12
|
};
|
|
13
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../src/adapters/standalone.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../src/adapters/standalone.ts"],"names":[],"mappings":";AAGA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EAEvB,MAAM,aAAa,CAAC;AAErB,oBAAY,wBAAwB,CAAC,OAAO,SAAS,SAAS,IAC5D,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAE7E,oBAAY,wBAAwB,GAAG,8BAA8B,CACnE,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,CACpB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,SAAS,EACzD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAEpB,KAAK,eAAe,OAAO,KAAK,cAAc,mBAiBlE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,SAAS,EACxD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC;;kBAOvB,MAAM;;;EAUvB"}
|
|
@@ -3,24 +3,28 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var http = require('http');
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
require('../
|
|
9
|
-
require('../
|
|
6
|
+
var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-6b7c8622.js');
|
|
7
|
+
require('../resolveHTTPResponse-fcc8f644.js');
|
|
8
|
+
require('../TRPCError-9050a68d.js');
|
|
9
|
+
require('../transformTRPCResponse-0c261655.js');
|
|
10
|
+
require('../envelopes-b6dd0367.js');
|
|
10
11
|
|
|
11
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
13
|
|
|
13
14
|
var http__default = /*#__PURE__*/_interopDefaultLegacy(http);
|
|
14
|
-
var url__default = /*#__PURE__*/_interopDefaultLegacy(url);
|
|
15
15
|
|
|
16
16
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
17
17
|
function createHTTPHandler(opts) {
|
|
18
18
|
return async (req, res) => {
|
|
19
|
-
|
|
19
|
+
// if no hostname, set a dummy one
|
|
20
|
+
const href = req.url.startsWith('/') ? `http://127.0.0.1${req.url}` : req.url; // get procedure path and remove the leading slash
|
|
21
|
+
// /procedure -> procedure
|
|
22
|
+
|
|
23
|
+
const path = new URL(href).pathname.slice(1);
|
|
20
24
|
await nodeHTTPRequestHandler.nodeHTTPRequestHandler({ ...opts,
|
|
21
25
|
req,
|
|
22
26
|
res,
|
|
23
|
-
path
|
|
27
|
+
path
|
|
24
28
|
});
|
|
25
29
|
};
|
|
26
30
|
}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import http from 'http';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import '../
|
|
5
|
-
import '../
|
|
2
|
+
import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-65cf2218.mjs';
|
|
3
|
+
import '../resolveHTTPResponse-95634936.mjs';
|
|
4
|
+
import '../TRPCError-97212592.mjs';
|
|
5
|
+
import '../transformTRPCResponse-747b9a68.mjs';
|
|
6
|
+
import '../envelopes-af8c2959.mjs';
|
|
6
7
|
|
|
7
8
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
8
9
|
function createHTTPHandler(opts) {
|
|
9
10
|
return async (req, res) => {
|
|
10
|
-
|
|
11
|
+
// if no hostname, set a dummy one
|
|
12
|
+
const href = req.url.startsWith('/') ? `http://127.0.0.1${req.url}` : req.url; // get procedure path and remove the leading slash
|
|
13
|
+
// /procedure -> procedure
|
|
14
|
+
|
|
15
|
+
const path = new URL(href).pathname.slice(1);
|
|
11
16
|
await nodeHTTPRequestHandler({ ...opts,
|
|
12
17
|
req,
|
|
13
18
|
res,
|
|
14
|
-
path
|
|
19
|
+
path
|
|
15
20
|
});
|
|
16
21
|
};
|
|
17
22
|
}
|
package/dist/adapters/ws.d.ts
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { IncomingMessage } from 'http';
|
|
3
4
|
import ws from 'ws';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { NodeHTTPCreateContextOption } from './node-http';
|
|
5
|
+
import { AnyRouter } from '../core';
|
|
6
|
+
import { BaseHandlerOptions } from '../internals/types';
|
|
7
|
+
import { NodeHTTPCreateContextFnOptions, NodeHTTPCreateContextOption } from './node-http';
|
|
7
8
|
/**
|
|
8
9
|
* Web socket server handler
|
|
9
10
|
*/
|
|
10
|
-
export declare type WSSHandlerOptions<TRouter extends AnyRouter> = BaseHandlerOptions<TRouter,
|
|
11
|
+
export declare type WSSHandlerOptions<TRouter extends AnyRouter> = BaseHandlerOptions<TRouter, IncomingMessage> & {
|
|
11
12
|
wss: ws.Server;
|
|
12
13
|
process?: NodeJS.Process;
|
|
13
|
-
} & NodeHTTPCreateContextOption<TRouter,
|
|
14
|
+
} & NodeHTTPCreateContextOption<TRouter, IncomingMessage, ws>;
|
|
15
|
+
export declare type CreateWSSContextFnOptions = NodeHTTPCreateContextFnOptions<IncomingMessage, ws>;
|
|
14
16
|
export declare function applyWSSHandler<TRouter extends AnyRouter>(opts: WSSHandlerOptions<TRouter>): {
|
|
15
17
|
broadcastReconnectNotification: () => void;
|
|
16
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/adapters/ws.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/adapters/ws.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAqC,MAAM,SAAS,CAAC;AAIvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AASxD,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAyErB;;GAEG;AACH,oBAAY,iBAAiB,CAAC,OAAO,SAAS,SAAS,IAAI,kBAAkB,CAC3E,OAAO,EACP,eAAe,CAChB,GAAG;IACF,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;CAC1B,GAAG,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;AAE9D,oBAAY,yBAAyB,GAAG,8BAA8B,CACpE,eAAe,EACf,EAAE,CACH,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EACvD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;;EA6OjC"}
|
package/dist/adapters/ws.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
require('
|
|
5
|
+
var TRPCError = require('../TRPCError-9050a68d.js');
|
|
6
|
+
var transformTRPCResponse = require('../transformTRPCResponse-0c261655.js');
|
|
7
|
+
var observable = require('../observable-341a0506.js');
|
|
8
8
|
|
|
9
9
|
/* istanbul ignore next */
|
|
10
10
|
function assertIsObject(obj) {
|
|
@@ -59,8 +59,8 @@ function parseMessage(obj, transformer) {
|
|
|
59
59
|
if (method === 'subscription.stop') {
|
|
60
60
|
return {
|
|
61
61
|
id,
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
jsonrpc,
|
|
63
|
+
method
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -73,8 +73,8 @@ function parseMessage(obj, transformer) {
|
|
|
73
73
|
assertIsString(path);
|
|
74
74
|
const input = transformer.input.deserialize(rawInput);
|
|
75
75
|
return {
|
|
76
|
-
jsonrpc,
|
|
77
76
|
id,
|
|
77
|
+
jsonrpc,
|
|
78
78
|
method,
|
|
79
79
|
params: {
|
|
80
80
|
input,
|
|
@@ -96,13 +96,27 @@ function applyWSSHandler(opts) {
|
|
|
96
96
|
const {
|
|
97
97
|
transformer
|
|
98
98
|
} = router._def;
|
|
99
|
-
wss.on('connection', (client, req) => {
|
|
99
|
+
wss.on('connection', async (client, req) => {
|
|
100
100
|
const clientSubscriptions = new Map();
|
|
101
101
|
|
|
102
102
|
function respond(untransformedJSON) {
|
|
103
103
|
client.send(JSON.stringify(transformTRPCResponse.transformTRPCResponse(router, untransformedJSON)));
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
function stopSubscription(subscription, {
|
|
107
|
+
id,
|
|
108
|
+
jsonrpc
|
|
109
|
+
}) {
|
|
110
|
+
subscription.unsubscribe();
|
|
111
|
+
respond({
|
|
112
|
+
id,
|
|
113
|
+
jsonrpc,
|
|
114
|
+
result: {
|
|
115
|
+
type: 'stopped'
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
106
120
|
const ctxPromise = createContext === null || createContext === void 0 ? void 0 : createContext({
|
|
107
121
|
req,
|
|
108
122
|
res: client
|
|
@@ -111,12 +125,13 @@ function applyWSSHandler(opts) {
|
|
|
111
125
|
|
|
112
126
|
async function handleRequest(msg) {
|
|
113
127
|
const {
|
|
114
|
-
id
|
|
128
|
+
id,
|
|
129
|
+
jsonrpc
|
|
115
130
|
} = msg;
|
|
116
131
|
/* istanbul ignore next */
|
|
117
132
|
|
|
118
133
|
if (id === null) {
|
|
119
|
-
throw new
|
|
134
|
+
throw new TRPCError.TRPCError({
|
|
120
135
|
code: 'BAD_REQUEST',
|
|
121
136
|
message: '`id` is required'
|
|
122
137
|
});
|
|
@@ -126,7 +141,10 @@ function applyWSSHandler(opts) {
|
|
|
126
141
|
const sub = clientSubscriptions.get(id);
|
|
127
142
|
|
|
128
143
|
if (sub) {
|
|
129
|
-
sub
|
|
144
|
+
stopSubscription(sub, {
|
|
145
|
+
id,
|
|
146
|
+
jsonrpc
|
|
147
|
+
});
|
|
130
148
|
}
|
|
131
149
|
|
|
132
150
|
clientSubscriptions.delete(id);
|
|
@@ -142,17 +160,21 @@ function applyWSSHandler(opts) {
|
|
|
142
160
|
try {
|
|
143
161
|
await ctxPromise; // asserts context has been set
|
|
144
162
|
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
input,
|
|
148
|
-
type,
|
|
149
|
-
router,
|
|
150
|
-
ctx
|
|
151
|
-
});
|
|
163
|
+
const caller = router.createCaller(ctx);
|
|
164
|
+
const result = await caller[type](path, input);
|
|
152
165
|
|
|
153
|
-
if (
|
|
166
|
+
if (type === 'subscription') {
|
|
167
|
+
if (!observable.isObservable(result)) {
|
|
168
|
+
throw new TRPCError.TRPCError({
|
|
169
|
+
message: `Subscription ${path} did not return an observable`,
|
|
170
|
+
code: 'INTERNAL_SERVER_ERROR'
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
} else {
|
|
174
|
+
// send the value as data if the method is not a subscription
|
|
154
175
|
respond({
|
|
155
176
|
id,
|
|
177
|
+
jsonrpc,
|
|
156
178
|
result: {
|
|
157
179
|
type: 'data',
|
|
158
180
|
data: result
|
|
@@ -161,12 +183,61 @@ function applyWSSHandler(opts) {
|
|
|
161
183
|
return;
|
|
162
184
|
}
|
|
163
185
|
|
|
164
|
-
const
|
|
186
|
+
const observable$1 = result;
|
|
187
|
+
const sub = observable$1.subscribe({
|
|
188
|
+
next(data) {
|
|
189
|
+
respond({
|
|
190
|
+
id,
|
|
191
|
+
jsonrpc,
|
|
192
|
+
result: {
|
|
193
|
+
type: 'data',
|
|
194
|
+
data
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
},
|
|
198
|
+
|
|
199
|
+
error(err) {
|
|
200
|
+
var _opts$onError;
|
|
201
|
+
|
|
202
|
+
const error = TRPCError.getErrorFromUnknown(err);
|
|
203
|
+
(_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, {
|
|
204
|
+
error,
|
|
205
|
+
path,
|
|
206
|
+
type,
|
|
207
|
+
ctx,
|
|
208
|
+
req,
|
|
209
|
+
input
|
|
210
|
+
});
|
|
211
|
+
respond({
|
|
212
|
+
id,
|
|
213
|
+
jsonrpc,
|
|
214
|
+
error: router.getErrorShape({
|
|
215
|
+
error,
|
|
216
|
+
type,
|
|
217
|
+
path,
|
|
218
|
+
input,
|
|
219
|
+
ctx
|
|
220
|
+
})
|
|
221
|
+
});
|
|
222
|
+
},
|
|
223
|
+
|
|
224
|
+
complete() {
|
|
225
|
+
respond({
|
|
226
|
+
id,
|
|
227
|
+
jsonrpc,
|
|
228
|
+
result: {
|
|
229
|
+
type: 'stopped'
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
});
|
|
165
235
|
/* istanbul ignore next */
|
|
166
236
|
|
|
167
237
|
if (client.readyState !== client.OPEN) {
|
|
168
238
|
// if the client got disconnected whilst initializing the subscription
|
|
169
|
-
|
|
239
|
+
// no need to send stopped message if the client is disconnected
|
|
240
|
+
sub.unsubscribe();
|
|
170
241
|
return;
|
|
171
242
|
}
|
|
172
243
|
/* istanbul ignore next */
|
|
@@ -174,76 +245,31 @@ function applyWSSHandler(opts) {
|
|
|
174
245
|
|
|
175
246
|
if (clientSubscriptions.has(id)) {
|
|
176
247
|
// duplicate request ids for client
|
|
177
|
-
sub
|
|
178
|
-
|
|
248
|
+
stopSubscription(sub, {
|
|
249
|
+
id,
|
|
250
|
+
jsonrpc
|
|
251
|
+
});
|
|
252
|
+
throw new TRPCError.TRPCError({
|
|
179
253
|
message: `Duplicate id ${id}`,
|
|
180
254
|
code: 'BAD_REQUEST'
|
|
181
255
|
});
|
|
182
256
|
}
|
|
183
257
|
|
|
184
258
|
clientSubscriptions.set(id, sub);
|
|
185
|
-
sub.on('data', data => {
|
|
186
|
-
respond({
|
|
187
|
-
id,
|
|
188
|
-
result: {
|
|
189
|
-
type: 'data',
|
|
190
|
-
data
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
});
|
|
194
|
-
sub.on('error', _error => {
|
|
195
|
-
var _opts$onError;
|
|
196
|
-
|
|
197
|
-
const error = transformTRPCResponse.getErrorFromUnknown(_error);
|
|
198
|
-
const json = {
|
|
199
|
-
id,
|
|
200
|
-
error: router.getErrorShape({
|
|
201
|
-
error,
|
|
202
|
-
type,
|
|
203
|
-
path,
|
|
204
|
-
input,
|
|
205
|
-
ctx
|
|
206
|
-
})
|
|
207
|
-
};
|
|
208
|
-
(_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, {
|
|
209
|
-
error,
|
|
210
|
-
path,
|
|
211
|
-
type,
|
|
212
|
-
ctx,
|
|
213
|
-
req,
|
|
214
|
-
input
|
|
215
|
-
});
|
|
216
|
-
respond(json);
|
|
217
|
-
});
|
|
218
|
-
sub.on('destroy', () => {
|
|
219
|
-
respond({
|
|
220
|
-
id,
|
|
221
|
-
result: {
|
|
222
|
-
type: 'stopped'
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
});
|
|
226
259
|
respond({
|
|
227
260
|
id,
|
|
261
|
+
jsonrpc,
|
|
228
262
|
result: {
|
|
229
263
|
type: 'started'
|
|
230
264
|
}
|
|
231
265
|
});
|
|
232
|
-
await sub.start();
|
|
233
266
|
} catch (cause)
|
|
234
267
|
/* istanbul ignore next */
|
|
235
268
|
{
|
|
236
269
|
var _opts$onError2;
|
|
237
270
|
|
|
238
271
|
// procedure threw an error
|
|
239
|
-
const error =
|
|
240
|
-
const json = router.getErrorShape({
|
|
241
|
-
error,
|
|
242
|
-
type,
|
|
243
|
-
path,
|
|
244
|
-
input,
|
|
245
|
-
ctx
|
|
246
|
-
});
|
|
272
|
+
const error = TRPCError.getErrorFromUnknown(cause);
|
|
247
273
|
(_opts$onError2 = opts.onError) === null || _opts$onError2 === void 0 ? void 0 : _opts$onError2.call(opts, {
|
|
248
274
|
error,
|
|
249
275
|
path,
|
|
@@ -254,7 +280,14 @@ function applyWSSHandler(opts) {
|
|
|
254
280
|
});
|
|
255
281
|
respond({
|
|
256
282
|
id,
|
|
257
|
-
|
|
283
|
+
jsonrpc,
|
|
284
|
+
error: router.getErrorShape({
|
|
285
|
+
error,
|
|
286
|
+
type,
|
|
287
|
+
path,
|
|
288
|
+
input,
|
|
289
|
+
ctx
|
|
290
|
+
})
|
|
258
291
|
});
|
|
259
292
|
}
|
|
260
293
|
}
|
|
@@ -263,11 +296,12 @@ function applyWSSHandler(opts) {
|
|
|
263
296
|
try {
|
|
264
297
|
const msgJSON = JSON.parse(message.toString());
|
|
265
298
|
const msgs = Array.isArray(msgJSON) ? msgJSON : [msgJSON];
|
|
266
|
-
msgs.map(raw => parseMessage(raw, transformer)).map(handleRequest);
|
|
299
|
+
const promises = msgs.map(raw => parseMessage(raw, transformer)).map(handleRequest);
|
|
300
|
+
await Promise.all(promises);
|
|
267
301
|
} catch (cause) {
|
|
268
|
-
const error = new
|
|
302
|
+
const error = new TRPCError.TRPCError({
|
|
269
303
|
code: 'PARSE_ERROR',
|
|
270
|
-
cause
|
|
304
|
+
cause: TRPCError.getCauseFromUnknown(cause)
|
|
271
305
|
});
|
|
272
306
|
respond({
|
|
273
307
|
id: null,
|
|
@@ -283,7 +317,7 @@ function applyWSSHandler(opts) {
|
|
|
283
317
|
});
|
|
284
318
|
client.once('close', () => {
|
|
285
319
|
for (const sub of clientSubscriptions.values()) {
|
|
286
|
-
sub.
|
|
320
|
+
sub.unsubscribe();
|
|
287
321
|
}
|
|
288
322
|
|
|
289
323
|
clientSubscriptions.clear();
|
|
@@ -295,17 +329,7 @@ function applyWSSHandler(opts) {
|
|
|
295
329
|
} catch (cause) {
|
|
296
330
|
var _opts$onError3, _global$setImmediate;
|
|
297
331
|
|
|
298
|
-
const error =
|
|
299
|
-
const json = {
|
|
300
|
-
id: null,
|
|
301
|
-
error: router.getErrorShape({
|
|
302
|
-
error,
|
|
303
|
-
type: 'unknown',
|
|
304
|
-
path: undefined,
|
|
305
|
-
input: undefined,
|
|
306
|
-
ctx
|
|
307
|
-
})
|
|
308
|
-
};
|
|
332
|
+
const error = TRPCError.getErrorFromUnknown(cause);
|
|
309
333
|
(_opts$onError3 = opts.onError) === null || _opts$onError3 === void 0 ? void 0 : _opts$onError3.call(opts, {
|
|
310
334
|
error,
|
|
311
335
|
path: undefined,
|
|
@@ -314,7 +338,16 @@ function applyWSSHandler(opts) {
|
|
|
314
338
|
req,
|
|
315
339
|
input: undefined
|
|
316
340
|
});
|
|
317
|
-
respond(
|
|
341
|
+
respond({
|
|
342
|
+
id: null,
|
|
343
|
+
error: router.getErrorShape({
|
|
344
|
+
error,
|
|
345
|
+
type: 'unknown',
|
|
346
|
+
path: undefined,
|
|
347
|
+
input: undefined,
|
|
348
|
+
ctx
|
|
349
|
+
})
|
|
350
|
+
}); // close in next tick
|
|
318
351
|
|
|
319
352
|
((_global$setImmediate = global.setImmediate) !== null && _global$setImmediate !== void 0 ? _global$setImmediate : global.setTimeout)(() => {
|
|
320
353
|
client.close();
|
|
@@ -322,7 +355,7 @@ function applyWSSHandler(opts) {
|
|
|
322
355
|
}
|
|
323
356
|
}
|
|
324
357
|
|
|
325
|
-
createContextAsync();
|
|
358
|
+
await createContextAsync();
|
|
326
359
|
});
|
|
327
360
|
return {
|
|
328
361
|
broadcastReconnectNotification: () => {
|