@trpc/server 10.22.0 → 10.23.0

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.
Files changed (83) hide show
  1. package/dist/adapters/aws-lambda/index.js +2 -1
  2. package/dist/adapters/aws-lambda/index.mjs +2 -1
  3. package/dist/adapters/express.js +5 -2
  4. package/dist/adapters/express.mjs +5 -2
  5. package/dist/adapters/fastify/index.js +2 -1
  6. package/dist/adapters/fastify/index.mjs +2 -1
  7. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
  8. package/dist/adapters/fetch/index.js +3 -2
  9. package/dist/adapters/fetch/index.mjs +3 -2
  10. package/dist/adapters/next.js +5 -2
  11. package/dist/adapters/next.mjs +5 -2
  12. package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts +70 -0
  13. package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts.map +1 -0
  14. package/dist/adapters/node-http/content-type/form-data/index.d.ts +24 -0
  15. package/dist/adapters/node-http/content-type/form-data/index.d.ts.map +1 -0
  16. package/dist/adapters/node-http/content-type/form-data/index.js +723 -0
  17. package/dist/adapters/node-http/content-type/form-data/index.mjs +708 -0
  18. package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts +31 -0
  19. package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts.map +1 -0
  20. package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts +11 -0
  21. package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts.map +1 -0
  22. package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts +40 -0
  23. package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts.map +1 -0
  24. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts +7 -0
  25. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts.map +1 -0
  26. package/dist/adapters/node-http/content-type/json/index.d.ts +2 -0
  27. package/dist/adapters/node-http/content-type/json/index.d.ts.map +1 -0
  28. package/dist/adapters/node-http/content-type/json/index.js +53 -0
  29. package/dist/adapters/node-http/content-type/json/index.mjs +49 -0
  30. package/dist/adapters/node-http/index.js +5 -2
  31. package/dist/adapters/node-http/index.mjs +5 -2
  32. package/dist/adapters/node-http/internals/contentType.d.ts +9 -0
  33. package/dist/adapters/node-http/internals/contentType.d.ts.map +1 -0
  34. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +1 -7
  35. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  36. package/dist/adapters/node-http/types.d.ts +7 -0
  37. package/dist/adapters/node-http/types.d.ts.map +1 -1
  38. package/dist/adapters/standalone.js +5 -2
  39. package/dist/adapters/standalone.mjs +5 -2
  40. package/dist/contentType-3194ed5f.mjs +5 -0
  41. package/dist/contentType-8356d528.js +54 -0
  42. package/dist/contentType-8c16408e.js +7 -0
  43. package/dist/contentType-a75c990c.js +58 -0
  44. package/dist/contentType-acc3be52.mjs +52 -0
  45. package/dist/contentType-f27e4bfc.js +5 -0
  46. package/dist/core/index.d.ts +1 -0
  47. package/dist/core/index.d.ts.map +1 -1
  48. package/dist/core/middleware.d.ts +3 -0
  49. package/dist/core/middleware.d.ts.map +1 -1
  50. package/dist/http/contentType.d.ts +29 -0
  51. package/dist/http/contentType.d.ts.map +1 -0
  52. package/dist/http/index.js +2 -1
  53. package/dist/http/index.mjs +2 -1
  54. package/dist/http/resolveHTTPResponse.d.ts +2 -0
  55. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  56. package/dist/index.js +6 -4
  57. package/dist/index.mjs +6 -4
  58. package/dist/{nodeHTTPRequestHandler-8bbfaa5c.js → nodeHTTPRequestHandler-953c8f9a.js} +22 -54
  59. package/dist/{nodeHTTPRequestHandler-9d8156da.js → nodeHTTPRequestHandler-c1dcd256.js} +22 -47
  60. package/dist/{nodeHTTPRequestHandler-4f6f12f6.mjs → nodeHTTPRequestHandler-fcbe1351.mjs} +22 -54
  61. package/dist/{resolveHTTPResponse-b413b925.js → resolveHTTPResponse-9a9f3436.js} +10 -56
  62. package/dist/{resolveHTTPResponse-a2e412ec.js → resolveHTTPResponse-a7abb046.js} +9 -49
  63. package/dist/{resolveHTTPResponse-24febe05.mjs → resolveHTTPResponse-e1286cb3.mjs} +10 -50
  64. package/package.json +14 -2
  65. package/src/adapters/fetch/fetchRequestHandler.ts +4 -1
  66. package/src/adapters/node-http/content-type/form-data/fileUploadHandler.ts +268 -0
  67. package/src/adapters/node-http/content-type/form-data/index.ts +105 -0
  68. package/src/adapters/node-http/content-type/form-data/memoryUploadHandler.ts +59 -0
  69. package/src/adapters/node-http/content-type/form-data/streamSlice.ts +51 -0
  70. package/src/adapters/node-http/content-type/form-data/uploadHandler.ts +85 -0
  71. package/src/adapters/node-http/{internals → content-type/json}/getPostBody.test.ts +6 -2
  72. package/src/adapters/node-http/{internals → content-type/json}/getPostBody.ts +5 -7
  73. package/src/adapters/node-http/content-type/json/index.ts +11 -0
  74. package/src/adapters/node-http/internals/contentType.ts +29 -0
  75. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +34 -35
  76. package/src/adapters/node-http/types.ts +15 -0
  77. package/src/core/index.ts +1 -1
  78. package/src/core/internals/procedureBuilder.ts +21 -4
  79. package/src/core/middleware.ts +1 -0
  80. package/src/http/contentType.ts +100 -0
  81. package/src/http/resolveHTTPResponse.ts +18 -65
  82. package/dist/adapters/node-http/internals/getPostBody.d.ts +0 -14
  83. package/dist/adapters/node-http/internals/getPostBody.d.ts.map +0 -1
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright 2021 Remix Software Inc.
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
5
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
6
+ */
7
+ /**
8
+ * @see https://github.com/remix-run/remix/blob/0bcb4a304dd2f08f6032c3bf0c3aa7eb5b976901/packages/remix-server-runtime/upload/memoryUploadHandler.ts
9
+ */
10
+ import { UploadHandler } from './uploadHandler';
11
+ export declare type MemoryUploadHandlerFilterArgs = {
12
+ filename?: string;
13
+ contentType: string;
14
+ name: string;
15
+ };
16
+ export declare type MemoryUploadHandlerOptions = {
17
+ /**
18
+ * The maximum upload size allowed. If the size is exceeded an error will be thrown.
19
+ * Defaults to 3000000B (3MB).
20
+ */
21
+ maxPartSize?: number;
22
+ /**
23
+ *
24
+ * @param filename
25
+ * @param mimetype
26
+ * @param encoding
27
+ */
28
+ filter?(args: MemoryUploadHandlerFilterArgs): boolean | Promise<boolean>;
29
+ };
30
+ export declare function createMemoryUploadHandler({ filter, maxPartSize, }?: MemoryUploadHandlerOptions): UploadHandler;
31
+ //# sourceMappingURL=memoryUploadHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoryUploadHandler.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/node-http/content-type/form-data/memoryUploadHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,OAAO,EAA4B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE1E,oBAAY,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,0BAA0B,GAAG;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,6BAA6B,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,WAAqB,GACtB,GAAE,0BAA+B,GAAG,aAAa,CAsBjD"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { Transform, TransformCallback } from 'node:stream';
4
+ declare class SliceStream extends Transform {
5
+ #private;
6
+ constructor(start?: number, end?: number);
7
+ _transform(chunk: any, _: BufferEncoding, done: TransformCallback): void;
8
+ }
9
+ export declare function streamSlice(start?: number, end?: number): SliceStream;
10
+ export {};
11
+ //# sourceMappingURL=streamSlice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamSlice.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/node-http/content-type/form-data/streamSlice.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE3D,cAAM,WAAY,SAAQ,SAAS;;gBAOrB,KAAK,SAAI,EAAE,GAAG,SAAW;IAMrC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI;CA+BzE;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAI,EAAE,GAAG,SAAW,GAAG,WAAW,CAElE"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @see https://github.com/remix-run/remix/blob/0bcb4a304dd2f08f6032c3bf0c3aa7eb5b976901/packages/remix-server-runtime/formData.ts
3
+ */
4
+ export declare type UploadHandlerPart = {
5
+ name: string;
6
+ filename?: string;
7
+ contentType: string;
8
+ data: AsyncIterable<Uint8Array>;
9
+ };
10
+ export declare type UploadHandler = (part: UploadHandlerPart) => Promise<File | string | null | undefined>;
11
+ export declare function composeUploadHandlers(...handlers: UploadHandler[]): UploadHandler;
12
+ export declare class MaxPartSizeExceededError extends Error {
13
+ field: string;
14
+ maxBytes: number;
15
+ constructor(field: string, maxBytes: number);
16
+ }
17
+ export declare type MemoryUploadHandlerFilterArgs = {
18
+ filename?: string;
19
+ contentType: string;
20
+ name: string;
21
+ };
22
+ export declare type MemoryUploadHandlerOptions = {
23
+ /**
24
+ * The maximum upload size allowed. If the size is exceeded an error will be thrown.
25
+ * Defaults to 3000000B (3MB).
26
+ */
27
+ maxPartSize?: number;
28
+ /**
29
+ *
30
+ * @param filename
31
+ * @param mimetype
32
+ * @param encoding
33
+ */
34
+ filter?(args: MemoryUploadHandlerFilterArgs): boolean | Promise<boolean>;
35
+ };
36
+ /**
37
+ * @see
38
+ */
39
+ export declare function createMemoryUploadHandler({ filter, maxPartSize, }?: MemoryUploadHandlerOptions): UploadHandler;
40
+ //# sourceMappingURL=uploadHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadHandler.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/node-http/content-type/form-data/uploadHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACjC,CAAC;AAEF,oBAAY,aAAa,GAAG,CAC1B,IAAI,EAAE,iBAAiB,KACpB,OAAO,CAAC,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE/C,wBAAgB,qBAAqB,CACnC,GAAG,QAAQ,EAAE,aAAa,EAAE,GAC3B,aAAa,CAWf;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IAC9B,KAAK,EAAE,MAAM;IAAS,QAAQ,EAAE,MAAM;gBAAtC,KAAK,EAAE,MAAM,EAAS,QAAQ,EAAE,MAAM;CAG1D;AAED,oBAAY,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,0BAA0B,GAAG;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,6BAA6B,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E,CAAC;AAEF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,WAAqB,GACtB,GAAE,0BAA+B,GAAG,aAAa,CAsBjD"}
@@ -0,0 +1,7 @@
1
+ import { BodyResult } from '../../../../http/contentType';
2
+ import { NodeHTTPRequest } from '../../types';
3
+ export declare function getPostBody(opts: {
4
+ req: NodeHTTPRequest;
5
+ maxBodySize?: number;
6
+ }): Promise<BodyResult>;
7
+ //# sourceMappingURL=getPostBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPostBody.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/node-http/content-type/json/getPostBody.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACtC,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4BtB"}
@@ -0,0 +1,2 @@
1
+ export declare const nodeHTTPJSONContentTypeHandler: <TRequest extends import("../..").NodeHTTPRequest, TResponse extends import("../..").NodeHTTPResponse>() => import("../../internals/contentType").NodeHTTPContentTypeHandler<TRequest, TResponse>;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/node-http/content-type/json/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,8BAA8B,mMAMzC,CAAC"}
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var contentType$1 = require('../../../../contentType-8356d528.js');
6
+ var contentType = require('../../../../contentType-8c16408e.js');
7
+ var TRPCError = require('../../../../TRPCError-16b2e52d.js');
8
+
9
+ async function getPostBody(opts) {
10
+ const { req , maxBodySize =Infinity } = opts;
11
+ return new Promise((resolve)=>{
12
+ if ('body' in req) {
13
+ resolve({
14
+ ok: true,
15
+ data: req.body,
16
+ preprocessed: true
17
+ });
18
+ return;
19
+ }
20
+ let body = '';
21
+ let hasBody = false;
22
+ req.on('data', function(data) {
23
+ body += data;
24
+ hasBody = true;
25
+ if (body.length > maxBodySize) {
26
+ resolve({
27
+ ok: false,
28
+ error: new TRPCError.TRPCError({
29
+ code: 'PAYLOAD_TOO_LARGE'
30
+ })
31
+ });
32
+ req.socket.destroy();
33
+ }
34
+ });
35
+ req.on('end', ()=>{
36
+ resolve({
37
+ ok: true,
38
+ data: hasBody ? body : undefined,
39
+ preprocessed: false
40
+ });
41
+ });
42
+ });
43
+ }
44
+
45
+ const nodeHTTPJSONContentTypeHandler = contentType.createNodeHTTPContentTypeHandler({
46
+ isMatch (opts) {
47
+ return opts.req.headers['content-type'] === 'application/json';
48
+ },
49
+ getBody: getPostBody,
50
+ getInputs: contentType$1.getJsonContentTypeInputs
51
+ });
52
+
53
+ exports.nodeHTTPJSONContentTypeHandler = nodeHTTPJSONContentTypeHandler;
@@ -0,0 +1,49 @@
1
+ import { g as getJsonContentTypeInputs } from '../../../../contentType-acc3be52.mjs';
2
+ import { c as createNodeHTTPContentTypeHandler } from '../../../../contentType-3194ed5f.mjs';
3
+ import { T as TRPCError } from '../../../../TRPCError-2b10c8d2.mjs';
4
+
5
+ async function getPostBody(opts) {
6
+ const { req , maxBodySize =Infinity } = opts;
7
+ return new Promise((resolve)=>{
8
+ if ('body' in req) {
9
+ resolve({
10
+ ok: true,
11
+ data: req.body,
12
+ preprocessed: true
13
+ });
14
+ return;
15
+ }
16
+ let body = '';
17
+ let hasBody = false;
18
+ req.on('data', function(data) {
19
+ body += data;
20
+ hasBody = true;
21
+ if (body.length > maxBodySize) {
22
+ resolve({
23
+ ok: false,
24
+ error: new TRPCError({
25
+ code: 'PAYLOAD_TOO_LARGE'
26
+ })
27
+ });
28
+ req.socket.destroy();
29
+ }
30
+ });
31
+ req.on('end', ()=>{
32
+ resolve({
33
+ ok: true,
34
+ data: hasBody ? body : undefined,
35
+ preprocessed: false
36
+ });
37
+ });
38
+ });
39
+ }
40
+
41
+ const nodeHTTPJSONContentTypeHandler = createNodeHTTPContentTypeHandler({
42
+ isMatch (opts) {
43
+ return opts.req.headers['content-type'] === 'application/json';
44
+ },
45
+ getBody: getPostBody,
46
+ getInputs: getJsonContentTypeInputs
47
+ });
48
+
49
+ export { nodeHTTPJSONContentTypeHandler };
@@ -2,13 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-8bbfaa5c.js');
6
- require('../../resolveHTTPResponse-a2e412ec.js');
5
+ var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-953c8f9a.js');
6
+ require('../../resolveHTTPResponse-a7abb046.js');
7
7
  require('../../config-e6e74385.js');
