@trpc/server 10.0.0-proxy-beta.5 → 10.0.0-proxy-beta.6

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 (72) hide show
  1. package/dist/{TRPCError-e99e7cbe.mjs → TRPCError-281ac25a.mjs} +1 -1
  2. package/dist/adapters/aws-lambda/index.js +2 -2
  3. package/dist/adapters/aws-lambda/index.mjs +3 -3
  4. package/dist/adapters/express.js +2 -2
  5. package/dist/adapters/express.mjs +3 -3
  6. package/dist/adapters/fastify/index.js +1 -1
  7. package/dist/adapters/fastify/index.mjs +2 -2
  8. package/dist/adapters/fetch/index.js +1 -1
  9. package/dist/adapters/fetch/index.mjs +2 -2
  10. package/dist/adapters/next.js +2 -2
  11. package/dist/adapters/next.mjs +3 -3
  12. package/dist/adapters/node-http/index.js +2 -2
  13. package/dist/adapters/node-http/index.mjs +3 -3
  14. package/dist/adapters/standalone.d.ts +1 -1
  15. package/dist/adapters/standalone.js +3 -3
  16. package/dist/adapters/standalone.mjs +4 -4
  17. package/dist/adapters/ws.mjs +1 -1
  18. package/dist/index.js +6 -6
  19. package/dist/index.mjs +5 -4
  20. package/dist/{nodeHTTPRequestHandler-1427713e.mjs → nodeHTTPRequestHandler-b59d2c10.mjs} +2 -2
  21. package/dist/{nodeHTTPRequestHandler-c3200031.js → nodeHTTPRequestHandler-d30a4185.js} +1 -1
  22. package/dist/{resolveHTTPResponse-6fecf1e4.js → resolveHTTPResponse-0a8e47b8.js} +1 -273
  23. package/dist/{resolveHTTPResponse-d922c40d.mjs → resolveHTTPResponse-24d99c94.mjs} +3 -270
  24. package/dist/{router-239218de.mjs → router-6e04fa44.mjs} +273 -6
  25. package/dist/{router-cf869ecb.js → router-bf52be2e.js} +279 -8
  26. package/dist/subscription.mjs +1 -1
  27. package/package.json +25 -12
  28. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +0 -1
  29. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +0 -190
  30. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.js +0 -7
  31. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +0 -190
  32. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +0 -186
  33. package/adapters/express/dist/trpc-server-adapters-express.cjs.d.ts +0 -1
  34. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +0 -23
  35. package/adapters/express/dist/trpc-server-adapters-express.cjs.js +0 -7
  36. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +0 -23
  37. package/adapters/express/dist/trpc-server-adapters-express.esm.js +0 -19
  38. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +0 -1
  39. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +0 -109
  40. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +0 -7
  41. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +0 -109
  42. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +0 -104
  43. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +0 -1
  44. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +0 -25
  45. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +0 -7
  46. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +0 -25
  47. package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +0 -21
  48. package/adapters/next/dist/trpc-server-adapters-next.cjs.d.ts +0 -1
  49. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +0 -56
  50. package/adapters/next/dist/trpc-server-adapters-next.cjs.js +0 -7
  51. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +0 -56
  52. package/adapters/next/dist/trpc-server-adapters-next.esm.js +0 -52
  53. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.d.ts +0 -1
  54. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +0 -13
  55. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.js +0 -7
  56. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +0 -13
  57. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +0 -5
  58. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.d.ts +0 -1
  59. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +0 -46
  60. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.js +0 -7
  61. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +0 -46
  62. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +0 -36
  63. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.d.ts +0 -1
  64. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +0 -363
  65. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.js +0 -7
  66. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +0 -363
  67. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +0 -359
  68. package/rpc/dist/trpc-server-rpc.cjs.d.ts +0 -1
  69. package/rpc/dist/trpc-server-rpc.cjs.dev.js +0 -10
  70. package/rpc/dist/trpc-server-rpc.cjs.js +0 -7
  71. package/rpc/dist/trpc-server-rpc.cjs.prod.js +0 -10
  72. package/rpc/dist/trpc-server-rpc.esm.js +0 -1
