@trpc/server 11.0.0-alpha-tmp-subscription-connection-state.489 → 11.0.0-alpha-tmp-12-06-react.667
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@trpc/server/http.d.ts +1 -1
- package/dist/@trpc/server/http.d.ts.map +1 -1
- package/dist/@trpc/server/index.d.ts +1 -1
- package/dist/@trpc/server/index.d.ts.map +1 -1
- package/dist/adapters/aws-lambda/getPlanner.d.ts.map +1 -1
- package/dist/adapters/aws-lambda/getPlanner.js +2 -2
- package/dist/adapters/aws-lambda/getPlanner.mjs +2 -2
- package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
- package/dist/adapters/aws-lambda/index.js +2 -0
- package/dist/adapters/aws-lambda/index.mjs +2 -0
- package/dist/adapters/express.d.ts.map +1 -1
- package/dist/adapters/express.js +27 -7
- package/dist/adapters/express.mjs +27 -7
- package/dist/adapters/fastify/fastifyRequestHandler.js +3 -1
- package/dist/adapters/fastify/fastifyRequestHandler.mjs +3 -1
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
- package/dist/adapters/fastify/fastifyTRPCPlugin.js +9 -2
- package/dist/adapters/fastify/fastifyTRPCPlugin.mjs +10 -3
- package/dist/adapters/fetch/fetchRequestHandler.js +9 -8
- package/dist/adapters/fetch/fetchRequestHandler.mjs +9 -8
- package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts.map +1 -1
- package/dist/adapters/next-app-dir/nextAppDirCaller.js +10 -5
- package/dist/adapters/next-app-dir/nextAppDirCaller.mjs +10 -5
- package/dist/adapters/next-app-dir/notFound.js +2 -0
- package/dist/adapters/next-app-dir/notFound.mjs +2 -0
- package/dist/adapters/next-app-dir/redirect.js +16 -1
- package/dist/adapters/next-app-dir/redirect.mjs +16 -1
- package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts.map +1 -1
- package/dist/adapters/next-app-dir/rethrowNextErrors.js +4 -3
- package/dist/adapters/next-app-dir/rethrowNextErrors.mjs +4 -3
- package/dist/adapters/next.d.ts.map +1 -1
- package/dist/adapters/next.js +23 -30
- package/dist/adapters/next.mjs +24 -31
- package/dist/adapters/node-http/incomingMessageToRequest.d.ts +2 -1
- package/dist/adapters/node-http/incomingMessageToRequest.d.ts.map +1 -1
- package/dist/adapters/node-http/incomingMessageToRequest.js +83 -40
- package/dist/adapters/node-http/incomingMessageToRequest.mjs +83 -41
- package/dist/adapters/node-http/index.js +2 -0
- package/dist/adapters/node-http/index.mjs +2 -2
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +7 -0
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.js +70 -58
- package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +70 -59
- package/dist/adapters/node-http/writeResponse.d.ts +18 -0
- package/dist/adapters/node-http/writeResponse.d.ts.map +1 -0
- package/dist/adapters/node-http/writeResponse.js +82 -0
- package/dist/adapters/node-http/writeResponse.mjs +79 -0
- package/dist/adapters/standalone.d.ts +5 -2
- package/dist/adapters/standalone.d.ts.map +1 -1
- package/dist/adapters/standalone.js +25 -13
- package/dist/adapters/standalone.mjs +26 -14
- package/dist/adapters/ws.d.ts +14 -4
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +217 -101
- package/dist/adapters/ws.mjs +217 -102
- package/dist/bundle-analysis.json +415 -313
- package/dist/http.js +2 -4
- package/dist/http.mjs +2 -2
- package/dist/index.js +3 -0
- package/dist/index.mjs +3 -1
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.1_rollup@4.27.4_tslib@2.8.1_typescript@5.7.2/node_modules/tslib/tslib.es6.js +73 -0
- package/dist/observable/behaviorSubject.d.ts +15 -0
- package/dist/observable/behaviorSubject.d.ts.map +1 -0
- package/dist/observable/behaviorSubject.js +40 -0
- package/dist/observable/behaviorSubject.mjs +38 -0
- package/dist/observable/index.d.ts +3 -3
- package/dist/observable/index.d.ts.map +1 -1
- package/dist/observable/index.js +5 -0
- package/dist/observable/index.mjs +3 -2
- package/dist/observable/observable.d.ts +2 -1
- package/dist/observable/observable.d.ts.map +1 -1
- package/dist/observable/observable.js +31 -8
- package/dist/observable/observable.mjs +31 -8
- package/dist/observable/operators.d.ts +2 -0
- package/dist/observable/operators.d.ts.map +1 -1
- package/dist/observable/operators.js +35 -0
- package/dist/observable/operators.mjs +34 -1
- package/dist/rpc.js +2 -0
- package/dist/rpc.mjs +2 -0
- package/dist/shared.js +2 -0
- package/dist/shared.mjs +2 -0
- package/dist/unstable-core-do-not-import/clientish/inference.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/clientish/inferrable.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/clientish/serialize.d.ts +2 -2
- package/dist/unstable-core-do-not-import/clientish/serialize.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/createProxy.js +1 -1
- package/dist/unstable-core-do-not-import/createProxy.mjs +1 -1
- package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +1 -1
- package/dist/unstable-core-do-not-import/error/TRPCError.js +16 -1
- package/dist/unstable-core-do-not-import/error/TRPCError.mjs +16 -1
- package/dist/unstable-core-do-not-import/error/formatter.js +1 -1
- package/dist/unstable-core-do-not-import/error/formatter.mjs +1 -1
- package/dist/unstable-core-do-not-import/error/getErrorShape.js +2 -2
- package/dist/unstable-core-do-not-import/error/getErrorShape.mjs +2 -2
- package/dist/unstable-core-do-not-import/http/contentType.js +3 -3
- package/dist/unstable-core-do-not-import/http/contentType.mjs +3 -3
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +6 -1
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +28 -0
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +25 -1
- package/dist/unstable-core-do-not-import/http/isAbortError.d.ts +4 -0
- package/dist/unstable-core-do-not-import/http/isAbortError.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/http/isAbortError.js +9 -0
- package/dist/unstable-core-do-not-import/http/isAbortError.mjs +7 -0
- package/dist/unstable-core-do-not-import/http/resolveResponse.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/resolveResponse.js +180 -96
- package/dist/unstable-core-do-not-import/http/resolveResponse.mjs +182 -98
- package/dist/unstable-core-do-not-import/http/types.d.ts +1 -1
- package/dist/unstable-core-do-not-import/initTRPC.d.ts +11 -11
- package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/initTRPC.js +11 -11
- package/dist/unstable-core-do-not-import/initTRPC.mjs +11 -11
- package/dist/unstable-core-do-not-import/middleware.d.ts +2 -1
- package/dist/unstable-core-do-not-import/middleware.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/middleware.js +2 -2
- package/dist/unstable-core-do-not-import/middleware.mjs +2 -2
- package/dist/unstable-core-do-not-import/parser.d.ts +5 -1
- package/dist/unstable-core-do-not-import/parser.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/parser.js +4 -0
- package/dist/unstable-core-do-not-import/parser.mjs +4 -0
- package/dist/unstable-core-do-not-import/procedure.d.ts +8 -2
- package/dist/unstable-core-do-not-import/procedure.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +31 -12
- package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/procedureBuilder.js +33 -39
- package/dist/unstable-core-do-not-import/procedureBuilder.mjs +33 -39
- package/dist/unstable-core-do-not-import/rootConfig.d.ts +17 -17
- package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/router.d.ts +4 -3
- package/dist/unstable-core-do-not-import/router.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/router.js +6 -5
- package/dist/unstable-core-do-not-import/router.mjs +6 -5
- package/dist/unstable-core-do-not-import/rpc/codes.d.ts +2 -9
- package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts +7 -10
- package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.js +2 -2
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +2 -2
- package/dist/unstable-core-do-not-import/stream/jsonl.d.ts +25 -14
- package/dist/unstable-core-do-not-import/stream/jsonl.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/jsonl.js +439 -318
- package/dist/unstable-core-do-not-import/stream/jsonl.mjs +439 -318
- package/dist/unstable-core-do-not-import/stream/sse.d.ts +58 -18
- package/dist/unstable-core-do-not-import/stream/sse.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/sse.js +297 -122
- package/dist/unstable-core-do-not-import/stream/sse.mjs +298 -123
- package/dist/unstable-core-do-not-import/stream/sse.types.d.ts +31 -0
- package/dist/unstable-core-do-not-import/stream/sse.types.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/tracked.d.ts +2 -2
- package/dist/unstable-core-do-not-import/stream/tracked.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/tracked.js +1 -1
- package/dist/unstable-core-do-not-import/stream/tracked.mjs +1 -1
- package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts +17 -0
- package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.js +171 -0
- package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.mjs +167 -0
- package/dist/unstable-core-do-not-import/stream/utils/createDeferred.d.ts +0 -11
- package/dist/unstable-core-do-not-import/stream/utils/createDeferred.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/utils/createDeferred.js +0 -29
- package/dist/unstable-core-do-not-import/stream/utils/createDeferred.mjs +1 -29
- package/dist/unstable-core-do-not-import/stream/utils/disposable.d.ts +17 -0
- package/dist/unstable-core-do-not-import/stream/utils/disposable.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/utils/disposable.js +44 -0
- package/dist/unstable-core-do-not-import/stream/utils/disposable.mjs +41 -0
- package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.d.ts +8 -0
- package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.js +25 -0
- package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.mjs +23 -0
- package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts +5 -0
- package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/utils/timerResource.js +26 -0
- package/dist/unstable-core-do-not-import/stream/utils/timerResource.mjs +23 -0
- package/dist/unstable-core-do-not-import/stream/utils/withPing.d.ts +7 -0
- package/dist/unstable-core-do-not-import/stream/utils/withPing.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/utils/withPing.js +130 -0
- package/dist/unstable-core-do-not-import/stream/utils/withPing.mjs +127 -0
- package/dist/unstable-core-do-not-import/transformer.d.ts +2 -5
- package/dist/unstable-core-do-not-import/transformer.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/transformer.js +1 -1
- package/dist/unstable-core-do-not-import/transformer.mjs +1 -1
- package/dist/unstable-core-do-not-import/types.d.ts +26 -3
- package/dist/unstable-core-do-not-import/types.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/utils.d.ts +15 -0
- package/dist/unstable-core-do-not-import/utils.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/utils.js +49 -1
- package/dist/unstable-core-do-not-import/utils.mjs +45 -2
- package/dist/unstable-core-do-not-import.d.ts +3 -2
- package/dist/unstable-core-do-not-import.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import.js +14 -7
- package/dist/unstable-core-do-not-import.mjs +5 -6
- package/dist/vendor/unpromise/index.d.ts +3 -0
- package/dist/vendor/unpromise/index.d.ts.map +1 -0
- package/dist/vendor/unpromise/types.d.ts +28 -0
- package/dist/vendor/unpromise/types.d.ts.map +1 -0
- package/dist/vendor/unpromise/unpromise.d.ts +121 -0
- package/dist/vendor/unpromise/unpromise.d.ts.map +1 -0
- package/dist/vendor/unpromise/unpromise.js +292 -0
- package/dist/vendor/unpromise/unpromise.mjs +289 -0
- package/package.json +20 -17
- package/src/@trpc/server/http.ts +0 -2
- package/src/@trpc/server/index.ts +2 -0
- package/src/adapters/aws-lambda/getPlanner.ts +2 -2
- package/src/adapters/aws-lambda/index.ts +5 -6
- package/src/adapters/express.ts +21 -9
- package/src/adapters/fastify/fastifyRequestHandler.ts +1 -1
- package/src/adapters/fastify/fastifyTRPCPlugin.ts +16 -5
- package/src/adapters/fetch/fetchRequestHandler.ts +2 -2
- package/src/adapters/next-app-dir/nextAppDirCaller.ts +3 -0
- package/src/adapters/next-app-dir/rethrowNextErrors.ts +3 -2
- package/src/adapters/next.ts +29 -34
- package/src/adapters/node-http/incomingMessageToRequest.ts +110 -40
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +85 -63
- package/src/adapters/node-http/writeResponse.ts +94 -0
- package/src/adapters/standalone.ts +35 -18
- package/src/adapters/ws.ts +111 -57
- package/src/observable/behaviorSubject.ts +55 -0
- package/src/observable/index.ts +22 -3
- package/src/observable/observable.ts +32 -14
- package/src/observable/operators.ts +47 -0
- package/src/unstable-core-do-not-import/clientish/inference.ts +4 -4
- package/src/unstable-core-do-not-import/clientish/inferrable.ts +6 -6
- package/src/unstable-core-do-not-import/clientish/serialize.ts +5 -5
- package/src/unstable-core-do-not-import/http/getHTTPStatusCode.ts +37 -4
- package/src/unstable-core-do-not-import/http/isAbortError.ts +7 -0
- package/src/unstable-core-do-not-import/http/resolveResponse.ts +185 -90
- package/src/unstable-core-do-not-import/http/types.ts +1 -1
- package/src/unstable-core-do-not-import/initTRPC.ts +14 -20
- package/src/unstable-core-do-not-import/middleware.ts +5 -4
- package/src/unstable-core-do-not-import/parser.ts +17 -6
- package/src/unstable-core-do-not-import/procedure.ts +17 -2
- package/src/unstable-core-do-not-import/procedureBuilder.ts +137 -122
- package/src/unstable-core-do-not-import/rootConfig.ts +20 -20
- package/src/unstable-core-do-not-import/router.ts +15 -16
- package/src/unstable-core-do-not-import/rpc/codes.ts +2 -10
- package/src/unstable-core-do-not-import/rpc/envelopes.ts +7 -12
- package/src/unstable-core-do-not-import/stream/jsonl.ts +287 -296
- package/src/unstable-core-do-not-import/stream/sse.ts +338 -171
- package/src/unstable-core-do-not-import/stream/sse.types.ts +44 -0
- package/src/unstable-core-do-not-import/stream/tracked.ts +5 -11
- package/src/unstable-core-do-not-import/stream/utils/asyncIterable.ts +89 -0
- package/src/unstable-core-do-not-import/stream/utils/createDeferred.ts +0 -36
- package/src/unstable-core-do-not-import/stream/utils/disposable.ts +52 -0
- package/src/unstable-core-do-not-import/stream/utils/readableStreamFrom.ts +28 -0
- package/src/unstable-core-do-not-import/stream/utils/timerResource.ts +29 -0
- package/src/unstable-core-do-not-import/stream/utils/withPing.ts +47 -0
- package/src/unstable-core-do-not-import/transformer.ts +1 -1
- package/src/unstable-core-do-not-import/types.ts +35 -10
- package/src/unstable-core-do-not-import/utils.ts +56 -1
- package/src/unstable-core-do-not-import.ts +3 -2
- package/src/vendor/unpromise/ATTRIBUTION.txt +1 -0
- package/src/vendor/unpromise/LICENSE +20 -0
- package/src/vendor/unpromise/index.ts +7 -0
- package/src/vendor/unpromise/types.ts +55 -0
- package/src/vendor/unpromise/unpromise.ts +380 -0
- package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts +0 -24
- package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/http/batchStreamFormatter.js +0 -32
- package/dist/unstable-core-do-not-import/http/batchStreamFormatter.mjs +0 -30
- package/dist/unstable-core-do-not-import/http/toURL.d.ts +0 -2
- package/dist/unstable-core-do-not-import/http/toURL.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/http/toURL.js +0 -8
- package/dist/unstable-core-do-not-import/http/toURL.mjs +0 -6
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.d.ts +0 -10
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.js +0 -31
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.mjs +0 -29
- package/dist/unstable-core-do-not-import/stream/utils/createServer.d.ts +0 -7
- package/dist/unstable-core-do-not-import/stream/utils/createServer.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/types.js +0 -11
- package/dist/unstable-core-do-not-import/types.mjs +0 -9
- package/src/unstable-core-do-not-import/http/batchStreamFormatter.ts +0 -29
- package/src/unstable-core-do-not-import/http/toURL.ts +0 -7
- package/src/unstable-core-do-not-import/stream/utils/createReadableStream.ts +0 -31
- package/src/unstable-core-do-not-import/stream/utils/createServer.ts +0 -44
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/adapters/ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AASzB,OAAO,
|
|
1
|
+
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/adapters/ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAa/D,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAa,KAAK,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAQ7E;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,8BAA8B,CACpE,eAAe,EACf,EAAE,CAAC,SAAS,CACb,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,SAAS,IAAI,CAC1D,IAAI,EAAE,yBAAyB,KAC5B,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,0BAA0B,CAAC,OAAO,SAAS,SAAS,IAC9D,kBAAkB,CAAC,OAAO,EAAE,eAAe,CAAC,GAC1C,qBAAqB,CACnB,kBAAkB,CAAC,OAAO,CAAC,EAC3B,kBAAkB,CAAC,OAAO,CAAC,CAC5B,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,SAAS,IACrD,0BAA0B,CAAC,OAAO,CAAC,GAAG;IACpC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE;QACV;;;WAGG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAGJ,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,SAAS,EAC9D,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAKV,EAAE,CAAC,SAAS,OAAO,eAAe,mBAkYzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,EAAE,CAAC,SAAS,EACpB,MAAM,SAAS,EACf,UAAU,SAAQ,QAiCnB;AAED,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EACvD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;;EAwCjC"}
|
package/dist/adapters/ws.js
CHANGED
|
@@ -6,23 +6,95 @@ var utils = require('../unstable-core-do-not-import/utils.js');
|
|
|
6
6
|
var parseConnectionParams = require('../unstable-core-do-not-import/http/parseConnectionParams.js');
|
|
7
7
|
var parseTRPCMessage = require('../unstable-core-do-not-import/rpc/parseTRPCMessage.js');
|
|
8
8
|
var observable = require('../observable/observable.js');
|
|
9
|
+
var unpromise = require('../vendor/unpromise/unpromise.js');
|
|
10
|
+
var asyncIterable = require('../unstable-core-do-not-import/stream/utils/asyncIterable.js');
|
|
11
|
+
require('../unstable-core-do-not-import/stream/utils/disposable.js');
|
|
9
12
|
var tracked = require('../unstable-core-do-not-import/stream/tracked.js');
|
|
10
13
|
var transformer = require('../unstable-core-do-not-import/transformer.js');
|
|
11
|
-
var toURL = require('../unstable-core-do-not-import/http/toURL.js');
|
|
12
14
|
require('../unstable-core-do-not-import/rootConfig.js');
|
|
13
15
|
var router = require('../unstable-core-do-not-import/router.js');
|
|
16
|
+
var incomingMessageToRequest = require('./node-http/incomingMessageToRequest.js');
|
|
14
17
|
|
|
18
|
+
function _ts_add_disposable_resource(env, value, async) {
|
|
19
|
+
if (value !== null && value !== void 0) {
|
|
20
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
21
|
+
var dispose, inner;
|
|
22
|
+
{
|
|
23
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
24
|
+
dispose = value[Symbol.asyncDispose];
|
|
25
|
+
}
|
|
26
|
+
if (dispose === void 0) {
|
|
27
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
28
|
+
dispose = value[Symbol.dispose];
|
|
29
|
+
inner = dispose;
|
|
30
|
+
}
|
|
31
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
32
|
+
if (inner) dispose = function() {
|
|
33
|
+
try {
|
|
34
|
+
inner.call(this);
|
|
35
|
+
} catch (e) {
|
|
36
|
+
return Promise.reject(e);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
env.stack.push({
|
|
40
|
+
value: value,
|
|
41
|
+
dispose: dispose,
|
|
42
|
+
async: async
|
|
43
|
+
});
|
|
44
|
+
} else {
|
|
45
|
+
env.stack.push({
|
|
46
|
+
async: true
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
function _ts_dispose_resources(env) {
|
|
52
|
+
var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
|
|
53
|
+
var e = new Error(message);
|
|
54
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
55
|
+
};
|
|
56
|
+
return (_ts_dispose_resources = function _ts_dispose_resources(env) {
|
|
57
|
+
function fail(e) {
|
|
58
|
+
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
59
|
+
env.hasError = true;
|
|
60
|
+
}
|
|
61
|
+
var r, s = 0;
|
|
62
|
+
function next() {
|
|
63
|
+
while(r = env.stack.pop()){
|
|
64
|
+
try {
|
|
65
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
66
|
+
if (r.dispose) {
|
|
67
|
+
var result = r.dispose.call(r.value);
|
|
68
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
69
|
+
fail(e);
|
|
70
|
+
return next();
|
|
71
|
+
});
|
|
72
|
+
} else s |= 1;
|
|
73
|
+
} catch (e) {
|
|
74
|
+
fail(e);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
78
|
+
if (env.hasError) throw env.error;
|
|
79
|
+
}
|
|
80
|
+
return next();
|
|
81
|
+
})(env);
|
|
82
|
+
}
|
|
15
83
|
/**
|
|
16
84
|
* Importing ws causes a build error
|
|
17
|
-
* @
|
|
85
|
+
* @see https://github.com/trpc/trpc/pull/5279
|
|
18
86
|
*/ const WEBSOCKET_OPEN = 1; /* ws.WebSocket.OPEN */
|
|
19
87
|
const unsetContextPromiseSymbol = Symbol('unsetContextPromise');
|
|
20
88
|
function getWSConnectionHandler(opts) {
|
|
21
|
-
const { createContext
|
|
22
|
-
const { transformer: transformer$1
|
|
89
|
+
const { createContext, router: router$1 } = opts;
|
|
90
|
+
const { transformer: transformer$1 } = router$1._def._config;
|
|
23
91
|
return async (client, req)=>{
|
|
24
92
|
const clientSubscriptions = new Map();
|
|
25
93
|
const abortController = new AbortController();
|
|
94
|
+
if (opts.keepAlive?.enabled) {
|
|
95
|
+
const { pingMs, pongWaitMs } = opts.keepAlive;
|
|
96
|
+
handleKeepAlive(client, pingMs, pongWaitMs);
|
|
97
|
+
}
|
|
26
98
|
function respond(untransformedJSON) {
|
|
27
99
|
client.send(JSON.stringify(transformer.transformTRPCResponse(router$1._def._config, untransformedJSON)));
|
|
28
100
|
}
|
|
@@ -75,9 +147,9 @@ function getWSConnectionHandler(opts) {
|
|
|
75
147
|
*
|
|
76
148
|
* - the context promise will be created immediately on connection if no connectionParams are expected
|
|
77
149
|
* - if connection params are expected, they will be created once received
|
|
78
|
-
*/ let ctxPromise =
|
|
150
|
+
*/ let ctxPromise = incomingMessageToRequest.createURL(req).searchParams.get('connectionParams') === '1' ? unsetContextPromiseSymbol : createCtxPromise(()=>null);
|
|
79
151
|
async function handleRequest(msg) {
|
|
80
|
-
const { id
|
|
152
|
+
const { id, jsonrpc } = msg;
|
|
81
153
|
/* istanbul ignore next -- @preserve */ if (id === null) {
|
|
82
154
|
throw new TRPCError.TRPCError({
|
|
83
155
|
code: 'BAD_REQUEST',
|
|
@@ -88,8 +160,8 @@ function getWSConnectionHandler(opts) {
|
|
|
88
160
|
clientSubscriptions.get(id)?.abort();
|
|
89
161
|
return;
|
|
90
162
|
}
|
|
91
|
-
const { path
|
|
92
|
-
let { input
|
|
163
|
+
const { path, lastEventId } = msg.params;
|
|
164
|
+
let { input } = msg.params;
|
|
93
165
|
const type = msg.method;
|
|
94
166
|
try {
|
|
95
167
|
if (lastEventId !== undefined) {
|
|
@@ -105,12 +177,14 @@ function getWSConnectionHandler(opts) {
|
|
|
105
177
|
}
|
|
106
178
|
}
|
|
107
179
|
await ctxPromise; // asserts context has been set
|
|
180
|
+
const abortController = new AbortController();
|
|
108
181
|
const result = await router.callProcedure({
|
|
109
182
|
procedures: router$1._def.procedures,
|
|
110
183
|
path,
|
|
111
184
|
getRawInput: async ()=>input,
|
|
112
185
|
ctx,
|
|
113
|
-
type
|
|
186
|
+
type,
|
|
187
|
+
signal: abortController.signal
|
|
114
188
|
});
|
|
115
189
|
const isIterableResult = utils.isAsyncIterable(result) || observable.isObservable(result);
|
|
116
190
|
if (type !== 'subscription') {
|
|
@@ -149,76 +223,95 @@ function getWSConnectionHandler(opts) {
|
|
|
149
223
|
code: 'BAD_REQUEST'
|
|
150
224
|
});
|
|
151
225
|
}
|
|
152
|
-
const iterable = observable.isObservable(result) ? observable.observableToAsyncIterable(result) : result;
|
|
153
|
-
const iterator = iterable[Symbol.asyncIterator]();
|
|
154
|
-
const abortController = new AbortController();
|
|
155
|
-
const abortPromise = new Promise((resolve)=>{
|
|
156
|
-
abortController.signal.onabort = ()=>resolve('abort');
|
|
157
|
-
});
|
|
226
|
+
const iterable = observable.isObservable(result) ? observable.observableToAsyncIterable(result, abortController.signal) : result;
|
|
158
227
|
utils.run(async ()=>{
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
228
|
+
const env = {
|
|
229
|
+
stack: [],
|
|
230
|
+
error: void 0,
|
|
231
|
+
hasError: false
|
|
232
|
+
};
|
|
233
|
+
try {
|
|
234
|
+
const iterator = _ts_add_disposable_resource(env, asyncIterable.iteratorResource(iterable), true);
|
|
235
|
+
;
|
|
236
|
+
const abortPromise = new Promise((resolve)=>{
|
|
237
|
+
abortController.signal.onabort = ()=>resolve('abort');
|
|
238
|
+
});
|
|
239
|
+
// We need those declarations outside the loop for garbage collection reasons. If they
|
|
240
|
+
// were declared inside, they would not be freed until the next value is present.
|
|
241
|
+
let next;
|
|
242
|
+
let result;
|
|
243
|
+
while(true){
|
|
244
|
+
next = await unpromise.Unpromise.race([
|
|
245
|
+
iterator.next().catch(TRPCError.getTRPCErrorFromUnknown),
|
|
246
|
+
abortPromise
|
|
247
|
+
]);
|
|
248
|
+
if (next === 'abort') {
|
|
249
|
+
await iterator.return?.();
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
if (next instanceof Error) {
|
|
253
|
+
const error = TRPCError.getTRPCErrorFromUnknown(next);
|
|
254
|
+
opts.onError?.({
|
|
255
|
+
error,
|
|
256
|
+
path,
|
|
257
|
+
type,
|
|
258
|
+
ctx,
|
|
259
|
+
req,
|
|
260
|
+
input
|
|
261
|
+
});
|
|
262
|
+
respond({
|
|
263
|
+
id,
|
|
264
|
+
jsonrpc,
|
|
265
|
+
error: getErrorShape.getErrorShape({
|
|
266
|
+
config: router$1._def._config,
|
|
267
|
+
error,
|
|
268
|
+
type,
|
|
269
|
+
path,
|
|
270
|
+
input,
|
|
271
|
+
ctx
|
|
272
|
+
})
|
|
273
|
+
});
|
|
274
|
+
break;
|
|
275
|
+
}
|
|
276
|
+
if (next.done) {
|
|
277
|
+
break;
|
|
278
|
+
}
|
|
279
|
+
result = {
|
|
280
|
+
type: 'data',
|
|
281
|
+
data: next.value
|
|
282
|
+
};
|
|
283
|
+
if (tracked.isTrackedEnvelope(next.value)) {
|
|
284
|
+
const [id, data] = next.value;
|
|
285
|
+
result.id = id;
|
|
286
|
+
result.data = {
|
|
287
|
+
id,
|
|
288
|
+
data
|
|
289
|
+
};
|
|
290
|
+
}
|
|
178
291
|
respond({
|
|
179
292
|
id,
|
|
180
293
|
jsonrpc,
|
|
181
|
-
|
|
182
|
-
config: router$1._def._config,
|
|
183
|
-
error,
|
|
184
|
-
type,
|
|
185
|
-
path,
|
|
186
|
-
input,
|
|
187
|
-
ctx
|
|
188
|
-
})
|
|
294
|
+
result
|
|
189
295
|
});
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
const result = {
|
|
196
|
-
type: 'data',
|
|
197
|
-
data: next.value
|
|
198
|
-
};
|
|
199
|
-
if (tracked.isTrackedEnvelope(next.value)) {
|
|
200
|
-
const [id1, data] = next.value;
|
|
201
|
-
result.id = id1;
|
|
202
|
-
result.data = {
|
|
203
|
-
id: id1,
|
|
204
|
-
data
|
|
205
|
-
};
|
|
296
|
+
// free up references for garbage collection
|
|
297
|
+
next = null;
|
|
298
|
+
result = null;
|
|
206
299
|
}
|
|
207
300
|
respond({
|
|
208
301
|
id,
|
|
209
302
|
jsonrpc,
|
|
210
|
-
result
|
|
303
|
+
result: {
|
|
304
|
+
type: 'stopped'
|
|
305
|
+
}
|
|
211
306
|
});
|
|
307
|
+
clientSubscriptions.delete(id);
|
|
308
|
+
} catch (e) {
|
|
309
|
+
env.error = e;
|
|
310
|
+
env.hasError = true;
|
|
311
|
+
} finally{
|
|
312
|
+
const result = _ts_dispose_resources(env);
|
|
313
|
+
if (result) await result;
|
|
212
314
|
}
|
|
213
|
-
await iterator.return?.();
|
|
214
|
-
respond({
|
|
215
|
-
id,
|
|
216
|
-
jsonrpc,
|
|
217
|
-
result: {
|
|
218
|
-
type: 'stopped'
|
|
219
|
-
}
|
|
220
|
-
});
|
|
221
|
-
clientSubscriptions.delete(id);
|
|
222
315
|
}).catch((cause)=>{
|
|
223
316
|
const error = TRPCError.getTRPCErrorFromUnknown(cause);
|
|
224
317
|
opts.onError?.({
|
|
@@ -276,13 +369,24 @@ function getWSConnectionHandler(opts) {
|
|
|
276
369
|
});
|
|
277
370
|
}
|
|
278
371
|
}
|
|
279
|
-
client.on('message', async (
|
|
372
|
+
client.on('message', async (rawData)=>{
|
|
373
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
374
|
+
const msgStr = rawData.toString();
|
|
375
|
+
if (msgStr === 'PONG') {
|
|
376
|
+
return;
|
|
377
|
+
}
|
|
378
|
+
if (msgStr === 'PING') {
|
|
379
|
+
if (!opts.dangerouslyDisablePong) {
|
|
380
|
+
client.send('PONG');
|
|
381
|
+
}
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
280
384
|
if (ctxPromise === unsetContextPromiseSymbol) {
|
|
281
385
|
// If the ctxPromise wasn't created immediately, we're expecting the first message to be a TRPCConnectionParamsMessage
|
|
282
386
|
ctxPromise = createCtxPromise(()=>{
|
|
283
387
|
let msg;
|
|
284
388
|
try {
|
|
285
|
-
msg = JSON.parse(
|
|
389
|
+
msg = JSON.parse(msgStr);
|
|
286
390
|
if (!utils.isObject(msg)) {
|
|
287
391
|
throw new Error('Message was not an object');
|
|
288
392
|
}
|
|
@@ -299,7 +403,7 @@ function getWSConnectionHandler(opts) {
|
|
|
299
403
|
return;
|
|
300
404
|
}
|
|
301
405
|
try {
|
|
302
|
-
const msgJSON = JSON.parse(
|
|
406
|
+
const msgJSON = JSON.parse(msgStr);
|
|
303
407
|
const msgs = Array.isArray(msgJSON) ? msgJSON : [
|
|
304
408
|
msgJSON
|
|
305
409
|
];
|
|
@@ -345,48 +449,59 @@ function getWSConnectionHandler(opts) {
|
|
|
345
449
|
abortController.abort();
|
|
346
450
|
});
|
|
347
451
|
if (ctxPromise !== unsetContextPromiseSymbol) {
|
|
348
|
-
|
|
349
|
-
await ctxPromise.catch(()=>null);
|
|
452
|
+
await ctxPromise;
|
|
350
453
|
}
|
|
351
454
|
};
|
|
352
455
|
}
|
|
353
456
|
/**
|
|
354
457
|
* Handle WebSocket keep-alive messages
|
|
355
458
|
*/ function handleKeepAlive(client, pingMs = 30000, pongWaitMs = 5000) {
|
|
356
|
-
let
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
client.
|
|
366
|
-
|
|
367
|
-
},
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
459
|
+
let timeout = undefined;
|
|
460
|
+
let ping = undefined;
|
|
461
|
+
const schedulePing = ()=>{
|
|
462
|
+
const scheduleTimeout = ()=>{
|
|
463
|
+
timeout = setTimeout(()=>{
|
|
464
|
+
client.terminate();
|
|
465
|
+
}, pongWaitMs);
|
|
466
|
+
};
|
|
467
|
+
ping = setTimeout(()=>{
|
|
468
|
+
client.send('PING');
|
|
469
|
+
scheduleTimeout();
|
|
470
|
+
}, pingMs);
|
|
471
|
+
};
|
|
472
|
+
const onMessage = ()=>{
|
|
473
|
+
clearTimeout(ping);
|
|
474
|
+
clearTimeout(timeout);
|
|
475
|
+
schedulePing();
|
|
476
|
+
};
|
|
477
|
+
client.on('message', onMessage);
|
|
374
478
|
client.on('close', ()=>{
|
|
375
|
-
|
|
479
|
+
clearTimeout(ping);
|
|
480
|
+
clearTimeout(timeout);
|
|
376
481
|
});
|
|
482
|
+
schedulePing();
|
|
377
483
|
}
|
|
378
484
|
function applyWSSHandler(opts) {
|
|
379
|
-
const { wss , prefix , keepAlive } = opts;
|
|
380
485
|
const onConnection = getWSConnectionHandler(opts);
|
|
381
|
-
wss.on('connection',
|
|
382
|
-
if (prefix && !req.url?.startsWith(prefix)) {
|
|
486
|
+
opts.wss.on('connection', (client, req)=>{
|
|
487
|
+
if (opts.prefix && !req.url?.startsWith(opts.prefix)) {
|
|
383
488
|
return;
|
|
384
489
|
}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
490
|
+
onConnection(client, req).catch((cause)=>{
|
|
491
|
+
opts.onError?.({
|
|
492
|
+
error: new TRPCError.TRPCError({
|
|
493
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
494
|
+
cause,
|
|
495
|
+
message: 'Failed to handle WebSocket connection'
|
|
496
|
+
}),
|
|
497
|
+
req: req,
|
|
498
|
+
path: undefined,
|
|
499
|
+
type: 'unknown',
|
|
500
|
+
ctx: undefined,
|
|
501
|
+
input: undefined
|
|
502
|
+
});
|
|
503
|
+
client.close();
|
|
504
|
+
});
|
|
390
505
|
});
|
|
391
506
|
return {
|
|
392
507
|
broadcastReconnectNotification: ()=>{
|
|
@@ -395,7 +510,7 @@ function applyWSSHandler(opts) {
|
|
|
395
510
|
method: 'reconnect'
|
|
396
511
|
};
|
|
397
512
|
const data = JSON.stringify(response);
|
|
398
|
-
for (const client of wss.clients){
|
|
513
|
+
for (const client of opts.wss.clients){
|
|
399
514
|
if (client.readyState === WEBSOCKET_OPEN) {
|
|
400
515
|
client.send(data);
|
|
401
516
|
}
|
|
@@ -406,3 +521,4 @@ function applyWSSHandler(opts) {
|
|
|
406
521
|
|
|
407
522
|
exports.applyWSSHandler = applyWSSHandler;
|
|
408
523
|
exports.getWSConnectionHandler = getWSConnectionHandler;
|
|
524
|
+
exports.handleKeepAlive = handleKeepAlive;
|