8
8
  require('../../TRPCError-16b2e52d.js');
9
9
  require('../../codes-0a561c20.js');
10
10
  require('../../index-4d2d31b6.js');
11
11
  require('../../transformTRPCResponse-8afb9a5c.js');
12
+ require('../../contentType-8356d528.js');
13
+ require('./content-type/json/index.js');
14
+ require('../../contentType-8c16408e.js');
12
15
 
13
16
 
14
17
 
@@ -1,7 +1,10 @@
1
- export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-4f6f12f6.mjs';
2
- import '../../resolveHTTPResponse-24febe05.mjs';
1
+ export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-fcbe1351.mjs';
2
+ import '../../resolveHTTPResponse-e1286cb3.mjs';
3
3
  import '../../config-f0387de5.mjs';
4
4
  import '../../TRPCError-2b10c8d2.mjs';
5
5
  import '../../codes-e5d244b6.mjs';
6
6
  import '../../index-972002da.mjs';
7
7
  import '../../transformTRPCResponse-0ea8c0ca.mjs';
8
+ import '../../contentType-acc3be52.mjs';
9
+ import './content-type/json/index.mjs';
10
+ import '../../contentType-3194ed5f.mjs';
@@ -0,0 +1,9 @@
1
+ import { AnyRouter } from '../../../core';
2
+ import { BaseContentTypeHandler } from '../../../http/contentType';
3
+ import { NodeHTTPRequest, NodeHTTPRequestHandlerOptions, NodeHTTPResponse } from '../types';
4
+ export interface NodeHTTPContentTypeHandler<TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse> extends BaseContentTypeHandler<NodeHTTPRequestHandlerOptions<AnyRouter, TRequest, TResponse> & {
5
+ query: URLSearchParams;
6
+ }> {
7
+ }
8
+ export declare function createNodeHTTPContentTypeHandler(contentTypeHandler: NodeHTTPContentTypeHandler<NodeHTTPRequest, NodeHTTPResponse>): <TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse>() => NodeHTTPContentTypeHandler<TRequest, TResponse>;
9
+ //# sourceMappingURL=contentType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentType.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node-http/internals/contentType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,0BAA0B,CACzC,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,CAClC,SAAQ,sBAAsB,CAC5B,6BAA6B,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG;IAC9D,KAAK,EAAE,eAAe,CAAC;CACxB,CACF;CAAG;AAEN,wBAAgB,gCAAgC,CAC9C,kBAAkB,EAAE,0BAA0B,CAC5C,eAAe,EACf,gBAAgB,CACjB,+HAOF"}
@@ -1,10 +1,4 @@
1
1
  import { AnyRouter } from '../../core';
