@trpc/server 11.0.0-alpha-tmp-export-from-main-nuke-core.215 → 11.0.0-alpha-tmp-export-from-main.211

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 (207) hide show
  1. package/dist/@trpc-core-unstable-do-not-import-this-please.d.ts +9 -0
  2. package/dist/@trpc-core-unstable-do-not-import-this-please.d.ts.map +1 -0
  3. package/dist/@trpc-server/http.d.ts +1 -1
  4. package/dist/@trpc-server/http.d.ts.map +1 -1
  5. package/dist/@trpc-server.d.ts +3 -3
  6. package/dist/@trpc-server.d.ts.map +1 -1
  7. package/dist/adapters/aws-lambda/index.d.ts +1 -1
  8. package/dist/adapters/aws-lambda/index.js +7 -12
  9. package/dist/adapters/aws-lambda/index.mjs +3 -8
  10. package/dist/adapters/aws-lambda/utils.d.ts +1 -1
  11. package/dist/adapters/express.d.ts +1 -1
  12. package/dist/adapters/express.d.ts.map +1 -1
  13. package/dist/adapters/express.js +2 -8
  14. package/dist/adapters/express.mjs +2 -8
  15. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +1 -1
  16. package/dist/adapters/fastify/index.js +4 -12
  17. package/dist/adapters/fastify/index.mjs +2 -10
  18. package/dist/adapters/fetch/fetchRequestHandler.d.ts +1 -1
  19. package/dist/adapters/fetch/index.js +4 -10
  20. package/dist/adapters/fetch/index.mjs +2 -8
  21. package/dist/adapters/fetch/types.d.ts +1 -1
  22. package/dist/adapters/next.d.ts +1 -1
  23. package/dist/adapters/next.js +5 -11
  24. package/dist/adapters/next.mjs +3 -9
  25. package/dist/adapters/node-http/content-type/json/index.js +3 -5
  26. package/dist/adapters/node-http/content-type/json/index.mjs +1 -3
  27. package/dist/adapters/node-http/index.js +2 -8
  28. package/dist/adapters/node-http/index.mjs +2 -8
  29. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +1 -1
  30. package/dist/adapters/node-http/types.d.ts +2 -2
  31. package/dist/adapters/node-http/types.d.ts.map +1 -1
  32. package/dist/adapters/standalone.d.ts +1 -1
  33. package/dist/adapters/standalone.js +2 -8
  34. package/dist/adapters/standalone.mjs +2 -8
  35. package/dist/adapters/ws.d.ts +1 -2
  36. package/dist/adapters/ws.d.ts.map +1 -1
  37. package/dist/adapters/ws.js +26 -31
  38. package/dist/adapters/ws.mjs +1 -6
  39. package/dist/http.d.ts +6 -6
  40. package/dist/http.d.ts.map +1 -1
  41. package/dist/http.js +21 -12
  42. package/dist/http.mjs +1 -7
  43. package/dist/index.js +41 -15
  44. package/dist/index.mjs +1 -5
  45. package/dist/{nodeHTTPRequestHandler-257a3b5f.mjs → nodeHTTPRequestHandler-2d5c8791.mjs} +2 -4
  46. package/dist/{nodeHTTPRequestHandler-f4b7e374.js → nodeHTTPRequestHandler-55f05150.js} +4 -6
  47. package/dist/{nodeHTTPRequestHandler-29178135.js → nodeHTTPRequestHandler-7691fc79.js} +1 -3
  48. package/dist/observable.d.ts +2 -2
  49. package/dist/observable.d.ts.map +1 -1
  50. package/dist/observable.js +25 -9
  51. package/dist/observable.mjs +1 -3
  52. package/dist/rpc.d.ts +2 -2
  53. package/dist/rpc.d.ts.map +1 -1
  54. package/dist/rpc.js +13 -5
  55. package/dist/rpc.mjs +1 -2
  56. package/dist/shared.js +9 -4
  57. package/dist/shared.mjs +1 -2
  58. package/package.json +125 -53
  59. package/src/@trpc-core-unstable-do-not-import-this-please.ts +9 -0
  60. package/src/@trpc-server/http.ts +1 -2
  61. package/src/@trpc-server.ts +3 -3
  62. package/src/adapters/aws-lambda/index.ts +1 -1
  63. package/src/adapters/aws-lambda/utils.ts +1 -1
  64. package/src/adapters/express.ts +2 -1
  65. package/src/adapters/fastify/fastifyRequestHandler.ts +1 -1
  66. package/src/adapters/fastify/fastifyTRPCPlugin.ts +1 -1
  67. package/src/adapters/fetch/fetchRequestHandler.ts +1 -1
  68. package/src/adapters/fetch/types.ts +1 -1
  69. package/src/adapters/next.ts +1 -1
  70. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +1 -1
  71. package/src/adapters/node-http/types.ts +3 -2
  72. package/src/adapters/standalone.ts +1 -1
  73. package/src/adapters/ws.ts +10 -9
  74. package/src/http.ts +6 -6
  75. package/src/observable.ts +2 -2
  76. package/src/rpc.ts +2 -2
  77. package/dist/TRPCError-10da405a.js +0 -61
  78. package/dist/TRPCError-14edcf88.mjs +0 -63
  79. package/dist/TRPCError-e2c8eb77.js +0 -67
  80. package/dist/batchStreamFormatter-1971db27.js +0 -32
  81. package/dist/batchStreamFormatter-378277dc.mjs +0 -30
  82. package/dist/batchStreamFormatter-4375dc8b.js +0 -31
  83. package/dist/bundle-analysis.json +0 -767
  84. package/dist/contentType-2ed02bef.mjs +0 -52
  85. package/dist/contentType-3a829011.js +0 -54
  86. package/dist/contentType-e4a2373e.js +0 -59
  87. package/dist/createProxy-0306dcaa.mjs +0 -121
  88. package/dist/createProxy-7e413449.js +0 -127
  89. package/dist/createProxy-dce0c414.js +0 -116
  90. package/dist/initTRPC-2cef03ab.js +0 -384
  91. package/dist/initTRPC-38faa18f.js +0 -371
  92. package/dist/initTRPC-fa1b3d57.mjs +0 -376
  93. package/dist/observable-2a5a96d5.js +0 -125
  94. package/dist/observable-62674916.js +0 -125
  95. package/dist/observable-6d025a37.mjs +0 -121
  96. package/dist/operators-0cc4956a.js +0 -99
  97. package/dist/operators-b08617cb.js +0 -103
  98. package/dist/operators-d0c3e794.mjs +0 -99
  99. package/dist/parseTRPCMessage-6e6c204e.js +0 -65
  100. package/dist/parseTRPCMessage-8eb0bbe9.mjs +0 -62
  101. package/dist/parseTRPCMessage-ebdfe3ca.js +0 -67
  102. package/dist/resolveHTTPResponse-833ca2b8.js +0 -265
  103. package/dist/resolveHTTPResponse-9322334c.mjs +0 -291
  104. package/dist/resolveHTTPResponse-d64c48e1.js +0 -293
  105. package/dist/rootConfig-3371c473.js +0 -89
  106. package/dist/rootConfig-571c9267.js +0 -94
  107. package/dist/rootConfig-6b04a6b8.mjs +0 -81
  108. package/dist/router-3344b52a.js +0 -262
  109. package/dist/router-919c37eb.js +0 -259
  110. package/dist/router-d6789e4b.mjs +0 -252
  111. package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts +0 -6
  112. package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts.map +0 -1
  113. package/dist/unstable-core-do-not-import/createProxy.d.ts +0 -19
  114. package/dist/unstable-core-do-not-import/createProxy.d.ts.map +0 -1
  115. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +0 -13
  116. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts.map +0 -1
  117. package/dist/unstable-core-do-not-import/error/formatter.d.ts +0 -33
  118. package/dist/unstable-core-do-not-import/error/formatter.d.ts.map +0 -1
  119. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts +0 -15
  120. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts.map +0 -1
  121. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts +0 -24
  122. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts.map +0 -1
  123. package/dist/unstable-core-do-not-import/http/contentType.d.ts +0 -29
  124. package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +0 -1
  125. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +0 -5
  126. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +0 -1
  127. package/dist/unstable-core-do-not-import/http/index.d.ts +0 -7
  128. package/dist/unstable-core-do-not-import/http/index.d.ts.map +0 -1
  129. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts +0 -51
  130. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts.map +0 -1
  131. package/dist/unstable-core-do-not-import/http/types.d.ts +0 -96
  132. package/dist/unstable-core-do-not-import/http/types.d.ts.map +0 -1
  133. package/dist/unstable-core-do-not-import/index.d.ts +0 -35
  134. package/dist/unstable-core-do-not-import/index.d.ts.map +0 -1
  135. package/dist/unstable-core-do-not-import/index.js +0 -51
  136. package/dist/unstable-core-do-not-import/index.mjs +0 -11
  137. package/dist/unstable-core-do-not-import/initTRPC.d.ts +0 -96
  138. package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +0 -1
  139. package/dist/unstable-core-do-not-import/middleware.d.ts +0 -105
  140. package/dist/unstable-core-do-not-import/middleware.d.ts.map +0 -1
  141. package/dist/unstable-core-do-not-import/observable/index.d.ts +0 -5
  142. package/dist/unstable-core-do-not-import/observable/index.d.ts.map +0 -1
  143. package/dist/unstable-core-do-not-import/observable/observable.d.ts +0 -13
  144. package/dist/unstable-core-do-not-import/observable/observable.d.ts.map +0 -1
  145. package/dist/unstable-core-do-not-import/observable/operators.d.ts +0 -8
  146. package/dist/unstable-core-do-not-import/observable/operators.d.ts.map +0 -1
  147. package/dist/unstable-core-do-not-import/observable/types.d.ts +0 -26
  148. package/dist/unstable-core-do-not-import/observable/types.d.ts.map +0 -1
  149. package/dist/unstable-core-do-not-import/parser.d.ts +0 -30
  150. package/dist/unstable-core-do-not-import/parser.d.ts.map +0 -1
  151. package/dist/unstable-core-do-not-import/procedure.d.ts +0 -72
  152. package/dist/unstable-core-do-not-import/procedure.d.ts.map +0 -1
  153. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +0 -101
  154. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +0 -1
  155. package/dist/unstable-core-do-not-import/rootConfig.d.ts +0 -75
  156. package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +0 -1
  157. package/dist/unstable-core-do-not-import/router.d.ts +0 -85
  158. package/dist/unstable-core-do-not-import/router.d.ts.map +0 -1
  159. package/dist/unstable-core-do-not-import/rpc/codes.d.ts +0 -51
  160. package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +0 -1
  161. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts +0 -97
  162. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +0 -1
  163. package/dist/unstable-core-do-not-import/rpc/index.d.ts +0 -5
  164. package/dist/unstable-core-do-not-import/rpc/index.d.ts.map +0 -1
  165. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts +0 -5
  166. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts.map +0 -1
  167. package/dist/unstable-core-do-not-import/serialize.d.ts +0 -62
  168. package/dist/unstable-core-do-not-import/serialize.d.ts.map +0 -1
  169. package/dist/unstable-core-do-not-import/transformer.d.ts +0 -107
  170. package/dist/unstable-core-do-not-import/transformer.d.ts.map +0 -1
  171. package/dist/unstable-core-do-not-import/types.d.ts +0 -98
  172. package/dist/unstable-core-do-not-import/types.d.ts.map +0 -1
  173. package/dist/unstable-core-do-not-import/utils.d.ts +0 -31
  174. package/dist/unstable-core-do-not-import/utils.d.ts.map +0 -1
  175. package/src/unstable-core-do-not-import/TRPCInferrable.ts +0 -9
  176. package/src/unstable-core-do-not-import/createProxy.ts +0 -59
  177. package/src/unstable-core-do-not-import/error/TRPCError.ts +0 -82
  178. package/src/unstable-core-do-not-import/error/formatter.ts +0 -51
  179. package/src/unstable-core-do-not-import/error/getErrorShape.ts +0 -36
  180. package/src/unstable-core-do-not-import/http/batchStreamFormatter.ts +0 -29
  181. package/src/unstable-core-do-not-import/http/contentType.ts +0 -99
  182. package/src/unstable-core-do-not-import/http/getHTTPStatusCode.ts +0 -57
  183. package/src/unstable-core-do-not-import/http/index.ts +0 -23
  184. package/src/unstable-core-do-not-import/http/resolveHTTPResponse.ts +0 -458
  185. package/src/unstable-core-do-not-import/http/types.ts +0 -111
  186. package/src/unstable-core-do-not-import/index.ts +0 -108
  187. package/src/unstable-core-do-not-import/initTRPC.ts +0 -206
  188. package/src/unstable-core-do-not-import/middleware.ts +0 -233
  189. package/src/unstable-core-do-not-import/observable/index.ts +0 -10
  190. package/src/unstable-core-do-not-import/observable/observable.ts +0 -155
  191. package/src/unstable-core-do-not-import/observable/operators.ts +0 -119
  192. package/src/unstable-core-do-not-import/observable/types.ts +0 -76
  193. package/src/unstable-core-do-not-import/parser.ts +0 -94
  194. package/src/unstable-core-do-not-import/procedure.ts +0 -108
  195. package/src/unstable-core-do-not-import/procedureBuilder.ts +0 -458
  196. package/src/unstable-core-do-not-import/rootConfig.ts +0 -90
  197. package/src/unstable-core-do-not-import/router.ts +0 -370
  198. package/src/unstable-core-do-not-import/rpc/codes.ts +0 -44
  199. package/src/unstable-core-do-not-import/rpc/envelopes.ts +0 -136
  200. package/src/unstable-core-do-not-import/rpc/index.ts +0 -21
  201. package/src/unstable-core-do-not-import/rpc/parseTRPCMessage.ts +0 -85
  202. package/src/unstable-core-do-not-import/serialize.ts +0 -122
  203. package/src/unstable-core-do-not-import/transformer.ts +0 -202
  204. package/src/unstable-core-do-not-import/types.ts +0 -151
  205. package/src/unstable-core-do-not-import/utils.ts +0 -66
  206. package/unstable-core-do-not-import/index.d.ts +0 -1
  207. package/unstable-core-do-not-import/index.js +0 -1
