@trpc/server 9.18.0 → 10.0.0-alpha.3

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 (169) hide show
  1. package/adapters/express/index.d.ts +1 -0
  2. package/adapters/express/index.js +1 -0
  3. package/adapters/next/index.d.ts +1 -0
  4. package/adapters/next/index.js +1 -0
  5. package/adapters/node-http/index.d.ts +1 -0
  6. package/adapters/node-http/index.js +1 -0
  7. package/adapters/standalone/index.d.ts +1 -0
  8. package/adapters/standalone/index.js +1 -0
  9. package/adapters/ws/index.d.ts +1 -0
  10. package/adapters/ws/index.js +1 -0
  11. package/dist/{declarations/src/TRPCError.d.ts → TRPCError.d.ts} +18 -18
  12. package/dist/TRPCError.d.ts.map +1 -0
  13. package/dist/{declarations/src/adapters → adapters}/express.d.ts +5 -5
  14. package/dist/adapters/express.d.ts.map +1 -0
  15. package/dist/adapters/express.js +22 -0
  16. package/dist/adapters/express.mjs +18 -0
  17. package/dist/adapters/express.ts.js +1 -0
  18. package/dist/{declarations/src/adapters → adapters}/next.d.ts +5 -5
  19. package/dist/adapters/next.d.ts.map +1 -0
  20. package/dist/adapters/next.js +55 -0
  21. package/dist/adapters/next.mjs +51 -0
  22. package/dist/adapters/next.ts.js +1 -0
  23. package/dist/{declarations/src/adapters → adapters}/node-http/index.d.ts +2 -2
  24. package/dist/adapters/node-http/index.d.ts.map +1 -0
  25. package/dist/adapters/node-http/index.js +12 -0
  26. package/dist/adapters/node-http/index.mjs +4 -0
  27. package/dist/adapters/node-http/index.ts.js +1 -0
  28. package/dist/{declarations/src/adapters → adapters}/node-http/internals/getPostBody.d.ts +12 -12
  29. package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -0
  30. package/dist/{declarations/src/adapters → adapters}/node-http/nodeHTTPRequestHandler.d.ts +9 -9
  31. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -0
  32. package/dist/{declarations/src/adapters → adapters}/node-http/types.d.ts +32 -32
  33. package/dist/adapters/node-http/types.d.ts.map +1 -0
  34. package/dist/{declarations/src/adapters → adapters}/standalone.d.ts +13 -13
  35. package/dist/adapters/standalone.d.ts.map +1 -0
  36. package/dist/adapters/standalone.js +45 -0
  37. package/dist/adapters/standalone.mjs +35 -0
  38. package/dist/adapters/standalone.ts.js +1 -0
  39. package/dist/{declarations/src/adapters → adapters}/ws.d.ts +16 -16
  40. package/dist/adapters/ws.d.ts.map +1 -0
  41. package/dist/adapters/ws.js +346 -0
  42. package/dist/adapters/ws.mjs +342 -0
  43. package/dist/adapters/ws.ts.js +1 -0
  44. package/dist/{declarations/src/assertNotBrowser.d.ts → assertNotBrowser.d.ts} +1 -1
  45. package/dist/assertNotBrowser.d.ts.map +1 -0
  46. package/dist/{codes-fe07bf82.esm.js → codes-7a3d4f65.mjs} +0 -0
  47. package/dist/{codes-33cef953.cjs.dev.js → codes-7f46544e.js} +0 -0
  48. package/dist/{declarations/src/deprecated → deprecated}/LegacyRouter.d.ts +2 -2
  49. package/dist/deprecated/LegacyRouter.d.ts.map +1 -0
  50. package/dist/{declarations/src/deprecated → deprecated}/createHttpServer.d.ts +18 -18
  51. package/dist/deprecated/createHttpServer.d.ts.map +1 -0
  52. package/dist/{declarations/src/deprecated → deprecated}/requestHandler.d.ts +14 -14
  53. package/dist/deprecated/requestHandler.d.ts.map +1 -0
  54. package/dist/{declarations/src/http → http}/ResponseMeta.d.ts +4 -4
  55. package/dist/http/ResponseMeta.d.ts.map +1 -0
  56. package/dist/{declarations/src/http → http}/index.d.ts +2 -2
  57. package/dist/http/index.d.ts.map +1 -0
  58. package/dist/{declarations/src/http → http}/internals/getHTTPStatusCode.d.ts +20 -20
  59. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -0
  60. package/dist/{declarations/src/http → http}/internals/types.d.ts +39 -39
  61. package/dist/http/internals/types.d.ts.map +1 -0
  62. package/dist/{declarations/src/http → http}/resolveHTTPResponse.d.ts +12 -12
  63. package/dist/http/resolveHTTPResponse.d.ts.map +1 -0
  64. package/dist/{declarations/src/index.d.ts → index.d.ts} +9 -9
  65. package/dist/index.d.ts.map +1 -0
  66. package/dist/{trpc-server.cjs.dev.js → index.js} +7 -7
  67. package/dist/{trpc-server.esm.js → index.mjs} +7 -7
  68. package/dist/index.ts.js +1 -0
  69. package/dist/{declarations/src/internals → internals}/BaseHandlerOptions.d.ts +12 -12
  70. package/dist/internals/BaseHandlerOptions.d.ts.map +1 -0
  71. package/dist/{declarations/src/internals → internals}/OnErrorFunction.d.ts +10 -10
  72. package/dist/internals/OnErrorFunction.d.ts.map +1 -0
  73. package/dist/{declarations/src/internals → internals}/callProcedure.d.ts +9 -9
  74. package/dist/internals/callProcedure.d.ts.map +1 -0
  75. package/dist/{declarations/src/internals → internals}/errors.d.ts +3 -3
  76. package/dist/internals/errors.d.ts.map +1 -0
  77. package/dist/{declarations/src/internals → internals}/invert.d.ts +8 -8
  78. package/dist/internals/invert.d.ts.map +1 -0
  79. package/dist/{declarations/src/internals → internals}/middlewares.d.ts +33 -33
  80. package/dist/internals/middlewares.d.ts.map +1 -0
  81. package/dist/{declarations/src/internals → internals}/procedure.d.ts +73 -73
  82. package/dist/internals/procedure.d.ts.map +1 -0
  83. package/dist/{declarations/src/internals → internals}/transformTRPCResponse.d.ts +6 -6
  84. package/dist/internals/transformTRPCResponse.d.ts.map +1 -0
  85. package/dist/{declarations/src/internals → internals}/wrapCallSafe.d.ts +15 -15
  86. package/dist/internals/wrapCallSafe.d.ts.map +1 -0
  87. package/dist/{nodeHTTPRequestHandler-2e6cc2d7.esm.js → nodeHTTPRequestHandler-10e6d2f9.mjs} +2 -2
  88. package/dist/{nodeHTTPRequestHandler-b7ff366e.cjs.dev.js → nodeHTTPRequestHandler-d7c307d3.js} +2 -2
  89. package/dist/{declarations/src/router.d.ts → router.d.ts} +175 -175
  90. package/dist/router.d.ts.map +1 -0
  91. package/dist/{declarations/src/rpc → rpc}/codes.d.ts +46 -46
  92. package/dist/rpc/codes.d.ts.map +1 -0
  93. package/dist/{declarations/src/rpc → rpc}/envelopes.d.ts +71 -71
  94. package/dist/rpc/envelopes.d.ts.map +1 -0
  95. package/dist/{declarations/src/rpc → rpc}/index.d.ts +2 -2
  96. package/dist/rpc/index.d.ts.map +1 -0
  97. package/dist/rpc/index.js +10 -0
  98. package/dist/rpc/index.mjs +1 -0
  99. package/dist/rpc/index.ts.js +1 -0
  100. package/dist/{subscription-b8831081.cjs.dev.js → subscription-5b7e1eba.js} +1 -1
  101. package/dist/{subscription-fbda2888.esm.js → subscription-e1d42e69.mjs} +1 -1
  102. package/dist/{declarations/src/subscription.d.ts → subscription.d.ts} +57 -57
  103. package/dist/subscription.d.ts.map +1 -0
  104. package/dist/{transformTRPCResponse-f73dc4a2.esm.js → transformTRPCResponse-76e0c91e.mjs} +0 -0
  105. package/dist/{transformTRPCResponse-8248515e.cjs.dev.js → transformTRPCResponse-bd24f548.js} +0 -0
  106. package/dist/{declarations/src/transformer.d.ts → transformer.d.ts} +29 -29
  107. package/dist/transformer.d.ts.map +1 -0
  108. package/dist/{declarations/src/types.d.ts → types.d.ts} +40 -40
  109. package/dist/types.d.ts.map +1 -0
  110. package/dist/{declarations/src/ws → ws}/index.d.ts +6 -6
  111. package/dist/ws/index.d.ts.map +1 -0
  112. package/dist/ws/index.js +15 -0
  113. package/dist/ws/index.mjs +11 -0
  114. package/dist/ws/index.ts.js +1 -0
  115. package/package.json +49 -18
  116. package/rpc/index.d.ts +1 -0
  117. package/rpc/index.js +1 -0
  118. package/ws/index.d.ts +1 -0
  119. package/ws/index.js +1 -0
  120. package/adapters/express/package.json +0 -4
  121. package/adapters/next/package.json +0 -4
  122. package/adapters/node-http/package.json +0 -4
  123. package/adapters/standalone/package.json +0 -4
  124. package/adapters/ws/package.json +0 -4
  125. package/dist/codes-e0df67c4.cjs.prod.js +0 -60
  126. package/dist/declarations/src/TRPCError.d.ts.map +0 -1
  127. package/dist/declarations/src/adapters/express.d.ts.map +0 -1
  128. package/dist/declarations/src/adapters/next.d.ts.map +0 -1
  129. package/dist/declarations/src/adapters/node-http/index.d.ts.map +0 -1
  130. package/dist/declarations/src/adapters/node-http/internals/getPostBody.d.ts.map +0 -1
  131. package/dist/declarations/src/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +0 -1
  132. package/dist/declarations/src/adapters/node-http/types.d.ts.map +0 -1
  133. package/dist/declarations/src/adapters/standalone.d.ts.map +0 -1
  134. package/dist/declarations/src/adapters/ws.d.ts.map +0 -1
  135. package/dist/declarations/src/assertNotBrowser.d.ts.map +0 -1
  136. package/dist/declarations/src/deprecated/LegacyRouter.d.ts.map +0 -1
  137. package/dist/declarations/src/deprecated/createHttpServer.d.ts.map +0 -1
  138. package/dist/declarations/src/deprecated/requestHandler.d.ts.map +0 -1
  139. package/dist/declarations/src/http/ResponseMeta.d.ts.map +0 -1
  140. package/dist/declarations/src/http/index.d.ts.map +0 -1
  141. package/dist/declarations/src/http/internals/getHTTPStatusCode.d.ts.map +0 -1
  142. package/dist/declarations/src/http/internals/types.d.ts.map +0 -1
  143. package/dist/declarations/src/http/resolveHTTPResponse.d.ts.map +0 -1
  144. package/dist/declarations/src/index.d.ts.map +0 -1
  145. package/dist/declarations/src/internals/BaseHandlerOptions.d.ts.map +0 -1
  146. package/dist/declarations/src/internals/OnErrorFunction.d.ts.map +0 -1
  147. package/dist/declarations/src/internals/callProcedure.d.ts.map +0 -1
  148. package/dist/declarations/src/internals/errors.d.ts.map +0 -1
  149. package/dist/declarations/src/internals/invert.d.ts.map +0 -1
  150. package/dist/declarations/src/internals/middlewares.d.ts.map +0 -1
  151. package/dist/declarations/src/internals/procedure.d.ts.map +0 -1
  152. package/dist/declarations/src/internals/transformTRPCResponse.d.ts.map +0 -1
  153. package/dist/declarations/src/internals/wrapCallSafe.d.ts.map +0 -1
  154. package/dist/declarations/src/router.d.ts.map +0 -1
  155. package/dist/declarations/src/rpc/codes.d.ts.map +0 -1
  156. package/dist/declarations/src/rpc/envelopes.d.ts.map +0 -1
  157. package/dist/declarations/src/rpc/index.d.ts.map +0 -1
  158. package/dist/declarations/src/subscription.d.ts.map +0 -1
  159. package/dist/declarations/src/transformer.d.ts.map +0 -1
  160. package/dist/declarations/src/types.d.ts.map +0 -1
  161. package/dist/declarations/src/ws/index.d.ts.map +0 -1
  162. package/dist/nodeHTTPRequestHandler-7325b53f.cjs.prod.js +0 -399
  163. package/dist/subscription-c2e0bfbc.cjs.prod.js +0 -136
  164. package/dist/transformTRPCResponse-dcbf66c5.cjs.prod.js +0 -114
  165. package/dist/trpc-server.cjs.d.ts +0 -1
  166. package/dist/trpc-server.cjs.js +0 -7
  167. package/dist/trpc-server.cjs.prod.js +0 -528
  168. package/rpc/package.json +0 -4
  169. package/ws/package.json +0 -4