@@ -54,4 +54,4 @@ class TRPCError extends Error {
54
54
  }
55
55
  }
56
56
 
57
- export { TRPCError as T, getTRPCErrorFromUnknown as a, getCauseFromUnknown as g };
57
+ export { TRPCError as T, getCauseFromUnknown as a, getTRPCErrorFromUnknown as g };
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../router-cf869ecb.js');
5
+ require('../../router-bf52be2e.js');
6
6
  var TRPCError = require('../../TRPCError-fe9113e5.js');
7
- var resolveHTTPResponse = require('../../resolveHTTPResponse-6fecf1e4.js');
7
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-0a8e47b8.js');
8
8
  require('../../codes-76c38a34.js');
9
9
  require('../../index-ae2b3f4b.js');
10
10
  require('../../transformTRPCResponse-11ac69cc.js');
@@ -1,6 +1,6 @@
1
- import '../../router-239218de.mjs';
2
- import { T as TRPCError } from '../../TRPCError-e99e7cbe.mjs';
3
- import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-d922c40d.mjs';
1
+ import '../../router-6e04fa44.mjs';
2
+ import { T as TRPCError } from '../../TRPCError-281ac25a.mjs';
3
+ import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-24d99c94.mjs';
4
4
  import '../../codes-7d21f749.mjs';
5
5
  import '../../index-5b2e87d4.mjs';
6
6
  import '../../transformTRPCResponse-c8138d5f.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-c3200031.js');
6
- require('../resolveHTTPResponse-6fecf1e4.js');
5
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-d30a4185.js');
6
+ require('../resolveHTTPResponse-0a8e47b8.js');
7
7
  require('../TRPCError-fe9113e5.js');
8
8
  require('../codes-76c38a34.js');
9
9
  require('../index-ae2b3f4b.js');
@@ -1,6 +1,6 @@
1
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-1427713e.mjs';
2
- import '../resolveHTTPResponse-d922c40d.mjs';
3
- import '../TRPCError-e99e7cbe.mjs';
1
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-b59d2c10.mjs';
2
+ import '../resolveHTTPResponse-24d99c94.mjs';
3
+ import '../TRPCError-281ac25a.mjs';
4
4
  import '../codes-7d21f749.mjs';
5
5
  import '../index-5b2e87d4.mjs';
6
6
  import '../transformTRPCResponse-c8138d5f.mjs';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var resolveHTTPResponse = require('../../resolveHTTPResponse-6fecf1e4.js');
5
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-0a8e47b8.js');
6
6
  var adapters_ws = require('../ws.js');
7
7
  require('../../TRPCError-fe9113e5.js');
8
8
  require('../../codes-76c38a34.js');
@@ -1,6 +1,6 @@
1
- import { f as assertNotBrowser, r as resolveHTTPResponse } from '../../resolveHTTPResponse-d922c40d.mjs';
1
+ import { b as assertNotBrowser, r as resolveHTTPResponse } from '../../resolveHTTPResponse-24d99c94.mjs';
2
2
  import { applyWSSHandler } from '../ws.mjs';
3
- import '../../TRPCError-e99e7cbe.mjs';
3
+ import '../../TRPCError-281ac25a.mjs';
4
4
  import '../../codes-7d21f749.mjs';
5
5
  import '../../index-5b2e87d4.mjs';
6
6
  import '../../transformTRPCResponse-c8138d5f.mjs';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var resolveHTTPResponse = require('../../resolveHTTPResponse-6fecf1e4.js');
5
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-0a8e47b8.js');
6
6
  require('../../TRPCError-fe9113e5.js');
7
7
  require('../../codes-76c38a34.js');
8
8
  require('../../index-ae2b3f4b.js');
