@trpc/server 10.43.0 → 11.0.0-next.91

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 (164) hide show
  1. package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
  2. package/dist/adapters/aws-lambda/index.js +6 -4
  3. package/dist/adapters/aws-lambda/index.mjs +6 -4
  4. package/dist/adapters/aws-lambda/utils.d.ts +3 -1
  5. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -1
  6. package/dist/adapters/express.js +4 -3
  7. package/dist/adapters/express.mjs +4 -3
  8. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  9. package/dist/adapters/fastify/index.js +8 -5
  10. package/dist/adapters/fastify/index.mjs +8 -5
  11. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
  12. package/dist/adapters/fetch/index.js +6 -4
  13. package/dist/adapters/fetch/index.mjs +6 -4
  14. package/dist/adapters/fetch/types.d.ts +2 -1
  15. package/dist/adapters/fetch/types.d.ts.map +1 -1
  16. package/dist/adapters/next.js +4 -3
  17. package/dist/adapters/next.mjs +4 -3
  18. package/dist/adapters/node-http/index.js +4 -3
  19. package/dist/adapters/node-http/index.mjs +4 -3
  20. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  21. package/dist/adapters/node-http/types.d.ts +2 -1
  22. package/dist/adapters/node-http/types.d.ts.map +1 -1
  23. package/dist/adapters/standalone.d.ts +1 -6
  24. package/dist/adapters/standalone.d.ts.map +1 -1
  25. package/dist/adapters/standalone.js +8 -19
  26. package/dist/adapters/standalone.mjs +8 -19
  27. package/dist/adapters/ws.d.ts +25 -4
  28. package/dist/adapters/ws.d.ts.map +1 -1
  29. package/dist/adapters/ws.js +67 -14
  30. package/dist/adapters/ws.mjs +58 -6
  31. package/dist/bundle-analysis.json +910 -0
  32. package/dist/config-5de7eae5.js +10 -0
  33. package/dist/config-60fc2667.js +7 -0
  34. package/dist/config-ab4c1c6b.mjs +5 -0
  35. package/dist/core/index.d.ts +1 -1
  36. package/dist/core/index.d.ts.map +1 -1
  37. package/dist/core/initTRPC.d.ts +1 -1
  38. package/dist/core/internals/builderTypes.d.ts +11 -0
  39. package/dist/core/internals/builderTypes.d.ts.map +1 -0
  40. package/dist/core/internals/getParseFn.d.ts +0 -5
  41. package/dist/core/internals/getParseFn.d.ts.map +1 -1
  42. package/dist/core/internals/mergeRouters.d.ts +0 -3
  43. package/dist/core/internals/mergeRouters.d.ts.map +1 -1
  44. package/dist/core/internals/procedureBuilder.d.ts +24 -27
  45. package/dist/core/internals/procedureBuilder.d.ts.map +1 -1
  46. package/dist/core/internals/utils.d.ts +7 -8
  47. package/dist/core/internals/utils.d.ts.map +1 -1
  48. package/dist/core/middleware.d.ts +16 -15
  49. package/dist/core/middleware.d.ts.map +1 -1
  50. package/dist/core/procedure.d.ts +41 -42
  51. package/dist/core/procedure.d.ts.map +1 -1
  52. package/dist/core/router.d.ts +9 -56
  53. package/dist/core/router.d.ts.map +1 -1
  54. package/dist/core/types.d.ts +7 -12
  55. package/dist/core/types.d.ts.map +1 -1
  56. package/dist/http/index.js +3 -2
  57. package/dist/http/index.mjs +3 -2
  58. package/dist/http/resolveHTTPResponse.d.ts +3 -3
  59. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  60. package/dist/http/types.d.ts +22 -1
  61. package/dist/http/types.d.ts.map +1 -1
  62. package/dist/index.d.ts +10 -2
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +24 -811
  65. package/dist/index.mjs +15 -802
  66. package/dist/{nodeHTTPRequestHandler-cf01c646.mjs → nodeHTTPRequestHandler-0986c5a1.mjs} +8 -3
  67. package/dist/{nodeHTTPRequestHandler-b7d358fe.js → nodeHTTPRequestHandler-18f3370e.js} +8 -3
  68. package/dist/{nodeHTTPRequestHandler-9781faee.js → nodeHTTPRequestHandler-388f5fce.js} +8 -3
  69. package/dist/{resolveHTTPResponse-68c8befb.mjs → resolveHTTPResponse-55c648bd.mjs} +14 -12
  70. package/dist/{resolveHTTPResponse-79011e44.js → resolveHTTPResponse-5def1b0c.js} +15 -13
  71. package/dist/{resolveHTTPResponse-051b3a40.js → resolveHTTPResponse-8d474952.js} +12 -12
  72. package/dist/{config-3ab6b85e.js → router-3c22fe56.js} +9 -46
  73. package/dist/{config-4c0f8e88.mjs → router-5274e533.mjs} +10 -45
  74. package/dist/{config-f356f2fd.js → router-a1635eab.js} +9 -44
  75. package/dist/rpc/envelopes.d.ts +1 -5
  76. package/dist/rpc/envelopes.d.ts.map +1 -1
  77. package/dist/rpc/index.d.ts +0 -1
  78. package/dist/rpc/index.d.ts.map +1 -1
  79. package/dist/rpc/index.js +0 -2
  80. package/dist/rpc/index.mjs +0 -1
  81. package/dist/shared/getErrorShape.d.ts +1 -1
  82. package/dist/shared/getErrorShape.d.ts.map +1 -1
  83. package/dist/shared/index.d.ts +1 -0
  84. package/dist/shared/index.d.ts.map +1 -1
  85. package/dist/shared/jsonify.d.ts +3 -2
  86. package/dist/shared/jsonify.d.ts.map +1 -1
  87. package/dist/shared/transformTRPCResponse.d.ts +1 -1
  88. package/dist/shared/transformTRPCResponse.d.ts.map +1 -1
  89. package/dist/shared/types.d.ts +6 -0
  90. package/dist/shared/types.d.ts.map +1 -0
  91. package/dist/types.d.ts +5 -0
  92. package/dist/types.d.ts.map +1 -1
  93. package/dist/unstableInternalsExport-10cc2bae.mjs +353 -0
  94. package/dist/unstableInternalsExport-a064a7dd.js +349 -0
  95. package/dist/unstableInternalsExport-bf8496ea.js +363 -0
  96. package/dist/unstableInternalsExport.d.ts +11 -0
  97. package/dist/unstableInternalsExport.d.ts.map +1 -0
  98. package/dist/unstableInternalsExport.js +16 -0
  99. package/dist/unstableInternalsExport.mjs +5 -0
  100. package/package.json +9 -3
  101. package/src/adapters/aws-lambda/index.ts +11 -7
  102. package/src/adapters/aws-lambda/utils.ts +3 -0
  103. package/src/adapters/fastify/fastifyRequestHandler.ts +9 -5
  104. package/src/adapters/fetch/fetchRequestHandler.ts +9 -3
  105. package/src/adapters/fetch/types.ts +2 -1
  106. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +15 -4
  107. package/src/adapters/node-http/types.ts +2 -1
  108. package/src/adapters/standalone.ts +4 -22
  109. package/src/adapters/ws.ts +110 -14
  110. package/src/core/index.ts +1 -0
  111. package/src/core/internals/builderTypes.ts +11 -0
  112. package/src/core/internals/getParseFn.ts +0 -13
  113. package/src/core/internals/mergeRouters.ts +0 -4
  114. package/src/core/internals/procedureBuilder.ts +50 -70
  115. package/src/core/internals/utils.ts +11 -8
  116. package/src/core/middleware.ts +37 -31
  117. package/src/core/procedure.ts +46 -54
  118. package/src/core/router.ts +19 -117
  119. package/src/core/types.ts +11 -20
  120. package/src/http/resolveHTTPResponse.ts +17 -14
  121. package/src/http/types.ts +24 -1
  122. package/src/index.ts +16 -2
  123. package/src/rpc/envelopes.ts +1 -6
  124. package/src/rpc/index.ts +0 -1
  125. package/src/shared/getErrorShape.ts +2 -1
  126. package/src/shared/index.ts +2 -0
  127. package/src/shared/jsonify.ts +9 -5
  128. package/src/shared/transformTRPCResponse.ts +1 -1
  129. package/src/shared/types.ts +9 -0
  130. package/src/types.ts +8 -0
  131. package/src/unstableInternalsExport.ts +10 -0
  132. package/unstableInternalsExport/index.d.ts +1 -0
  133. package/unstableInternalsExport/index.js +1 -0
  134. package/adapters/zodFileSchema/index.d.ts +0 -1
  135. package/adapters/zodFileSchema/index.js +0 -1
  136. package/dist/adapters/lambda/index.d.ts +0 -12
  137. package/dist/adapters/lambda/index.d.ts.map +0 -1
  138. package/dist/deprecated/internals/middlewares.d.ts +0 -52
  139. package/dist/deprecated/internals/middlewares.d.ts.map +0 -1
  140. package/dist/deprecated/internals/procedure.d.ts +0 -96
  141. package/dist/deprecated/internals/procedure.d.ts.map +0 -1
  142. package/dist/deprecated/interop.d.ts +0 -44
  143. package/dist/deprecated/interop.d.ts.map +0 -1
  144. package/dist/deprecated/router.d.ts +0 -204
  145. package/dist/deprecated/router.d.ts.map +0 -1
  146. package/dist/internals.d.ts +0 -10
  147. package/dist/internals.d.ts.map +0 -1
  148. package/dist/parseTRPCMessage-1377f305.js +0 -56
  149. package/dist/parseTRPCMessage-95955211.js +0 -63
  150. package/dist/parseTRPCMessage-a0f17853.mjs +0 -54
  151. package/dist/rpc/parseTRPCMessage.d.ts +0 -5
  152. package/dist/rpc/parseTRPCMessage.d.ts.map +0 -1
  153. package/dist/subscription.d.ts +0 -13
  154. package/dist/subscription.d.ts.map +0 -1
  155. package/dist/subscription.js +0 -38
  156. package/dist/subscription.mjs +0 -34
  157. package/src/adapters/lambda/index.ts +0 -18
  158. package/src/deprecated/internals/middlewares.ts +0 -61
  159. package/src/deprecated/internals/procedure.ts +0 -411
  160. package/src/deprecated/interop.ts +0 -232
  161. package/src/deprecated/router.ts +0 -945
  162. package/src/internals.ts +0 -12
  163. package/src/rpc/parseTRPCMessage.ts +0 -84
  164. package/src/subscription.ts +0 -43