@@ -1,528 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var nodeHTTPRequestHandler = require('./nodeHTTPRequestHandler-7325b53f.cjs.prod.js');
6
- var subscription = require('./subscription-c2e0bfbc.cjs.prod.js');
7
- var transformTRPCResponse = require('./transformTRPCResponse-dcbf66c5.cjs.prod.js');
8
- var adapters_standalone_dist_trpcServerAdaptersStandalone = require('../adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js');
9
- var codes = require('./codes-e0df67c4.cjs.prod.js');
10
- require('url');
11
- require('events');
12
- require('http');
13
-
14
- nodeHTTPRequestHandler.assertNotBrowser();
15
-
16
- // this has been moved to separate package
17
-
18
- /**
19
- * @deprecated use `createHTTPServer` from `@trpc/server/adapters/standalone`
20
- */
21
- const createHttpServer = adapters_standalone_dist_trpcServerAdaptersStandalone.createHTTPServer;
22
- /**
23
- * @deprecated use `createHTTPHandler` from `@trpc/server/adapters/standalone`
24
- */
25
-
26
- const createHttpHandler = adapters_standalone_dist_trpcServerAdaptersStandalone.createHTTPHandler;
27
- /**
28
- * @deprecated use `CreateHTTPHandlerOptions` from `@trpc/server/adapters/standalone`
29
- */
30
-
31
- /**
32
- * @deprecated use `nodeHTTPRequestHandler` from `@trpc/server/adapters/node-http`
33
- */
34
- const requestHandler = nodeHTTPRequestHandler.nodeHTTPRequestHandler;
35
- /**
36
- * @deprecated use `NodeHTTPCreateContextFn` from `@trpc/server/adapters/node-http`
37
- */
38
-
39
- const middlewareMarker = /*#__PURE__*/Symbol('middlewareMarker');
40
-
41
- /**
42
- * Wrap a function in a safe wrapper that never throws
43
- * Returns a discriminated union
44
- */
45
- async function wrapCallSafe(fn) {
46
- try {
47
- const data = await fn();
48
- return {
49
- ok: true,
50
- data
51
- };
52
- } catch (cause) {
53
- return {
54
- ok: false,
55
- error: cause
56
- };
57
- }
58
- }
59
-
60
- /* eslint-disable @typescript-eslint/no-explicit-any */
61
- nodeHTTPRequestHandler.assertNotBrowser();
62
-
63
- function getParseFn(inputParser) {
64
- const parser = inputParser;
65
-
66
- if (typeof parser === 'function') {
67
- // ProcedureInputParserCustomValidatorEsque
68
- return parser;
69
- }
70
-
71
- if (typeof parser.parseAsync === 'function') {
72
- // ProcedureInputParserZodEsque
73
- return parser.parseAsync.bind(parser);
74
- }
75
-
76
- if (typeof parser.parse === 'function') {
77
- // ProcedureInputParserZodEsque
78
- return parser.parse.bind(parser);
79
- }
80
-
81
- if (typeof parser.validateSync === 'function') {
82
- // ProcedureInputParserYupEsque
83
- return parser.validateSync.bind(parser);
84
- }
85
-
86
- if (typeof parser.create === 'function') {
87
- // ProcedureInputParserSuperstructEsque
88
- return parser.create.bind(parser);
89
- }
90
-
91
- throw new Error('Could not find a validator fn');
92
- }
93
- /**
94
- * @internal
95
- */
96
-
97
-
98
- class Procedure {
99
- constructor(opts) {
100
- this.middlewares = void 0;
101
- this.resolver = void 0;
102
- this.inputParser = void 0;
103
- this.parse = void 0;
104
- this.middlewares = opts.middlewares;
105
- this.resolver = opts.resolver;
106
- this.inputParser = opts.inputParser;
107
- this.parse = getParseFn(this.inputParser);
108
- }
109
-
110
- async parseInput(rawInput) {
111
- try {
112
- return await this.parse(rawInput);
113
- } catch (cause) {
114
- throw new transformTRPCResponse.TRPCError({
115
- code: 'BAD_REQUEST',
116
- cause
117
- });
118
- }
119
- }
120
- /**
121
- * Trigger middlewares in order, parse raw input & call resolver
122
- * @internal
123
- */
124
-
125
-
126
- async call(opts) {
127
- // wrap the actual resolver and treat as the last "middleware"
128
- const middlewaresWithResolver = this.middlewares.concat([async ({
129
- ctx
130
- }) => {
131
- const input = await this.parseInput(opts.rawInput);
132
- const data = await this.resolver({ ...opts,
133
- ctx,
134
- input
135
- });
136
- return {
137
- marker: middlewareMarker,
138
- ok: true,
139
- data,
140
- ctx
141
- };
142
- }]); // create `next()` calls in resolvers
143
-
144
- const nextFns = middlewaresWithResolver.map((fn, index) => {
145
- return async nextOpts => {
146
- const res = await wrapCallSafe(() => fn({
147
- ctx: nextOpts ? nextOpts.ctx : opts.ctx,
148
- type: opts.type,
149
- path: opts.path,
150
- rawInput: opts.rawInput,
151
- next: nextFns[index + 1]
152
- }));
153
-
154
- if (res.ok) {
155
- return res.data;
156
- }
157
-
158
- return {
159
- ok: false,
160
- error: transformTRPCResponse.getErrorFromUnknown(res.error)
161
- };
162
- };
163
- }); // there's always at least one "next" since we wrap this.resolver in a middleware
164
-
165
- const result = await nextFns[0]();
166
-
167
- if (!result) {
168
- throw new transformTRPCResponse.TRPCError({
169
- code: 'INTERNAL_SERVER_ERROR',
170
- message: 'No result from middlewares - did you forget to `return next()`?'
171
- });
172
- }
173
-
174
- if (!result.ok) {
175
- // re-throw original error
176
- throw result.error;
177
- }
178
-
179
- return result.data;
180
- }
181
- /**
182
- * Create new procedure with passed middlewares
183
- * @param middlewares
184
- */
185
-
186
-
187
- inheritMiddlewares(middlewares) {
188
- const Constructor = this.constructor;
189
- const instance = new Constructor({
190
- middlewares: [...middlewares, ...this.middlewares],
191
- resolver: this.resolver,
192
- inputParser: this.inputParser
193
- });
194
- return instance;
195
- }
196
-
197
- }
198
- function createProcedure(opts) {
199
- const inputParser = 'input' in opts ? opts.input : input => {
200
- if (input != null) {
201
- throw new transformTRPCResponse.TRPCError({
202
- code: 'BAD_REQUEST',
203
- message: 'No input expected'
204
- });
205
- }
206
-
207
- return undefined;
208
- };
209
- return new Procedure({
210
- inputParser: inputParser,
211
- resolver: opts.resolve,
212
- middlewares: []
213
- });
214
- }
215
-
216
- /* eslint-disable @typescript-eslint/ban-types */
217
- nodeHTTPRequestHandler.assertNotBrowser();
218
- /**
219
- * @public
220
- */
221
-
222
- function getDataTransformer(transformer) {
223
- if ('input' in transformer) {
224
- return transformer;
225
- }
226
-
227
- return {
228
- input: transformer,
229
- output: transformer
230
- };
231
- }
232
- /**
233
- * @internal
234
- */
235
-
236
-
237
- const PROCEDURE_DEFINITION_MAP = {
238
- query: 'queries',
239
- mutation: 'mutations',
240
- subscription: 'subscriptions'
241
- };
242
- /**
243
- * @internal
244
- */
245
-
246
- function safeObject(...args) {
247
- return Object.assign(Object.create(null), ...args);
248
- }
249
-
250
- const defaultFormatter = ({
251
- shape
252
- }) => {
253
- return shape;
254
- };
255
-
256
- const defaultTransformer = {
257
- input: {
258
- serialize: obj => obj,
259
- deserialize: obj => obj
260
- },
261
- output: {
262
- serialize: obj => obj,
263
- deserialize: obj => obj
264
- }
265
- };
266
-
267
- /**
268
- * @internal The type signature of this class may change without warning.
269
- */
270
- class Router {
271
- constructor(def) {
272
- var _def$queries, _def$mutations, _def$subscriptions, _def$middlewares, _def$errorFormatter, _def$transformer;
273
-
274
- this._def = void 0;
275
- this._def = {
276
- queries: (_def$queries = def === null || def === void 0 ? void 0 : def.queries) !== null && _def$queries !== void 0 ? _def$queries : safeObject(),
277
- mutations: (_def$mutations = def === null || def === void 0 ? void 0 : def.mutations) !== null && _def$mutations !== void 0 ? _def$mutations : safeObject(),
278
- subscriptions: (_def$subscriptions = def === null || def === void 0 ? void 0 : def.subscriptions) !== null && _def$subscriptions !== void 0 ? _def$subscriptions : safeObject(),
279
- middlewares: (_def$middlewares = def === null || def === void 0 ? void 0 : def.middlewares) !== null && _def$middlewares !== void 0 ? _def$middlewares : [],
280
- errorFormatter: (_def$errorFormatter = def === null || def === void 0 ? void 0 : def.errorFormatter) !== null && _def$errorFormatter !== void 0 ? _def$errorFormatter : defaultFormatter,
281
- transformer: (_def$transformer = def === null || def === void 0 ? void 0 : def.transformer) !== null && _def$transformer !== void 0 ? _def$transformer : defaultTransformer
282
- };
283
- }
284
-
285
- static prefixProcedures(procedures, prefix) {
286
- const eps = safeObject();
287
-
288
- for (const key in procedures) {
289
- eps[prefix + key] = procedures[key];
290
- }
291
-
292
- return eps;
293
- }
294
-
295
- query(path, procedure) {
296
- const router = new Router({
297
- queries: safeObject({
298
- [path]: createProcedure(procedure)
299
- })
300
- });
301
- return this.merge(router);
302
- }
303
-
304
- mutation(path, procedure) {
305
- const router = new Router({
306
- mutations: safeObject({
307
- [path]: createProcedure(procedure)
308
- })
309
- });
310
- return this.merge(router);
311
- }
312
- /**
313
- * @beta Might change without a major version bump
314
- */
315
-
316
-
317
- subscription(path, procedure) {
318
- const router = new Router({
319
- subscriptions: safeObject({
320
- [path]: createProcedure(procedure)
321
- })
322
- });
323
- return this.merge(router);
324
- }
325
- /**
326
- * Merge router with other router
327
- * @param router
328
- */
329
-
330
-
331
- merge(prefixOrRouter, maybeRouter) {
332
- let prefix = '';
333
- let childRouter;
334
-
335
- if (typeof prefixOrRouter === 'string' && maybeRouter instanceof Router) {
336
- prefix = prefixOrRouter;
337
- childRouter = maybeRouter;
338
- } else if (prefixOrRouter instanceof Router) {
339
- childRouter = prefixOrRouter;
340
- }
341
- /* istanbul ignore next */
342
- else {
343
- throw new Error('Invalid args');
344
- }
345
-
346
- const duplicateQueries = Object.keys(childRouter._def.queries).filter(key => !!this._def['queries'][prefix + key]);
347
- const duplicateMutations = Object.keys(childRouter._def.mutations).filter(key => !!this._def['mutations'][prefix + key]);
348
- const duplicateSubscriptions = Object.keys(childRouter._def.subscriptions).filter(key => !!this._def['subscriptions'][prefix + key]);
349
- const duplicates = [...duplicateQueries, ...duplicateMutations, ...duplicateSubscriptions];
350
-
351
- if (duplicates.length) {
352
- throw new Error(`Duplicate endpoint(s): ${duplicates.join(', ')}`);
353
- }
354
-
355
- const mergeProcedures = defs => {
356
- const newDefs = safeObject();
357
-
358
- for (const key in defs) {
359
- const procedure = defs[key];
360
- const newProcedure = procedure.inheritMiddlewares(this._def.middlewares);
361
- newDefs[key] = newProcedure;
362
- }
363
-
364
- return Router.prefixProcedures(newDefs, prefix);
365
- };
366
-
367
- return new Router({ ...this._def,
368
- queries: safeObject(this._def.queries, mergeProcedures(childRouter._def.queries)),
369
- mutations: safeObject(this._def.mutations, mergeProcedures(childRouter._def.mutations)),
370
- subscriptions: safeObject(this._def.subscriptions, mergeProcedures(childRouter._def.subscriptions))
371
- });
372
- }
373
- /**
374
- * Invoke procedure. Only for internal use within library.
375
- */
376
-
377
-
378
- async call(opts) {
379
- const {
380
- type,
381
- path
382
- } = opts;
383
- const defTarget = PROCEDURE_DEFINITION_MAP[type];
384
- const defs = this._def[defTarget];
385
- const procedure = defs[path];
386
-
387
- if (!procedure) {
388
- throw new transformTRPCResponse.TRPCError({
389
- code: 'NOT_FOUND',
390
- message: `No "${type}"-procedure on path "${path}"`
391
- });
392
- }
393
-
394
- return procedure.call(opts);
395
- }
396
-
397
- createCaller(ctx) {
398
- return {
399
- query: (path, ...args) => {
400
- return this.call({
401
- type: 'query',
402
- ctx,
403
- path,
404
- rawInput: args[0]
405
- });
406
- },
407
- mutation: (path, ...args) => {
408
- return this.call({
409
- type: 'mutation',
410
- ctx,
411
- path,
412
- rawInput: args[0]
413
- });
414
- },
415
- subscription: (path, ...args) => {
416
- return this.call({
417
- type: 'subscription',
418
- ctx,
419
- path,
420
- rawInput: args[0]
421
- });
422
- }
423
- };
424
- }
425
- /**
426
- * Function to be called before any procedure is invoked
427
- * @link https://trpc.io/docs/middlewares
428
- */
429
-
430
-
431
- middleware(middleware) {
432
- return new Router({ ...this._def,
433
- middlewares: [...this._def.middlewares, middleware]
434
- });
435
- }
436
- /**
437
- * Format errors
438
- * @link https://trpc.io/docs/error-formatting
439
- */
440
-
441
-
442
- formatError(errorFormatter) {
443
- if (this._def.errorFormatter !== defaultFormatter) {
444
- throw new Error('You seem to have double `formatError()`-calls in your router tree');
445
- }
446
-
447
- return new Router({ ...this._def,
448
- errorFormatter: errorFormatter
449
- });
450
- }
451
-
452
- getErrorShape(opts) {
453
- const {
454
- path,
455
- error
456
- } = opts;
457
- const {
458
- code
459
- } = opts.error;
460
- const shape = {
461
- message: error.message,
462
- code: codes.TRPC_ERROR_CODES_BY_KEY[code],
463
- data: {
464
- code,
465
- httpStatus: nodeHTTPRequestHandler.getHTTPStatusCodeFromError(error)
466
- }
467
- };
468
-
469
- if (typeof path === 'string') {
470
- shape.data.path = path;
471
- }
472
-
473
- return this._def.errorFormatter({ ...opts,
474
- shape
475
- });
476
- }
477
- /**
478
- * Add data transformer to serialize/deserialize input args + output
479
- * @link https://trpc.io/docs/data-transformers
480
- */
481
-
482
-
483
- transformer(_transformer) {
484
- const transformer = getDataTransformer(_transformer);
485
-
486
- if (this._def.transformer !== defaultTransformer) {
487
- throw new Error('You seem to have double `transformer()`-calls in your router tree');
488
- }
489
-
490
- return new Router({ ...this._def,
491
- transformer
492
- });
493
- }
494
- /**
495
- * Flattens the generics of TQueries/TMutations/TSubscriptions.
496
- * ⚠️ Experimental - might disappear. ⚠️
497
- *
498
- * @alpha
499
- */
500
-
501
-
502
- flat() {
503
- return this;
504
- }
505
-
506
- }
507
- /**
508
- * Subclass of `VNextRouter` with `TInputContext` and `TContext` set to the same type, for backcompat.
509
- *
510
- * @deprecated
511
- */
512
-
513
- class LegacyRouter extends Router {}
514
- function router() {
515
- return new Router();
516
- }
517
-
518
- exports.assertNotBrowser = nodeHTTPRequestHandler.assertNotBrowser;
519
- exports.resolveHTTPResponse = nodeHTTPRequestHandler.resolveHTTPResponse;
520
- exports.Subscription = subscription.Subscription;
521
- exports.subscriptionPullFactory = subscription.subscriptionPullFactory;
522
- exports.TRPCError = transformTRPCResponse.TRPCError;
523
- exports.LegacyRouter = LegacyRouter;
524
- exports.Router = LegacyRouter;
525
- exports.createHttpHandler = createHttpHandler;
526
- exports.createHttpServer = createHttpServer;
527
- exports.requestHandler = requestHandler;
528
- exports.router = router;
package/rpc/package.json DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "main": "dist/trpc-server-rpc.cjs.js",
3
- "module": "dist/trpc-server-rpc.esm.js"
4
- }
package/ws/package.json DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "main": "dist/trpc-server-ws.cjs.js",
3
- "module": "dist/trpc-server-ws.esm.js"
4
- }