@trpc/server 10.0.0-alpha.19 → 10.0.0-alpha.21

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 (106) hide show
  1. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +5 -5
  2. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +5 -5
  3. package/adapters/express/dist/trpc-server-adapters-express.esm.js +5 -5
  4. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +16 -9
  5. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +16 -9
  6. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +16 -9
  7. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +3 -3
  8. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +3 -3
  9. package/adapters/next/dist/trpc-server-adapters-next.esm.js +3 -3
  10. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +3 -3
  11. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +3 -3
  12. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +3 -3
  13. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +3 -3
  14. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +3 -3
  15. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +3 -3
  16. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +4 -4
  17. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +4 -4
  18. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +4 -4
  19. package/dist/TRPCError.d.ts +3 -3
  20. package/dist/TRPCError.d.ts.map +1 -1
  21. package/dist/adapters/express.js +6 -7
  22. package/dist/adapters/express.mjs +6 -7
  23. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +2 -2
  24. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  25. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +1 -1
  26. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
  27. package/dist/adapters/fastify/index.js +18 -12
  28. package/dist/adapters/fastify/index.mjs +17 -11
  29. package/dist/adapters/next.d.ts +1 -1
  30. package/dist/adapters/next.d.ts.map +1 -1
  31. package/dist/adapters/next.js +4 -5
  32. package/dist/adapters/next.mjs +4 -5
  33. package/dist/adapters/node-http/index.js +4 -5
  34. package/dist/adapters/node-http/index.mjs +4 -5
  35. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +1 -1
  36. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  37. package/dist/adapters/node-http/types.d.ts +3 -3
  38. package/dist/adapters/node-http/types.d.ts.map +1 -1
  39. package/dist/adapters/standalone.d.ts.map +1 -1
  40. package/dist/adapters/standalone.js +10 -8
  41. package/dist/adapters/standalone.mjs +10 -7
  42. package/dist/adapters/ws.d.ts +3 -3
  43. package/dist/adapters/ws.d.ts.map +1 -1
  44. package/dist/adapters/ws.js +5 -5
  45. package/dist/adapters/ws.mjs +5 -5
  46. package/dist/assertNotBrowser.d.ts.map +1 -1
  47. package/dist/{codes-7f46544e.js → codes-4e4d55a9.js} +2 -0
  48. package/dist/{codes-7a3d4f65.mjs → codes-6c13cf43.mjs} +2 -0
  49. package/dist/http/internals/getHTTPStatusCode.d.ts +2 -1
  50. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
  51. package/dist/http/internals/types.d.ts +4 -3
  52. package/dist/http/internals/types.d.ts.map +1 -1
  53. package/dist/http/resolveHTTPResponse.d.ts +3 -3
  54. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  55. package/dist/index.js +44 -19
  56. package/dist/index.mjs +46 -21
  57. package/dist/internals/BaseHandlerOptions.d.ts +1 -1
  58. package/dist/internals/BaseHandlerOptions.d.ts.map +1 -1
  59. package/dist/internals/OnErrorFunction.d.ts +1 -1
  60. package/dist/internals/OnErrorFunction.d.ts.map +1 -1
  61. package/dist/internals/errors.d.ts +1 -0
  62. package/dist/internals/errors.d.ts.map +1 -1
  63. package/dist/internals/middlewares.d.ts +3 -2
  64. package/dist/internals/middlewares.d.ts.map +1 -1
  65. package/dist/internals/procedure.d.ts +44 -32
  66. package/dist/internals/procedure.d.ts.map +1 -1
  67. package/dist/{nodeHTTPRequestHandler-f9b7cd2d.mjs → nodeHTTPRequestHandler-13c4bded.mjs} +2 -3
  68. package/dist/{nodeHTTPRequestHandler-e02d6e5d.js → nodeHTTPRequestHandler-745e43e5.js} +3 -4
  69. package/dist/{resolveHTTPResponse-d4da195d.js → resolveHTTPResponse-b1167b6a.js} +6 -5
  70. package/dist/{resolveHTTPResponse-ca8bc869.mjs → resolveHTTPResponse-de40fda7.mjs} +6 -5
  71. package/dist/router.d.ts +33 -29
  72. package/dist/router.d.ts.map +1 -1
  73. package/dist/rpc/codes.d.ts +2 -0
  74. package/dist/rpc/codes.d.ts.map +1 -1
  75. package/dist/rpc/index.js +1 -1
  76. package/dist/rpc/index.mjs +1 -1
  77. package/dist/{subscription-f36af4f8.js → subscription-4b936ba3.js} +2 -2
  78. package/dist/{subscription-7ec5884e.mjs → subscription-8a85f253.mjs} +2 -2
  79. package/dist/{transformTRPCResponse-f9337285.mjs → transformTRPCResponse-9fdeecca.mjs} +50 -38
  80. package/dist/{transformTRPCResponse-eeeb5300.js → transformTRPCResponse-a57d3226.js} +50 -37
  81. package/package.json +7 -3
  82. package/src/TRPCError.ts +3 -3
  83. package/src/adapters/express.ts +2 -2
  84. package/src/adapters/fastify/fastifyRequestHandler.ts +6 -8
  85. package/src/adapters/fastify/fastifyTRPCPlugin.ts +14 -6
  86. package/src/adapters/next.ts +6 -2
  87. package/src/adapters/node-http/internals/getPostBody.test.ts +2 -1
  88. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +5 -6
  89. package/src/adapters/node-http/types.ts +3 -3
  90. package/src/adapters/standalone.ts +11 -3
  91. package/src/adapters/ws.ts +9 -9
  92. package/src/assertNotBrowser.ts +1 -0
  93. package/src/http/internals/getHTTPStatusCode.ts +2 -1
  94. package/src/http/internals/types.ts +6 -7
  95. package/src/http/resolveHTTPResponse.ts +7 -7
  96. package/src/internals/BaseHandlerOptions.ts +1 -1
  97. package/src/internals/OnErrorFunction.ts +1 -1
  98. package/src/internals/errors.ts +20 -4
  99. package/src/internals/middlewares.ts +3 -2
  100. package/src/internals/procedure.ts +175 -68
  101. package/src/router.ts +165 -49
  102. package/src/rpc/codes.ts +1 -0
  103. package/src/subscription.ts +1 -1
  104. package/ws/dist/trpc-server-ws.cjs.dev.js +2 -2
  105. package/ws/dist/trpc-server-ws.cjs.prod.js +2 -2
  106. package/ws/dist/trpc-server-ws.esm.js +2 -2