@@ -1,5 +1,5 @@
1
- import { f as assertNotBrowser, r as resolveHTTPResponse } from '../../resolveHTTPResponse-d922c40d.mjs';
2
- import '../../TRPCError-e99e7cbe.mjs';
1
+ import { b as assertNotBrowser, r as resolveHTTPResponse } from '../../resolveHTTPResponse-24d99c94.mjs';
2
+ import '../../TRPCError-281ac25a.mjs';
3
3
  import '../../codes-7d21f749.mjs';
4
4
  import '../../index-5b2e87d4.mjs';
5
5
  import '../../transformTRPCResponse-c8138d5f.mjs';
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var TRPCError = require('../TRPCError-fe9113e5.js');
6
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-c3200031.js');
7
- require('../resolveHTTPResponse-6fecf1e4.js');
6
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-d30a4185.js');
7
+ require('../resolveHTTPResponse-0a8e47b8.js');
8
8
  require('../codes-76c38a34.js');
9
9
  require('../index-ae2b3f4b.js');
10
10
  require('../transformTRPCResponse-11ac69cc.js');
@@ -1,6 +1,6 @@
1
- import { T as TRPCError } from '../TRPCError-e99e7cbe.mjs';
2
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-1427713e.mjs';
3
- import '../resolveHTTPResponse-d922c40d.mjs';
1
+ import { T as TRPCError } from '../TRPCError-281ac25a.mjs';
2
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-b59d2c10.mjs';
3
+ import '../resolveHTTPResponse-24d99c94.mjs';
4
4
  import '../codes-7d21f749.mjs';
5
5
  import '../index-5b2e87d4.mjs';
6
6
  import '../transformTRPCResponse-c8138d5f.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-c3200031.js');
6
- require('../../resolveHTTPResponse-6fecf1e4.js');
5
+ var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-d30a4185.js');
6
+ require('../../resolveHTTPResponse-0a8e47b8.js');
7
7
  require('../../TRPCError-fe9113e5.js');
8
8
  require('../../codes-76c38a34.js');
9
9
  require('../../index-ae2b3f4b.js');
@@ -1,6 +1,6 @@
1
- export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-1427713e.mjs';
2
- import '../../resolveHTTPResponse-d922c40d.mjs';
3
- import '../../TRPCError-e99e7cbe.mjs';
1
+ export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-b59d2c10.mjs';
2
+ import '../../resolveHTTPResponse-24d99c94.mjs';
3
+ import '../../TRPCError-281ac25a.mjs';
4
4
  import '../../codes-7d21f749.mjs';
5
5
  import '../../index-5b2e87d4.mjs';
6
6
  import '../../transformTRPCResponse-c8138d5f.mjs';
@@ -6,7 +6,7 @@ export declare type CreateHTTPHandlerOptions<TRouter extends AnyRouter> = NodeHT
6
6
  export declare type CreateHTTPContextOptions = NodeHTTPCreateContextFnOptions<http.IncomingMessage, http.ServerResponse>;
7
7
  export declare function createHTTPHandler<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): (req: http.IncomingMessage, res: http.ServerResponse) => Promise<void>;
