@trpc/server 11.0.0-rc.359 → 11.0.0-rc.362
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 +7 -6
- 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 +13 -0
- package/dist/adapters/aws-lambda/getPlanner.d.ts.map +1 -0
- package/dist/adapters/aws-lambda/getPlanner.js +143 -0
- package/dist/adapters/aws-lambda/getPlanner.mjs +141 -0
- package/dist/adapters/aws-lambda/index.d.ts +12 -9
- package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
- package/dist/adapters/aws-lambda/index.js +6 -65
- package/dist/adapters/aws-lambda/index.mjs +8 -61
- package/dist/adapters/express.d.ts.map +1 -1
- package/dist/adapters/express.js +1 -1
- package/dist/adapters/express.mjs +1 -1
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts +10 -1
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
- package/dist/adapters/fastify/fastifyRequestHandler.js +12 -55
- package/dist/adapters/fastify/fastifyRequestHandler.mjs +13 -56
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +1 -1
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
- package/dist/adapters/fetch/fetchRequestHandler.d.ts +1 -5
- package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
- package/dist/adapters/fetch/fetchRequestHandler.js +28 -71
- package/dist/adapters/fetch/fetchRequestHandler.mjs +29 -72
- package/dist/adapters/fetch/types.d.ts +9 -12
- package/dist/adapters/fetch/types.d.ts.map +1 -1
- package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts +2 -7
- package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts.map +1 -1
- package/dist/adapters/next.d.ts.map +1 -1
- package/dist/adapters/next.js +1 -2
- package/dist/adapters/next.mjs +1 -2
- package/dist/adapters/node-http/incomingMessageToRequest.d.ts +18 -0
- package/dist/adapters/node-http/incomingMessageToRequest.d.ts.map +1 -0
- package/dist/adapters/node-http/incomingMessageToRequest.js +71 -0
- package/dist/adapters/node-http/incomingMessageToRequest.mjs +69 -0
- package/dist/adapters/node-http/index.d.ts +1 -0
- package/dist/adapters/node-http/index.d.ts.map +1 -1
- package/dist/adapters/node-http/index.js +2 -0
- package/dist/adapters/node-http/index.mjs +1 -0
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +1 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.js +27 -72
- package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +28 -73
- package/dist/adapters/node-http/types.d.ts +2 -14
- package/dist/adapters/node-http/types.d.ts.map +1 -1
- package/dist/adapters/standalone.d.ts.map +1 -1
- package/dist/adapters/standalone.js +0 -1
- package/dist/adapters/standalone.mjs +0 -1
- package/dist/adapters/ws.d.ts +2 -12
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +1 -1
- package/dist/adapters/ws.mjs +1 -1
- package/dist/bundle-analysis.json +173 -259
- package/dist/http.js +4 -4
- package/dist/http.mjs +2 -2
- package/dist/index.js +2 -2
- package/dist/index.mjs +1 -1
- package/dist/unstable-core-do-not-import/http/contentType.d.ts +8 -28
- package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/contentType.js +164 -38
- package/dist/unstable-core-do-not-import/http/contentType.mjs +164 -38
- package/dist/unstable-core-do-not-import/http/contentTypeParsers.d.ts +14 -0
- package/dist/unstable-core-do-not-import/http/contentTypeParsers.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/http/contentTypeParsers.js +14 -0
- package/dist/unstable-core-do-not-import/http/contentTypeParsers.mjs +12 -0
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +1 -1
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts +7 -43
- package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.js +115 -124
- package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.mjs +116 -125
- package/dist/unstable-core-do-not-import/http/types.d.ts +25 -29
- package/dist/unstable-core-do-not-import/http/types.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/initTRPC.d.ts +1 -1
- package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +1 -3
- package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/procedureBuilder.js +0 -2
- package/dist/unstable-core-do-not-import/procedureBuilder.mjs +1 -2
- package/dist/unstable-core-do-not-import/rootConfig.d.ts +12 -0
- package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/utils.d.ts +3 -0
- package/dist/unstable-core-do-not-import/utils.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/utils.js +2 -0
- package/dist/unstable-core-do-not-import/utils.mjs +2 -1
- package/dist/unstable-core-do-not-import.d.ts +9 -3
- package/dist/unstable-core-do-not-import.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import.js +11 -9
- package/dist/unstable-core-do-not-import.mjs +7 -6
- package/package.json +3 -14
- package/src/@trpc/server/http.ts +7 -13
- package/src/@trpc/server/index.ts +1 -0
- package/src/adapters/aws-lambda/getPlanner.ts +191 -0
- package/src/adapters/aws-lambda/index.ts +43 -92
- package/src/adapters/express.ts +1 -6
- package/src/adapters/fastify/fastifyRequestHandler.ts +22 -77
- package/src/adapters/fastify/fastifyTRPCPlugin.ts +1 -1
- package/src/adapters/fetch/fetchRequestHandler.ts +34 -98
- package/src/adapters/fetch/types.ts +24 -15
- package/src/adapters/next-app-dir/nextAppDirCaller.ts +2 -9
- package/src/adapters/next.ts +1 -6
- package/src/adapters/node-http/incomingMessageToRequest.ts +94 -0
- package/src/adapters/node-http/index.ts +1 -0
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +31 -110
- package/src/adapters/node-http/types.ts +9 -19
- package/src/adapters/standalone.ts +1 -2
- package/src/adapters/ws.ts +9 -14
- package/src/unstable-core-do-not-import/http/contentType.ts +199 -82
- package/src/unstable-core-do-not-import/http/contentTypeParsers.ts +29 -0
- package/src/unstable-core-do-not-import/http/getHTTPStatusCode.ts +2 -2
- package/src/unstable-core-do-not-import/http/resolveHTTPResponse.ts +133 -205
- package/src/unstable-core-do-not-import/http/types.ts +25 -32
- package/src/unstable-core-do-not-import/procedureBuilder.ts +2 -4
- package/src/unstable-core-do-not-import/rootConfig.ts +21 -0
- package/src/unstable-core-do-not-import/utils.ts +4 -0
- package/src/unstable-core-do-not-import.ts +9 -3
- package/adapters/node-http/content-type/form-data/index.d.ts +0 -1
- package/adapters/node-http/content-type/form-data/index.js +0 -1
- package/adapters/node-http/content-type/json/index.d.ts +0 -1
- package/adapters/node-http/content-type/json/index.js +0 -1
- package/dist/adapters/aws-lambda/utils.d.ts +0 -40
- package/dist/adapters/aws-lambda/utils.d.ts.map +0 -1
- package/dist/adapters/aws-lambda/utils.js +0 -100
- package/dist/adapters/aws-lambda/utils.mjs +0 -93
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts +0 -73
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.js +0 -161
- package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.mjs +0 -157
- package/dist/adapters/node-http/content-type/form-data/index.d.ts +0 -26
- package/dist/adapters/node-http/content-type/form-data/index.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/index.js +0 -135
- package/dist/adapters/node-http/content-type/form-data/index.mjs +0 -108
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts +0 -31
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.js +0 -29
- package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.mjs +0 -27
- package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts +0 -16
- package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/streamSlice.js +0 -46
- package/dist/adapters/node-http/content-type/form-data/streamSlice.mjs +0 -44
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts +0 -45
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.js +0 -30
- package/dist/adapters/node-http/content-type/form-data/uploadHandler.mjs +0 -26
- package/dist/adapters/node-http/content-type/json/getPostBody.d.ts +0 -7
- package/dist/adapters/node-http/content-type/json/getPostBody.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/json/getPostBody.js +0 -53
- package/dist/adapters/node-http/content-type/json/getPostBody.mjs +0 -51
- package/dist/adapters/node-http/content-type/json/index.d.ts +0 -2
- package/dist/adapters/node-http/content-type/json/index.d.ts.map +0 -1
- package/dist/adapters/node-http/content-type/json/index.js +0 -16
- package/dist/adapters/node-http/content-type/json/index.mjs +0 -14
- package/dist/adapters/node-http/internals/contentType.d.ts +0 -9
- package/dist/adapters/node-http/internals/contentType.d.ts.map +0 -1
- package/dist/adapters/node-http/internals/contentType.js +0 -8
- package/dist/adapters/node-http/internals/contentType.mjs +0 -6
- package/dist/unstable-core-do-not-import/http/index.d.ts +0 -12
- package/dist/unstable-core-do-not-import/http/index.d.ts.map +0 -1
- package/src/adapters/aws-lambda/utils.ts +0 -164
- package/src/adapters/node-http/content-type/form-data/fileUploadHandler.ts +0 -277
- package/src/adapters/node-http/content-type/form-data/index.ts +0 -163
- package/src/adapters/node-http/content-type/form-data/memoryUploadHandler.ts +0 -56
- package/src/adapters/node-http/content-type/form-data/streamSlice.ts +0 -56
- package/src/adapters/node-http/content-type/form-data/uploadHandler.ts +0 -89
- package/src/adapters/node-http/content-type/json/getPostBody.ts +0 -58
- package/src/adapters/node-http/content-type/json/index.ts +0 -11
- package/src/adapters/node-http/internals/contentType.ts +0 -31
- package/src/unstable-core-do-not-import/http/index.ts +0 -29
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var TRPCError = require('../../unstable-core-do-not-import/error/TRPCError.js');
|
|
4
|
+
require('../../unstable-core-do-not-import/rootConfig.js');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Convert an incoming message to a body stream with a max size
|
|
8
|
+
*/ function incomingMessageToBodyStream(req, opts) {
|
|
9
|
+
let size = 0;
|
|
10
|
+
const maxBodySize = opts.maxBodySize;
|
|
11
|
+
let controller = null;
|
|
12
|
+
const stream = new ReadableStream({
|
|
13
|
+
start (c) {
|
|
14
|
+
controller = c;
|
|
15
|
+
},
|
|
16
|
+
async pull (c) {
|
|
17
|
+
const chunk = req.read();
|
|
18
|
+
if (chunk) {
|
|
19
|
+
size += chunk.length;
|
|
20
|
+
}
|
|
21
|
+
if (maxBodySize !== null && size > maxBodySize) {
|
|
22
|
+
controller.error(new TRPCError.TRPCError({
|
|
23
|
+
code: 'PAYLOAD_TOO_LARGE'
|
|
24
|
+
}));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (chunk === null) {
|
|
28
|
+
c.close();
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
controller.enqueue(chunk);
|
|
32
|
+
},
|
|
33
|
+
cancel () {
|
|
34
|
+
req.destroy();
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return stream;
|
|
38
|
+
}
|
|
39
|
+
const bodyMethods = [
|
|
40
|
+
'POST',
|
|
41
|
+
'PUT',
|
|
42
|
+
'PATCH'
|
|
43
|
+
];
|
|
44
|
+
/**
|
|
45
|
+
* Convert an [`IncomingMessage`](https://nodejs.org/api/http.html#class-httpincomingmessage) to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
|
|
46
|
+
*/ function incomingMessageToRequest(req, opts) {
|
|
47
|
+
const ac = new AbortController();
|
|
48
|
+
const headers = new Headers(req.headers);
|
|
49
|
+
const url = `http://${headers.get('host')}${req.url}`;
|
|
50
|
+
req.once('aborted', ()=>ac.abort());
|
|
51
|
+
const init = {
|
|
52
|
+
headers,
|
|
53
|
+
method: req.method,
|
|
54
|
+
signal: ac.signal,
|
|
55
|
+
// @ts-expect-error this is fine
|
|
56
|
+
duplex: 'half'
|
|
57
|
+
};
|
|
58
|
+
if (req.method && bodyMethods.includes(req.method)) {
|
|
59
|
+
if (!('body' in req)) {
|
|
60
|
+
init.body = incomingMessageToBodyStream(req, opts);
|
|
61
|
+
} else if (typeof req.body === 'string') {
|
|
62
|
+
init.body = req.body;
|
|
63
|
+
} else if (req.body !== undefined) {
|
|
64
|
+
init.body = JSON.stringify(req.body);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const request = new Request(url, init);
|
|
68
|
+
return request;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
exports.incomingMessageToRequest = incomingMessageToRequest;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { TRPCError } from '../../unstable-core-do-not-import/error/TRPCError.mjs';
|
|
2
|
+
import '../../unstable-core-do-not-import/rootConfig.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Convert an incoming message to a body stream with a max size
|
|
6
|
+
*/ function incomingMessageToBodyStream(req, opts) {
|
|
7
|
+
let size = 0;
|
|
8
|
+
const maxBodySize = opts.maxBodySize;
|
|
9
|
+
let controller = null;
|
|
10
|
+
const stream = new ReadableStream({
|
|
11
|
+
start (c) {
|
|
12
|
+
controller = c;
|
|
13
|
+
},
|
|
14
|
+
async pull (c) {
|
|
15
|
+
const chunk = req.read();
|
|
16
|
+
if (chunk) {
|
|
17
|
+
size += chunk.length;
|
|
18
|
+
}
|
|
19
|
+
if (maxBodySize !== null && size > maxBodySize) {
|
|
20
|
+
controller.error(new TRPCError({
|
|
21
|
+
code: 'PAYLOAD_TOO_LARGE'
|
|
22
|
+
}));
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (chunk === null) {
|
|
26
|
+
c.close();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
controller.enqueue(chunk);
|
|
30
|
+
},
|
|
31
|
+
cancel () {
|
|
32
|
+
req.destroy();
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return stream;
|
|
36
|
+
}
|
|
37
|
+
const bodyMethods = [
|
|
38
|
+
'POST',
|
|
39
|
+
'PUT',
|
|
40
|
+
'PATCH'
|
|
41
|
+
];
|
|
42
|
+
/**
|
|
43
|
+
* Convert an [`IncomingMessage`](https://nodejs.org/api/http.html#class-httpincomingmessage) to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
|
|
44
|
+
*/ function incomingMessageToRequest(req, opts) {
|
|
45
|
+
const ac = new AbortController();
|
|
46
|
+
const headers = new Headers(req.headers);
|
|
47
|
+
const url = `http://${headers.get('host')}${req.url}`;
|
|
48
|
+
req.once('aborted', ()=>ac.abort());
|
|
49
|
+
const init = {
|
|
50
|
+
headers,
|
|
51
|
+
method: req.method,
|
|
52
|
+
signal: ac.signal,
|
|
53
|
+
// @ts-expect-error this is fine
|
|
54
|
+
duplex: 'half'
|
|
55
|
+
};
|
|
56
|
+
if (req.method && bodyMethods.includes(req.method)) {
|
|
57
|
+
if (!('body' in req)) {
|
|
58
|
+
init.body = incomingMessageToBodyStream(req, opts);
|
|
59
|
+
} else if (typeof req.body === 'string') {
|
|
60
|
+
init.body = req.body;
|
|
61
|
+
} else if (req.body !== undefined) {
|
|
62
|
+
init.body = JSON.stringify(req.body);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const request = new Request(url, init);
|
|
66
|
+
return request;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { incomingMessageToRequest };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var nodeHTTPRequestHandler = require('./nodeHTTPRequestHandler.js');
|
|
4
|
+
var incomingMessageToRequest = require('./incomingMessageToRequest.js');
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
exports.nodeHTTPRequestHandler = nodeHTTPRequestHandler.nodeHTTPRequestHandler;
|
|
9
|
+
exports.incomingMessageToRequest = incomingMessageToRequest.incomingMessageToRequest;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
8
8
|
* ```
|
|
9
9
|
*/
|
|
10
|
-
import type
|
|
10
|
+
import { type AnyRouter } from '../../@trpc/server';
|
|
11
11
|
import type { NodeHTTPRequest, NodeHTTPRequestHandlerOptions, NodeHTTPResponse } from './types';
|
|
12
12
|
export declare function nodeHTTPRequestHandler<TRouter extends AnyRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse>(opts: NodeHTTPRequestHandlerOptions<TRouter, TRequest, TResponse>): Promise<void>;
|
|
13
13
|
//# sourceMappingURL=nodeHTTPRequestHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeHTTPRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/nodeHTTPRequestHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"nodeHTTPRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/nodeHTTPRequestHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI7E,OAAO,KAAK,EACV,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAUjB,wBAAsB,sBAAsB,CAC1C,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,EAClC,IAAI,EAAE,6BAA6B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,iBA8ClE"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var TRPCError = require('../../unstable-core-do-not-import/error/TRPCError.js');
|
|
3
4
|
var resolveHTTPResponse = require('../../unstable-core-do-not-import/http/resolveHTTPResponse.js');
|
|
4
|
-
var batchStreamFormatter = require('../../unstable-core-do-not-import/http/batchStreamFormatter.js');
|
|
5
5
|
require('../../unstable-core-do-not-import/rootConfig.js');
|
|
6
|
-
var
|
|
6
|
+
var incomingMessageToRequest = require('./incomingMessageToRequest.js');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
|
|
@@ -13,13 +13,18 @@ var index = require('./content-type/json/index.js');
|
|
|
13
13
|
* import type { AnyTRPCRouter } from '@trpc/server'
|
|
14
14
|
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
15
15
|
* ```
|
|
16
|
-
*/
|
|
17
|
-
|
|
16
|
+
*/ // @trpc/server
|
|
17
|
+
function assertAsyncIterable(value) {
|
|
18
|
+
if (!(Symbol.asyncIterator in value)) {
|
|
19
|
+
throw new Error('Expected AsyncIterable - are you using Node >= 18.0.0?');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
18
22
|
async function nodeHTTPRequestHandler(opts) {
|
|
19
23
|
const handleViaMiddleware = opts.middleware ?? ((_req, _res, next)=>next());
|
|
20
24
|
return handleViaMiddleware(opts.req, opts.res, async (err)=>{
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
const req = incomingMessageToRequest.incomingMessageToRequest(opts.req, {
|
|
26
|
+
maxBodySize: opts.maxBodySize ?? null
|
|
27
|
+
});
|
|
23
28
|
// Build tRPC dependencies
|
|
24
29
|
const createContext = async (innerOpts)=>{
|
|
25
30
|
return await opts.createContext?.({
|
|
@@ -27,82 +32,32 @@ async function nodeHTTPRequestHandler(opts) {
|
|
|
27
32
|
...innerOpts
|
|
28
33
|
});
|
|
29
34
|
};
|
|
30
|
-
const
|
|
31
|
-
const jsonContentTypeHandler = defaultJSONContentTypeHandler;
|
|
32
|
-
const contentTypeHandlers = opts.experimental_contentTypeHandlers ?? [
|
|
33
|
-
jsonContentTypeHandler
|
|
34
|
-
];
|
|
35
|
-
const contentTypeHandler = contentTypeHandlers.find((handler)=>handler.isMatch({
|
|
36
|
-
// FIXME: no typecasting should be needed here
|
|
37
|
-
...opts,
|
|
38
|
-
query
|
|
39
|
-
})) ?? // fallback to json
|
|
40
|
-
jsonContentTypeHandler;
|
|
41
|
-
const bodyResult = await contentTypeHandler.getBody({
|
|
42
|
-
// FIXME: no typecasting should be needed here
|
|
43
|
-
...opts,
|
|
44
|
-
query
|
|
45
|
-
});
|
|
46
|
-
const req = {
|
|
47
|
-
method: opts.req.method,
|
|
48
|
-
headers: opts.req.headers,
|
|
49
|
-
query,
|
|
50
|
-
body: bodyResult.ok ? bodyResult.data : undefined
|
|
51
|
-
};
|
|
52
|
-
let isStream = false;
|
|
53
|
-
let formatter;
|
|
54
|
-
const unstable_onHead = (head, isStreaming)=>{
|
|
55
|
-
if ('status' in head && (!opts.res.statusCode || opts.res.statusCode === 200)) {
|
|
56
|
-
opts.res.statusCode = head.status;
|
|
57
|
-
}
|
|
58
|
-
for (const [key, value] of Object.entries(head.headers ?? {})){
|
|
59
|
-
/* istanbul ignore if -- @preserve */ if (typeof value === 'undefined') {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
opts.res.setHeader(key, value);
|
|
63
|
-
}
|
|
64
|
-
if (isStreaming) {
|
|
65
|
-
opts.res.setHeader('Transfer-Encoding', 'chunked');
|
|
66
|
-
const vary = opts.res.getHeader('Vary');
|
|
67
|
-
opts.res.setHeader('Vary', vary ? 'trpc-batch-mode, ' + vary : 'trpc-batch-mode');
|
|
68
|
-
isStream = true;
|
|
69
|
-
formatter = batchStreamFormatter.getBatchStreamFormatter();
|
|
70
|
-
opts.res.flushHeaders();
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
const unstable_onChunk = ([index, string])=>{
|
|
74
|
-
if (index === -1) {
|
|
75
|
-
/**
|
|
76
|
-
* Full response, no streaming. This can happen
|
|
77
|
-
* - if the response is an error
|
|
78
|
-
* - if response is empty (HEAD request)
|
|
79
|
-
*/ opts.res.end(string);
|
|
80
|
-
} else {
|
|
81
|
-
opts.res.write(formatter(index, string));
|
|
82
|
-
opts.res.flush?.();
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
await resolveHTTPResponse.resolveHTTPResponse({
|
|
35
|
+
const response = await resolveHTTPResponse.resolveResponse({
|
|
86
36
|
...opts,
|
|
87
37
|
req,
|
|
38
|
+
error: err ? TRPCError.getTRPCErrorFromUnknown(err) : null,
|
|
88
39
|
createContext,
|
|
89
|
-
error: bodyResult.ok ? null : bodyResult.error,
|
|
90
|
-
preprocessedBody: bodyResult.ok ? bodyResult.preprocessed : false,
|
|
91
40
|
onError (o) {
|
|
92
41
|
opts?.onError?.({
|
|
93
42
|
...o,
|
|
94
43
|
req: opts.req
|
|
95
44
|
});
|
|
96
|
-
}
|
|
97
|
-
contentTypeHandler,
|
|
98
|
-
unstable_onHead,
|
|
99
|
-
unstable_onChunk
|
|
45
|
+
}
|
|
100
46
|
});
|
|
101
|
-
if (
|
|
102
|
-
|
|
103
|
-
opts.res.
|
|
47
|
+
if (opts.res.statusCode === 200) {
|
|
48
|
+
// if the status code is set, we assume that it's been manually overridden
|
|
49
|
+
opts.res.statusCode = response.status;
|
|
50
|
+
}
|
|
51
|
+
for (const [key, value] of response.headers){
|
|
52
|
+
opts.res.setHeader(key, value);
|
|
53
|
+
}
|
|
54
|
+
if (response.body) {
|
|
55
|
+
assertAsyncIterable(response.body);
|
|
56
|
+
for await (const chunk of response.body){
|
|
57
|
+
opts.res.write(chunk);
|
|
58
|
+
}
|
|
104
59
|
}
|
|
105
|
-
|
|
60
|
+
opts.res.end();
|
|
106
61
|
});
|
|
107
62
|
}
|
|
108
63
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { getTRPCErrorFromUnknown } from '../../unstable-core-do-not-import/error/TRPCError.mjs';
|
|
2
|
+
import { resolveResponse } from '../../unstable-core-do-not-import/http/resolveHTTPResponse.mjs';
|
|
3
3
|
import '../../unstable-core-do-not-import/rootConfig.mjs';
|
|
4
|
-
import {
|
|
4
|
+
import { incomingMessageToRequest } from './incomingMessageToRequest.mjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
|
|
@@ -11,13 +11,18 @@ import { nodeHTTPJSONContentTypeHandler } from './content-type/json/index.mjs';
|
|
|
11
11
|
* import type { AnyTRPCRouter } from '@trpc/server'
|
|
12
12
|
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
|
|
13
13
|
* ```
|
|
14
|
-
*/
|
|
15
|
-
|
|
14
|
+
*/ // @trpc/server
|
|
15
|
+
function assertAsyncIterable(value) {
|
|
16
|
+
if (!(Symbol.asyncIterator in value)) {
|
|
17
|
+
throw new Error('Expected AsyncIterable - are you using Node >= 18.0.0?');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
16
20
|
async function nodeHTTPRequestHandler(opts) {
|
|
17
21
|
const handleViaMiddleware = opts.middleware ?? ((_req, _res, next)=>next());
|
|
18
22
|
return handleViaMiddleware(opts.req, opts.res, async (err)=>{
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
const req = incomingMessageToRequest(opts.req, {
|
|
24
|
+
maxBodySize: opts.maxBodySize ?? null
|
|
25
|
+
});
|
|
21
26
|
// Build tRPC dependencies
|
|
22
27
|
const createContext = async (innerOpts)=>{
|
|
23
28
|
return await opts.createContext?.({
|
|
@@ -25,82 +30,32 @@ async function nodeHTTPRequestHandler(opts) {
|
|
|
25
30
|
...innerOpts
|
|
26
31
|
});
|
|
27
32
|
};
|
|
28
|
-
const
|
|
29
|
-
const jsonContentTypeHandler = defaultJSONContentTypeHandler;
|
|
30
|
-
const contentTypeHandlers = opts.experimental_contentTypeHandlers ?? [
|
|
31
|
-
jsonContentTypeHandler
|
|
32
|
-
];
|
|
33
|
-
const contentTypeHandler = contentTypeHandlers.find((handler)=>handler.isMatch({
|
|
34
|
-
// FIXME: no typecasting should be needed here
|
|
35
|
-
...opts,
|
|
36
|
-
query
|
|
37
|
-
})) ?? // fallback to json
|
|
38
|
-
jsonContentTypeHandler;
|
|
39
|
-
const bodyResult = await contentTypeHandler.getBody({
|
|
40
|
-
// FIXME: no typecasting should be needed here
|
|
41
|
-
...opts,
|
|
42
|
-
query
|
|
43
|
-
});
|
|
44
|
-
const req = {
|
|
45
|
-
method: opts.req.method,
|
|
46
|
-
headers: opts.req.headers,
|
|
47
|
-
query,
|
|
48
|
-
body: bodyResult.ok ? bodyResult.data : undefined
|
|
49
|
-
};
|
|
50
|
-
let isStream = false;
|
|
51
|
-
let formatter;
|
|
52
|
-
const unstable_onHead = (head, isStreaming)=>{
|
|
53
|
-
if ('status' in head && (!opts.res.statusCode || opts.res.statusCode === 200)) {
|
|
54
|
-
opts.res.statusCode = head.status;
|
|
55
|
-
}
|
|
56
|
-
for (const [key, value] of Object.entries(head.headers ?? {})){
|
|
57
|
-
/* istanbul ignore if -- @preserve */ if (typeof value === 'undefined') {
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
opts.res.setHeader(key, value);
|
|
61
|
-
}
|
|
62
|
-
if (isStreaming) {
|
|
63
|
-
opts.res.setHeader('Transfer-Encoding', 'chunked');
|
|
64
|
-
const vary = opts.res.getHeader('Vary');
|
|
65
|
-
opts.res.setHeader('Vary', vary ? 'trpc-batch-mode, ' + vary : 'trpc-batch-mode');
|
|
66
|
-
isStream = true;
|
|
67
|
-
formatter = getBatchStreamFormatter();
|
|
68
|
-
opts.res.flushHeaders();
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
const unstable_onChunk = ([index, string])=>{
|
|
72
|
-
if (index === -1) {
|
|
73
|
-
/**
|
|
74
|
-
* Full response, no streaming. This can happen
|
|
75
|
-
* - if the response is an error
|
|
76
|
-
* - if response is empty (HEAD request)
|
|
77
|
-
*/ opts.res.end(string);
|
|
78
|
-
} else {
|
|
79
|
-
opts.res.write(formatter(index, string));
|
|
80
|
-
opts.res.flush?.();
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
await resolveHTTPResponse({
|
|
33
|
+
const response = await resolveResponse({
|
|
84
34
|
...opts,
|
|
85
35
|
req,
|
|
36
|
+
error: err ? getTRPCErrorFromUnknown(err) : null,
|
|
86
37
|
createContext,
|
|
87
|
-
error: bodyResult.ok ? null : bodyResult.error,
|
|
88
|
-
preprocessedBody: bodyResult.ok ? bodyResult.preprocessed : false,
|
|
89
38
|
onError (o) {
|
|
90
39
|
opts?.onError?.({
|
|
91
40
|
...o,
|
|
92
41
|
req: opts.req
|
|
93
42
|
});
|
|
94
|
-
}
|
|
95
|
-
contentTypeHandler,
|
|
96
|
-
unstable_onHead,
|
|
97
|
-
unstable_onChunk
|
|
43
|
+
}
|
|
98
44
|
});
|
|
99
|
-
if (
|
|
100
|
-
|
|
101
|
-
opts.res.
|
|
45
|
+
if (opts.res.statusCode === 200) {
|
|
46
|
+
// if the status code is set, we assume that it's been manually overridden
|
|
47
|
+
opts.res.statusCode = response.status;
|
|
48
|
+
}
|
|
49
|
+
for (const [key, value] of response.headers){
|
|
50
|
+
opts.res.setHeader(key, value);
|
|
51
|
+
}
|
|
52
|
+
if (response.body) {
|
|
53
|
+
assertAsyncIterable(response.body);
|
|
54
|
+
for await (const chunk of response.body){
|
|
55
|
+
opts.res.write(chunk);
|
|
56
|
+
}
|
|
102
57
|
}
|
|
103
|
-
|
|
58
|
+
opts.res.end();
|
|
104
59
|
});
|
|
105
60
|
}
|
|
106
61
|
|
|
@@ -9,10 +9,9 @@
|
|
|
9
9
|
* ```
|
|
10
10
|
*/
|
|
11
11
|
import type * as http from 'http';
|
|
12
|
-
import type { AnyRouter, inferRouterContext } from '../../@trpc/server';
|
|
12
|
+
import type { AnyRouter, CreateContextCallback, inferRouterContext } from '../../@trpc/server';
|
|
13
13
|
import type { HTTPBaseHandlerOptions, TRPCRequestInfo } from '../../@trpc/server/http';
|
|
14
14
|
import type { MaybePromise } from '../../unstable-core-do-not-import';
|
|
15
|
-
import type { NodeHTTPContentTypeHandler } from './internals/contentType';
|
|
16
15
|
interface ParsedQs {
|
|
17
16
|
[key: string]: ParsedQs | ParsedQs[] | string[] | string | undefined;
|
|
18
17
|
}
|
|
@@ -31,17 +30,7 @@ export type NodeHTTPResponse = http.ServerResponse & {
|
|
|
31
30
|
*/
|
|
32
31
|
flush?: () => void;
|
|
33
32
|
};
|
|
34
|
-
export type NodeHTTPCreateContextOption<TRouter extends AnyRouter, TRequest, TResponse> =
|
|
35
|
-
/**
|
|
36
|
-
* @link https://trpc.io/docs/v11/context
|
|
37
|
-
**/
|
|
38
|
-
createContext?: NodeHTTPCreateContextFn<TRouter, TRequest, TResponse>;
|
|
39
|
-
} : {
|
|
40
|
-
/**
|
|
41
|
-
* @link https://trpc.io/docs/v11/context
|
|
42
|
-
**/
|
|
43
|
-
createContext: NodeHTTPCreateContextFn<TRouter, TRequest, TResponse>;
|
|
44
|
-
};
|
|
33
|
+
export type NodeHTTPCreateContextOption<TRouter extends AnyRouter, TRequest, TResponse> = CreateContextCallback<inferRouterContext<TRouter>, NodeHTTPCreateContextFn<TRouter, TRequest, TResponse>>;
|
|
45
34
|
/**
|
|
46
35
|
* @internal
|
|
47
36
|
*/
|
|
@@ -65,7 +54,6 @@ export type NodeHTTPHandlerOptions<TRouter extends AnyRouter, TRequest extends N
|
|
|
65
54
|
*/
|
|
66
55
|
middleware?: ConnectMiddleware;
|
|
67
56
|
maxBodySize?: number;
|
|
68
|
-
experimental_contentTypeHandlers?: NodeHTTPContentTypeHandler<TRequest, TResponse>[];
|
|
69
57
|
};
|
|
70
58
|
export type NodeHTTPRequestHandlerOptions<TRouter extends AnyRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse> = {
|
|
71
59
|
req: TRequest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAElC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAElC,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEtE,UAAU,QAAQ;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;CACtE;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG;IACnD,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,GAAG;IACnD;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,2BAA2B,CACrC,OAAO,SAAS,SAAS,EACzB,QAAQ,EACR,SAAS,IACP,qBAAqB,CACvB,kBAAkB,CAAC,OAAO,CAAC,EAC3B,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CACtD,CAAC;AAEF;;GAEG;AACH,KAAK,iBAAiB,CACpB,QAAQ,SAAS,eAAe,GAAG,eAAe,EAClD,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,IACnD,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC;AAEtE,MAAM,MAAM,sBAAsB,CAChC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,IAChC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC3C,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG;IAC1D;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEJ,MAAM,MAAM,6BAA6B,CACvC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,IAChC;IACF,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEzD,MAAM,MAAM,8BAA8B,CAAC,QAAQ,EAAE,SAAS,IAAI;IAChE,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,uBAAuB,CACjC,OAAO,SAAS,SAAS,EACzB,QAAQ,EACR,SAAS,IACP,CACF,IAAI,EAAE,8BAA8B,CAAC,QAAQ,EAAE,SAAS,CAAC,KACtD,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../src/adapters/standalone.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EACV,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,wBAAwB,CAAC,OAAO,SAAS,SAAS,IAC5D,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAE7E,MAAM,MAAM,wBAAwB,GAAG,8BAA8B,CACnE,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,CACpB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,SAAS,EACzD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAEpB,KAAK,eAAe,OAAO,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../src/adapters/standalone.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EACV,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,wBAAwB,CAAC,OAAO,SAAS,SAAS,IAC5D,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAE7E,MAAM,MAAM,wBAAwB,GAAG,8BAA8B,CACnE,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,CACpB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,SAAS,EACzD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,SAEpB,KAAK,eAAe,OAAO,KAAK,cAAc,mBAclE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,SAAS,EACxD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,wEAIxC"}
|
package/dist/adapters/ws.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { IncomingMessage } from 'http';
|
|
3
3
|
import type ws from 'ws';
|
|
4
|
-
import type { AnyRouter, inferRouterContext } from '../@trpc/server';
|
|
4
|
+
import type { AnyRouter, CreateContextCallback, inferRouterContext } from '../@trpc/server';
|
|
5
5
|
import type { BaseHandlerOptions } from '../@trpc/server/http';
|
|
6
6
|
import type { MaybePromise } from '../unstable-core-do-not-import';
|
|
7
7
|
import type { NodeHTTPCreateContextFnOptions } from './node-http';
|
|
@@ -13,17 +13,7 @@ export type CreateWSSContextFnOptions = Omit<NodeHTTPCreateContextFnOptions<Inco
|
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
15
15
|
export type CreateWSSContextFn<TRouter extends AnyRouter> = (opts: CreateWSSContextFnOptions) => MaybePromise<inferRouterContext<TRouter>>;
|
|
16
|
-
export type WSConnectionHandlerOptions<TRouter extends AnyRouter> = BaseHandlerOptions<TRouter, IncomingMessage> &
|
|
17
|
-
/**
|
|
18
|
-
* @link https://trpc.io/docs/v11/context
|
|
19
|
-
**/
|
|
20
|
-
createContext?: CreateWSSContextFn<TRouter>;
|
|
21
|
-
} : {
|
|
22
|
-
/**
|
|
23
|
-
* @link https://trpc.io/docs/v11/context
|
|
24
|
-
**/
|
|
25
|
-
createContext: CreateWSSContextFn<TRouter>;
|
|
26
|
-
});
|
|
16
|
+
export type WSConnectionHandlerOptions<TRouter extends AnyRouter> = BaseHandlerOptions<TRouter, IncomingMessage> & CreateContextCallback<inferRouterContext<TRouter>, CreateWSSContextFn<TRouter>>;
|
|
27
17
|
/**
|
|
28
18
|
* Web socket server handler
|
|
29
19
|
*/
|
|
@@ -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,
|
|
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;AAQzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAY/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAQlE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,8BAA8B,CAAC,eAAe,EAAE,EAAE,CAAC,SAAS,CAAC,EAC7D,MAAM,CACP,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;CACjB,CAAC;AAEJ,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,SAAS,EAC9D,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,YAKnB,YAAY,OAAO,eAAe,mBAoPzD;AAED,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EACvD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;;EA2BjC"}
|
package/dist/adapters/ws.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var getErrorShape = require('../unstable-core-do-not-import/error/getErrorShape.js');
|
|
4
3
|
var TRPCError = require('../unstable-core-do-not-import/error/TRPCError.js');
|
|
4
|
+
var getErrorShape = require('../unstable-core-do-not-import/error/getErrorShape.js');
|
|
5
5
|
var parseTRPCMessage = require('../unstable-core-do-not-import/rpc/parseTRPCMessage.js');
|
|
6
6
|
var router = require('../unstable-core-do-not-import/router.js');
|
|
7
7
|
var transformer = require('../unstable-core-do-not-import/transformer.js');
|
package/dist/adapters/ws.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getErrorShape } from '../unstable-core-do-not-import/error/getErrorShape.mjs';
|
|
2
1
|
import { TRPCError, getTRPCErrorFromUnknown } from '../unstable-core-do-not-import/error/TRPCError.mjs';
|
|
2
|
+
import { getErrorShape } from '../unstable-core-do-not-import/error/getErrorShape.mjs';
|
|
3
3
|
import { parseTRPCMessage } from '../unstable-core-do-not-import/rpc/parseTRPCMessage.mjs';
|
|
4
4
|
import { callProcedure } from '../unstable-core-do-not-import/router.mjs';
|
|
5
5
|
import { transformTRPCResponse } from '../unstable-core-do-not-import/transformer.mjs';
|