@trpc/server 11.0.0-rc.643 → 11.0.0-rc.645
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/adapters/node-http/writeResponse.d.ts.map +1 -1
- package/dist/adapters/node-http/writeResponse.js +2 -0
- package/dist/adapters/node-http/writeResponse.mjs +2 -0
- package/dist/adapters/ws.js +1 -1
- package/dist/adapters/ws.mjs +1 -1
- package/dist/bundle-analysis.json +73 -87
- package/dist/observable/observable.d.ts +1 -1
- package/dist/observable/observable.d.ts.map +1 -1
- package/dist/observable/observable.js +16 -4
- package/dist/observable/observable.mjs +16 -4
- package/dist/unstable-core-do-not-import/http/resolveResponse.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/resolveResponse.js +4 -9
- package/dist/unstable-core-do-not-import/http/resolveResponse.mjs +5 -10
- package/dist/unstable-core-do-not-import/stream/jsonl.d.ts +41 -4
- package/dist/unstable-core-do-not-import/stream/jsonl.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/jsonl.js +223 -213
- package/dist/unstable-core-do-not-import/stream/jsonl.mjs +224 -214
- package/dist/unstable-core-do-not-import/stream/sse.d.ts +1 -1
- package/dist/unstable-core-do-not-import/stream/sse.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/sse.js +46 -54
- package/dist/unstable-core-do-not-import/stream/sse.mjs +47 -55
- 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/package.json +2 -2
- package/src/adapters/node-http/writeResponse.ts +3 -0
- package/src/adapters/ws.ts +1 -1
- package/src/observable/observable.ts +17 -2
- package/src/unstable-core-do-not-import/http/resolveResponse.ts +5 -12
- package/src/unstable-core-do-not-import/stream/jsonl.ts +271 -226
- package/src/unstable-core-do-not-import/stream/sse.ts +59 -64
- package/src/unstable-core-do-not-import/stream/utils/readableStreamFrom.ts +28 -0
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.d.ts +0 -9
- 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 -25
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.mjs +0 -23
- package/dist/unstable-core-do-not-import/stream/utils/withRefCount.d.ts +0 -17
- package/dist/unstable-core-do-not-import/stream/utils/withRefCount.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/stream/utils/withRefCount.js +0 -59
- package/dist/unstable-core-do-not-import/stream/utils/withRefCount.mjs +0 -57
- package/src/unstable-core-do-not-import/stream/utils/createReadableStream.ts +0 -25
- package/src/unstable-core-do-not-import/stream/utils/withRefCount.ts +0 -93
|
@@ -4,7 +4,7 @@ import { getTRPCErrorFromUnknown, TRPCError } from '../error/TRPCError.mjs';
|
|
|
4
4
|
import { jsonlStreamProducer, isPromise } from '../stream/jsonl.mjs';
|
|
5
5
|
import { sseStreamProducer, sseHeaders } from '../stream/sse.mjs';
|
|
6
6
|
import { transformTRPCResponse } from '../transformer.mjs';
|
|
7
|
-
import { run,
|
|
7
|
+
import { run, isAsyncIterable, isObject } from '../utils.mjs';
|
|
8
8
|
import { getRequestInfo } from './contentType.mjs';
|
|
9
9
|
import { getHTTPStatusCode } from './getHTTPStatusCode.mjs';
|
|
10
10
|
|
|
@@ -252,22 +252,17 @@ async function resolveResponse(opts) {
|
|
|
252
252
|
});
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
|
-
const abortCtrl = new AbortController();
|
|
256
255
|
const data = await proc({
|
|
257
256
|
path: call.path,
|
|
258
257
|
getRawInput: call.getRawInput,
|
|
259
258
|
ctx: ctxManager.value(),
|
|
260
259
|
type: proc._def.type,
|
|
261
|
-
signal:
|
|
262
|
-
opts.req.signal,
|
|
263
|
-
abortCtrl.signal
|
|
264
|
-
])
|
|
260
|
+
signal: opts.req.signal
|
|
265
261
|
});
|
|
266
262
|
return [
|
|
267
263
|
undefined,
|
|
268
264
|
{
|
|
269
|
-
data
|
|
270
|
-
abortCtrl
|
|
265
|
+
data
|
|
271
266
|
}
|
|
272
267
|
];
|
|
273
268
|
} catch (cause) {
|
|
@@ -354,7 +349,7 @@ async function resolveResponse(opts) {
|
|
|
354
349
|
code: 'INTERNAL_SERVER_ERROR'
|
|
355
350
|
}));
|
|
356
351
|
}
|
|
357
|
-
const dataAsIterable = isObservable(result.data) ? observableToAsyncIterable(result.data) : result.data;
|
|
352
|
+
const dataAsIterable = isObservable(result.data) ? observableToAsyncIterable(result.data, opts.req.signal) : result.data;
|
|
358
353
|
return dataAsIterable;
|
|
359
354
|
});
|
|
360
355
|
const stream = sseStreamProducer({
|
|
@@ -448,7 +443,7 @@ async function resolveResponse(opts) {
|
|
|
448
443
|
/**
|
|
449
444
|
* Not very pretty, but we need to wrap nested data in promises
|
|
450
445
|
* Our stream producer will only resolve top-level async values or async values that are directly nested in another async value
|
|
451
|
-
*/ const iterable = isObservable(result.data) ? observableToAsyncIterable(result.data) : Promise.resolve(result.data);
|
|
446
|
+
*/ const iterable = isObservable(result.data) ? observableToAsyncIterable(result.data, opts.req.signal) : Promise.resolve(result.data);
|
|
452
447
|
return {
|
|
453
448
|
result: Promise.resolve({
|
|
454
449
|
data: iterable
|
|
@@ -18,8 +18,8 @@ declare const PROMISE_STATUS_REJECTED = 1;
|
|
|
18
18
|
type PROMISE_STATUS_REJECTED = typeof PROMISE_STATUS_REJECTED;
|
|
19
19
|
declare const ASYNC_ITERABLE_STATUS_RETURN = 0;
|
|
20
20
|
type ASYNC_ITERABLE_STATUS_RETURN = typeof ASYNC_ITERABLE_STATUS_RETURN;
|
|
21
|
-
declare const
|
|
22
|
-
type
|
|
21
|
+
declare const ASYNC_ITERABLE_STATUS_YIELD = 1;
|
|
22
|
+
type ASYNC_ITERABLE_STATUS_YIELD = typeof ASYNC_ITERABLE_STATUS_YIELD;
|
|
23
23
|
declare const ASYNC_ITERABLE_STATUS_ERROR = 2;
|
|
24
24
|
type ASYNC_ITERABLE_STATUS_ERROR = typeof ASYNC_ITERABLE_STATUS_ERROR;
|
|
25
25
|
type ChunkDefinitionKey = null | number | string;
|
|
@@ -49,7 +49,7 @@ type IterableChunk = [
|
|
|
49
49
|
value: EncodedValue
|
|
50
50
|
] | [
|
|
51
51
|
chunkIndex: ChunkIndex,
|
|
52
|
-
status:
|
|
52
|
+
status: ASYNC_ITERABLE_STATUS_YIELD,
|
|
53
53
|
value: EncodedValue
|
|
54
54
|
] | [
|
|
55
55
|
chunkIndex: ChunkIndex,
|
|
@@ -86,6 +86,35 @@ declare class StreamInterruptedError extends Error {
|
|
|
86
86
|
export type ConsumerOnError = (opts: {
|
|
87
87
|
error: unknown;
|
|
88
88
|
}) => void;
|
|
89
|
+
/**
|
|
90
|
+
* Represents a chunk of data or stream interruption error that can be enqueued to a controller
|
|
91
|
+
*/
|
|
92
|
+
type ControllerChunk = ChunkData | StreamInterruptedError;
|
|
93
|
+
/**
|
|
94
|
+
* Interface for a controller that can enqueue chunks and be closed
|
|
95
|
+
*/
|
|
96
|
+
/**
|
|
97
|
+
* Interface for controlling a stream's lifecycle and data flow
|
|
98
|
+
*/
|
|
99
|
+
interface StreamController {
|
|
100
|
+
/**
|
|
101
|
+
* Enqueues a chunk of data or error into the stream
|
|
102
|
+
* @param chunk The data chunk or error to enqueue
|
|
103
|
+
*/
|
|
104
|
+
enqueue: (chunk: ControllerChunk) => void;
|
|
105
|
+
/**
|
|
106
|
+
* Closes the stream and prevents further data from being enqueued
|
|
107
|
+
*/
|
|
108
|
+
close: () => void;
|
|
109
|
+
/**
|
|
110
|
+
* Whether the stream has been closed
|
|
111
|
+
*/
|
|
112
|
+
closed: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Gets a reader for consuming the stream's data
|
|
115
|
+
*/
|
|
116
|
+
getReader: () => ReadableStreamDefaultReader<ControllerChunk>;
|
|
117
|
+
}
|
|
89
118
|
/**
|
|
90
119
|
* JSON Lines stream consumer
|
|
91
120
|
* @see https://jsonlines.org/
|
|
@@ -102,7 +131,15 @@ export declare function jsonlStreamConsumer<THead>(opts: {
|
|
|
102
131
|
*/
|
|
103
132
|
abortController: AbortController;
|
|
104
133
|
}): Promise<readonly [Awaited<THead>, {
|
|
105
|
-
|
|
134
|
+
getOrCreate(chunkId: ChunkIndex): StreamController;
|
|
135
|
+
/**
|
|
136
|
+
* Check if there are no pending controllers
|
|
137
|
+
**/
|
|
138
|
+
isEmpty: () => boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Cancels all pending controllers and rejects deferred promises
|
|
141
|
+
*/
|
|
142
|
+
cancelAll(reason: unknown): void;
|
|
106
143
|
}]>;
|
|
107
144
|
export {};
|
|
108
145
|
//# sourceMappingURL=jsonl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/stream/jsonl.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,2BAA2B,CAAC,UAAU,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,CACA,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,yBAAyB,CAAC;CAC9B,CAAC;
|
|
1
|
+
{"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/stream/jsonl.ts"],"names":[],"mappings":"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"}
|