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