@trpc/server 11.0.0-rc.643 → 11.0.0-rc.648
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/aws-lambda/index.js +1 -1
- package/dist/adapters/aws-lambda/index.mjs +1 -1
- package/dist/adapters/express.js +1 -1
- package/dist/adapters/express.mjs +1 -1
- package/dist/adapters/fastify/fastifyRequestHandler.js +1 -1
- package/dist/adapters/fastify/fastifyRequestHandler.mjs +1 -1
- package/dist/adapters/fetch/fetchRequestHandler.js +1 -1
- package/dist/adapters/fetch/fetchRequestHandler.mjs +1 -1
- package/dist/adapters/next-app-dir/nextAppDirCaller.js +1 -1
- package/dist/adapters/next-app-dir/nextAppDirCaller.mjs +1 -1
- package/dist/adapters/next-app-dir/notFound.js +1 -1
- package/dist/adapters/next-app-dir/notFound.mjs +1 -1
- package/dist/adapters/next-app-dir/redirect.js +15 -3
- package/dist/adapters/next-app-dir/redirect.mjs +14 -2
- package/dist/adapters/next.js +1 -1
- package/dist/adapters/next.mjs +1 -1
- package/dist/adapters/node-http/incomingMessageToRequest.js +1 -1
- package/dist/adapters/node-http/incomingMessageToRequest.mjs +1 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.js +1 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +1 -1
- package/dist/adapters/node-http/writeResponse.d.ts.map +1 -1
- package/dist/adapters/node-http/writeResponse.js +3 -1
- package/dist/adapters/node-http/writeResponse.mjs +3 -1
- package/dist/adapters/standalone.js +1 -1
- package/dist/adapters/standalone.mjs +1 -1
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +145 -66
- package/dist/adapters/ws.mjs +145 -66
- package/dist/bundle-analysis.json +194 -201
- package/dist/http.js +1 -1
- package/dist/http.mjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.1_rollup@4.27.4_tslib@2.8.1_typescript@5.6.2/node_modules/tslib/tslib.es6.js +73 -0
- 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/rpc.js +1 -1
- package/dist/rpc.mjs +1 -1
- package/dist/shared.js +1 -1
- package/dist/shared.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 +14 -2
- package/dist/unstable-core-do-not-import/error/TRPCError.mjs +13 -1
- package/dist/unstable-core-do-not-import/http/resolveResponse.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/resolveResponse.js +7 -18
- package/dist/unstable-core-do-not-import/http/resolveResponse.mjs +8 -19
- package/dist/unstable-core-do-not-import/stream/jsonl.d.ts +15 -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 +430 -291
- package/dist/unstable-core-do-not-import/stream/jsonl.mjs +428 -289
- 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 +183 -122
- package/dist/unstable-core-do-not-import/stream/sse.mjs +183 -122
- package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts +1 -0
- package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.js +103 -10
- package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.mjs +104 -12
- 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 +1 -2
- package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/utils/timerResource.js +8 -10
- package/dist/unstable-core-do-not-import/stream/utils/timerResource.mjs +8 -10
- package/dist/unstable-core-do-not-import/stream/utils/withPing.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/utils/withPing.js +113 -24
- package/dist/unstable-core-do-not-import/stream/utils/withPing.mjs +114 -25
- package/dist/unstable-core-do-not-import/transformer.d.ts +1 -1
- package/dist/unstable-core-do-not-import.d.ts +1 -0
- package/dist/unstable-core-do-not-import.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import.js +3 -0
- package/dist/unstable-core-do-not-import.mjs +1 -0
- package/dist/vendor/unpromise/unpromise.js +17 -6
- package/dist/vendor/unpromise/unpromise.mjs +13 -2
- package/package.json +2 -3
- package/src/adapters/node-http/writeResponse.ts +3 -0
- package/src/adapters/ws.ts +8 -9
- package/src/observable/observable.ts +17 -2
- package/src/unstable-core-do-not-import/http/resolveResponse.ts +8 -21
- package/src/unstable-core-do-not-import/stream/jsonl.ts +236 -216
- package/src/unstable-core-do-not-import/stream/sse.ts +112 -132
- package/src/unstable-core-do-not-import/stream/utils/asyncIterable.ts +50 -48
- 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 +17 -15
- package/src/unstable-core-do-not-import/stream/utils/withPing.ts +18 -19
- package/src/unstable-core-do-not-import.ts +1 -0
- package/dist/node_modules/.pnpm/@swc_helpers@0.5.13/node_modules/@swc/helpers/esm/_define_property.js +0 -11
- package/dist/node_modules/.pnpm/@swc_helpers@0.5.13/node_modules/@swc/helpers/esm/_define_property.mjs +0 -9
- 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
package/dist/adapters/ws.mjs
CHANGED
|
@@ -5,13 +5,79 @@ import { parseConnectionParamsFromUnknown } from '../unstable-core-do-not-import
|
|
|
5
5
|
import { parseTRPCMessage } from '../unstable-core-do-not-import/rpc/parseTRPCMessage.mjs';
|
|
6
6
|
import { isObservable, observableToAsyncIterable } from '../observable/observable.mjs';
|
|
7
7
|
import { Unpromise } from '../vendor/unpromise/unpromise.mjs';
|
|
8
|
+
import { iteratorResource } from '../unstable-core-do-not-import/stream/utils/asyncIterable.mjs';
|
|
9
|
+
import '../unstable-core-do-not-import/stream/utils/disposable.mjs';
|
|
8
10
|
import { isTrackedEnvelope } from '../unstable-core-do-not-import/stream/tracked.mjs';
|
|
9
|
-
import '../unstable-core-do-not-import/stream/utils/timerResource.mjs';
|
|
10
11
|
import { transformTRPCResponse } from '../unstable-core-do-not-import/transformer.mjs';
|
|
11
12
|
import '../unstable-core-do-not-import/rootConfig.mjs';
|
|
12
13
|
import { callProcedure } from '../unstable-core-do-not-import/router.mjs';
|
|
13
14
|
import { createURL } from './node-http/incomingMessageToRequest.mjs';
|
|
14
15
|
|
|
16
|
+
function _ts_add_disposable_resource(env, value, async) {
|
|
17
|
+
if (value !== null && value !== void 0) {
|
|
18
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
19
|
+
var dispose, inner;
|
|
20
|
+
{
|
|
21
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
22
|
+
dispose = value[Symbol.asyncDispose];
|
|
23
|
+
}
|
|
24
|
+
if (dispose === void 0) {
|
|
25
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
26
|
+
dispose = value[Symbol.dispose];
|
|
27
|
+
inner = dispose;
|
|
28
|
+
}
|
|
29
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
30
|
+
if (inner) dispose = function() {
|
|
31
|
+
try {
|
|
32
|
+
inner.call(this);
|
|
33
|
+
} catch (e) {
|
|
34
|
+
return Promise.reject(e);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
env.stack.push({
|
|
38
|
+
value: value,
|
|
39
|
+
dispose: dispose,
|
|
40
|
+
async: async
|
|
41
|
+
});
|
|
42
|
+
} else {
|
|
43
|
+
env.stack.push({
|
|
44
|
+
async: true
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
function _ts_dispose_resources(env) {
|
|
50
|
+
var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
|
|
51
|
+
var e = new Error(message);
|
|
52
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
53
|
+
};
|
|
54
|
+
return (_ts_dispose_resources = function _ts_dispose_resources(env) {
|
|
55
|
+
function fail(e) {
|
|
56
|
+
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
57
|
+
env.hasError = true;
|
|
58
|
+
}
|
|
59
|
+
var r, s = 0;
|
|
60
|
+
function next() {
|
|
61
|
+
while(r = env.stack.pop()){
|
|
62
|
+
try {
|
|
63
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
64
|
+
if (r.dispose) {
|
|
65
|
+
var result = r.dispose.call(r.value);
|
|
66
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
67
|
+
fail(e);
|
|
68
|
+
return next();
|
|
69
|
+
});
|
|
70
|
+
} else s |= 1;
|
|
71
|
+
} catch (e) {
|
|
72
|
+
fail(e);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
76
|
+
if (env.hasError) throw env.error;
|
|
77
|
+
}
|
|
78
|
+
return next();
|
|
79
|
+
})(env);
|
|
80
|
+
}
|
|
15
81
|
/**
|
|
16
82
|
* Importing ws causes a build error
|
|
17
83
|
* @see https://github.com/trpc/trpc/pull/5279
|
|
@@ -155,82 +221,95 @@ function getWSConnectionHandler(opts) {
|
|
|
155
221
|
code: 'BAD_REQUEST'
|
|
156
222
|
});
|
|
157
223
|
}
|
|
158
|
-
const iterable = isObservable(result) ? observableToAsyncIterable(result) : result;
|
|
159
|
-
const iterator = iterable[Symbol.asyncIterator]();
|
|
160
|
-
const abortPromise = new Promise((resolve)=>{
|
|
161
|
-
abortController.signal.onabort = ()=>resolve('abort');
|
|
162
|
-
});
|
|
224
|
+
const iterable = isObservable(result) ? observableToAsyncIterable(result, abortController.signal) : result;
|
|
163
225
|
run(async ()=>{
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
226
|
+
const env = {
|
|
227
|
+
stack: [],
|
|
228
|
+
error: void 0,
|
|
229
|
+
hasError: false
|
|
230
|
+
};
|
|
231
|
+
try {
|
|
232
|
+
const iterator = _ts_add_disposable_resource(env, iteratorResource(iterable), true);
|
|
233
|
+
;
|
|
234
|
+
const abortPromise = new Promise((resolve)=>{
|
|
235
|
+
abortController.signal.onabort = ()=>resolve('abort');
|
|
236
|
+
});
|
|
237
|
+
// We need those declarations outside the loop for garbage collection reasons. If they
|
|
238
|
+
// were declared inside, they would not be freed until the next value is present.
|
|
239
|
+
let next;
|
|
240
|
+
let result;
|
|
241
|
+
while(true){
|
|
242
|
+
next = await Unpromise.race([
|
|
243
|
+
iterator.next().catch(getTRPCErrorFromUnknown),
|
|
244
|
+
abortPromise
|
|
245
|
+
]);
|
|
246
|
+
if (next === 'abort') {
|
|
247
|
+
await iterator.return?.();
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
if (next instanceof Error) {
|
|
251
|
+
const error = getTRPCErrorFromUnknown(next);
|
|
252
|
+
opts.onError?.({
|
|
253
|
+
error,
|
|
254
|
+
path,
|
|
255
|
+
type,
|
|
256
|
+
ctx,
|
|
257
|
+
req,
|
|
258
|
+
input
|
|
259
|
+
});
|
|
260
|
+
respond({
|
|
261
|
+
id,
|
|
262
|
+
jsonrpc,
|
|
263
|
+
error: getErrorShape({
|
|
264
|
+
config: router._def._config,
|
|
265
|
+
error,
|
|
266
|
+
type,
|
|
267
|
+
path,
|
|
268
|
+
input,
|
|
269
|
+
ctx
|
|
270
|
+
})
|
|
271
|
+
});
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
274
|
+
if (next.done) {
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
result = {
|
|
278
|
+
type: 'data',
|
|
279
|
+
data: next.value
|
|
280
|
+
};
|
|
281
|
+
if (isTrackedEnvelope(next.value)) {
|
|
282
|
+
const [id, data] = next.value;
|
|
283
|
+
result.id = id;
|
|
284
|
+
result.data = {
|
|
285
|
+
id,
|
|
286
|
+
data
|
|
287
|
+
};
|
|
288
|
+
}
|
|
187
289
|
respond({
|
|
188
290
|
id,
|
|
189
291
|
jsonrpc,
|
|
190
|
-
|
|
191
|
-
config: router._def._config,
|
|
192
|
-
error,
|
|
193
|
-
type,
|
|
194
|
-
path,
|
|
195
|
-
input,
|
|
196
|
-
ctx
|
|
197
|
-
})
|
|
292
|
+
result
|
|
198
293
|
});
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
break;
|
|
203
|
-
}
|
|
204
|
-
result = {
|
|
205
|
-
type: 'data',
|
|
206
|
-
data: next.value
|
|
207
|
-
};
|
|
208
|
-
if (isTrackedEnvelope(next.value)) {
|
|
209
|
-
const [id, data] = next.value;
|
|
210
|
-
result.id = id;
|
|
211
|
-
result.data = {
|
|
212
|
-
id,
|
|
213
|
-
data
|
|
214
|
-
};
|
|
294
|
+
// free up references for garbage collection
|
|
295
|
+
next = null;
|
|
296
|
+
result = null;
|
|
215
297
|
}
|
|
216
298
|
respond({
|
|
217
299
|
id,
|
|
218
300
|
jsonrpc,
|
|
219
|
-
result
|
|
301
|
+
result: {
|
|
302
|
+
type: 'stopped'
|
|
303
|
+
}
|
|
220
304
|
});
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
305
|
+
clientSubscriptions.delete(id);
|
|
306
|
+
} catch (e) {
|
|
307
|
+
env.error = e;
|
|
308
|
+
env.hasError = true;
|
|
309
|
+
} finally{
|
|
310
|
+
const result = _ts_dispose_resources(env);
|
|
311
|
+
if (result) await result;
|
|
224
312
|
}
|
|
225
|
-
await iterator.return?.();
|
|
226
|
-
respond({
|
|
227
|
-
id,
|
|
228
|
-
jsonrpc,
|
|
229
|
-
result: {
|
|
230
|
-
type: 'stopped'
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
clientSubscriptions.delete(id);
|
|
234
313
|
}).catch((cause)=>{
|
|
235
314
|
const error = getTRPCErrorFromUnknown(cause);
|
|
236
315
|
opts.onError?.({
|