@trpc/server 11.0.0-alpha-tmp-subscription-connection-state.489 → 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 +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 +412 -310
- 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,88 +1,162 @@
|
|
|
1
|
+
import { Unpromise } from '../../vendor/unpromise/unpromise.mjs';
|
|
1
2
|
import { getTRPCErrorFromUnknown } from '../error/TRPCError.mjs';
|
|
2
|
-
import {
|
|
3
|
+
import { isAbortError } from '../http/isAbortError.mjs';
|
|
4
|
+
import { run, identity } from '../utils.mjs';
|
|
3
5
|
import { isTrackedEnvelope } from './tracked.mjs';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
+
import { takeWithGrace, withMaxDuration } from './utils/asyncIterable.mjs';
|
|
7
|
+
import { makeAsyncResource } from './utils/disposable.mjs';
|
|
8
|
+
import { readableStreamFrom } from './utils/readableStreamFrom.mjs';
|
|
9
|
+
import { timerResource, disposablePromiseTimerResult } from './utils/timerResource.mjs';
|
|
10
|
+
import { withPing, PING_SYM } from './utils/withPing.mjs';
|
|
6
11
|
|
|
12
|
+
function _ts_add_disposable_resource(env, value, async) {
|
|
13
|
+
if (value !== null && value !== void 0) {
|
|
14
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
15
|
+
var dispose, inner;
|
|
16
|
+
if (async) {
|
|
17
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
18
|
+
dispose = value[Symbol.asyncDispose];
|
|
19
|
+
}
|
|
20
|
+
if (dispose === void 0) {
|
|
21
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
22
|
+
dispose = value[Symbol.dispose];
|
|
23
|
+
if (async) inner = dispose;
|
|
24
|
+
}
|
|
25
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
26
|
+
if (inner) dispose = function() {
|
|
27
|
+
try {
|
|
28
|
+
inner.call(this);
|
|
29
|
+
} catch (e) {
|
|
30
|
+
return Promise.reject(e);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
env.stack.push({
|
|
34
|
+
value: value,
|
|
35
|
+
dispose: dispose,
|
|
36
|
+
async: async
|
|
37
|
+
});
|
|
38
|
+
} else if (async) {
|
|
39
|
+
env.stack.push({
|
|
40
|
+
async: true
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
function _ts_dispose_resources(env) {
|
|
46
|
+
var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
|
|
47
|
+
var e = new Error(message);
|
|
48
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
49
|
+
};
|
|
50
|
+
return (_ts_dispose_resources = function _ts_dispose_resources(env) {
|
|
51
|
+
function fail(e) {
|
|
52
|
+
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
53
|
+
env.hasError = true;
|
|
54
|
+
}
|
|
55
|
+
var r, s = 0;
|
|
56
|
+
function next() {
|
|
57
|
+
while(r = env.stack.pop()){
|
|
58
|
+
try {
|
|
59
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
60
|
+
if (r.dispose) {
|
|
61
|
+
var result = r.dispose.call(r.value);
|
|
62
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
63
|
+
fail(e);
|
|
64
|
+
return next();
|
|
65
|
+
});
|
|
66
|
+
} else s |= 1;
|
|
67
|
+
} catch (e) {
|
|
68
|
+
fail(e);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
72
|
+
if (env.hasError) throw env.error;
|
|
73
|
+
}
|
|
74
|
+
return next();
|
|
75
|
+
})(env);
|
|
76
|
+
}
|
|
77
|
+
const PING_EVENT = 'ping';
|
|
7
78
|
const SERIALIZED_ERROR_EVENT = 'serialized-error';
|
|
79
|
+
const CONNECTED_EVENT = 'connected';
|
|
8
80
|
/**
|
|
9
81
|
*
|
|
10
82
|
* @see https://html.spec.whatwg.org/multipage/server-sent-events.html
|
|
11
83
|
*/ function sseStreamProducer(opts) {
|
|
12
|
-
const
|
|
13
|
-
stream.controller.enqueue({
|
|
14
|
-
comment: 'connected'
|
|
15
|
-
});
|
|
16
|
-
const { serialize =(v)=>v } = opts;
|
|
84
|
+
const { serialize = identity } = opts;
|
|
17
85
|
const ping = {
|
|
18
86
|
enabled: opts.ping?.enabled ?? false,
|
|
19
87
|
intervalMs: opts.ping?.intervalMs ?? 1000
|
|
20
88
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
89
|
+
const client = opts.client ?? {};
|
|
90
|
+
if (ping.enabled && client.reconnectAfterInactivityMs && ping.intervalMs > client.reconnectAfterInactivityMs) {
|
|
91
|
+
throw new Error(`Ping interval must be less than client reconnect interval to prevent unnecessary reconnection - ping.intervalMs: ${ping.intervalMs} client.reconnectAfterInactivityMs: ${client.reconnectAfterInactivityMs}`);
|
|
92
|
+
}
|
|
93
|
+
async function* generator() {
|
|
94
|
+
yield {
|
|
95
|
+
event: CONNECTED_EVENT,
|
|
96
|
+
data: JSON.stringify(client)
|
|
97
|
+
};
|
|
98
|
+
let iterable = opts.data;
|
|
99
|
+
if (opts.emitAndEndImmediately) {
|
|
100
|
+
iterable = takeWithGrace(iterable, {
|
|
101
|
+
count: 1,
|
|
102
|
+
gracePeriodMs: 1
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
if (opts.maxDurationMs && opts.maxDurationMs > 0 && opts.maxDurationMs !== Infinity) {
|
|
106
|
+
iterable = withMaxDuration(iterable, {
|
|
107
|
+
maxDurationMs: opts.maxDurationMs
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
if (ping.enabled && ping.intervalMs !== Infinity && ping.intervalMs > 0) {
|
|
111
|
+
iterable = withPing(iterable, ping.intervalMs);
|
|
112
|
+
}
|
|
113
|
+
// We need those declarations outside the loop for garbage collection reasons. If they were
|
|
114
|
+
// declared inside, they would not be freed until the next value is present.
|
|
115
|
+
let value;
|
|
116
|
+
let chunk;
|
|
117
|
+
for await (value of iterable){
|
|
118
|
+
if (value === PING_SYM) {
|
|
119
|
+
yield {
|
|
120
|
+
event: PING_EVENT,
|
|
121
|
+
data: ''
|
|
122
|
+
};
|
|
45
123
|
continue;
|
|
46
124
|
}
|
|
47
|
-
|
|
48
|
-
const data = opts.formatError ? opts.formatError({
|
|
49
|
-
error: next
|
|
50
|
-
}) : null;
|
|
51
|
-
stream.controller.enqueue({
|
|
52
|
-
event: SERIALIZED_ERROR_EVENT,
|
|
53
|
-
data: JSON.stringify(serialize(data))
|
|
54
|
-
});
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
if (next.done) {
|
|
58
|
-
break;
|
|
59
|
-
}
|
|
60
|
-
const value = next.value;
|
|
61
|
-
const chunk = isTrackedEnvelope(value) ? {
|
|
125
|
+
chunk = isTrackedEnvelope(value) ? {
|
|
62
126
|
id: value[0],
|
|
63
127
|
data: value[1]
|
|
64
128
|
} : {
|
|
65
129
|
data: value
|
|
66
130
|
};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
// end the stream in the next tick so that we can send a few more events from the queue
|
|
73
|
-
setTimeout(maxDurationPromise.resolve, 1);
|
|
74
|
-
}
|
|
75
|
-
nextPromise = iterator.next();
|
|
131
|
+
chunk.data = JSON.stringify(serialize(chunk.data));
|
|
132
|
+
yield chunk;
|
|
133
|
+
// free up references for garbage collection
|
|
134
|
+
value = null;
|
|
135
|
+
chunk = null;
|
|
76
136
|
}
|
|
77
|
-
|
|
78
|
-
|
|
137
|
+
}
|
|
138
|
+
async function* generatorWithErrorHandling() {
|
|
79
139
|
try {
|
|
80
|
-
|
|
81
|
-
} catch
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
140
|
+
yield* generator();
|
|
141
|
+
} catch (cause) {
|
|
142
|
+
if (isAbortError(cause)) {
|
|
143
|
+
// ignore abort errors, send any other errors
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
// `err` must be caused by `opts.data`, `JSON.stringify` or `serialize`.
|
|
147
|
+
// So, a user error in any case.
|
|
148
|
+
const error = getTRPCErrorFromUnknown(cause);
|
|
149
|
+
const data = opts.formatError?.({
|
|
150
|
+
error
|
|
151
|
+
}) ?? null;
|
|
152
|
+
yield {
|
|
153
|
+
event: SERIALIZED_ERROR_EVENT,
|
|
154
|
+
data: JSON.stringify(serialize(data))
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
const stream = readableStreamFrom(generatorWithErrorHandling());
|
|
159
|
+
return stream.pipeThrough(new TransformStream({
|
|
86
160
|
transform (chunk, controller) {
|
|
87
161
|
if ('event' in chunk) {
|
|
88
162
|
controller.enqueue(`event: ${chunk.event}\n`);
|
|
@@ -100,75 +174,176 @@ const SERIALIZED_ERROR_EVENT = 'serialized-error';
|
|
|
100
174
|
}
|
|
101
175
|
}));
|
|
102
176
|
}
|
|
177
|
+
async function withTimeout(opts) {
|
|
178
|
+
const env = {
|
|
179
|
+
stack: [],
|
|
180
|
+
error: void 0,
|
|
181
|
+
hasError: false
|
|
182
|
+
};
|
|
183
|
+
try {
|
|
184
|
+
const timeoutPromise = _ts_add_disposable_resource(env, timerResource(opts.timeoutMs), false);
|
|
185
|
+
;
|
|
186
|
+
const res = await Unpromise.race([
|
|
187
|
+
opts.promise,
|
|
188
|
+
timeoutPromise.start()
|
|
189
|
+
]);
|
|
190
|
+
if (res === disposablePromiseTimerResult) {
|
|
191
|
+
return await opts.onTimeout();
|
|
192
|
+
}
|
|
193
|
+
return res;
|
|
194
|
+
} catch (e) {
|
|
195
|
+
env.error = e;
|
|
196
|
+
env.hasError = true;
|
|
197
|
+
} finally{
|
|
198
|
+
_ts_dispose_resources(env);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
103
201
|
/**
|
|
104
202
|
* @see https://html.spec.whatwg.org/multipage/server-sent-events.html
|
|
105
203
|
*/ function sseStreamConsumer(opts) {
|
|
106
|
-
const { deserialize =(v)=>v
|
|
107
|
-
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
204
|
+
const { deserialize = (v)=>v } = opts;
|
|
205
|
+
let clientOptions = {};
|
|
206
|
+
const signal = opts.signal;
|
|
207
|
+
let _es = null;
|
|
208
|
+
const createStream = ()=>new ReadableStream({
|
|
209
|
+
async start (controller) {
|
|
210
|
+
const [url, init] = await Promise.all([
|
|
211
|
+
opts.url(),
|
|
212
|
+
opts.init()
|
|
213
|
+
]);
|
|
214
|
+
const eventSource = _es = new opts.EventSource(url, init);
|
|
113
215
|
controller.enqueue({
|
|
114
|
-
|
|
115
|
-
|
|
216
|
+
type: 'connecting',
|
|
217
|
+
eventSource: _es,
|
|
218
|
+
event: null
|
|
116
219
|
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
if (value.done) {
|
|
151
|
-
return {
|
|
152
|
-
value: undefined,
|
|
153
|
-
done: true
|
|
154
|
-
};
|
|
220
|
+
eventSource.addEventListener(CONNECTED_EVENT, (_msg)=>{
|
|
221
|
+
const msg = _msg;
|
|
222
|
+
const options = JSON.parse(msg.data);
|
|
223
|
+
clientOptions = options;
|
|
224
|
+
controller.enqueue({
|
|
225
|
+
type: 'connected',
|
|
226
|
+
options,
|
|
227
|
+
eventSource
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
eventSource.addEventListener(SERIALIZED_ERROR_EVENT, (_msg)=>{
|
|
231
|
+
const msg = _msg;
|
|
232
|
+
controller.enqueue({
|
|
233
|
+
type: 'serialized-error',
|
|
234
|
+
error: deserialize(JSON.parse(msg.data)),
|
|
235
|
+
eventSource
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
eventSource.addEventListener(PING_EVENT, ()=>{
|
|
239
|
+
controller.enqueue({
|
|
240
|
+
type: 'ping',
|
|
241
|
+
eventSource
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
eventSource.addEventListener('error', (event)=>{
|
|
245
|
+
if (eventSource.readyState === EventSource.CLOSED) {
|
|
246
|
+
controller.error(event);
|
|
247
|
+
} else {
|
|
248
|
+
controller.enqueue({
|
|
249
|
+
type: 'connecting',
|
|
250
|
+
eventSource,
|
|
251
|
+
event
|
|
252
|
+
});
|
|
155
253
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
reader.releaseLock();
|
|
163
|
-
return {
|
|
164
|
-
value: undefined,
|
|
165
|
-
done: true
|
|
254
|
+
});
|
|
255
|
+
eventSource.addEventListener('message', (_msg)=>{
|
|
256
|
+
const msg = _msg;
|
|
257
|
+
const chunk = deserialize(JSON.parse(msg.data));
|
|
258
|
+
const def = {
|
|
259
|
+
data: chunk
|
|
166
260
|
};
|
|
261
|
+
if (msg.lastEventId) {
|
|
262
|
+
def.id = msg.lastEventId;
|
|
263
|
+
}
|
|
264
|
+
controller.enqueue({
|
|
265
|
+
type: 'data',
|
|
266
|
+
data: def,
|
|
267
|
+
eventSource
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
const onAbort = ()=>{
|
|
271
|
+
controller.close();
|
|
272
|
+
eventSource.close();
|
|
273
|
+
};
|
|
274
|
+
if (signal.aborted) {
|
|
275
|
+
onAbort();
|
|
276
|
+
} else {
|
|
277
|
+
signal.addEventListener('abort', onAbort);
|
|
167
278
|
}
|
|
168
|
-
}
|
|
169
|
-
|
|
279
|
+
},
|
|
280
|
+
cancel () {
|
|
281
|
+
_es?.close();
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
const getStreamResource = ()=>{
|
|
285
|
+
let stream = createStream();
|
|
286
|
+
let reader = stream.getReader();
|
|
287
|
+
async function dispose() {
|
|
288
|
+
await reader.cancel();
|
|
289
|
+
_es = null;
|
|
170
290
|
}
|
|
291
|
+
return makeAsyncResource({
|
|
292
|
+
read () {
|
|
293
|
+
return reader.read();
|
|
294
|
+
},
|
|
295
|
+
async recreate () {
|
|
296
|
+
await dispose();
|
|
297
|
+
stream = createStream();
|
|
298
|
+
reader = stream.getReader();
|
|
299
|
+
}
|
|
300
|
+
}, dispose);
|
|
171
301
|
};
|
|
302
|
+
return run(async function*() {
|
|
303
|
+
const env = {
|
|
304
|
+
stack: [],
|
|
305
|
+
error: void 0,
|
|
306
|
+
hasError: false
|
|
307
|
+
};
|
|
308
|
+
try {
|
|
309
|
+
const stream = _ts_add_disposable_resource(env, getStreamResource(), true);
|
|
310
|
+
;
|
|
311
|
+
while(true){
|
|
312
|
+
let promise = stream.read();
|
|
313
|
+
const timeoutMs = clientOptions.reconnectAfterInactivityMs;
|
|
314
|
+
if (timeoutMs) {
|
|
315
|
+
promise = withTimeout({
|
|
316
|
+
promise,
|
|
317
|
+
timeoutMs,
|
|
318
|
+
onTimeout: async ()=>{
|
|
319
|
+
const res = {
|
|
320
|
+
value: {
|
|
321
|
+
type: 'timeout',
|
|
322
|
+
ms: timeoutMs,
|
|
323
|
+
eventSource: _es
|
|
324
|
+
},
|
|
325
|
+
done: false
|
|
326
|
+
};
|
|
327
|
+
// Close and release old reader
|
|
328
|
+
await stream.recreate();
|
|
329
|
+
return res;
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
const result = await promise;
|
|
334
|
+
if (result.done) {
|
|
335
|
+
return result.value;
|
|
336
|
+
}
|
|
337
|
+
yield result.value;
|
|
338
|
+
}
|
|
339
|
+
} catch (e) {
|
|
340
|
+
env.error = e;
|
|
341
|
+
env.hasError = true;
|
|
342
|
+
} finally{
|
|
343
|
+
const result = _ts_dispose_resources(env);
|
|
344
|
+
if (result) await result;
|
|
345
|
+
}
|
|
346
|
+
});
|
|
172
347
|
}
|
|
173
348
|
const sseHeaders = {
|
|
174
349
|
'Content-Type': 'text/event-stream',
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
export declare namespace EventSourceLike {
|
|
5
|
+
export interface InitDict {
|
|
6
|
+
withCredentials?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface MessageEvent extends Event {
|
|
9
|
+
data: any;
|
|
10
|
+
lastEventId?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface Event {
|
|
13
|
+
}
|
|
14
|
+
type EventSourceListenerLike = (event: Event) => void;
|
|
15
|
+
export type AnyConstructorLike<TInit extends InitDict> = new (url: string, eventSourceInitDict?: TInit) => Instance;
|
|
16
|
+
export interface Instance {
|
|
17
|
+
readonly CLOSED: number;
|
|
18
|
+
readonly CONNECTING: number;
|
|
19
|
+
readonly OPEN: number;
|
|
20
|
+
addEventListener(type: string, listener: EventSourceListenerLike): void;
|
|
21
|
+
removeEventListener(type: string, listener: EventSourceListenerLike): void;
|
|
22
|
+
close: () => void;
|
|
23
|
+
readyState: number;
|
|
24
|
+
}
|
|
25
|
+
export type AnyConstructor = AnyConstructorLike<any>;
|
|
26
|
+
export type ListenerOf<T extends AnyConstructor> = Parameters<InstanceType<T>['addEventListener']>[1];
|
|
27
|
+
export type EventOf<T extends AnyConstructor> = Parameters<ListenerOf<T>>[0];
|
|
28
|
+
export type InitDictOf<T extends AnyConstructor> = ConstructorParameters<T>[1];
|
|
29
|
+
export {};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=sse.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse.types.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/stream/sse.types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,yBAAiB,eAAe,CAAC;IAC/B,MAAM,WAAW,QAAQ;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;IAED,MAAM,WAAW,YAAa,SAAQ,KAAK;QACzC,IAAI,EAAE,GAAG,CAAC;QACV,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IACD,MAAM,WAAW,KAAK;KAAG;IAEzB,KAAK,uBAAuB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEtD,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,QAAQ,IAAI,KACvD,GAAG,EAAE,MAAM,EACX,mBAAmB,CAAC,EAAE,KAAK,KACxB,QAAQ,CAAC;IAEd,MAAM,WAAW,QAAQ;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAEtB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAC;QACxE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAC;QAC3E,KAAK,EAAE,MAAM,IAAI,CAAC;QAElB,UAAU,EAAE,MAAM,CAAC;KACpB;IAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAErD,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,cAAc,IAAI,UAAU,CAC3D,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CACpC,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,cAAc,IAC7C,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;CAC/B"}
|
|
@@ -3,7 +3,7 @@ type TrackedId = string & {
|
|
|
3
3
|
__brand: 'TrackedId';
|
|
4
4
|
};
|
|
5
5
|
export type TrackedEnvelope<TData> = [TrackedId, TData, typeof trackedSymbol];
|
|
6
|
-
type
|
|
6
|
+
type TrackedData<TData> = {
|
|
7
7
|
/**
|
|
8
8
|
* The id of the message to keep track of in case the connection gets lost
|
|
9
9
|
*/
|
|
@@ -26,6 +26,6 @@ export declare function isTrackedEnvelope<TData>(value: unknown): value is Track
|
|
|
26
26
|
* Automatically track an event so that it can be resumed from a given id if the connection is lost
|
|
27
27
|
*/
|
|
28
28
|
export declare function tracked<TData>(id: string, data: TData): TrackedEnvelope<TData>;
|
|
29
|
-
export type inferTrackedOutput<TData> = TData extends TrackedEnvelope<infer $Data> ?
|
|
29
|
+
export type inferTrackedOutput<TData> = TData extends TrackedEnvelope<infer $Data> ? TrackedData<$Data> : TData;
|
|
30
30
|
export {};
|
|
31
31
|
//# sourceMappingURL=tracked.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracked.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/stream/tracked.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"tracked.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/stream/tracked.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,eAAW,CAAC;AAE/B,KAAK,SAAS,GAAG,MAAM,GAAG;IACxB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,aAAa,CAAC,CAAC;AAE9E,KAAK,WAAW,CAAC,KAAK,IAAI;IACxB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;CACb,CAAC;AACF;;;GAGG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,CAAA;CAAE,0BAE5D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EACrC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,CAEjC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAC3B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,KAAK,GACV,eAAe,CAAC,KAAK,CAAC,CAQxB;AAED,MAAM,MAAM,kBAAkB,CAAC,KAAK,IAClC,KAAK,SAAS,eAAe,CAAC,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare function iteratorResource<TYield, TReturn, TNext>(iterable: AsyncIterable<TYield, TReturn, TNext>): AsyncIterator<TYield, TReturn, TNext> & AsyncDisposable;
|
|
2
|
+
/**
|
|
3
|
+
* Derives a new {@link AsyncGenerator} based on {@link iterable}, that automatically stops after the specified duration.
|
|
4
|
+
*/
|
|
5
|
+
export declare function withMaxDuration<T>(iterable: AsyncIterable<T>, opts: {
|
|
6
|
+
maxDurationMs: number;
|
|
7
|
+
}): AsyncGenerator<T>;
|
|
8
|
+
/**
|
|
9
|
+
* Derives a new {@link AsyncGenerator} based of {@link iterable}, that yields its first
|
|
10
|
+
* {@link count} values. Then, a grace period of {@link gracePeriodMs} is started in which further
|
|
11
|
+
* values may still come through. After this period, the generator stops.
|
|
12
|
+
*/
|
|
13
|
+
export declare function takeWithGrace<T>(iterable: AsyncIterable<T>, opts: {
|
|
14
|
+
count: number;
|
|
15
|
+
gracePeriodMs: number;
|
|
16
|
+
}): AsyncGenerator<T>;
|
|
17
|
+
//# sourceMappingURL=asyncIterable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncIterable.d.ts","sourceRoot":"","sources":["../../../../src/unstable-core-do-not-import/stream/utils/asyncIterable.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EACrD,QAAQ,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,GAC9C,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,eAAe,CAMzD;AACD;;GAEG;AACH,wBAAuB,eAAe,CAAC,CAAC,EACtC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,IAAI,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9B,cAAc,CAAC,CAAC,CAAC,CAyBnB;AAED;;;;GAIG;AACH,wBAAuB,aAAa,CAAC,CAAC,EACpC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB,GACA,cAAc,CAAC,CAAC,CAAC,CA+BnB"}
|