@trpc/server 11.0.0-rc.630 → 11.0.0-rc.633
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/adapters/aws-lambda/index.js +1 -0
- package/dist/adapters/aws-lambda/index.mjs +1 -0
- package/dist/adapters/express.js +1 -0
- package/dist/adapters/express.mjs +1 -0
- package/dist/adapters/fastify/fastifyRequestHandler.js +2 -1
- package/dist/adapters/fastify/fastifyRequestHandler.mjs +2 -1
- package/dist/adapters/fetch/fetchRequestHandler.js +1 -0
- package/dist/adapters/fetch/fetchRequestHandler.mjs +1 -0
- package/dist/adapters/next-app-dir/nextAppDirCaller.js +1 -0
- package/dist/adapters/next-app-dir/nextAppDirCaller.mjs +1 -0
- package/dist/adapters/next-app-dir/notFound.js +1 -0
- package/dist/adapters/next-app-dir/notFound.mjs +1 -0
- package/dist/adapters/next-app-dir/redirect.js +1 -0
- package/dist/adapters/next-app-dir/redirect.mjs +1 -0
- package/dist/adapters/next.js +1 -0
- package/dist/adapters/next.mjs +1 -0
- package/dist/adapters/node-http/incomingMessageToRequest.d.ts +1 -1
- package/dist/adapters/node-http/incomingMessageToRequest.d.ts.map +1 -1
- package/dist/adapters/node-http/incomingMessageToRequest.js +7 -5
- package/dist/adapters/node-http/incomingMessageToRequest.mjs +7 -5
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.js +9 -42
- package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +9 -42
- 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 +80 -0
- package/dist/adapters/node-http/writeResponse.mjs +77 -0
- package/dist/adapters/standalone.js +1 -0
- package/dist/adapters/standalone.mjs +1 -0
- package/dist/adapters/ws.js +1 -0
- package/dist/adapters/ws.mjs +1 -0
- package/dist/bundle-analysis.json +195 -168
- package/dist/http.js +1 -2
- package/dist/http.mjs +1 -1
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/dist/rpc.js +1 -0
- package/dist/rpc.mjs +1 -0
- package/dist/shared.js +1 -0
- package/dist/shared.mjs +1 -0
- 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 +3 -3
- package/dist/unstable-core-do-not-import/http/resolveResponse.mjs +3 -3
- package/dist/unstable-core-do-not-import/initTRPC.js +2 -2
- package/dist/unstable-core-do-not-import/initTRPC.mjs +2 -2
- package/dist/unstable-core-do-not-import/rootConfig.d.ts +14 -14
- package/dist/unstable-core-do-not-import/rootConfig.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/stream/jsonl.d.ts +6 -9
- package/dist/unstable-core-do-not-import/stream/jsonl.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/jsonl.js +75 -124
- package/dist/unstable-core-do-not-import/stream/jsonl.mjs +76 -125
- package/dist/unstable-core-do-not-import/stream/sse.d.ts +11 -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 +154 -86
- package/dist/unstable-core-do-not-import/stream/sse.mjs +155 -87
- package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts +10 -10
- 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 +47 -34
- package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.mjs +47 -34
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.d.ts +0 -4
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.js +0 -11
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.mjs +1 -11
- package/dist/unstable-core-do-not-import/stream/utils/disposablePromiseTimer.d.ts +6 -0
- package/dist/unstable-core-do-not-import/stream/utils/disposablePromiseTimer.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/utils/disposablePromiseTimer.js +28 -0
- package/dist/unstable-core-do-not-import/stream/utils/disposablePromiseTimer.mjs +25 -0
- 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 +17 -17
- package/dist/unstable-core-do-not-import/stream/utils/withPing.mjs +17 -17
- package/dist/unstable-core-do-not-import/stream/utils/withRefCount.d.ts +17 -0
- package/dist/unstable-core-do-not-import/stream/utils/withRefCount.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/utils/withRefCount.js +59 -0
- package/dist/unstable-core-do-not-import/stream/utils/withRefCount.mjs +57 -0
- package/dist/unstable-core-do-not-import/transformer.d.ts +1 -4
- package/dist/unstable-core-do-not-import/transformer.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import.d.ts +2 -2
- package/dist/unstable-core-do-not-import.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import.js +2 -2
- package/dist/unstable-core-do-not-import.mjs +1 -1
- package/package.json +3 -3
- package/src/@trpc/server/http.ts +0 -1
- package/src/adapters/fastify/fastifyRequestHandler.ts +1 -1
- package/src/adapters/node-http/incomingMessageToRequest.ts +8 -4
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +8 -46
- package/src/adapters/node-http/writeResponse.ts +91 -0
- package/src/unstable-core-do-not-import/http/isAbortError.ts +7 -0
- package/src/unstable-core-do-not-import/http/resolveResponse.ts +3 -4
- package/src/unstable-core-do-not-import/initTRPC.ts +1 -1
- package/src/unstable-core-do-not-import/rootConfig.ts +17 -17
- package/src/unstable-core-do-not-import/rpc/envelopes.ts +7 -12
- package/src/unstable-core-do-not-import/stream/jsonl.ts +85 -154
- package/src/unstable-core-do-not-import/stream/sse.ts +179 -92
- package/src/unstable-core-do-not-import/stream/utils/asyncIterable.ts +58 -37
- package/src/unstable-core-do-not-import/stream/utils/createReadableStream.ts +0 -13
- package/src/unstable-core-do-not-import/stream/utils/disposablePromiseTimer.ts +27 -0
- package/src/unstable-core-do-not-import/stream/utils/withPing.ts +31 -19
- package/src/unstable-core-do-not-import/stream/utils/withRefCount.ts +93 -0
- package/src/unstable-core-do-not-import.ts +2 -2
- 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/stream/utils/promiseTimer.d.ts +0 -8
- package/dist/unstable-core-do-not-import/stream/utils/promiseTimer.d.ts.map +0 -1
- package/dist/unstable-core-do-not-import/stream/utils/promiseTimer.js +0 -38
- package/dist/unstable-core-do-not-import/stream/utils/promiseTimer.mjs +0 -36
- package/src/unstable-core-do-not-import/http/batchStreamFormatter.ts +0 -29
- package/src/unstable-core-do-not-import/stream/utils/promiseTimer.ts +0 -40
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,OAAO,CAAC;AAGf;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED,UAAU,oBAAqB,SAAQ,eAAe;IACpD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED,UAAU,qBAAsB,SAAQ,eAAe;IACrD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,KAAK,EAAE,oBAAoB,CAAC;IAC5B;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3D,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;CAChE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,GAAG,eAAe,CAAC;AAE/E;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,sBAAsB,GAClC,uBAAuB,CAKzB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,uBAGhC,CAAC;AAyBF;;IAEI;AACJ,wBAAgB,qBAAqB,CACnC,SAAS,SACL,YAAY,GACZ,YAAY,EAAE,GACd,mBAAmB,GACnB,mBAAmB,EAAE,EACzB,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,SAAS;;yEAIzD;AAKD,gBAAgB;AAChB,iBAAS,oBAAoB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,EAC9D,QAAQ,EACJ,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAChD,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC3D,WAAW,EAAE,eAAe
|
|
1
|
+
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,OAAO,CAAC;AAGf;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED,UAAU,oBAAqB,SAAQ,eAAe;IACpD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED,UAAU,qBAAsB,SAAQ,eAAe;IACrD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,KAAK,EAAE,oBAAoB,CAAC;IAC5B;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3D,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;CAChE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,GAAG,eAAe,CAAC;AAE/E;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,sBAAsB,GAClC,uBAAuB,CAKzB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,uBAGhC,CAAC;AAyBF;;IAEI;AACJ,wBAAgB,qBAAqB,CACnC,SAAS,SACL,YAAY,GACZ,YAAY,EAAE,GACd,mBAAmB,GACnB,mBAAmB,EAAE,EACzB,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,SAAS;;yEAIzD;AAKD,gBAAgB;AAChB,iBAAS,oBAAoB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,EAC9D,QAAQ,EACJ,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAChD,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC3D,WAAW,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;EAuB7B;AAQD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,EAChE,QAAQ,EACJ,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAChD,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC3D,WAAW,EAAE,eAAe,GAC3B,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAqBzC"}
|
|
@@ -15,11 +15,11 @@ export * from './unstable-core-do-not-import/createProxy';
|
|
|
15
15
|
export * from './unstable-core-do-not-import/error/formatter';
|
|
16
16
|
export * from './unstable-core-do-not-import/error/getErrorShape';
|
|
17
17
|
export * from './unstable-core-do-not-import/error/TRPCError';
|
|
18
|
-
export * from './unstable-core-do-not-import/http/batchStreamFormatter';
|
|
19
18
|
export * from './unstable-core-do-not-import/http/contentType';
|
|
20
19
|
export * from './unstable-core-do-not-import/http/contentTypeParsers';
|
|
21
20
|
export * from './unstable-core-do-not-import/http/formDataToObject';
|
|
22
21
|
export * from './unstable-core-do-not-import/http/getHTTPStatusCode';
|
|
22
|
+
export * from './unstable-core-do-not-import/http/isAbortError';
|
|
23
23
|
export * from './unstable-core-do-not-import/http/parseConnectionParams';
|
|
24
24
|
export * from './unstable-core-do-not-import/http/resolveResponse';
|
|
25
25
|
export * from './unstable-core-do-not-import/http/types';
|
|
@@ -32,8 +32,8 @@ export * from './unstable-core-do-not-import/rootConfig';
|
|
|
32
32
|
export * from './unstable-core-do-not-import/router';
|
|
33
33
|
export * from './unstable-core-do-not-import/rpc';
|
|
34
34
|
export * from './unstable-core-do-not-import/stream/jsonl';
|
|
35
|
-
export * from './unstable-core-do-not-import/stream/sse';
|
|
36
35
|
export * from './unstable-core-do-not-import/stream/sse.types';
|
|
36
|
+
export * from './unstable-core-do-not-import/stream/sse';
|
|
37
37
|
export * from './unstable-core-do-not-import/stream/tracked';
|
|
38
38
|
export * from './unstable-core-do-not-import/stream/utils/createDeferred';
|
|
39
39
|
export * from './unstable-core-do-not-import/transformer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unstable-core-do-not-import.d.ts","sourceRoot":"","sources":["../src/unstable-core-do-not-import.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,mDAAmD,CAAC;AAClE,cAAc,oDAAoD,CAAC;AACnE,cAAc,mDAAmD,CAAC;AAClE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,
|
|
1
|
+
{"version":3,"file":"unstable-core-do-not-import.d.ts","sourceRoot":"","sources":["../src/unstable-core-do-not-import.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,mDAAmD,CAAC;AAClE,cAAc,oDAAoD,CAAC;AACnE,cAAc,mDAAmD,CAAC;AAClE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,uDAAuD,CAAC;AACtE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sDAAsD,CAAC;AACrE,cAAc,iDAAiD,CAAC;AAChE,cAAc,0DAA0D,CAAC;AACzE,cAAc,oDAAoD,CAAC;AACnE,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2DAA2D,CAAC;AAC1E,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC"}
|
|
@@ -4,11 +4,11 @@ var createProxy = require('./unstable-core-do-not-import/createProxy.js');
|
|
|
4
4
|
var formatter = require('./unstable-core-do-not-import/error/formatter.js');
|
|
5
5
|
var getErrorShape = require('./unstable-core-do-not-import/error/getErrorShape.js');
|
|
6
6
|
var TRPCError = require('./unstable-core-do-not-import/error/TRPCError.js');
|
|
7
|
-
var batchStreamFormatter = require('./unstable-core-do-not-import/http/batchStreamFormatter.js');
|
|
8
7
|
var contentType = require('./unstable-core-do-not-import/http/contentType.js');
|
|
9
8
|
var contentTypeParsers = require('./unstable-core-do-not-import/http/contentTypeParsers.js');
|
|
10
9
|
var formDataToObject = require('./unstable-core-do-not-import/http/formDataToObject.js');
|
|
11
10
|
var getHTTPStatusCode = require('./unstable-core-do-not-import/http/getHTTPStatusCode.js');
|
|
11
|
+
var isAbortError = require('./unstable-core-do-not-import/http/isAbortError.js');
|
|
12
12
|
var parseConnectionParams = require('./unstable-core-do-not-import/http/parseConnectionParams.js');
|
|
13
13
|
var resolveResponse = require('./unstable-core-do-not-import/http/resolveResponse.js');
|
|
14
14
|
var initTRPC = require('./unstable-core-do-not-import/initTRPC.js');
|
|
@@ -36,7 +36,6 @@ exports.getErrorShape = getErrorShape.getErrorShape;
|
|
|
36
36
|
exports.TRPCError = TRPCError.TRPCError;
|
|
37
37
|
exports.getCauseFromUnknown = TRPCError.getCauseFromUnknown;
|
|
38
38
|
exports.getTRPCErrorFromUnknown = TRPCError.getTRPCErrorFromUnknown;
|
|
39
|
-
exports.getBatchStreamFormatter = batchStreamFormatter.getBatchStreamFormatter;
|
|
40
39
|
exports.getRequestInfo = contentType.getRequestInfo;
|
|
41
40
|
exports.octetInputParser = contentTypeParsers.octetInputParser;
|
|
42
41
|
exports.formDataToObject = formDataToObject.formDataToObject;
|
|
@@ -46,6 +45,7 @@ exports.getHTTPStatusCode = getHTTPStatusCode.getHTTPStatusCode;
|
|
|
46
45
|
exports.getHTTPStatusCodeFromError = getHTTPStatusCode.getHTTPStatusCodeFromError;
|
|
47
46
|
exports.getStatusCodeFromKey = getHTTPStatusCode.getStatusCodeFromKey;
|
|
48
47
|
exports.getStatusKeyFromCode = getHTTPStatusCode.getStatusKeyFromCode;
|
|
48
|
+
exports.isAbortError = isAbortError.isAbortError;
|
|
49
49
|
exports.parseConnectionParamsFromString = parseConnectionParams.parseConnectionParamsFromString;
|
|
50
50
|
exports.parseConnectionParamsFromUnknown = parseConnectionParams.parseConnectionParamsFromUnknown;
|
|
51
51
|
exports.resolveResponse = resolveResponse.resolveResponse;
|
|
@@ -2,11 +2,11 @@ export { createFlatProxy, createRecursiveProxy } from './unstable-core-do-not-im
|
|
|
2
2
|
export { defaultFormatter } from './unstable-core-do-not-import/error/formatter.mjs';
|
|
3
3
|
export { getErrorShape } from './unstable-core-do-not-import/error/getErrorShape.mjs';
|
|
4
4
|
export { TRPCError, getCauseFromUnknown, getTRPCErrorFromUnknown } from './unstable-core-do-not-import/error/TRPCError.mjs';
|
|
5
|
-
export { getBatchStreamFormatter } from './unstable-core-do-not-import/http/batchStreamFormatter.mjs';
|
|
6
5
|
export { getRequestInfo } from './unstable-core-do-not-import/http/contentType.mjs';
|
|
7
6
|
export { octetInputParser } from './unstable-core-do-not-import/http/contentTypeParsers.mjs';
|
|
8
7
|
export { formDataToObject } from './unstable-core-do-not-import/http/formDataToObject.mjs';
|
|
9
8
|
export { HTTP_CODE_TO_JSONRPC2, JSONRPC2_TO_HTTP_CODE, getHTTPStatusCode, getHTTPStatusCodeFromError, getStatusCodeFromKey, getStatusKeyFromCode } from './unstable-core-do-not-import/http/getHTTPStatusCode.mjs';
|
|
9
|
+
export { isAbortError } from './unstable-core-do-not-import/http/isAbortError.mjs';
|
|
10
10
|
export { parseConnectionParamsFromString, parseConnectionParamsFromUnknown } from './unstable-core-do-not-import/http/parseConnectionParams.mjs';
|
|
11
11
|
export { resolveResponse } from './unstable-core-do-not-import/http/resolveResponse.mjs';
|
|
12
12
|
export { initTRPC } from './unstable-core-do-not-import/initTRPC.mjs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/server",
|
|
3
|
-
"version": "11.0.0-rc.
|
|
3
|
+
"version": "11.0.0-rc.633+55512768a",
|
|
4
4
|
"description": "The tRPC server library",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
"rollup": "^4.24.4",
|
|
139
139
|
"superjson": "^1.12.4",
|
|
140
140
|
"superstruct": "^2.0.0",
|
|
141
|
-
"tslib": "^2.
|
|
141
|
+
"tslib": "^2.8.1",
|
|
142
142
|
"tsx": "^4.0.0",
|
|
143
143
|
"typescript": "^5.6.2",
|
|
144
144
|
"valibot": "^0.42.0",
|
|
@@ -156,5 +156,5 @@
|
|
|
156
156
|
"next": "*",
|
|
157
157
|
"ws": "*"
|
|
158
158
|
},
|
|
159
|
-
"gitHead": "
|
|
159
|
+
"gitHead": "55512768ac9e57c472c9b03d8e39f606a8c1e1c6"
|
|
160
160
|
}
|
package/src/@trpc/server/http.ts
CHANGED
|
@@ -60,7 +60,7 @@ export async function fastifyRequestHandler<
|
|
|
60
60
|
if ('body' in opts.req) {
|
|
61
61
|
incomingMessage.body = opts.req.body;
|
|
62
62
|
}
|
|
63
|
-
const req = incomingMessageToRequest(incomingMessage, {
|
|
63
|
+
const req = incomingMessageToRequest(incomingMessage, opts.res.raw, {
|
|
64
64
|
maxBodySize: null,
|
|
65
65
|
});
|
|
66
66
|
|
|
@@ -118,6 +118,7 @@ function createHeaders(incoming: http.IncomingHttpHeaders): Headers {
|
|
|
118
118
|
*/
|
|
119
119
|
export function incomingMessageToRequest(
|
|
120
120
|
req: http.IncomingMessage,
|
|
121
|
+
res: http.ServerResponse,
|
|
121
122
|
opts: {
|
|
122
123
|
/**
|
|
123
124
|
* Max body size in bytes. If the body is larger than this, the request will be aborted
|
|
@@ -128,12 +129,15 @@ export function incomingMessageToRequest(
|
|
|
128
129
|
const ac = new AbortController();
|
|
129
130
|
|
|
130
131
|
const onAbort = () => {
|
|
132
|
+
res.off('close', onAbort);
|
|
133
|
+
req.socket.off('end', onAbort);
|
|
134
|
+
|
|
135
|
+
// abort the request
|
|
131
136
|
ac.abort();
|
|
132
|
-
req.off('aborted', onAbort);
|
|
133
|
-
req.off('close', onAbort);
|
|
134
137
|
};
|
|
135
|
-
|
|
136
|
-
|
|
138
|
+
|
|
139
|
+
res.once('close', onAbort);
|
|
140
|
+
req.socket.once('end', onAbort);
|
|
137
141
|
|
|
138
142
|
// Get host from either regular header or HTTP/2 pseudo-header
|
|
139
143
|
const url = createURL(req);
|
|
@@ -25,6 +25,7 @@ import type {
|
|
|
25
25
|
NodeHTTPRequestHandlerOptions,
|
|
26
26
|
NodeHTTPResponse,
|
|
27
27
|
} from './types';
|
|
28
|
+
import { writeResponse } from './writeResponse';
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* @internal
|
|
@@ -82,7 +83,7 @@ export async function nodeHTTPRequestHandler<
|
|
|
82
83
|
});
|
|
83
84
|
return handleViaMiddleware(opts.req, opts.res, (err: unknown) => {
|
|
84
85
|
run(async () => {
|
|
85
|
-
const
|
|
86
|
+
const request = incomingMessageToRequest(opts.req, opts.res, {
|
|
86
87
|
maxBodySize: opts.maxBodySize ?? null,
|
|
87
88
|
});
|
|
88
89
|
|
|
@@ -98,7 +99,7 @@ export async function nodeHTTPRequestHandler<
|
|
|
98
99
|
|
|
99
100
|
const response = await resolveResponse({
|
|
100
101
|
...opts,
|
|
101
|
-
req,
|
|
102
|
+
req: request,
|
|
102
103
|
error: err ? getTRPCErrorFromUnknown(err) : null,
|
|
103
104
|
createContext,
|
|
104
105
|
onError(o) {
|
|
@@ -109,50 +110,11 @@ export async function nodeHTTPRequestHandler<
|
|
|
109
110
|
},
|
|
110
111
|
});
|
|
111
112
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
for (const [key, value] of response.headers) {
|
|
118
|
-
res.setHeader(key, value);
|
|
119
|
-
}
|
|
120
|
-
if (response.body) {
|
|
121
|
-
const reader = response.body.getReader();
|
|
122
|
-
const onAbort = () => {
|
|
123
|
-
// cancelling the reader will cause the whole stream to be cancelled
|
|
124
|
-
reader.cancel().catch(() => {
|
|
125
|
-
// console.error('reader.cancel() error', err);
|
|
126
|
-
});
|
|
127
|
-
};
|
|
128
|
-
req.signal.addEventListener('abort', onAbort, {
|
|
129
|
-
once: true,
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
while (true) {
|
|
133
|
-
const { done, value } = await reader.read();
|
|
134
|
-
|
|
135
|
-
if (done) {
|
|
136
|
-
break;
|
|
137
|
-
}
|
|
138
|
-
if (!res.writable) {
|
|
139
|
-
break;
|
|
140
|
-
}
|
|
141
|
-
if (res.write(value) === false) {
|
|
142
|
-
await new Promise<void>((resolve) => {
|
|
143
|
-
res.once('drain', resolve);
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// useful for debugging chunked responses:
|
|
148
|
-
// console.log('wrote', Buffer.from(value).toString());
|
|
149
|
-
|
|
150
|
-
// IMPORTANT - flush the response buffer, otherwise the client will not receive the data until `.end()`
|
|
151
|
-
res.flush?.();
|
|
152
|
-
}
|
|
153
|
-
req.signal.removeEventListener('abort', onAbort);
|
|
154
|
-
}
|
|
155
|
-
res.end();
|
|
113
|
+
await writeResponse({
|
|
114
|
+
request,
|
|
115
|
+
response,
|
|
116
|
+
rawResponse: opts.res,
|
|
117
|
+
});
|
|
156
118
|
}).catch(internal_exceptionHandler(opts));
|
|
157
119
|
});
|
|
158
120
|
});
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// eslint-disable-next-line no-restricted-imports
|
|
2
|
+
import { isAbortError } from '../../unstable-core-do-not-import';
|
|
3
|
+
import type { NodeHTTPResponse } from './types';
|
|
4
|
+
|
|
5
|
+
async function writeResponseBodyChunk(
|
|
6
|
+
res: NodeHTTPResponse,
|
|
7
|
+
chunk: Uint8Array,
|
|
8
|
+
) {
|
|
9
|
+
if (res.write(chunk) === false) {
|
|
10
|
+
await new Promise<void>((resolve, reject) => {
|
|
11
|
+
const onError = (err: unknown) => {
|
|
12
|
+
reject(err);
|
|
13
|
+
cleanup();
|
|
14
|
+
};
|
|
15
|
+
const onDrain = () => {
|
|
16
|
+
resolve();
|
|
17
|
+
cleanup();
|
|
18
|
+
};
|
|
19
|
+
const cleanup = () => {
|
|
20
|
+
res.off('error', onError);
|
|
21
|
+
res.off('drain', onDrain);
|
|
22
|
+
};
|
|
23
|
+
res.once('error', onError);
|
|
24
|
+
res.once('drain', onDrain);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
export async function writeResponseBody(opts: {
|
|
33
|
+
res: NodeHTTPResponse;
|
|
34
|
+
signal: AbortSignal;
|
|
35
|
+
body: NonNullable<Response['body']>;
|
|
36
|
+
}) {
|
|
37
|
+
const { res } = opts;
|
|
38
|
+
|
|
39
|
+
try {
|
|
40
|
+
const writableStream = new WritableStream({
|
|
41
|
+
async write(chunk) {
|
|
42
|
+
await writeResponseBodyChunk(res, chunk);
|
|
43
|
+
res.flush?.();
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
await opts.body.pipeTo(writableStream, {
|
|
48
|
+
signal: opts.signal,
|
|
49
|
+
});
|
|
50
|
+
} catch (err) {
|
|
51
|
+
if (isAbortError(err)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
throw err;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
export async function writeResponse(opts: {
|
|
62
|
+
request: Request;
|
|
63
|
+
response: Response;
|
|
64
|
+
rawResponse: NodeHTTPResponse;
|
|
65
|
+
}) {
|
|
66
|
+
const { response, rawResponse } = opts;
|
|
67
|
+
|
|
68
|
+
// Only override status code if it hasn't been explicitly set in a procedure etc
|
|
69
|
+
if (rawResponse.statusCode === 200) {
|
|
70
|
+
rawResponse.statusCode = response.status;
|
|
71
|
+
}
|
|
72
|
+
for (const [key, value] of response.headers) {
|
|
73
|
+
rawResponse.setHeader(key, value);
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
if (response.body) {
|
|
77
|
+
await writeResponseBody({
|
|
78
|
+
res: rawResponse,
|
|
79
|
+
signal: opts.request.signal,
|
|
80
|
+
body: response.body,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
} catch (err) {
|
|
84
|
+
if (!rawResponse.headersSent) {
|
|
85
|
+
rawResponse.statusCode = 500;
|
|
86
|
+
}
|
|
87
|
+
throw err;
|
|
88
|
+
} finally {
|
|
89
|
+
rawResponse.end();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -300,9 +300,8 @@ export async function resolveResponse<TRouter extends AnyRouter>(
|
|
|
300
300
|
const isStreamCall = req.headers.get('trpc-accept') === 'application/jsonl';
|
|
301
301
|
|
|
302
302
|
const experimentalIterablesAndDeferreds =
|
|
303
|
-
|
|
304
|
-
const experimentalSSE =
|
|
305
|
-
router._def._config.experimental?.sseSubscriptions?.enabled ?? true;
|
|
303
|
+
config.iterablesAndDeferreds ?? true;
|
|
304
|
+
const experimentalSSE = config.sse?.enabled ?? true;
|
|
306
305
|
try {
|
|
307
306
|
const [infoError, info] = infoTuple;
|
|
308
307
|
if (infoError) {
|
|
@@ -465,7 +464,7 @@ export async function resolveResponse<TRouter extends AnyRouter>(
|
|
|
465
464
|
});
|
|
466
465
|
|
|
467
466
|
const stream = sseStreamProducer({
|
|
468
|
-
...config.
|
|
467
|
+
...config.sse,
|
|
469
468
|
data: iterable,
|
|
470
469
|
abortCtrl: result?.abortCtrl ?? new AbortController(),
|
|
471
470
|
serialize: (v) => config.transformer.output.serialize(v),
|
|
@@ -76,6 +76,7 @@ class TRPCBuilder<TContext extends object, TMeta extends object> {
|
|
|
76
76
|
}>;
|
|
77
77
|
|
|
78
78
|
const config: RootConfig<$Root> = {
|
|
79
|
+
...opts,
|
|
79
80
|
transformer: getDataTransformer(opts?.transformer ?? defaultTransformer),
|
|
80
81
|
isDev:
|
|
81
82
|
opts?.isDev ??
|
|
@@ -89,7 +90,6 @@ class TRPCBuilder<TContext extends object, TMeta extends object> {
|
|
|
89
90
|
* @internal
|
|
90
91
|
*/
|
|
91
92
|
$types: null as any,
|
|
92
|
-
experimental: opts?.experimental ?? {},
|
|
93
93
|
};
|
|
94
94
|
|
|
95
95
|
{
|
|
@@ -65,26 +65,26 @@ export interface RootConfig<TTypes extends RootTypes> {
|
|
|
65
65
|
|
|
66
66
|
defaultMeta?: TTypes['meta'] extends object ? TTypes['meta'] : never;
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Enable support for returning async iterables and returning deferred promises when using `httpBatchStreamLink`
|
|
70
|
+
* @default true
|
|
71
|
+
*/
|
|
72
|
+
iterablesAndDeferreds?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Options for server-sent events (SSE) subscriptions
|
|
75
|
+
* @see https://trpc.io/docs/client/links/httpSubscriptionLink
|
|
76
|
+
*/
|
|
77
|
+
sse?: {
|
|
69
78
|
/**
|
|
70
|
-
* Enable
|
|
79
|
+
* Enable server-sent events (SSE) subscriptions
|
|
71
80
|
* @default true
|
|
72
81
|
*/
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
* Enable server-sent events (SSE) subscriptions
|
|
80
|
-
* @default true
|
|
81
|
-
*/
|
|
82
|
-
enabled?: boolean;
|
|
83
|
-
} & Pick<
|
|
84
|
-
SSEStreamProducerOptions,
|
|
85
|
-
'ping' | 'emitAndEndImmediately' | 'maxDurationMs'
|
|
86
|
-
>;
|
|
87
|
-
};
|
|
82
|
+
enabled?: boolean;
|
|
83
|
+
} & Pick<
|
|
84
|
+
SSEStreamProducerOptions,
|
|
85
|
+
'ping' | 'emitAndEndImmediately' | 'maxDurationMs'
|
|
86
|
+
>;
|
|
87
|
+
experimental?: {};
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
/**
|
|
@@ -63,14 +63,15 @@ export interface TRPCRequest
|
|
|
63
63
|
|
|
64
64
|
export interface TRPCResult<TData = unknown> {
|
|
65
65
|
data: TData;
|
|
66
|
+
type?: 'data';
|
|
67
|
+
/**
|
|
68
|
+
* The id of the message to keep track of in case of a reconnect
|
|
69
|
+
*/
|
|
70
|
+
id?: string;
|
|
66
71
|
}
|
|
67
72
|
|
|
68
73
|
export interface TRPCSuccessResponse<TData>
|
|
69
|
-
extends JSONRPC2.ResultResponse<
|
|
70
|
-
TRPCResult<TData> & {
|
|
71
|
-
type?: 'data';
|
|
72
|
-
}
|
|
73
|
-
> {}
|
|
74
|
+
extends JSONRPC2.ResultResponse<TRPCResult<TData>> {}
|
|
74
75
|
|
|
75
76
|
export interface TRPCErrorResponse<
|
|
76
77
|
TError extends TRPCErrorShape = TRPCErrorShape,
|
|
@@ -111,13 +112,7 @@ export interface TRPCResultMessage<TData>
|
|
|
111
112
|
extends JSONRPC2.ResultResponse<
|
|
112
113
|
| { type: 'started'; data?: never }
|
|
113
114
|
| { type: 'stopped'; data?: never }
|
|
114
|
-
|
|
|
115
|
-
type: 'data';
|
|
116
|
-
/**
|
|
117
|
-
* The id of the message to keep track of in case of a reconnect
|
|
118
|
-
*/
|
|
119
|
-
id?: string;
|
|
120
|
-
})
|
|
115
|
+
| TRPCResult<TData>
|
|
121
116
|
> {}
|
|
122
117
|
|
|
123
118
|
export type TRPCResponseMessage<
|