2
- import { NodeHTTPHandlerOptions, NodeHTTPRequest, NodeHTTPResponse } from './types';
3
- declare type NodeHTTPRequestHandlerOptions<TRouter extends AnyRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse> = {
4
- req: TRequest;
5
- res: TResponse;
6
- path: string;
7
- } & NodeHTTPHandlerOptions<TRouter, TRequest, TResponse>;
2
+ import { NodeHTTPRequest, NodeHTTPRequestHandlerOptions, NodeHTTPResponse } from './types';
8
3
  export declare function nodeHTTPRequestHandler<TRouter extends AnyRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse>(opts: NodeHTTPRequestHandlerOptions<TRouter, TRequest, TResponse>): Promise<void>;
9
- export {};
10
4
  //# sourceMappingURL=nodeHTTPRequestHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeHTTPRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/nodeHTTPRequestHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAKvC,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,aAAK,6BAA6B,CAChC,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,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,iBAsElE"}
1
+ {"version":3,"file":"nodeHTTPRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/nodeHTTPRequestHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAMvC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAIjB,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,iBA4ElE"}
@@ -3,6 +3,7 @@ import { IncomingMessage, ServerResponse } from 'http';
3
3
  import { AnyRouter, inferRouterContext } from '../../core';
4
4
  import { HTTPBaseHandlerOptions } from '../../http';