8
8
  export declare function createHTTPServer<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): {
9
- server: http.Server;
9
+ server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
10
10
  listen(port?: number): {
11
11
  port: number | undefined;
12
12
  };
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var http = require('http');
6
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-c3200031.js');
7
- require('../resolveHTTPResponse-6fecf1e4.js');
5
+ var http = require('node:http');
6
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-d30a4185.js');
7
+ require('../resolveHTTPResponse-0a8e47b8.js');
8
8
  require('../TRPCError-fe9113e5.js');
9
9
  require('../codes-76c38a34.js');
10
10
  require('../index-ae2b3f4b.js');
@@ -1,7 +1,7 @@
1
- import http from 'http';
2
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-1427713e.mjs';
3
- import '../resolveHTTPResponse-d922c40d.mjs';
4
- import '../TRPCError-e99e7cbe.mjs';
1
+ import http from 'node:http';
2
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-b59d2c10.mjs';
3
+ import '../resolveHTTPResponse-24d99c94.mjs';
4
+ import '../TRPCError-281ac25a.mjs';
5
5
  import '../codes-7d21f749.mjs';
6
6
  import '../index-5b2e87d4.mjs';
7
7
  import '../transformTRPCResponse-c8138d5f.mjs';
@@ -1,4 +1,4 @@
1
- import { T as TRPCError, g as getCauseFromUnknown, a as getTRPCErrorFromUnknown } from '../TRPCError-e99e7cbe.mjs';
1
+ import { T as TRPCError, a as getCauseFromUnknown, g as getTRPCErrorFromUnknown } from '../TRPCError-281ac25a.mjs';
2
2
  import { t as transformTRPCResponse } from '../transformTRPCResponse-c8138d5f.mjs';
3
3
  import { i as isObservable } from '../observable-e129ac9d.mjs';
4
4
 
package/dist/index.js CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var resolveHTTPResponse = require('./resolveHTTPResponse-6fecf1e4.js');
6
- var router = require('./router-cf869ecb.js');
5
+ var resolveHTTPResponse = require('./resolveHTTPResponse-0a8e47b8.js');
6
+ var router = require('./router-bf52be2e.js');
7
7
  var TRPCError = require('./TRPCError-fe9113e5.js');
8
8
  require('./codes-76c38a34.js');
9
9
  require('./index-ae2b3f4b.js');
@@ -76,10 +76,10 @@ function createTRPCInner() {
76
76
  */ _config,
77
77
  /**
78
78
  * Builder object for creating procedures
79
- */ procedure: resolveHTTPResponse.createBuilder(),
79
+ */ procedure: router.createBuilder(),
80
80
  /**
81
81
  * Create reusable middlewares
82
- */ middleware: resolveHTTPResponse.createMiddlewareFactory(),
82
+ */ middleware: router.createMiddlewareFactory(),
83
83
  /**
84
84
  * Create a router
85
85
  */ router: resolveHTTPResponse.createRouterFactory({
@@ -95,12 +95,12 @@ function createTRPCInner() {
95
95
 
96
96
  exports.assertNotBrowser = resolveHTTPResponse.assertNotBrowser;
97
97
  exports.callProcedure = resolveHTTPResponse.callProcedure;
98
- exports.createInputMiddleware = resolveHTTPResponse.createInputMiddleware;
99
- exports.createOutputMiddleware = resolveHTTPResponse.createOutputMiddleware;
100
98
  exports.defaultTransformer = resolveHTTPResponse.defaultTransformer;
101
99
  exports.getDataTransformer = resolveHTTPResponse.getDataTransformer;
102
100
  exports.procedureTypes = resolveHTTPResponse.procedureTypes;
103
101
  exports.resolveHTTPResponse = resolveHTTPResponse.resolveHTTPResponse;
102
+ exports.createInputMiddleware = router.createInputMiddleware;
103
+ exports.createOutputMiddleware = router.createOutputMiddleware;
104
104
  exports.router = router.router;
105
105
  exports.TRPCError = TRPCError.TRPCError;
106
106
  exports.initTRPC = initTRPC;
package/dist/index.mjs CHANGED
@@ -1,7 +1,8 @@
1
- import { m as mergeWithoutOverrides, d as defaultFormatter, a as defaultTransformer, c as createRouterFactory, g as getDataTransformer, b as createBuilder, e as createMiddlewareFactory } from './resolveHTTPResponse-d922c40d.mjs';
2
- export { f as assertNotBrowser, h as callProcedure, i as createInputMiddleware, j as createOutputMiddleware, a as defaultTransformer, g as getDataTransformer, p as procedureTypes, r as resolveHTTPResponse } from './resolveHTTPResponse-d922c40d.mjs';
3
- export { r as router } from './router-239218de.mjs';
4
- export { T as TRPCError } from './TRPCError-e99e7cbe.mjs';
1
+ import { m as mergeWithoutOverrides, d as defaultFormatter, a as defaultTransformer, c as createRouterFactory, g as getDataTransformer } from './resolveHTTPResponse-24d99c94.mjs';
2
+ export { b as assertNotBrowser, e as callProcedure, a as defaultTransformer, g as getDataTransformer, p as procedureTypes, r as resolveHTTPResponse } from './resolveHTTPResponse-24d99c94.mjs';
3
+ import { c as createBuilder, a as createMiddlewareFactory } from './router-6e04fa44.mjs';
4
+ export { b as createInputMiddleware, d as createOutputMiddleware, r as router } from './router-6e04fa44.mjs';
5
+ export { T as TRPCError } from './TRPCError-281ac25a.mjs';
5
6
  import './codes-7d21f749.mjs';
6
7
  import './index-5b2e87d4.mjs';
7
8
  import './transformTRPCResponse-c8138d5f.mjs';
@@ -1,5 +1,5 @@
1
- import { f as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-d922c40d.mjs';
2
- import { T as TRPCError } from './TRPCError-e99e7cbe.mjs';
1
+ import { b as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-24d99c94.mjs';
2
+ import { T as TRPCError } from './TRPCError-281ac25a.mjs';
3
3
 
4
4
  async function getPostBody({ req , maxBodySize }) {
5
5
  return new Promise((resolve)=>{
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var resolveHTTPResponse = require('./resolveHTTPResponse-6fecf1e4.js');
3
+ var resolveHTTPResponse = require('./resolveHTTPResponse-0a8e47b8.js');
4
4
  var TRPCError = require('./TRPCError-fe9113e5.js');
5
5
 
6
6
  async function getPostBody({ req , maxBodySize }) {
@@ -134,7 +134,7 @@ const emptyRouter = {
134
134
  /**
135
135
  * Then is a reserved word because otherwise we can't return a promise that returns a Proxy
136
136
  * since JS will think that `.then` is something that exists
137
- */ 'then',
137
+ */ 'then'
138
138
  ];
139
139
  /**
140
140
  *
@@ -256,273 +256,6 @@ const emptyRouter = {
256
256
  return procedure(opts);
257
257
  }
258
258
 
259
- /**
260
- * @internal
261
- */ // FIXME this should use RootConfig
262
- function createMiddlewareFactory() {
263
- return function createMiddleware(fn) {
264
- return fn;
265
- };
266
- }
267
- function isPlainObject(obj) {
268
- return obj && typeof obj === 'object' && !Array.isArray(obj);
269
- }
270
- /**
271
- * @internal
272
- * Please note, `trpc-openapi` uses this function.
273
- */ function createInputMiddleware(parse) {
274
- const inputMiddleware = async ({ next , rawInput , input , })=>{
275
- let parsedInput;
276
- try {
277
- parsedInput = await parse(rawInput);
278
- } catch (cause) {
279
- throw new TRPCError.TRPCError({
280
- code: 'BAD_REQUEST',
281
- cause: TRPCError.getCauseFromUnknown(cause)
282
- });
283
- }
284
- // Multiple input parsers
285
- const combinedInput = isPlainObject(input) && isPlainObject(parsedInput) ? {
286
- ...input,
287
- ...parsedInput
288
- } : parsedInput;
289
- // TODO fix this typing?
290
- return next({
291
- input: combinedInput
292
- });
293
- };
294
- inputMiddleware._type = 'input';
295
- return inputMiddleware;
296
- }
297
- /**
298
- * @internal
299
- */ function createOutputMiddleware(parse) {
300
- const outputMiddleware = async ({ next })=>{
301
- const result = await next();
302
- if (!result.ok) {
303
- // pass through failures without validating
304
- return result;
305
- }
306
- try {
307
- const data = await parse(result.data);
308
- return {
309
- ...result,
310
- data
311
- };
312
- } catch (cause) {
313
- throw new TRPCError.TRPCError({
314
- message: 'Output validation failed',
315
- code: 'INTERNAL_SERVER_ERROR',
316
- cause: TRPCError.getCauseFromUnknown(cause)
317
- });
318
- }
319
- };
320
- outputMiddleware._type = 'output';
321
- return outputMiddleware;
322
- }
323
-
324
- function getParseFn(procedureParser) {
325
- const parser = procedureParser;
326
- if (typeof parser === 'function') {
327
- // ProcedureParserCustomValidatorEsque
328
- return parser;
329
- }
330
- if (typeof parser.parseAsync === 'function') {
331
- // ProcedureParserZodEsque
332
- return parser.parseAsync.bind(parser);
333
- }
334
- if (typeof parser.parse === 'function') {
335
- // ProcedureParserZodEsque
336
- return parser.parse.bind(parser);
337
- }
338
- if (typeof parser.validateSync === 'function') {
339
- // ProcedureParserYupEsque
340
- return parser.validateSync.bind(parser);
341
- }
342
- if (typeof parser.create === 'function') {
343
- // ProcedureParserSuperstructEsque
344
- return parser.create.bind(parser);
345
- }
346
- throw new Error('Could not find a validator fn');
347
- }
348
- /**
349
- * @deprecated only for backwards compat
350
- * @internal
351
- */ function getParseFnOrPassThrough(procedureParser) {
352
- if (!procedureParser) {
353
- return (v)=>v;
354
- }
355
- return getParseFn(procedureParser);
356
- }
357
-
358
- /**
359
- * @internal
360
- */ const middlewareMarker = 'middlewareMarker';
361
-
362
- function createNewBuilder(def1, def2) {
363
- const { middlewares =[] , inputs , ...rest } = def2;
364
- // TODO: maybe have a fn here to warn about calls
365
- return createBuilder({
366
- ...mergeWithoutOverrides(def1, rest),
367
- inputs: [
368
- ...def1.inputs,
369
- ...inputs ?? []
370
- ],
371
- middlewares: [
372
- ...def1.middlewares,
373
- ...middlewares
374
- ]
375
- });
376
- }
377
- function createBuilder(initDef) {
378
- const _def = initDef || {
379
- inputs: [],
380
- middlewares: []
381
- };
382
- return {
383
- _def,
384
- input (input) {
385
- const parser = getParseFn(input);
386
- return createNewBuilder(_def, {
387
- inputs: [
388
- input
389
- ],
390
- middlewares: [
391
- createInputMiddleware(parser)
392
- ]
393
- });
394
- },
395
- output (output) {
396
- const parseOutput = getParseFn(output);
397
- return createNewBuilder(_def, {
398
- output,
399
- middlewares: [
400
- createOutputMiddleware(parseOutput)
401
- ]
402
- });
403
- },
404
- meta (meta) {
405
- return createNewBuilder(_def, {
406
- meta: meta
407
- });
408
- },
409
- unstable_concat (builder) {
410
- return createNewBuilder(_def, builder._def);
411
- },
412
- use (middleware) {
413
- return createNewBuilder(_def, {
414
- middlewares: [
415
- middleware
416
- ]
417
- });
418
- },
419
- query (resolver) {
420
- return createResolver({
421
- ..._def,
422
- query: true
423
- }, resolver);
424
- },
425
- mutation (resolver) {
426
- return createResolver({
427
- ..._def,
428
- mutation: true
429
- }, resolver);
430
- },
431
- subscription (resolver) {
432
- return createResolver({
433
- ..._def,
434
- subscription: true
435
- }, resolver);
436
- }
437
- };
438
- }
439
- function createResolver(_def, resolver) {
440
- const finalBuilder = createNewBuilder(_def, {
441
- resolver,
442
- middlewares: [
443
- async function resolveMiddleware(opts) {
444
- const data = await resolver(opts);
445
- return {
446
- marker: middlewareMarker,
447
- ok: true,
448
- data,
449
- ctx: opts.ctx
450
- };
451
- },
452
- ]
453
- });
454
- return createProcedureCaller(finalBuilder._def);
455
- }
456
- const codeblock = `
457
- If you want to call this function on the server, you do the following:
458
- This is a client-only function.
459
-
460
- const caller = appRouter.createCaller({
461
- /* ... your context */
462
- });
463
-
464
- const result = await caller.call('myProcedure', input);
465
- `.trim();
466
- function createProcedureCaller(_def) {
467
- const procedure = async function resolve(opts) {
468
- // is direct server-side call
469
- if (!opts || !('rawInput' in opts)) {
470
- throw new Error(codeblock);
471
- }
472
- // run the middlewares recursively with the resolver as the last one
473
- const callRecursive = async (callOpts = {
474
- index: 0,
475
- ctx: opts.ctx
476
- })=>{
477
- try {
478
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
479
- const middleware = _def.middlewares[callOpts.index];
480
- const result = await middleware({
481
- ctx: callOpts.ctx,
482
- type: opts.type,
483
- path: opts.path,
484
- rawInput: opts.rawInput,
485
- meta: _def.meta,
486
- input: callOpts.input,
487
- next: async (nextOpts)=>{
488
- return await callRecursive({
489
- index: callOpts.index + 1,
490
- ctx: nextOpts && 'ctx' in nextOpts ? {
491
- ...callOpts.ctx,
492
- ...nextOpts.ctx
493
- } : callOpts.ctx,
494
- input: nextOpts && 'input' in nextOpts ? nextOpts.input : callOpts.input
495
- });
496
- }
497
- });
498
- return result;
499
- } catch (cause) {
500
- return {
501
- ok: false,
502
- error: TRPCError.getTRPCErrorFromUnknown(cause),
503
- marker: middlewareMarker
504
- };
505
- }
506
- };
507
- // there's always at least one "next" since we wrap this.resolver in a middleware
508
- const result = await callRecursive();
509
- if (!result) {
510
- throw new TRPCError.TRPCError({
511
- code: 'INTERNAL_SERVER_ERROR',
512
- message: 'No result from middlewares - did you forget to `return next()`?'
513
- });
514
- }
515
- if (!result.ok) {
516
- // re-throw original error
517
- throw result.error;
518
- }
519
- return result.data;
520
- };
521
- procedure._def = _def;
522
- procedure.meta = _def.meta;
523
- return procedure;
524
- }
525
-
526
259
  const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
527
260
  GET: 'query',
528
261
  POST: 'mutation'
@@ -726,16 +459,11 @@ async function resolveHTTPResponse(opts) {
726
459
 
727
460
  exports.assertNotBrowser = assertNotBrowser;
728
461
  exports.callProcedure = callProcedure;
729
- exports.createBuilder = createBuilder;
730
- exports.createInputMiddleware = createInputMiddleware;
731
- exports.createMiddlewareFactory = createMiddlewareFactory;
732
- exports.createOutputMiddleware = createOutputMiddleware;
733
462
  exports.createRouterFactory = createRouterFactory;
734
463
  exports.defaultFormatter = defaultFormatter;
735
464
  exports.defaultTransformer = defaultTransformer;
736
465
  exports.getDataTransformer = getDataTransformer;
737
466
  exports.getHTTPStatusCodeFromError = getHTTPStatusCodeFromError;
738
- exports.getParseFnOrPassThrough = getParseFnOrPassThrough;
739
467
  exports.mergeWithoutOverrides = mergeWithoutOverrides;
740
468
  exports.procedureTypes = procedureTypes;
741
469
  exports.resolveHTTPResponse = resolveHTTPResponse;