@@ -1,384 +0,0 @@
1
- 'use strict';
2
-
3
- var createProxy = require('./createProxy-7e413449.js');
4
- var router = require('./router-3344b52a.js');
5
- var TRPCError = require('./TRPCError-e2c8eb77.js');
6
- var rootConfig = require('./rootConfig-3371c473.js');
7
-
8
- /** @internal */ const middlewareMarker = 'middlewareMarker';
9
- /**
10
- * @internal
11
- */ function createMiddlewareFactory() {
12
- function createMiddlewareInner(middlewares) {
13
- return {
14
- _middlewares: middlewares,
15
- unstable_pipe (middlewareBuilderOrFn) {
16
- const pipedMiddleware = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
17
- middlewareBuilderOrFn
18
- ];
19
- return createMiddlewareInner([
20
- ...middlewares,
21
- ...pipedMiddleware
22
- ]);
23
- }
24
- };
25
- }
26
- function createMiddleware(fn) {
27
- return createMiddlewareInner([
28
- fn
29
- ]);
30
- }
31
- return createMiddleware;
32
- }
33
- /**
34
- * Create a standalone middleware
35
- * @link https://trpc.io/docs/v11/server/middlewares#experimental-standalone-middlewares
36
- */ const experimental_standaloneMiddleware = ()=>({
37
- create: createMiddlewareFactory()
38
- });
39
- /**
40
- * @internal
41
- * Please note, `trpc-openapi` uses this function.
42
- */ function createInputMiddleware(parse) {
43
- const inputMiddleware = async function inputValidatorMiddleware(opts) {
44
- let parsedInput;
45
- const rawInput = await opts.getRawInput();
46
- try {
47
- parsedInput = await parse(rawInput);
48
- } catch (cause) {
49
- throw new TRPCError.TRPCError({
50
- code: 'BAD_REQUEST',
51
- cause
52
- });
53
- }
54
- // Multiple input parsers
55
- const combinedInput = rootConfig.isObject(opts.input) && rootConfig.isObject(parsedInput) ? {
56
- ...opts.input,
57
- ...parsedInput
58
- } : parsedInput;
59
- return opts.next({
60
- input: combinedInput
61
- });
62
- };
63
- inputMiddleware._type = 'input';
64
- return inputMiddleware;
65
- }
66
- /**
67
- * @internal
68
- */ function createOutputMiddleware(parse) {
69
- const outputMiddleware = async function outputValidatorMiddleware({ next }) {
70
- const result = await next();
71
- if (!result.ok) {
72
- // pass through failures without validating
73
- return result;
74
- }
75
- try {
76
- const data = await parse(result.data);
77
- return {
78
- ...result,
79
- data
80
- };
81
- } catch (cause) {
82
- throw new TRPCError.TRPCError({
83
- message: 'Output validation failed',
84
- code: 'INTERNAL_SERVER_ERROR',
85
- cause
86
- });
87
- }
88
- };
89
- outputMiddleware._type = 'output';
90
- return outputMiddleware;
91
- }
92
-
93
- // zod / @decs/typeschema
94
- function getParseFn(procedureParser) {
95
- const parser = procedureParser;
96
- if (typeof parser === 'function') {
97
- // ParserCustomValidatorEsque
98
- return parser;
99
- }
100
- if (typeof parser.parseAsync === 'function') {
101
- // ParserZodEsque
102
- return parser.parseAsync.bind(parser);
103
- }
104
- if (typeof parser.parse === 'function') {
105
- // ParserZodEsque
106
- // ParserValibotEsque (<= v0.12.X)
107
- return parser.parse.bind(parser);
108
- }
109
- if (typeof parser.validateSync === 'function') {
110
- // ParserYupEsque
111
- return parser.validateSync.bind(parser);
112
- }
113
- if (typeof parser.create === 'function') {
114
- // ParserSuperstructEsque
115
- return parser.create.bind(parser);
116
- }
117
- if (typeof parser.assert === 'function') {
118
- // ParserScaleEsque
119
- return (value)=>{
120
- parser.assert(value);
121
- return value;
122
- };
123
- }
124
- throw new Error('Could not find a validator fn');
125
- }
126
-
127
- /** @internal */ const unsetMarker = Symbol('unsetMarker');
128
- function createNewBuilder(def1, def2) {
129
- const { middlewares =[] , inputs , meta , ...rest } = def2;
130
- // TODO: maybe have a fn here to warn about calls
131
- return createBuilder({
132
- ...rootConfig.mergeWithoutOverrides(def1, rest),
133
- inputs: [
134
- ...def1.inputs,
135
- ...inputs ?? []
136
- ],
137
- middlewares: [
138
- ...def1.middlewares,
139
- ...middlewares
140
- ],
141
- meta: def1.meta && meta ? {
142
- ...def1.meta,
143
- ...meta
144
- } : meta ?? def1.meta
145
- });
146
- }
147
- function createBuilder(initDef = {}) {
148
- const _def = {
149
- procedure: true,
150
- inputs: [],
151
- middlewares: [],
152
- ...initDef
153
- };
154
- const builder = {
155
- _def,
156
- input (input) {
157
- const parser = getParseFn(input);
158
- return createNewBuilder(_def, {
159
- inputs: [
160
- input
161
- ],
162
- middlewares: [
163
- createInputMiddleware(parser)
164
- ]
165
- });
166
- },
167
- output (output) {
168
- const parser = getParseFn(output);
169
- return createNewBuilder(_def, {
170
- output,
171
- middlewares: [
172
- createOutputMiddleware(parser)
173
- ]
174
- });
175
- },
176
- meta (meta) {
177
- return createNewBuilder(_def, {
178
- meta
179
- });
180
- },
181
- use (middlewareBuilderOrFn) {
182
- // Distinguish between a middleware builder and a middleware function
183
- const middlewares = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
184
- middlewareBuilderOrFn
185
- ];
186
- return createNewBuilder(_def, {
187
- middlewares: middlewares
188
- });
189
- },
190
- query (resolver) {
191
- return createResolver({
192
- ..._def,
193
- type: 'query'
194
- }, resolver);
195
- },
196
- mutation (resolver) {
197
- return createResolver({
198
- ..._def,
199
- type: 'mutation'
200
- }, resolver);
201
- },
202
- subscription (resolver) {
203
- return createResolver({
204
- ..._def,
205
- type: 'subscription'
206
- }, resolver);
207
- }
208
- };
209
- return builder;
210
- }
211
- function createResolver(_def, resolver) {
212
- const finalBuilder = createNewBuilder(_def, {
213
- resolver,
214
- middlewares: [
215
- async function resolveMiddleware(opts) {
216
- const data = await resolver(opts);
217
- return {
218
- marker: middlewareMarker,
219
- ok: true,
220
- data,
221
- ctx: opts.ctx
222
- };
223
- }
224
- ]
225
- });
226
- return createProcedureCaller(finalBuilder._def);
227
- }
228
- const codeblock = `
229
- This is a client-only function.
230
- If you want to call this function on the server, see https://trpc.io/docs/v11/server/server-side-calls
231
- `.trim();
232
- function createProcedureCaller(_def) {
233
- async function procedure(opts) {
234
- // is direct server-side call
235
- if (!opts || !('getRawInput' in opts)) {
236
- throw new Error(codeblock);
237
- }
238
- // run the middlewares recursively with the resolver as the last one
239
- async function callRecursive(callOpts = {
240
- index: 0,
241
- ctx: opts.ctx
242
- }) {
243
- try {
244
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
245
- const middleware = _def.middlewares[callOpts.index];
246
- const result = await middleware({
247
- ctx: callOpts.ctx,
248
- type: opts.type,
249
- path: opts.path,
250
- getRawInput: callOpts.getRawInput ?? opts.getRawInput,
251
- meta: _def.meta,
252
- input: callOpts.input,
253
- next (_nextOpts) {
254
- const nextOpts = _nextOpts;
255
- return callRecursive({
256
- index: callOpts.index + 1,
257
- ctx: nextOpts && 'ctx' in nextOpts ? {
258
- ...callOpts.ctx,
259
- ...nextOpts.ctx
260
- } : callOpts.ctx,
261
- input: nextOpts && 'input' in nextOpts ? nextOpts.input : callOpts.input,
262
- getRawInput: nextOpts && 'getRawInput' in nextOpts ? nextOpts.getRawInput : callOpts.getRawInput
263
- });
264
- }
265
- });
266
- return result;
267
- } catch (cause) {
268
- return {
269
- ok: false,
270
- error: TRPCError.getTRPCErrorFromUnknown(cause),
271
- marker: middlewareMarker
272
- };
273
- }
274
- }
275
- // there's always at least one "next" since we wrap this.resolver in a middleware
276
- const result = await callRecursive();
277
- if (!result) {
278
- throw new TRPCError.TRPCError({
279
- code: 'INTERNAL_SERVER_ERROR',
280
- message: 'No result from middlewares - did you forget to `return next()`?'
281
- });
282
- }
283
- if (!result.ok) {
284
- // re-throw original error
285
- throw result.error;
286
- }
287
- return result.data;
288
- }
289
- procedure._def = _def;
290
- // FIXME typecast shouldn't be needed - fixittt
291
- return procedure;
292
- }
293
-
294
- /**
295
- * TODO: This can be improved:
296
- * - We should be able to chain `.meta()`/`.context()` only once
297
- * - Simplify typings
298
- * - Doesn't need to be a class but it doesn't really hurt either
299
- */ class TRPCBuilder {
300
- /**
301
- * Add a context shape as a generic to the root object
302
- * @link https://trpc.io/docs/v11/server/context
303
- */ context() {
304
- return new TRPCBuilder();
305
- }
306
- /**
307
- * Add a meta shape as a generic to the root object
308
- * @link https://trpc.io/docs/v11/quickstart
309
- */ meta() {
310
- return new TRPCBuilder();
311
- }
312
- /**
313
- * Create the root object
314
- * @link https://trpc.io/docs/v11/server/routers#initialize-trpc
315
- */ create(options) {
316
- return createTRPCInner()(options);
317
- }
318
- }
319
- /**
320
- * Builder to initialize the tRPC root object - use this exactly once per backend
321
- * @link https://trpc.io/docs/v11/quickstart
322
- */ const initTRPC = new TRPCBuilder();
323
- function createTRPCInner() {
324
- return function initTRPCInner(runtime) {
325
- const errorFormatter = runtime?.errorFormatter ?? router.defaultFormatter;
326
- const transformer = router.getDataTransformer(runtime?.transformer ?? router.defaultTransformer);
327
- const config = {
328
- transformer,
329
- isDev: runtime?.isDev ?? // eslint-disable-next-line @typescript-eslint/dot-notation
330
- globalThis.process?.env?.['NODE_ENV'] !== 'production',
331
- allowOutsideOfServer: runtime?.allowOutsideOfServer ?? false,
332
- errorFormatter,
333
- isServer: runtime?.isServer ?? rootConfig.isServerDefault,
334
- /**
335
- * @internal
336
- */ $types: createProxy.createFlatProxy((key)=>{
337
- throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
338
- })
339
- };
340
- {
341
- // Server check
342
- const isServer = runtime?.isServer ?? rootConfig.isServerDefault;
343
- if (!isServer && runtime?.allowOutsideOfServer !== true) {
344
- throw new Error(`You're trying to use @trpc/server in a non-server environment. This is not supported by default.`);
345
- }
346
- }
347
- return {
348
- /**
349
- * These are just types, they can't be used
350
- * @internal
351
- */ _config: config,
352
- /**
353
- * Builder object for creating procedures
354
- * @link https://trpc.io/docs/v11/server/procedures
355
- */ procedure: createBuilder({
356
- meta: runtime?.defaultMeta
357
- }),
358
- /**
359
- * Create reusable middlewares
360
- * @link https://trpc.io/docs/v11/server/middlewares
361
- */ middleware: createMiddlewareFactory(),
362
- /**
363
- * Create a router
364
- * @link https://trpc.io/docs/v11/server/routers
365
- */ router: router.createRouterFactory(config),
366
- /**
367
- * Merge Routers
368
- * @link https://trpc.io/docs/v11/server/merging-routers
369
- */ mergeRouters: router.mergeRouters,
370
- /**
371
- * Create a server-side caller for a router
372
- * @link https://trpc.io/docs/v11/server/server-side-calls
373
- */ createCallerFactory: router.createCallerFactory()
374
- };
375
- };
376
- }
377
-
378
- exports.createBuilder = createBuilder;
379
- exports.createInputMiddleware = createInputMiddleware;
380
- exports.createOutputMiddleware = createOutputMiddleware;
381
- exports.experimental_standaloneMiddleware = experimental_standaloneMiddleware;
382
- exports.initTRPC = initTRPC;
383
- exports.middlewareMarker = middlewareMarker;
384
- exports.unsetMarker = unsetMarker;