5
5
  import { MaybePromise } from '../../types';
6
+ import { NodeHTTPContentTypeHandler } from './internals/contentType';
6
7
  interface ParsedQs {
7
8
  [key: string]: undefined | string | string[] | ParsedQs | ParsedQs[];
8
9
  }
@@ -47,7 +48,13 @@ export declare type NodeHTTPHandlerOptions<TRouter extends AnyRouter, TRequest e
47
48
  */
48
49
  middleware?: ConnectMiddleware;
49
50
  maxBodySize?: number;
51
+ experimental_contentTypeHandlers?: NodeHTTPContentTypeHandler<TRequest, TResponse>[];
50
52
  } & NodeHTTPCreateContextOption<TRouter, TRequest, TResponse>;
53
+ export declare type NodeHTTPRequestHandlerOptions<TRouter extends AnyRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse> = {
54
+ req: TRequest;
55
+ res: TResponse;
56
+ path: string;
57
+ } & NodeHTTPHandlerOptions<TRouter, TRequest, TResponse>;
51
58
  export declare type NodeHTTPCreateContextFnOptions<TRequest, TResponse> = {
52
59
  req: TRequest;
53
60
  res: TResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,UAAU,QAAQ;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC;CACtE;AAED,oBAAY,eAAe,GAAG,eAAe,GAAG;IAC9C,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,oBAAY,gBAAgB,GAAG,cAAc,CAAC;AAE9C,oBAAY,2BAA2B,CACrC,OAAO,SAAS,SAAS,EACzB,QAAQ,EACR,SAAS,IACP,MAAM,SAAS,kBAAkB,CAAC,OAAO,CAAC,GAC1C;IACE;;QAEI;IACJ,aAAa,CAAC,EAAE,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACvE,GACD;IACE;;QAEI;IACJ,aAAa,EAAE,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACtE,CAAC;AAEN;;GAEG;AACH,UAAU,iBAAiB,CACzB,QAAQ,SAAS,eAAe,GAAG,eAAe,EAClD,SAAS,SAAS,gBAAgB,GAAG,gBAAgB;IAErD,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI,CAAC;CACjE;AAED,oBAAY,sBAAsB,CAChC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,IAChC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG;IAC9C;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE9D,oBAAY,8BAA8B,CAAC,QAAQ,EAAE,SAAS,IAAI;IAChE,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;CAChB,CAAC;AACF,oBAAY,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
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,UAAU,QAAQ;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC;CACtE;AAED,oBAAY,eAAe,GAAG,eAAe,GAAG;IAC9C,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,oBAAY,gBAAgB,GAAG,cAAc,CAAC;AAE9C,oBAAY,2BAA2B,CACrC,OAAO,SAAS,SAAS,EACzB,QAAQ,EACR,SAAS,IACP,MAAM,SAAS,kBAAkB,CAAC,OAAO,CAAC,GAC1C;IACE;;QAEI;IACJ,aAAa,CAAC,EAAE,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACvE,GACD;IACE;;QAEI;IACJ,aAAa,EAAE,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACtE,CAAC;AAEN;;GAEG;AACH,UAAU,iBAAiB,CACzB,QAAQ,SAAS,eAAe,GAAG,eAAe,EAClD,SAAS,SAAS,gBAAgB,GAAG,gBAAgB;IAErD,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI,CAAC;CACjE;AAED,oBAAY,sBAAsB,CAChC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,IAChC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG;IAC9C;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC,CAAC,EAAE,0BAA0B,CAC3D,QAAQ,EACR,SAAS,CACV,EAAE,CAAC;CACL,GAAG,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE9D,oBAAY,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,oBAAY,8BAA8B,CAAC,QAAQ,EAAE,SAAS,IAAI;IAChE,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;CAChB,CAAC;AACF,oBAAY,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"}
@@ -3,13 +3,16 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var http = require('node:http');
6
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-8bbfaa5c.js');
7
- require('../resolveHTTPResponse-a2e412ec.js');
6
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-953c8f9a.js');
7
+ require('../resolveHTTPResponse-a7abb046.js');
8
8
  require('../config-e6e74385.js');
9
9
  require('../TRPCError-16b2e52d.js');
10
10
  require('../codes-0a561c20.js');
11
11
  require('../index-4d2d31b6.js');
12
12
  require('../transformTRPCResponse-8afb9a5c.js');
13
+ require('../contentType-8356d528.js');
14
+ require('./node-http/content-type/json/index.js');
15
+ require('../contentType-8c16408e.js');
13
16
 
14
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
18
 
@@ -1,11 +1,14 @@
1
1
  import http from 'node:http';
2
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-4f6f12f6.mjs';
3
- import '../resolveHTTPResponse-24febe05.mjs';
2
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-fcbe1351.mjs';
3
+ import '../resolveHTTPResponse-e1286cb3.mjs';
4
4
  import '../config-f0387de5.mjs';
5
5
  import '../TRPCError-2b10c8d2.mjs';
6
6
  import '../codes-e5d244b6.mjs';
7
7
  import '../index-972002da.mjs';
8
8
  import '../transformTRPCResponse-0ea8c0ca.mjs';
9
+ import '../contentType-acc3be52.mjs';
10
+ import './node-http/content-type/json/index.mjs';
11
+ import '../contentType-3194ed5f.mjs';
9
12
 
10
13
  function createHTTPHandler(opts) {
11
14
  return async (req, res)=>{
@@ -0,0 +1,5 @@
1
+ function createNodeHTTPContentTypeHandler(contentTypeHandler) {
2
+ return ()=>contentTypeHandler;
3
+ }
4
+
5
+ export { createNodeHTTPContentTypeHandler as c };
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ var TRPCError = require('./TRPCError-16b2e52d.js');
4
+
5
+ function getRawProcedureInputOrThrow(opts) {
6
+ const { req } = opts;
7
+ try {
8
+ if (req.method === 'GET') {
9
+ if (!req.query.has('input')) {
10
+ return undefined;
11
+ }
12
+ const raw = req.query.get('input');
13
+ return JSON.parse(raw);
14
+ }
15
+ if (!opts.preprocessedBody && typeof req.body === 'string') {
16
+ // A mutation with no inputs will have req.body === ''
17
+ return req.body.length === 0 ? undefined : JSON.parse(req.body);
18
+ }
19
+ return req.body;
20
+ } catch (err) {
21
+ throw new TRPCError.TRPCError({
22
+ code: 'PARSE_ERROR',
23
+ cause: TRPCError.getCauseFromUnknown(err)
24
+ });
25
+ }
26
+ }
27
+ const deserializeInputValue = (rawValue, transformer)=>{
28
+ return typeof rawValue !== 'undefined' ? transformer.input.deserialize(rawValue) : rawValue;
29
+ };
30
+ const getJsonContentTypeInputs = (opts)=>{
31
+ const rawInput = getRawProcedureInputOrThrow(opts);
32
+ const transformer = opts.router._def._config.transformer;
33
+ if (!opts.isBatchCall) {
34
+ return {
35
+ 0: deserializeInputValue(rawInput, transformer)
36
+ };
37
+ }
38
+ /* istanbul ignore if */ if (rawInput == null || typeof rawInput !== 'object' || Array.isArray(rawInput)) {
39
+ throw new TRPCError.TRPCError({
40
+ code: 'BAD_REQUEST',
41
+ message: '"input" needs to be an object when doing a batch call'
42
+ });
43
+ }
44
+ const input = {};
45
+ for(const key in rawInput){
46
+ const k = key;
47
+ const rawValue = rawInput[k];
48
+ const value = deserializeInputValue(rawValue, transformer);
49
+ input[k] = value;
50
+ }
51
+ return input;
52
+ };
53
+
54
+ exports.getJsonContentTypeInputs = getJsonContentTypeInputs;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ function createNodeHTTPContentTypeHandler(contentTypeHandler) {
4
+ return ()=>contentTypeHandler;
5
+ }
6
+
7
+ exports.createNodeHTTPContentTypeHandler = createNodeHTTPContentTypeHandler;
@@ -0,0 +1,58 @@
1
+ import { T as TRPCError, g as getCauseFromUnknown } from './TRPCError-61026c9a.js';
2
+
3
+ function getRawProcedureInputOrThrow(opts) {
4
+ const { req } = opts;
5
+ try {
6
+ if (req.method === 'GET') {
7
+ if (!req.query.has('input')) {
8
+ return undefined;
9
+ }
10
+ const raw = req.query.get('input');
11
+ return JSON.parse(raw);
12
+ }
13
+ if (!opts.preprocessedBody && typeof req.body === 'string') {
14
+ // A mutation with no inputs will have req.body === ''
15
+ return req.body.length === 0 ? undefined : JSON.parse(req.body);
16
+ }
17
+ return req.body;
18
+ }
19
+ catch (err) {
20
+ throw new TRPCError({
21
+ code: 'PARSE_ERROR',
22
+ cause: getCauseFromUnknown(err),
23
+ });
24
+ }
25
+ }
26
+ const deserializeInputValue = (rawValue, transformer) => {
27
+ return typeof rawValue !== 'undefined'
28
+ ? transformer.input.deserialize(rawValue)
29
+ : rawValue;
30
+ };
31
+ const getJsonContentTypeInputs = (opts) => {
32
+ const rawInput = getRawProcedureInputOrThrow(opts);
33
+ const transformer = opts.router._def._config.transformer;
34
+ if (!opts.isBatchCall) {
35
+ return {
36
+ 0: deserializeInputValue(rawInput, transformer),
37
+ };
38
+ }
39
+ /* istanbul ignore if */
40
+ if (rawInput == null ||
41
+ typeof rawInput !== 'object' ||
42
+ Array.isArray(rawInput)) {
43
+ throw new TRPCError({
44
+ code: 'BAD_REQUEST',
45
+ message: '"input" needs to be an object when doing a batch call',
46
+ });
47
+ }
48
+ const input = {};
49
+ for (const key in rawInput) {
50
+ const k = key;
51
+ const rawValue = rawInput[k];
52
+ const value = deserializeInputValue(rawValue, transformer);
53
+ input[k] = value;
54
+ }
55
+ return input;
56
+ };
57
+
58
+ export { getJsonContentTypeInputs as g };
@@ -0,0 +1,52 @@
1
+ import { T as TRPCError, g as getCauseFromUnknown } from './TRPCError-2b10c8d2.mjs';
2
+
3
+ function getRawProcedureInputOrThrow(opts) {
4
+ const { req } = opts;
5
+ try {
6
+ if (req.method === 'GET') {
7
+ if (!req.query.has('input')) {
8
+ return undefined;
9
+ }
10
+ const raw = req.query.get('input');
11
+ return JSON.parse(raw);
12
+ }
13
+ if (!opts.preprocessedBody && typeof req.body === 'string') {
14
+ // A mutation with no inputs will have req.body === ''
15
+ return req.body.length === 0 ? undefined : JSON.parse(req.body);
16
+ }
17
+ return req.body;
18
+ } catch (err) {
19
+ throw new TRPCError({
20
+ code: 'PARSE_ERROR',
21
+ cause: getCauseFromUnknown(err)
22
+ });
23
+ }
24
+ }
25
+ const deserializeInputValue = (rawValue, transformer)=>{
26
+ return typeof rawValue !== 'undefined' ? transformer.input.deserialize(rawValue) : rawValue;
27
+ };
28
+ const getJsonContentTypeInputs = (opts)=>{
29
+ const rawInput = getRawProcedureInputOrThrow(opts);
30
+ const transformer = opts.router._def._config.transformer;
31
+ if (!opts.isBatchCall) {
32
+ return {
33
+ 0: deserializeInputValue(rawInput, transformer)
34
+ };
35
+ }
36
+ /* istanbul ignore if */ if (rawInput == null || typeof rawInput !== 'object' || Array.isArray(rawInput)) {
37
+ throw new TRPCError({
38
+ code: 'BAD_REQUEST',
39
+ message: '"input" needs to be an object when doing a batch call'
40
+ });
41
+ }
42
+ const input = {};
43
+ for(const key in rawInput){
44
+ const k = key;
45
+ const rawValue = rawInput[k];
46
+ const value = deserializeInputValue(rawValue, transformer);
47
+ input[k] = value;
48
+ }
49
+ return input;
50
+ };
51
+
52
+ export { getJsonContentTypeInputs as g };
@@ -0,0 +1,5 @@
1
+ function createNodeHTTPContentTypeHandler(contentTypeHandler) {
2
+ return () => contentTypeHandler;
3
+ }
4
+
5
+ export { createNodeHTTPContentTypeHandler as c };
@@ -3,6 +3,7 @@ export { callProcedure } from './router';
3
3
  export type { Procedure, AnyProcedure, AnyQueryProcedure, AnyMutationProcedure, AnySubscriptionProcedure, ProcedureParams, ProcedureArgs, ProcedureOptions, } from './procedure';
4
4
  export type { inferParser } from './parser';
5
5
  export { createInputMiddleware, createOutputMiddleware } from './middleware';
6
+ export type { MiddlewareFunction, MiddlewareBuilder } from './middleware';
6
7
  export { initTRPC } from './initTRPC';
7
8
  export * from './types';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,GACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACV,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,GACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACV,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,SAAS,CAAC"}
@@ -104,6 +104,9 @@ export declare type MiddlewareFunction<TParams extends ProcedureParams, TParamsA
104
104
  _output_out: TParams['_output_out'];
105
105
  _meta: TParams['_meta'];
106
106
  }>>;
107
+ (opts: {
108
+ rawInput: unknown;
109
+ }): Promise<MiddlewareResult<TParams>>;
107
110
  };
108
111
  }): Promise<MiddlewareResult<TParamsAfter>>;
