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