package/dist/index.js CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var resolveHTTPResponse = require('./resolveHTTPResponse-d4da195d.js');
6
- var subscription = require('./subscription-f36af4f8.js');
7
- var transformTRPCResponse = require('./transformTRPCResponse-eeeb5300.js');
8
- var codes = require('./codes-7f46544e.js');
5
+ var resolveHTTPResponse = require('./resolveHTTPResponse-b1167b6a.js');
6
+ var subscription = require('./subscription-4b936ba3.js');
7
+ var transformTRPCResponse = require('./transformTRPCResponse-a57d3226.js');
8
+ var codes = require('./codes-4e4d55a9.js');
9
9
  require('events');
10
10
 
11
11
  resolveHTTPResponse.assertNotBrowser();
@@ -34,31 +34,31 @@ async function wrapCallSafe(fn) {
34
34
  /* eslint-disable @typescript-eslint/no-explicit-any */
35
35
  resolveHTTPResponse.assertNotBrowser();
36
36
 
37
- function getParseFn(inputParser) {
38
- const parser = inputParser;
37
+ function getParseFn(procedureParser) {
38
+ const parser = procedureParser;
39
39
 
40
40
  if (typeof parser === 'function') {
41
- // ProcedureInputParserCustomValidatorEsque
41
+ // ProcedureParserCustomValidatorEsque
42
42
  return parser;
43
43
  }
44
44
 
45
45
  if (typeof parser.parseAsync === 'function') {
46
- // ProcedureInputParserZodEsque
46
+ // ProcedureParserZodEsque
47
47
  return parser.parseAsync.bind(parser);
48
48
  }
49
49
 
50
50
  if (typeof parser.parse === 'function') {
51
- // ProcedureInputParserZodEsque
51
+ // ProcedureParserZodEsque
52
52
  return parser.parse.bind(parser);
53
53
  }
54
54
 
55
55
  if (typeof parser.validateSync === 'function') {
56
- // ProcedureInputParserYupEsque
56
+ // ProcedureParserYupEsque
57
57
  return parser.validateSync.bind(parser);
58
58
  }
59
59
 
60
60
  if (typeof parser.create === 'function') {
61
- // ProcedureInputParserSuperstructEsque
61
+ // ProcedureParserSuperstructEsque
62
62
  return parser.create.bind(parser);
63
63
  }
64
64
 
@@ -74,25 +74,43 @@ class Procedure {
74
74
  this.middlewares = void 0;
75
75
  this.resolver = void 0;
76
76
  this.inputParser = void 0;
77
- this.parse = void 0;
77
+ this.parseInputFn = void 0;
78
+ this.outputParser = void 0;
79
+ this.parseOutputFn = void 0;
80
+ this.meta = void 0;
78
81
  this.middlewares = opts.middlewares;
79
82
  this.resolver = opts.resolver;
80
83
  this.inputParser = opts.inputParser;
81
- this.parse = getParseFn(this.inputParser);
84
+ this.parseInputFn = getParseFn(this.inputParser);
85
+ this.outputParser = opts.outputParser;
86
+ this.parseOutputFn = getParseFn(this.outputParser);
87
+ this.meta = opts.meta;
82
88
  }
83
89
 
84
90
  async parseInput(rawInput) {
85
91
  try {
86
- return await this.parse(rawInput);
92
+ return await this.parseInputFn(rawInput);
87
93
  } catch (cause) {
88
94
  throw new transformTRPCResponse.TRPCError({
89
95
  code: 'BAD_REQUEST',
90
- cause
96
+ cause: transformTRPCResponse.getCauseFromUnknown(cause)
97
+ });
98
+ }
99
+ }
100
+
101
+ async parseOutput(rawOutput) {
102
+ try {
103
+ return await this.parseOutputFn(rawOutput);
104
+ } catch (cause) {
105
+ throw new transformTRPCResponse.TRPCError({
106
+ code: 'INTERNAL_SERVER_ERROR',
107
+ cause: transformTRPCResponse.getCauseFromUnknown(cause),
108
+ message: 'Output validation failed'
91
109
  });
92
110
  }
93
111
  }
94
112
  /**
95
- * Trigger middlewares in order, parse raw input & call resolver
113
+ * Trigger middlewares in order, parse raw input, call resolver & parse raw output
96
114
  * @internal
97
115
  */
98
116
 
@@ -103,10 +121,11 @@ class Procedure {
103
121
  ctx
104
122
  }) => {
105
123
  const input = await this.parseInput(opts.rawInput);
106
- const data = await this.resolver({ ...opts,
124
+ const rawOutput = await this.resolver({ ...opts,
107
125
  ctx,
108
126
  input
109
127
  });
128
+ const data = await this.parseOutput(rawOutput);
110
129
  return {
111
130
  marker: middlewareMarker,
112
131
  ok: true,
@@ -122,6 +141,7 @@ class Procedure {
122
141
  type: opts.type,
123
142
  path: opts.path,
124
143
  rawInput: opts.rawInput,
144
+ meta: this.meta,
125
145
  next: nextFns[index + 1]
126
146
  }));
127
147
 
@@ -163,7 +183,9 @@ class Procedure {
163
183
  const instance = new Constructor({
164
184
  middlewares: [...middlewares, ...this.middlewares],
165
185
  resolver: this.resolver,
166
- inputParser: this.inputParser
186
+ inputParser: this.inputParser,
187
+ outputParser: this.outputParser,
188
+ meta: this.meta
167
189
  });
168
190
  return instance;
169
191
  }
@@ -180,10 +202,13 @@ function createProcedure(opts) {
180
202
 
181
203
  return undefined;
182
204
  };
205
+ const outputParser = 'output' in opts && opts.output ? opts.output : output => output;
183
206
  return new Procedure({
184
207
  inputParser: inputParser,
185
208
  resolver: opts.resolve,
186
- middlewares: []
209
+ middlewares: [],
210
+ outputParser: outputParser,
211
+ meta: opts.meta
187
212
  });
188
213
  }
189
214
 
package/dist/index.mjs CHANGED
@@ -1,9 +1,9 @@
1
- import { a as assertNotBrowser, g as getHTTPStatusCodeFromError } from './resolveHTTPResponse-ca8bc869.mjs';
2
- export { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-ca8bc869.mjs';
3
- export { S as Subscription, s as subscriptionPullFactory } from './subscription-7ec5884e.mjs';
4
- import { T as TRPCError, g as getErrorFromUnknown } from './transformTRPCResponse-f9337285.mjs';
5
- export { T as TRPCError } from './transformTRPCResponse-f9337285.mjs';
6
- import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-7a3d4f65.mjs';
1
+ import { a as assertNotBrowser, g as getHTTPStatusCodeFromError } from './resolveHTTPResponse-de40fda7.mjs';
2
+ export { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-de40fda7.mjs';
3
+ export { S as Subscription, s as subscriptionPullFactory } from './subscription-8a85f253.mjs';
4
+ import { T as TRPCError, g as getCauseFromUnknown, a as getErrorFromUnknown } from './transformTRPCResponse-9fdeecca.mjs';
5
+ export { T as TRPCError } from './transformTRPCResponse-9fdeecca.mjs';
6
+ import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-6c13cf43.mjs';
7
7
  import 'events';
8
8
 
9
9
  assertNotBrowser();
@@ -32,31 +32,31 @@ async function wrapCallSafe(fn) {
32
32
  /* eslint-disable @typescript-eslint/no-explicit-any */
33
33
  assertNotBrowser();
34
34
 
35
- function getParseFn(inputParser) {
36
- const parser = inputParser;
35
+ function getParseFn(procedureParser) {
36
+ const parser = procedureParser;
37
37
 
38
38
  if (typeof parser === 'function') {
39
- // ProcedureInputParserCustomValidatorEsque
39
+ // ProcedureParserCustomValidatorEsque
40
40
  return parser;
41
41
  }
42
42
 
43
43
  if (typeof parser.parseAsync === 'function') {
44
- // ProcedureInputParserZodEsque
44
+ // ProcedureParserZodEsque
45
45
  return parser.parseAsync.bind(parser);
46
46
  }
47
47
 
48
48
  if (typeof parser.parse === 'function') {
49
- // ProcedureInputParserZodEsque
49
+ // ProcedureParserZodEsque
50
50
  return parser.parse.bind(parser);
51
51
  }
52
52
 
53
53
  if (typeof parser.validateSync === 'function') {
54
- // ProcedureInputParserYupEsque
54
+ // ProcedureParserYupEsque
55
55
  return parser.validateSync.bind(parser);
56
56
  }
57
57
 
58
58
  if (typeof parser.create === 'function') {
59
- // ProcedureInputParserSuperstructEsque
59
+ // ProcedureParserSuperstructEsque
60
60
  return parser.create.bind(parser);
61
61
  }
62
62
 
@@ -72,25 +72,43 @@ class Procedure {
72
72
  this.middlewares = void 0;
73
73
  this.resolver = void 0;
74
74
  this.inputParser = void 0;
75
- this.parse = void 0;
75
+ this.parseInputFn = void 0;
76
+ this.outputParser = void 0;
77
+ this.parseOutputFn = void 0;
78
+ this.meta = void 0;
76
79
  this.middlewares = opts.middlewares;
77
80
  this.resolver = opts.resolver;
78
81
  this.inputParser = opts.inputParser;
79
- this.parse = getParseFn(this.inputParser);
82
+ this.parseInputFn = getParseFn(this.inputParser);
83
+ this.outputParser = opts.outputParser;
84
+ this.parseOutputFn = getParseFn(this.outputParser);
85
+ this.meta = opts.meta;
80
86
  }
81
87
 
82
88
  async parseInput(rawInput) {
83
89
  try {
84
- return await this.parse(rawInput);
90
+ return await this.parseInputFn(rawInput);
85
91
  } catch (cause) {
86
92
  throw new TRPCError({
87
93
  code: 'BAD_REQUEST',
88
- cause
94
+ cause: getCauseFromUnknown(cause)
95
+ });
96
+ }
97
+ }
98
+
99
+ async parseOutput(rawOutput) {
100
+ try {
101
+ return await this.parseOutputFn(rawOutput);
102
+ } catch (cause) {
103
+ throw new TRPCError({
104
+ code: 'INTERNAL_SERVER_ERROR',
105
+ cause: getCauseFromUnknown(cause),
106
+ message: 'Output validation failed'
89
107
  });
90
108
  }
91
109
  }
92
110
  /**
93
- * Trigger middlewares in order, parse raw input & call resolver
111
+ * Trigger middlewares in order, parse raw input, call resolver & parse raw output
94
112
  * @internal
95
113
  */
96
114
 
@@ -101,10 +119,11 @@ class Procedure {
101
119
  ctx
102
120
  }) => {
103
121
  const input = await this.parseInput(opts.rawInput);
104
- const data = await this.resolver({ ...opts,
122
+ const rawOutput = await this.resolver({ ...opts,
105
123
  ctx,
106
124
  input
107
125
  });
126
+ const data = await this.parseOutput(rawOutput);
108
127
  return {
109
128
  marker: middlewareMarker,
110
129
  ok: true,
@@ -120,6 +139,7 @@ class Procedure {
120
139
  type: opts.type,
121
140
  path: opts.path,
122
141
  rawInput: opts.rawInput,
142
+ meta: this.meta,
123
143
  next: nextFns[index + 1]
124
144
  }));
125
145
 
@@ -161,7 +181,9 @@ class Procedure {
161
181
  const instance = new Constructor({
162
182
  middlewares: [...middlewares, ...this.middlewares],
163
183
  resolver: this.resolver,
164
- inputParser: this.inputParser
184
+ inputParser: this.inputParser,
185
+ outputParser: this.outputParser,
186
+ meta: this.meta
165
187
  });
166
188
  return instance;
167
189
  }
@@ -178,10 +200,13 @@ function createProcedure(opts) {
178
200
 
179
201
  return undefined;
180
202
  };
203
+ const outputParser = 'output' in opts && opts.output ? opts.output : output => output;
181
204
  return new Procedure({
182
205
  inputParser: inputParser,
183
206
  resolver: opts.resolve,
184
- middlewares: []
207
+ middlewares: [],
208
+ outputParser: outputParser,
209
+ meta: opts.meta
185
210
  });
186
211
  }
187
212
 
@@ -1,5 +1,5 @@
1
- import { OnErrorFunction } from './OnErrorFunction';
2
1
  import { AnyRouter } from '../router';
2
+ import { OnErrorFunction } from './OnErrorFunction';
3
3
  /**
4
4
  * Base interface for any response handler
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BaseHandlerOptions.d.ts","sourceRoot":"","sources":["../../src/internals/BaseHandlerOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,OAAO,CAAC;CACjB"}
1
+ {"version":3,"file":"BaseHandlerOptions.d.ts","sourceRoot":"","sources":["../../src/internals/BaseHandlerOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,OAAO,CAAC;CACjB"}
@@ -1,5 +1,5 @@
1
- import { AnyRouter, inferRouterContext, ProcedureType } from '../router';
2
1
  import { TRPCError } from '../TRPCError';
2
+ import { AnyRouter, ProcedureType, inferRouterContext } from '../router';
3
3
  export declare type OnErrorFunction<TRouter extends AnyRouter, TRequest> = (opts: {
4
4
  error: TRPCError;
5
5
  type: ProcedureType | 'unknown';
@@ -1 +1 @@
1
- {"version":3,"file":"OnErrorFunction.d.ts","sourceRoot":"","sources":["../../src/internals/OnErrorFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,oBAAY,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;IACxE,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC9C,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"OnErrorFunction.d.ts","sourceRoot":"","sources":["../../src/internals/OnErrorFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEzE,oBAAY,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;IACxE,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC9C,KAAK,IAAI,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { TRPCError } from '../TRPCError';
2
2
  export declare function getMessageFromUnkownError(err: unknown, fallback: string): string;
3
3
  export declare function getErrorFromUnknown(cause: unknown): TRPCError;
4
+ export declare function getCauseFromUnknown(cause: unknown): Error | undefined;
4
5
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/internals/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAgB7D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/internals/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAwB7D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,qBAMjD"}
@@ -1,5 +1,5 @@
1
- import { ProcedureType } from '../router';
2
1
  import { TRPCError } from '../TRPCError';
2
+ import { ProcedureType } from '../router';
3
3
  export declare const middlewareMarker: unique symbol;
4
4
  interface MiddlewareResultBase<TContext> {
5
5
  /**
@@ -18,11 +18,12 @@ interface MiddlewareErrorResult<TContext> extends MiddlewareResultBase<TContext>
18
18
  error: TRPCError;
19
19
  }
20
20
  export declare type MiddlewareResult<TContext> = MiddlewareOKResult<TContext> | MiddlewareErrorResult<TContext>;
21
- export declare type MiddlewareFunction<TInputContext, TContext> = (opts: {
21
+ export declare type MiddlewareFunction<TInputContext, TContext, TMeta> = (opts: {
22
22
  ctx: TInputContext;
23
23
  type: ProcedureType;
24
24
  path: string;
25
25
  rawInput: unknown;
26
+ meta?: TMeta;
26
27
  next: {
27
28
  (): Promise<MiddlewareResult<TInputContext>>;
28
29
  <T>(opts: {
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/internals/middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAC3D,UAAU,oBAAoB,CAAC,QAAQ;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,gBAAgB,CAAC;IACzC,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,UAAU,kBAAkB,CAAC,QAAQ,CAAE,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IAC3E,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,OAAO,CAAC;CAEf;AACD,UAAU,qBAAqB,CAAC,QAAQ,CACtC,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IACtC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,SAAS,CAAC;CAElB;AAED,oBAAY,gBAAgB,CAAC,QAAQ,IACjC,kBAAkB,CAAC,QAAQ,CAAC,GAC5B,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAEpC,oBAAY,kBAAkB,CAAC,aAAa,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;IAC/D,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE;QACJ,IAAI,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,EAAE,IAAI,EAAE;YAAE,GAAG,EAAE,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KACrD,CAAC;CACH,KAAK,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/internals/middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAC3D,UAAU,oBAAoB,CAAC,QAAQ;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,gBAAgB,CAAC;IACzC,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,UAAU,kBAAkB,CAAC,QAAQ,CAAE,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IAC3E,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,OAAO,CAAC;CAEf;AACD,UAAU,qBAAqB,CAAC,QAAQ,CACtC,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IACtC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,SAAS,CAAC;CAElB;AAED,oBAAY,gBAAgB,CAAC,QAAQ,IACjC,kBAAkB,CAAC,QAAQ,CAAC,GAC5B,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAEpC,oBAAY,kBAAkB,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE;IACtE,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,EAAE;QACJ,IAAI,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,EAAE,IAAI,EAAE;YAAE,GAAG,EAAE,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KACrD,CAAC;CACH,KAAK,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC"}
@@ -1,30 +1,32 @@
1
1
  import { ProcedureType } from '../router';
2
2
  import { MiddlewareFunction } from './middlewares';
3
- export declare type ProcedureInputParserZodEsque<TInput, TParsedInput> = {
3
+ export declare type ProcedureParserZodEsque<TInput, TOutput> = {
4
4
  _input: TInput;
5
- _output: TParsedInput;
5
+ _output: TOutput;
6
6
  };
7
- export declare type ProcedureInputParserMyZodEsque<TInput> = {
8
- parse: (input: any) => TInput;
7
+ export declare type ProcedureParserMyZodEsque<T> = {
8
+ parse: (input: any) => T;
9
9
  };
10
- export declare type ProcedureInputParserSuperstructEsque<TInput> = {
11
- create: (input: unknown) => TInput;
10
+ export declare type ProcedureParserSuperstructEsque<T> = {
11
+ create: (input: unknown) => T;
12
12
  };
13
- export declare type ProcedureInputParserCustomValidatorEsque<TInput> = (input: unknown) => TInput | Promise<TInput>;
14
- export declare type ProcedureInputParserYupEsque<TInput> = {
15
- validateSync: (input: unknown) => TInput;
13
+ export declare type ProcedureParserCustomValidatorEsque<T> = (input: unknown) => T | Promise<T>;
14
+ export declare type ProcedureParserYupEsque<T> = {
15
+ validateSync: (input: unknown) => T;
16
16
  };
17
- export declare type ProcedureInputParser<TInput> = ProcedureInputParserYupEsque<TInput> | ProcedureInputParserSuperstructEsque<TInput> | ProcedureInputParserCustomValidatorEsque<TInput> | ProcedureInputParserMyZodEsque<TInput>;
18
- export declare type ProcedureInputParserWithInputOutput<TInput, TParsedInput> = ProcedureInputParserZodEsque<TInput, TParsedInput>;
19
- export declare type ProcedureResolver<TContext, TParsedInput, TOutput> = (opts: {
17
+ export declare type ProcedureParserWithInputOutput<TInput, TOutput> = ProcedureParserZodEsque<TInput, TOutput>;
18
+ export declare type ProcedureParser<T> = ProcedureParserYupEsque<T> | ProcedureParserSuperstructEsque<T> | ProcedureParserCustomValidatorEsque<T> | ProcedureParserMyZodEsque<T>;
19
+ export declare type ProcedureResolver<TContext, TInput, TOutput> = (opts: {
20
20
  ctx: TContext;
21
- input: TParsedInput;
21
+ input: TInput;
22
22
  type: ProcedureType;
23
23
  }) => Promise<TOutput> | TOutput;
24
- interface ProcedureOptions<TContext, TParsedInput, TOutput> {
25
- middlewares: Array<MiddlewareFunction<any, any>>;
26
- resolver: ProcedureResolver<TContext, TParsedInput, TOutput>;
27
- inputParser: ProcedureInputParser<TParsedInput>;
24
+ interface ProcedureOptions<TContext, TMeta, TInput, TOutput, TParsedOutput> {
25
+ middlewares: Array<MiddlewareFunction<any, any, any>>;
26
+ resolver: ProcedureResolver<TContext, TInput, TOutput>;
27
+ inputParser: ProcedureParser<TInput>;
28
+ outputParser: ProcedureParser<TParsedOutput>;
29
+ meta: TMeta;
28
30
  }
29
31
  /**
30
32
  * @internal
@@ -38,37 +40,47 @@ export interface ProcedureCallOptions<TContext> {
38
40
  /**
39
41
  * @internal
40
42
  */
41
- export declare class Procedure<TInputContext, TContext, TInput, TParsedInput, TOutput> {
43
+ export declare class Procedure<TInputContext, TContext, TMeta, TInput, TParsedInput, TOutput, TParsedOutput, TFinalOutput = unknown extends TParsedOutput ? TOutput : TParsedOutput> {
42
44
  private middlewares;
43
45
  private resolver;
44
46
  private readonly inputParser;
45
- private parse;
46
- constructor(opts: ProcedureOptions<TContext, TParsedInput, TOutput>);
47
+ private parseInputFn;
48
+ private readonly outputParser;
49
+ private parseOutputFn;
50
+ readonly meta: TMeta;
51
+ constructor(opts: ProcedureOptions<TContext, TMeta, TParsedInput, TOutput, TFinalOutput>);
47
52
  private parseInput;
53
+ private parseOutput;
48
54
  /**
49
- * Trigger middlewares in order, parse raw input & call resolver
55
+ * Trigger middlewares in order, parse raw input, call resolver & parse raw output
50
56
  * @internal
51
57
  */
52
- call(opts: ProcedureCallOptions<TInputContext>): Promise<TOutput>;
58
+ call(opts: ProcedureCallOptions<TInputContext>): Promise<TFinalOutput>;
53
59
  /**
54
60
  * Create new procedure with passed middlewares
55
61
  * @param middlewares
56
62
  */
57
- inheritMiddlewares(middlewares: MiddlewareFunction<TInputContext, TContext>[]): this;
63
+ inheritMiddlewares(middlewares: MiddlewareFunction<TInputContext, TContext, TMeta>[]): this;
58
64
  }
59
- export declare type CreateProcedureWithInput<TContext, TInput, TParsedInput, TOutput> = {
60
- input: ProcedureInputParser<TInput>;
61
- resolve: ProcedureResolver<TContext, TParsedInput, TOutput>;
65
+ export declare type CreateProcedureWithInput<TContext, TMeta, TInput, TOutput> = {
66
+ input: ProcedureParser<TInput>;
67
+ output?: ProcedureParser<TOutput>;
68
+ meta?: TMeta;
69
+ resolve: ProcedureResolver<TContext, TInput, TOutput>;
62
70
  };
63
- export declare type CreateProcedureWithInputOutputParser<TContext, TInput, TParsedInput, TOutput> = {
64
- input: ProcedureInputParserWithInputOutput<TInput, TParsedInput>;
71
+ export declare type CreateProcedureWithInputOutputParser<TContext, TMeta, TInput, TParsedInput, TOutput, TParsedOutput> = {
72
+ input: ProcedureParserWithInputOutput<TInput, TParsedInput>;
73
+ output?: ProcedureParserWithInputOutput<TOutput, TParsedOutput>;
74
+ meta?: TMeta;
65
75
  resolve: ProcedureResolver<TContext, TParsedInput, TOutput>;
66
76
  };
67
- export declare type CreateProcedureWithoutInput<TContext, TOutput> = {
77
+ export declare type CreateProcedureWithoutInput<TContext, TMeta, TOutput, TParsedOutput> = {
78
+ output?: ProcedureParserWithInputOutput<TOutput, TParsedOutput> | ProcedureParser<TOutput>;
79
+ meta?: TMeta;
68
80
  resolve: ProcedureResolver<TContext, undefined, TOutput>;
69
81
  };
70
- export declare type CreateProcedureOptions<TContext, TInput = undefined, TParsedInput = undefined, TOutput = undefined> = CreateProcedureWithInput<TContext, TInput, TParsedInput, TOutput> | CreateProcedureWithInputOutputParser<TContext, TInput, TParsedInput, TOutput> | CreateProcedureWithoutInput<TContext, TOutput>;
71
- export declare function createProcedure<TContext, TInput, TParsedInput, TOutput>(opts: CreateProcedureOptions<TContext, TInput, TParsedInput, TOutput>): Procedure<unknown, TContext, TInput, TParsedInput, TOutput>;
72
- export declare type inferProcedureFromOptions<TInputContext, TOptions extends CreateProcedureOptions<any, any, any, any>> = TOptions extends CreateProcedureOptions<infer TContext, infer TInput, infer TParsedInput, infer TOutput> ? Procedure<TInputContext, TContext, unknown extends TInput ? undefined : TInput, unknown extends TParsedInput ? undefined : TParsedInput, TOutput> : never;
82
+ export declare type CreateProcedureOptions<TContext, TMeta = undefined, TInput = undefined, TParsedInput = undefined, TOutput = undefined, TParsedOutput = undefined> = CreateProcedureWithInputOutputParser<TContext, TMeta, TInput, TParsedInput, TOutput, TParsedOutput> | CreateProcedureWithInput<TContext, TMeta, TInput, TOutput> | CreateProcedureWithoutInput<TContext, TMeta, TOutput, TParsedOutput>;
83
+ export declare function createProcedure<TContext, TMeta, TInput, TParsedInput, TOutput, TParsedOutput>(opts: CreateProcedureOptions<TContext, TMeta, TInput, TParsedInput, TOutput, TParsedOutput>): Procedure<unknown, TContext, TMeta, TInput, TParsedInput, TOutput, TParsedOutput>;
84
+ export declare type inferProcedureFromOptions<TInputContext, TOptions extends CreateProcedureOptions<any, any, any, any, any, any>> = TOptions extends CreateProcedureOptions<infer TContext, infer TMeta, infer TInput, infer TParsedInput, infer TOutput, infer TParsedOutput> ? Procedure<TInputContext, TContext, TMeta, unknown extends TInput ? undefined : TInput, unknown extends TParsedInput ? undefined : TParsedInput, TOutput, TParsedOutput> : never;
73
85
  export {};
74
86
  //# sourceMappingURL=procedure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/internals/procedure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/internals/procedure.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { URLSearchParams } from 'url';
2
- import { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-ca8bc869.mjs';
3
- import { T as TRPCError } from './transformTRPCResponse-f9337285.mjs';
1
+ import { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-de40fda7.mjs';
2
+ import { T as TRPCError } from './transformTRPCResponse-9fdeecca.mjs';
4
3
 
5
4
  async function getPostBody({
6
5
  req,
@@ -1,8 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var url = require('url');
4
- var resolveHTTPResponse = require('./resolveHTTPResponse-d4da195d.js');
5
- var transformTRPCResponse = require('./transformTRPCResponse-eeeb5300.js');
3
+ var resolveHTTPResponse = require('./resolveHTTPResponse-b1167b6a.js');
4
+ var transformTRPCResponse = require('./transformTRPCResponse-a57d3226.js');
6
5
 
7
6
  async function getPostBody({
8
7
  req,
@@ -58,7 +57,7 @@ async function nodeHTTPRequestHandler(opts) {
58
57
  router
59
58
  } = opts;
60
59
  const bodyResult = await getPostBody(opts);
61
- const query = opts.req.query ? new url.URLSearchParams(opts.req.query) : new url.URLSearchParams(opts.req.url.split('?')[1]);
60
+ const query = opts.req.query ? new URLSearchParams(opts.req.query) : new URLSearchParams(opts.req.url.split('?')[1]);
62
61
  const req = {
63
62
  method: opts.req.method,
64
63
  headers: opts.req.headers,
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var transformTRPCResponse = require('./transformTRPCResponse-eeeb5300.js');
4
- var codes = require('./codes-7f46544e.js');
3
+ var transformTRPCResponse = require('./transformTRPCResponse-a57d3226.js');
4
+ var codes = require('./codes-4e4d55a9.js');
5
5
 
6
6
  /* istanbul ignore file */
7
7
  function assertNotBrowser() {
8
- if (typeof window !== 'undefined' && process.env.NODE_ENV !== 'test' && process.env.JEST_WORKER_ID === undefined) {
8
+ if (typeof window !== 'undefined' && !('Deno' in window) && process.env.NODE_ENV !== 'test' && process.env.JEST_WORKER_ID === undefined) {
9
9
  throw new Error('Imported server-only code in the browser');
10
10
  }
11
11
  }
@@ -19,6 +19,7 @@ const JSONRPC2_TO_HTTP_CODE = {
19
19
  UNAUTHORIZED: 401,
20
20
  FORBIDDEN: 403,
21
21
  TIMEOUT: 408,
22
+ CONFLICT: 409,
22
23
  CLIENT_CLOSED_REQUEST: 499,
23
24
  PRECONDITION_FAILED: 412,
24
25
  PAYLOAD_TOO_LARGE: 413,
@@ -81,10 +82,10 @@ function getRawProcedureInputOrThrow(req) {
81
82
  }
82
83
 
83
84
  return typeof req.body === 'string' ? JSON.parse(req.body) : req.body;
84
- } catch (cause) {
85
+ } catch (err) {
85
86
  throw new transformTRPCResponse.TRPCError({
86
87
  code: 'PARSE_ERROR',
87
- cause
88
+ cause: transformTRPCResponse.getCauseFromUnknown(err)
88
89
  });
89
90
  }
90
91
  }
@@ -1,9 +1,9 @@
1
- import { T as TRPCError, c as callProcedure, g as getErrorFromUnknown, t as transformTRPCResponse } from './transformTRPCResponse-f9337285.mjs';
2
- import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-7a3d4f65.mjs';
1
+ import { T as TRPCError, c as callProcedure, a as getErrorFromUnknown, g as getCauseFromUnknown, t as transformTRPCResponse } from './transformTRPCResponse-9fdeecca.mjs';
2
+ import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-6c13cf43.mjs';
3
3
 
4
4
  /* istanbul ignore file */
5
5
  function assertNotBrowser() {
6
- if (typeof window !== 'undefined' && process.env.NODE_ENV !== 'test' && process.env.JEST_WORKER_ID === undefined) {
6
+ if (typeof window !== 'undefined' && !('Deno' in window) && process.env.NODE_ENV !== 'test' && process.env.JEST_WORKER_ID === undefined) {
7
7
  throw new Error('Imported server-only code in the browser');
8
8
  }
9
9
  }
@@ -17,6 +17,7 @@ const JSONRPC2_TO_HTTP_CODE = {
17
17
  UNAUTHORIZED: 401,
18
18
  FORBIDDEN: 403,
19
19
  TIMEOUT: 408,
20
+ CONFLICT: 409,
20
21
  CLIENT_CLOSED_REQUEST: 499,
21
22
  PRECONDITION_FAILED: 412,
22
23
  PAYLOAD_TOO_LARGE: 413,
@@ -79,10 +80,10 @@ function getRawProcedureInputOrThrow(req) {
79
80
  }
80
81
 
81
82
  return typeof req.body === 'string' ? JSON.parse(req.body) : req.body;
82
- } catch (cause) {
83
+ } catch (err) {
83
84
  throw new TRPCError({
84
85
  code: 'PARSE_ERROR',
85
- cause
86
+ cause: getCauseFromUnknown(err)
86
87
  });
87
88
  }
88
89
  }