109
112
  _type?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { AnyRouter } from '../core';
2
+ import { TRPCError } from '../error/TRPCError';
3
+ import { MaybePromise } from '../types';
4
+ import { HTTPRequest } from './types';
5
+ declare type GetInputs = (opts: {
6
+ req: HTTPRequest;
7
+ isBatchCall: boolean;
8
+ router: AnyRouter;
9
+ preprocessedBody: boolean;
10
+ }) => MaybePromise<Record<number, unknown>>;
11
+ export declare type BodyResult = {
12
+ ok: true;
13
+ data: unknown;
14
+ /**
15
+ * If the HTTP handler has already parsed the body
16
+ */
17
+ preprocessed: boolean;
18
+ } | {
19
+ ok: false;
20
+ error: TRPCError;
21
+ };
22
+ export declare type BaseContentTypeHandler<TOptions> = {
23
+ isMatch(opts: TOptions): boolean;
24
+ getBody: (opts: TOptions) => MaybePromise<BodyResult>;
25
+ getInputs: GetInputs;
26
+ };
27
+ export declare const getJsonContentTypeInputs: GetInputs;
28
+ export {};
29
+ //# sourceMappingURL=contentType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentType.d.ts","sourceRoot":"","sources":["../../src/http/contentType.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,aAAK,SAAS,GAAG,CAAC,IAAI,EAAE;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,KAAK,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5C,oBAAY,UAAU,GAClB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEpC,oBAAY,sBAAsB,CAAC,QAAQ,IAAI;IAC7C,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,YAAY,CAAC,UAAU,CAAC,CAAC;IACtD,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAqCF,eAAO,MAAM,wBAAwB,EAAE,SAgCtC,CAAC"}