@trpc/server 11.0.0-alpha-tmp-subscription-connection-state.488 → 11.0.0-alpha-tmp-12-06-react.665
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 +5 -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 +236 -90
- package/dist/adapters/ws.mjs +237 -92
- package/dist/bundle-analysis.json +411 -294
- package/dist/http.js +2 -4
- package/dist/http.mjs +2 -2
- package/dist/index.js +6 -2
- 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 +187 -92
- package/dist/unstable-core-do-not-import/http/resolveResponse.mjs +189 -94
- 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 +32 -13
- 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 +11 -6
- package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.js +7 -3
- package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +7 -3
- package/dist/unstable-core-do-not-import/stream/jsonl.d.ts +31 -16
- package/dist/unstable-core-do-not-import/stream/jsonl.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/jsonl.js +440 -318
- package/dist/unstable-core-do-not-import/stream/jsonl.mjs +440 -318
- package/dist/unstable-core-do-not-import/stream/sse.d.ts +63 -41
- package/dist/unstable-core-do-not-import/stream/sse.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/sse.js +300 -119
- package/dist/unstable-core-do-not-import/stream/sse.mjs +302 -119
- 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 +31 -0
- package/dist/unstable-core-do-not-import/stream/tracked.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/tracked.js +29 -0
- package/dist/unstable-core-do-not-import/stream/tracked.mjs +25 -0
- 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 -4
- 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 +4 -2
- package/dist/unstable-core-do-not-import.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import.js +18 -9
- package/dist/unstable-core-do-not-import.mjs +7 -7
- 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 +6 -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 +152 -62
- 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 +192 -85
- 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 +138 -123
- package/src/unstable-core-do-not-import/rootConfig.ts +20 -17
- 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 +18 -7
- package/src/unstable-core-do-not-import/rpc/parseTRPCMessage.ts +5 -1
- package/src/unstable-core-do-not-import/stream/jsonl.ts +293 -294
- package/src/unstable-core-do-not-import/stream/sse.ts +349 -191
- package/src/unstable-core-do-not-import/stream/sse.types.ts +44 -0
- package/src/unstable-core-do-not-import/stream/tracked.ts +49 -0
- 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 +4 -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,22 +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');
|
|
12
|
+
var tracked = require('../unstable-core-do-not-import/stream/tracked.js');
|
|
9
13
|
var transformer = require('../unstable-core-do-not-import/transformer.js');
|
|
10
|
-
var toURL = require('../unstable-core-do-not-import/http/toURL.js');
|
|
11
14
|
require('../unstable-core-do-not-import/rootConfig.js');
|
|
12
15
|
var router = require('../unstable-core-do-not-import/router.js');
|
|
16
|
+
var incomingMessageToRequest = require('./node-http/incomingMessageToRequest.js');
|
|
13
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
|
+
}
|
|
14
83
|
/**
|
|
15
84
|
* Importing ws causes a build error
|
|
16
|
-
* @
|
|
85
|
+
* @see https://github.com/trpc/trpc/pull/5279
|
|
17
86
|
*/ const WEBSOCKET_OPEN = 1; /* ws.WebSocket.OPEN */
|
|
18
87
|
const unsetContextPromiseSymbol = Symbol('unsetContextPromise');
|
|
19
88
|
function getWSConnectionHandler(opts) {
|
|
20
|
-
const { createContext
|
|
21
|
-
const { transformer: transformer$1
|
|
89
|
+
const { createContext, router: router$1 } = opts;
|
|
90
|
+
const { transformer: transformer$1 } = router$1._def._config;
|
|
22
91
|
return async (client, req)=>{
|
|
23
92
|
const clientSubscriptions = new Map();
|
|
24
93
|
const abortController = new AbortController();
|
|
94
|
+
if (opts.keepAlive?.enabled) {
|
|
95
|
+
const { pingMs, pongWaitMs } = opts.keepAlive;
|
|
96
|
+
handleKeepAlive(client, pingMs, pongWaitMs);
|
|
97
|
+
}
|
|
25
98
|
function respond(untransformedJSON) {
|
|
26
99
|
client.send(JSON.stringify(transformer.transformTRPCResponse(router$1._def._config, untransformedJSON)));
|
|
27
100
|
}
|
|
@@ -74,9 +147,9 @@ function getWSConnectionHandler(opts) {
|
|
|
74
147
|
*
|
|
75
148
|
* - the context promise will be created immediately on connection if no connectionParams are expected
|
|
76
149
|
* - if connection params are expected, they will be created once received
|
|
77
|
-
*/ let ctxPromise =
|
|
150
|
+
*/ let ctxPromise = incomingMessageToRequest.createURL(req).searchParams.get('connectionParams') === '1' ? unsetContextPromiseSymbol : createCtxPromise(()=>null);
|
|
78
151
|
async function handleRequest(msg) {
|
|
79
|
-
const { id
|
|
152
|
+
const { id, jsonrpc } = msg;
|
|
80
153
|
/* istanbul ignore next -- @preserve */ if (id === null) {
|
|
81
154
|
throw new TRPCError.TRPCError({
|
|
82
155
|
code: 'BAD_REQUEST',
|
|
@@ -87,18 +160,40 @@ function getWSConnectionHandler(opts) {
|
|
|
87
160
|
clientSubscriptions.get(id)?.abort();
|
|
88
161
|
return;
|
|
89
162
|
}
|
|
90
|
-
const { path
|
|
163
|
+
const { path, lastEventId } = msg.params;
|
|
164
|
+
let { input } = msg.params;
|
|
91
165
|
const type = msg.method;
|
|
92
166
|
try {
|
|
167
|
+
if (lastEventId !== undefined) {
|
|
168
|
+
if (utils.isObject(input)) {
|
|
169
|
+
input = {
|
|
170
|
+
...input,
|
|
171
|
+
lastEventId: lastEventId
|
|
172
|
+
};
|
|
173
|
+
} else {
|
|
174
|
+
input ?? (input = {
|
|
175
|
+
lastEventId: lastEventId
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
93
179
|
await ctxPromise; // asserts context has been set
|
|
180
|
+
const abortController = new AbortController();
|
|
94
181
|
const result = await router.callProcedure({
|
|
95
182
|
procedures: router$1._def.procedures,
|
|
96
183
|
path,
|
|
97
184
|
getRawInput: async ()=>input,
|
|
98
185
|
ctx,
|
|
99
|
-
type
|
|
186
|
+
type,
|
|
187
|
+
signal: abortController.signal
|
|
100
188
|
});
|
|
189
|
+
const isIterableResult = utils.isAsyncIterable(result) || observable.isObservable(result);
|
|
101
190
|
if (type !== 'subscription') {
|
|
191
|
+
if (isIterableResult) {
|
|
192
|
+
throw new TRPCError.TRPCError({
|
|
193
|
+
code: 'UNSUPPORTED_MEDIA_TYPE',
|
|
194
|
+
message: `Cannot return an async iterable or observable from a ${type} procedure with WebSockets`
|
|
195
|
+
});
|
|
196
|
+
}
|
|
102
197
|
// send the value as data if the method is not a subscription
|
|
103
198
|
respond({
|
|
104
199
|
id,
|
|
@@ -110,7 +205,7 @@ function getWSConnectionHandler(opts) {
|
|
|
110
205
|
});
|
|
111
206
|
return;
|
|
112
207
|
}
|
|
113
|
-
if (!
|
|
208
|
+
if (!isIterableResult) {
|
|
114
209
|
throw new TRPCError.TRPCError({
|
|
115
210
|
message: `Subscription ${path} did not return an observable or a AsyncGenerator`,
|
|
116
211
|
code: 'INTERNAL_SERVER_ERROR'
|
|
@@ -128,67 +223,95 @@ function getWSConnectionHandler(opts) {
|
|
|
128
223
|
code: 'BAD_REQUEST'
|
|
129
224
|
});
|
|
130
225
|
}
|
|
131
|
-
const iterable = observable.isObservable(result) ? observable.observableToAsyncIterable(result) : result;
|
|
132
|
-
const iterator = iterable[Symbol.asyncIterator]();
|
|
133
|
-
const abortController = new AbortController();
|
|
134
|
-
const abortPromise = new Promise((resolve)=>{
|
|
135
|
-
abortController.signal.onabort = ()=>resolve('abort');
|
|
136
|
-
});
|
|
226
|
+
const iterable = observable.isObservable(result) ? observable.observableToAsyncIterable(result, abortController.signal) : result;
|
|
137
227
|
utils.run(async ()=>{
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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
|
+
}
|
|
157
291
|
respond({
|
|
158
292
|
id,
|
|
159
293
|
jsonrpc,
|
|
160
|
-
|
|
161
|
-
config: router$1._def._config,
|
|
162
|
-
error,
|
|
163
|
-
type,
|
|
164
|
-
path,
|
|
165
|
-
input,
|
|
166
|
-
ctx
|
|
167
|
-
})
|
|
294
|
+
result
|
|
168
295
|
});
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
break;
|
|
296
|
+
// free up references for garbage collection
|
|
297
|
+
next = null;
|
|
298
|
+
result = null;
|
|
173
299
|
}
|
|
174
300
|
respond({
|
|
175
301
|
id,
|
|
176
302
|
jsonrpc,
|
|
177
303
|
result: {
|
|
178
|
-
type: '
|
|
179
|
-
data: next.value
|
|
304
|
+
type: 'stopped'
|
|
180
305
|
}
|
|
181
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;
|
|
182
314
|
}
|
|
183
|
-
await iterator.return?.();
|
|
184
|
-
respond({
|
|
185
|
-
id,
|
|
186
|
-
jsonrpc,
|
|
187
|
-
result: {
|
|
188
|
-
type: 'stopped'
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
clientSubscriptions.delete(id);
|
|
192
315
|
}).catch((cause)=>{
|
|
193
316
|
const error = TRPCError.getTRPCErrorFromUnknown(cause);
|
|
194
317
|
opts.onError?.({
|
|
@@ -246,13 +369,24 @@ function getWSConnectionHandler(opts) {
|
|
|
246
369
|
});
|
|
247
370
|
}
|
|
248
371
|
}
|
|
249
|
-
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
|
+
}
|
|
250
384
|
if (ctxPromise === unsetContextPromiseSymbol) {
|
|
251
385
|
// If the ctxPromise wasn't created immediately, we're expecting the first message to be a TRPCConnectionParamsMessage
|
|
252
386
|
ctxPromise = createCtxPromise(()=>{
|
|
253
387
|
let msg;
|
|
254
388
|
try {
|
|
255
|
-
msg = JSON.parse(
|
|
389
|
+
msg = JSON.parse(msgStr);
|
|
256
390
|
if (!utils.isObject(msg)) {
|
|
257
391
|
throw new Error('Message was not an object');
|
|
258
392
|
}
|
|
@@ -269,7 +403,7 @@ function getWSConnectionHandler(opts) {
|
|
|
269
403
|
return;
|
|
270
404
|
}
|
|
271
405
|
try {
|
|
272
|
-
const msgJSON = JSON.parse(
|
|
406
|
+
const msgJSON = JSON.parse(msgStr);
|
|
273
407
|
const msgs = Array.isArray(msgJSON) ? msgJSON : [
|
|
274
408
|
msgJSON
|
|
275
409
|
];
|
|
@@ -315,48 +449,59 @@ function getWSConnectionHandler(opts) {
|
|
|
315
449
|
abortController.abort();
|
|
316
450
|
});
|
|
317
451
|
if (ctxPromise !== unsetContextPromiseSymbol) {
|
|
318
|
-
|
|
319
|
-
await ctxPromise.catch(()=>null);
|
|
452
|
+
await ctxPromise;
|
|
320
453
|
}
|
|
321
454
|
};
|
|
322
455
|
}
|
|
323
456
|
/**
|
|
324
457
|
* Handle WebSocket keep-alive messages
|
|
325
458
|
*/ function handleKeepAlive(client, pingMs = 30000, pongWaitMs = 5000) {
|
|
326
|
-
let
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
client.
|
|
336
|
-
|
|
337
|
-
},
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
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);
|
|
344
478
|
client.on('close', ()=>{
|
|
345
|
-
|
|
479
|
+
clearTimeout(ping);
|
|
480
|
+
clearTimeout(timeout);
|
|
346
481
|
});
|
|
482
|
+
schedulePing();
|
|
347
483
|
}
|
|
348
484
|
function applyWSSHandler(opts) {
|
|
349
|
-
const { wss , prefix , keepAlive } = opts;
|
|
350
485
|
const onConnection = getWSConnectionHandler(opts);
|
|
351
|
-
wss.on('connection',
|
|
352
|
-
if (prefix && !req.url?.startsWith(prefix)) {
|
|
486
|
+
opts.wss.on('connection', (client, req)=>{
|
|
487
|
+
if (opts.prefix && !req.url?.startsWith(opts.prefix)) {
|
|
353
488
|
return;
|
|
354
489
|
}
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
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
|
+
});
|
|
360
505
|
});
|
|
361
506
|
return {
|
|
362
507
|
broadcastReconnectNotification: ()=>{
|
|
@@ -365,7 +510,7 @@ function applyWSSHandler(opts) {
|
|
|
365
510
|
method: 'reconnect'
|
|
366
511
|
};
|
|
367
512
|
const data = JSON.stringify(response);
|
|
368
|
-
for (const client of wss.clients){
|
|
513
|
+
for (const client of opts.wss.clients){
|
|
369
514
|
if (client.readyState === WEBSOCKET_OPEN) {
|
|
370
515
|
client.send(data);
|
|
371
516
|
}
|
|
@@ -376,3 +521,4 @@ function applyWSSHandler(opts) {
|
|
|
376
521
|
|
|
377
522
|
exports.applyWSSHandler = applyWSSHandler;
|
|
378
523
|
exports.getWSConnectionHandler = getWSConnectionHandler;
|
|
524
|
+
exports.handleKeepAlive = handleKeepAlive;
|