@@ -0,0 +1,6 @@
1
+ import { AnyRouter } from '../core';
2
+ import { AnyRootConfig } from '../core/internals/config';
3
+ export type TRPCInferrable = AnyRouter | AnyRootConfig;
4
+ export type inferConfig<TInferrable extends TRPCInferrable> = TInferrable extends AnyRouter ? TInferrable['_def']['_config'] : TInferrable;
5
+ export type inferErrorShape<TInferrable extends TRPCInferrable> = inferConfig<TInferrable>['$types']['errorShape'];
6
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,CAAC;AACvD,MAAM,MAAM,WAAW,CAAC,WAAW,SAAS,cAAc,IACxD,WAAW,SAAS,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;AAE/E,MAAM,MAAM,eAAe,CAAC,WAAW,SAAS,cAAc,IAC5D,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -75,4 +75,9 @@ export type Unwrap<TType> = TType extends (...args: any[]) => infer R ? ThenArg<
75
75
  export type DeepPartial<TObject> = TObject extends object ? {
76
76
  [P in keyof TObject]?: DeepPartial<TObject[P]>;
77
77
  } : TObject;
78
+ /**
79
+ * Omits the key without removing a potential union
80
+ * @internal
81
+ */
82
+ export type DistributiveOmit<TObj, TKey extends keyof any> = TObj extends any ? Omit<TObj, TKey> : never;
78
83
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,353 @@
1
+ import { d as defaultFormatter, a as defaultTransformer, c as createRouterFactory } from './router-5274e533.mjs';
2
+ import { T as TRPCError, g as getTRPCErrorFromUnknown } from './TRPCError-816ff32e.mjs';
3
+
4
+ /**
5
+ * @internal
6
+ */ function createMiddlewareFactory() {
7
+ function createMiddlewareInner(middlewares) {
8
+ return {
9
+ _middlewares: middlewares,
10
+ unstable_pipe (middlewareBuilderOrFn) {
11
+ const pipedMiddleware = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
12
+ middlewareBuilderOrFn
13
+ ];
14
+ return createMiddlewareInner([
15
+ ...middlewares,
16
+ ...pipedMiddleware
17
+ ]);
18
+ }
19
+ };
20
+ }
21
+ function createMiddleware(fn) {
22
+ return createMiddlewareInner([
23
+ fn
24
+ ]);
25
+ }
26
+ return createMiddleware;
27
+ }
28
+ const experimental_standaloneMiddleware = ()=>({
29
+ create: createMiddlewareFactory()
30
+ });
31
+ function isPlainObject(obj) {
32
+ return obj && typeof obj === 'object' && !Array.isArray(obj);
33
+ }
34
+ /**
35
+ * @internal
36
+ * Please note, `trpc-openapi` uses this function.
37
+ */ function createInputMiddleware(parse) {
38
+ const inputMiddleware = async (opts)=>{
39
+ let parsedInput;
40
+ const rawInput = await opts.getRawInput();
41
+ try {
42
+ parsedInput = await parse(rawInput);
43
+ } catch (cause) {
44
+ throw new TRPCError({
45
+ code: 'BAD_REQUEST',
46
+ cause
47
+ });
48
+ }
49
+ // Multiple input parsers
50
+ const combinedInput = isPlainObject(opts.input) && isPlainObject(parsedInput) ? {
51
+ ...opts.input,
52
+ ...parsedInput
53
+ } : parsedInput;
54
+ return opts.next({
55
+ input: combinedInput
56
+ });
57
+ };
58
+ inputMiddleware._type = 'input';
59
+ return inputMiddleware;
60
+ }
61
+ /**
62
+ * @internal
63
+ */ function createOutputMiddleware(parse) {
64
+ const outputMiddleware = async ({ next })=>{
65
+ const result = await next();
66
+ if (!result.ok) {
67
+ // pass through failures without validating
68
+ return result;
69
+ }
70
+ try {
71
+ const data = await parse(result.data);
72
+ return {
73
+ ...result,
74
+ data
75
+ };
76
+ } catch (cause) {
77
+ throw new TRPCError({
78
+ message: 'Output validation failed',
79
+ code: 'INTERNAL_SERVER_ERROR',
80
+ cause
81
+ });
82
+ }
83
+ };
84
+ outputMiddleware._type = 'output';
85
+ return outputMiddleware;
86
+ }
87
+
88
+ /**
89
+ * Ensures there are no duplicate keys when building a procedure.
90
+ */ function mergeWithoutOverrides(obj1, ...objs) {
91
+ const newObj = Object.assign(Object.create(null), obj1);
92
+ for (const overrides of objs){
93
+ for(const key in overrides){
94
+ if (key in newObj && newObj[key] !== overrides[key]) {
95
+ throw new Error(`Duplicate key ${key}`);
96
+ }
97
+ newObj[key] = overrides[key];
98
+ }
99
+ }
100
+ return newObj;
101
+ }
102
+
103
+ function mergeRouters(...routerList) {
104
+ const record = mergeWithoutOverrides({}, ...routerList.map((r)=>r._def.record));
105
+ const errorFormatter = routerList.reduce((currentErrorFormatter, nextRouter)=>{
106
+ if (nextRouter._def._config.errorFormatter && nextRouter._def._config.errorFormatter !== defaultFormatter) {
107
+ if (currentErrorFormatter !== defaultFormatter && currentErrorFormatter !== nextRouter._def._config.errorFormatter) {
108
+ throw new Error('You seem to have several error formatters');
109
+ }
110
+ return nextRouter._def._config.errorFormatter;
111
+ }
112
+ return currentErrorFormatter;
113
+ }, defaultFormatter);
114
+ const transformer = routerList.reduce((prev, current)=>{
115
+ if (current._def._config.transformer && current._def._config.transformer !== defaultTransformer) {
116
+ if (prev !== defaultTransformer && prev !== current._def._config.transformer) {
117
+ throw new Error('You seem to have several transformers');
118
+ }
119
+ return current._def._config.transformer;
120
+ }
121
+ return prev;
122
+ }, defaultTransformer);
123
+ const router = createRouterFactory({
124
+ errorFormatter,
125
+ transformer,
126
+ isDev: routerList.some((r)=>r._def._config.isDev),
127
+ allowOutsideOfServer: routerList.some((r)=>r._def._config.allowOutsideOfServer),
128
+ isServer: routerList.some((r)=>r._def._config.isServer),
129
+ $types: routerList[0]?._def._config.$types
130
+ })(record);
131
+ return router;
132
+ }
133
+
134
+ function getParseFn(procedureParser) {
135
+ const parser = procedureParser;
136
+ if (typeof parser === 'function') {
137
+ // ParserCustomValidatorEsque
138
+ return parser;
139
+ }
140
+ if (typeof parser.parseAsync === 'function') {
141
+ // ParserZodEsque
142
+ return parser.parseAsync.bind(parser);
143
+ }
144
+ if (typeof parser.parse === 'function') {
145
+ // ParserZodEsque
146
+ // ParserValibotEsque (<= v0.12.X)
147
+ return parser.parse.bind(parser);
148
+ }
149
+ if (typeof parser.validateSync === 'function') {
150
+ // ParserYupEsque
151
+ return parser.validateSync.bind(parser);
152
+ }
153
+ if (typeof parser.create === 'function') {
154
+ // ParserSuperstructEsque
155
+ return parser.create.bind(parser);
156
+ }
157
+ if (typeof parser.assert === 'function') {
158
+ // ParserScaleEsque
159
+ return (value)=>{
160
+ parser.assert(value);
161
+ return value;
162
+ };
163
+ }
164
+ throw new Error('Could not find a validator fn');
165
+ }
166
+
167
+ /**
168
+ * @internal
169
+ */ const middlewareMarker = 'middlewareMarker';
170
+ /**
171
+ * @internal
172
+ */ const unsetMarker = Symbol('unsetMarker');
173
+
174
+ function createNewBuilder(def1, def2) {
175
+ const { middlewares =[] , inputs , meta , ...rest } = def2;
176
+ // TODO: maybe have a fn here to warn about calls
177
+ return createBuilder({
178
+ ...mergeWithoutOverrides(def1, rest),
179
+ inputs: [
180
+ ...def1.inputs,
181
+ ...inputs ?? []
182
+ ],
183
+ middlewares: [
184
+ ...def1.middlewares,
185
+ ...middlewares
186
+ ],
187
+ meta: def1.meta && meta ? {
188
+ ...def1.meta,
189
+ ...meta
190
+ } : meta ?? def1.meta
191
+ });
192
+ }
193
+ function createBuilder(initDef = {}) {
194
+ const _def = {
195
+ procedure: true,
196
+ inputs: [],
197
+ middlewares: [],
198
+ ...initDef
199
+ };
200
+ return {
201
+ _def,
202
+ input (input) {
203
+ const parser = getParseFn(input);
204
+ return createNewBuilder(_def, {
205
+ inputs: [
206
+ input
207
+ ],
208
+ middlewares: [
209
+ createInputMiddleware(parser)
210
+ ]
211
+ });
212
+ },
213
+ output (output) {
214
+ const parseOutput = getParseFn(output);
215
+ return createNewBuilder(_def, {
216
+ output,
217
+ middlewares: [
218
+ createOutputMiddleware(parseOutput)
219
+ ]
220
+ });
221
+ },
222
+ meta (meta) {
223
+ return createNewBuilder(_def, {
224
+ meta: meta
225
+ });
226
+ },
227
+ use (middlewareBuilderOrFn) {
228
+ // Distinguish between a middleware builder and a middleware function
229
+ const middlewares = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
230
+ middlewareBuilderOrFn
231
+ ];
232
+ return createNewBuilder(_def, {
233
+ middlewares: middlewares
234
+ });
235
+ },
236
+ query (resolver) {
237
+ return createResolver({
238
+ ..._def,
239
+ type: 'query'
240
+ }, resolver);
241
+ },
242
+ mutation (resolver) {
243
+ return createResolver({
244
+ ..._def,
245
+ type: 'mutation'
246
+ }, resolver);
247
+ },
248
+ subscription (resolver) {
249
+ return createResolver({
250
+ ..._def,
251
+ type: 'subscription'
252
+ }, resolver);
253
+ }
254
+ };
255
+ }
256
+ function createResolver(_def, resolver) {
257
+ const finalBuilder = createNewBuilder(_def, {
258
+ resolver,
259
+ middlewares: [
260
+ async function resolveMiddleware(opts) {
261
+ const data = await resolver(opts);
262
+ return {
263
+ marker: middlewareMarker,
264
+ ok: true,
265
+ data,
266
+ ctx: opts.ctx
267
+ };
268
+ }
269
+ ]
270
+ });
271
+ return createProcedureCaller(finalBuilder._def);
272
+ }
273
+ const codeblock = `
274
+ If you want to call this function on the server, you do the following:
275
+ This is a client-only function.
276
+
277
+ const caller = appRouter.createCaller({
278
+ /* ... your context */
279
+ });
280
+
281
+ const result = await caller.call('myProcedure', input);
282
+ `.trim();
283
+ function createProcedureCaller(_def) {
284
+ async function procedure(opts) {
285
+ // is direct server-side call
286
+ if (!opts || !('getRawInput' in opts)) {
287
+ throw new Error(codeblock);
288
+ }
289
+ // run the middlewares recursively with the resolver as the last one
290
+ const callRecursive = async (callOpts = {
291
+ index: 0,
292
+ ctx: opts.ctx
293
+ })=>{
294
+ try {
295
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
296
+ const middleware = _def.middlewares[callOpts.index];
297
+ const result = await middleware({
298
+ ctx: callOpts.ctx,
299
+ type: opts.type,
300
+ path: opts.path,
301
+ getRawInput: callOpts.getRawInput ?? opts.getRawInput,
302
+ meta: _def.meta,
303
+ input: callOpts.input,
304
+ next (_nextOpts) {
305
+ const nextOpts = _nextOpts;
306
+ return callRecursive({
307
+ index: callOpts.index + 1,
308
+ ctx: nextOpts && 'ctx' in nextOpts ? {
309
+ ...callOpts.ctx,
310
+ ...nextOpts.ctx
311
+ } : callOpts.ctx,
312
+ input: nextOpts && 'input' in nextOpts ? nextOpts.input : callOpts.input,
313
+ getRawInput: nextOpts && 'getRawInput' in nextOpts ? nextOpts.getRawInput : callOpts.getRawInput
314
+ });
315
+ }
316
+ });
317
+ return result;
318
+ } catch (cause) {
319
+ return {
320
+ ok: false,
321
+ error: getTRPCErrorFromUnknown(cause),
322
+ marker: middlewareMarker
323
+ };
324
+ }
325
+ };
326
+ // there's always at least one "next" since we wrap this.resolver in a middleware
327
+ const result = await callRecursive();
328
+ if (!result) {
329
+ throw new TRPCError({
330
+ code: 'INTERNAL_SERVER_ERROR',
331
+ message: 'No result from middlewares - did you forget to `return next()`?'
332
+ });
333
+ }
334
+ if (!result.ok) {
335
+ // re-throw original error
336
+ throw result.error;
337
+ }
338
+ return result.data;
339
+ }
340
+ procedure._def = _def;
341
+ // FIXME typecast shouldn't be needed - fixittt
342
+ return procedure;
343
+ }
344
+
345
+ var unstableInternalsExport = /*#__PURE__*/Object.freeze({
346
+ __proto__: null,
347
+ mergeRouters: mergeRouters,
348
+ createBuilder: createBuilder,
349
+ middlewareMarker: middlewareMarker,
350
+ unsetMarker: unsetMarker
351
+ });
352
+
353
+ export { createMiddlewareFactory as a, createInputMiddleware as b, createBuilder as c, createOutputMiddleware as d, experimental_standaloneMiddleware as e, middlewareMarker as f, unsetMarker as g, mergeRouters as m, unstableInternalsExport as u };