@trpc/server 10.27.3 → 10.28.1

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 (176) hide show
  1. package/dist/{TRPCError-61026c9a.js → TRPCError-7c3909ea.js} +47 -47
  2. package/dist/adapters/aws-lambda/index.d.ts +9 -9
  3. package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
  4. package/dist/adapters/aws-lambda/index.js +4 -4
  5. package/dist/adapters/aws-lambda/index.mjs +4 -4
  6. package/dist/adapters/aws-lambda/utils.d.ts +37 -37
  7. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -1
  8. package/dist/adapters/express.d.ts +5 -5
  9. package/dist/adapters/express.d.ts.map +1 -1
  10. package/dist/adapters/express.js +5 -5
  11. package/dist/adapters/express.mjs +5 -5
  12. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +12 -12
  13. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  14. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +11 -11
  15. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
  16. package/dist/adapters/fastify/index.d.ts +2 -2
  17. package/dist/adapters/fastify/index.js +4 -4
  18. package/dist/adapters/fastify/index.mjs +4 -4
  19. package/dist/adapters/fetch/fetchRequestHandler.d.ts +7 -7
  20. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
  21. package/dist/adapters/fetch/index.d.ts +2 -2
  22. package/dist/adapters/fetch/index.js +4 -4
  23. package/dist/adapters/fetch/index.mjs +4 -4
  24. package/dist/adapters/fetch/types.d.ts +19 -19
  25. package/dist/adapters/fetch/types.d.ts.map +1 -1
  26. package/dist/adapters/lambda/index.d.ts +11 -11
  27. package/dist/adapters/lambda/index.d.ts.map +1 -1
  28. package/dist/adapters/next.d.ts +5 -5
  29. package/dist/adapters/next.d.ts.map +1 -1
  30. package/dist/adapters/next.js +5 -5
  31. package/dist/adapters/next.mjs +5 -5
  32. package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts +69 -69
  33. package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts.map +1 -1
  34. package/dist/adapters/node-http/content-type/form-data/index.d.ts +23 -23
  35. package/dist/adapters/node-http/content-type/form-data/index.js +1 -3
  36. package/dist/adapters/node-http/content-type/form-data/index.mjs +1 -3
  37. package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts +30 -30
  38. package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts.map +1 -1
  39. package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts +10 -10
  40. package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts +40 -39
  41. package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts.map +1 -1
  42. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts +6 -6
  43. package/dist/adapters/node-http/content-type/json/index.d.ts +1 -1
  44. package/dist/adapters/node-http/index.d.ts +2 -2
  45. package/dist/adapters/node-http/index.js +5 -5
  46. package/dist/adapters/node-http/index.mjs +5 -5
  47. package/dist/adapters/node-http/internals/contentType.d.ts +8 -8
  48. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +3 -3
  49. package/dist/adapters/node-http/types.d.ts +63 -63
  50. package/dist/adapters/node-http/types.d.ts.map +1 -1
  51. package/dist/adapters/standalone.d.ts +13 -13
  52. package/dist/adapters/standalone.d.ts.map +1 -1
  53. package/dist/adapters/standalone.js +5 -5
  54. package/dist/adapters/standalone.mjs +5 -5
  55. package/dist/adapters/ws.d.ts +21 -21
  56. package/dist/adapters/ws.d.ts.map +1 -1
  57. package/dist/adapters/ws.js +3 -3
  58. package/dist/adapters/ws.mjs +3 -3
  59. package/dist/{codes-b3c262d8.js → codes-1c9ad84e.js} +44 -44
  60. package/dist/{config-91ab0b1d.js → config-54786004.js} +168 -192
  61. package/dist/{config-d1cf9de0.mjs → config-65c5b6d1.mjs} +5 -28
  62. package/dist/{config-f355c4d8.js → config-f3ce0144.js} +5 -28
  63. package/dist/{contentType-f27e4bfc.js → contentType-24c44bba.js} +2 -2
  64. package/dist/{contentType-a75c990c.js → contentType-7354963c.js} +54 -54
  65. package/dist/core/index.d.ts +8 -8
  66. package/dist/core/initTRPC.d.ts +104 -104
  67. package/dist/core/initTRPC.d.ts.map +1 -1
  68. package/dist/core/internals/config.d.ts +74 -74
  69. package/dist/core/internals/config.d.ts.map +1 -1
  70. package/dist/core/internals/getParseFn.d.ts +8 -8
  71. package/dist/core/internals/getParseFn.d.ts.map +1 -1
  72. package/dist/core/internals/mergeRouters.d.ts +17 -17
  73. package/dist/core/internals/mergeRouters.d.ts.map +1 -1
  74. package/dist/core/internals/mergeWithoutOverrides.d.ts +4 -4
  75. package/dist/core/internals/omitPrototype.d.ts +5 -5
  76. package/dist/core/internals/procedureBuilder.d.ts +115 -115
  77. package/dist/core/internals/procedureBuilder.d.ts.map +1 -1
  78. package/dist/core/internals/utils.d.ts +51 -51
  79. package/dist/core/internals/utils.d.ts.map +1 -1
  80. package/dist/core/middleware.d.ts +127 -127
  81. package/dist/core/middleware.d.ts.map +1 -1
  82. package/dist/core/parser.d.ts +27 -27
  83. package/dist/core/parser.d.ts.map +1 -1
  84. package/dist/core/procedure.d.ts +72 -72
  85. package/dist/core/procedure.d.ts.map +1 -1
  86. package/dist/core/router.d.ts +111 -111
  87. package/dist/core/router.d.ts.map +1 -1
  88. package/dist/core/types.d.ts +28 -28
  89. package/dist/core/types.d.ts.map +1 -1
  90. package/dist/deprecated/internals/middlewares.d.ts +51 -51
  91. package/dist/deprecated/internals/middlewares.d.ts.map +1 -1
  92. package/dist/deprecated/internals/procedure.d.ts +95 -95
  93. package/dist/deprecated/internals/procedure.d.ts.map +1 -1
  94. package/dist/deprecated/interop.d.ts +43 -43
  95. package/dist/deprecated/interop.d.ts.map +1 -1
  96. package/dist/deprecated/router.d.ts +203 -203
  97. package/dist/deprecated/router.d.ts.map +1 -1
  98. package/dist/error/TRPCError.d.ts +11 -11
  99. package/dist/error/formatter.d.ts +32 -32
  100. package/dist/error/formatter.d.ts.map +1 -1
  101. package/dist/error/utils.d.ts +5 -5
  102. package/dist/http/contentType.d.ts +28 -28
  103. package/dist/http/contentType.d.ts.map +1 -1
  104. package/dist/http/getHTTPStatusCode.d.ts +23 -23
  105. package/dist/http/getHTTPStatusCode.d.ts.map +1 -1
  106. package/dist/http/index.d.ts +3 -3
  107. package/dist/http/index.js +4 -4
  108. package/dist/http/index.mjs +4 -4
  109. package/dist/http/internals/types.d.ts +24 -24
  110. package/dist/http/internals/types.d.ts.map +1 -1
  111. package/dist/http/resolveHTTPResponse.d.ts +16 -16
  112. package/dist/http/types.d.ts +24 -24
  113. package/dist/{index-315a9f08.mjs → index-044a193b.mjs} +3 -2
  114. package/dist/{index-8e243a74.js → index-4a823936.js} +3 -2
  115. package/dist/{index-cddfa242.js → index-ca9a128e.js} +88 -87
  116. package/dist/index.d.ts +6 -6
  117. package/dist/index.js +2 -2
  118. package/dist/index.mjs +3 -3
  119. package/dist/internals/invert.d.ts +11 -11
  120. package/dist/internals/invert.d.ts.map +1 -1
  121. package/dist/internals/types.d.ts +25 -25
  122. package/dist/internals/types.d.ts.map +1 -1
  123. package/dist/internals.d.ts +9 -9
  124. package/dist/{nodeHTTPRequestHandler-8a261b10.mjs → nodeHTTPRequestHandler-0f979796.mjs} +1 -1
  125. package/dist/{nodeHTTPRequestHandler-7762c7d4.js → nodeHTTPRequestHandler-5bbf93f1.js} +1 -1
  126. package/dist/{nodeHTTPRequestHandler-fc509b47.js → nodeHTTPRequestHandler-bd47641d.js} +62 -62
  127. package/dist/observable/index.d.ts +4 -4
  128. package/dist/observable/internals/identity.d.ts +1 -1
  129. package/dist/observable/internals/observableToPromise.d.ts +9 -9
  130. package/dist/observable/internals/pipe.d.ts +3 -3
  131. package/dist/observable/observable.d.ts +4 -4
  132. package/dist/observable/observable.d.ts.map +1 -1
  133. package/dist/observable/operators/index.d.ts +3 -3
  134. package/dist/observable/operators/map.d.ts +2 -2
  135. package/dist/observable/operators/share.d.ts +5 -5
  136. package/dist/observable/operators/tap.d.ts +2 -2
  137. package/dist/observable/types.d.ts +28 -28
  138. package/dist/observable/types.d.ts.map +1 -1
  139. package/dist/{observable-a1c2103f.js → observable-15588f28.js} +76 -76
  140. package/dist/{resolveHTTPResponse-36f4e729.mjs → resolveHTTPResponse-4e576698.mjs} +3 -3
  141. package/dist/{resolveHTTPResponse-27fe1108.js → resolveHTTPResponse-9523b4e3.js} +3 -3
  142. package/dist/{resolveHTTPResponse-5f8945d7.js → resolveHTTPResponse-ba557d3e.js} +162 -162
  143. package/dist/rpc/codes.d.ts +52 -52
  144. package/dist/rpc/codes.d.ts.map +1 -1
  145. package/dist/rpc/envelopes.d.ts +98 -98
  146. package/dist/rpc/envelopes.d.ts.map +1 -1
  147. package/dist/rpc/index.d.ts +2 -2
  148. package/dist/shared/createProxy/index.d.ts +18 -18
  149. package/dist/shared/createProxy/index.d.ts.map +1 -1
  150. package/dist/shared/getErrorShape.d.ts +14 -14
  151. package/dist/shared/index.d.ts +5 -5
  152. package/dist/shared/index.js +2 -2
  153. package/dist/shared/index.mjs +2 -2
  154. package/dist/shared/internal/serialize.d.ts +29 -29
  155. package/dist/shared/internal/serialize.d.ts.map +1 -1
  156. package/dist/shared/jsonify.d.ts +9 -9
  157. package/dist/shared/jsonify.d.ts.map +1 -1
  158. package/dist/shared/transformTRPCResponse.d.ts +8 -8
  159. package/dist/shared/transformTRPCResponse.d.ts.map +1 -1
  160. package/dist/subscription.d.ts +12 -12
  161. package/dist/{transformTRPCResponse-6887ae6d.mjs → transformTRPCResponse-3dca0b20.mjs} +1 -1
  162. package/dist/{transformTRPCResponse-f7b2ffd1.js → transformTRPCResponse-48d70ef6.js} +1 -1
  163. package/dist/{transformTRPCResponse-8cb7e890.js → transformTRPCResponse-7fcbe472.js} +48 -48
  164. package/dist/transformer.d.ts +73 -73
  165. package/dist/transformer.d.ts.map +1 -1
  166. package/dist/types.d.ts +77 -77
  167. package/dist/types.d.ts.map +1 -1
  168. package/package.json +10 -6
  169. package/src/adapters/node-http/content-type/form-data/fileUploadHandler.ts +3 -3
  170. package/src/adapters/node-http/content-type/form-data/uploadHandler.ts +3 -1
  171. package/src/core/router.ts +6 -41
  172. package/src/shared/createProxy/index.ts +3 -2
  173. package/src/adapters/node-http/content-type/json/getPostBody.test.ts +0 -49
  174. package/src/observable/observable.test.ts +0 -100
  175. package/src/observable/operators/map.test.ts +0 -91
  176. package/src/observable/operators/share.test.ts +0 -60
@@ -1,206 +1,182 @@
1
- import { T as TRPCError } from './TRPCError-61026c9a.js';
2
- import { a as createRecursiveProxy, g as getHTTPStatusCodeFromError } from './index-cddfa242.js';
3
- import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-b3c262d8.js';
1
+ import { T as TRPCError } from './TRPCError-7c3909ea.js';
2
+ import { a as createRecursiveProxy, g as getHTTPStatusCodeFromError } from './index-ca9a128e.js';
3
+ import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-1c9ad84e.js';
4
4
 
5
- /**
6
- * @internal
7
- */
8
- function getDataTransformer(transformer) {
9
- if ('input' in transformer) {
10
- return transformer;
11
- }
12
- return { input: transformer, output: transformer };
13
- }
14
- /**
15
- * @internal
16
- */
17
- const defaultTransformer = {
18
- _default: true,
19
- input: { serialize: (obj) => obj, deserialize: (obj) => obj },
20
- output: { serialize: (obj) => obj, deserialize: (obj) => obj },
5
+ /**
6
+ * @internal
7
+ */
8
+ function getDataTransformer(transformer) {
9
+ if ('input' in transformer) {
10
+ return transformer;
11
+ }
12
+ return { input: transformer, output: transformer };
13
+ }
14
+ /**
15
+ * @internal
16
+ */
17
+ const defaultTransformer = {
18
+ _default: true,
19
+ input: { serialize: (obj) => obj, deserialize: (obj) => obj },
20
+ output: { serialize: (obj) => obj, deserialize: (obj) => obj },
21
21
  };
22
22
 
23
- const defaultFormatter = ({ shape, }) => {
24
- return shape;
23
+ const defaultFormatter = ({ shape, }) => {
24
+ return shape;
25
25
  };
26
26
 
27
- /**
28
- * Create an object without inheriting anything from `Object.prototype`
29
- * @internal
30
- */
31
- function omitPrototype(obj) {
32
- return Object.assign(Object.create(null), obj);
27
+ /**
28
+ * Create an object without inheriting anything from `Object.prototype`
29
+ * @internal
30
+ */
31
+ function omitPrototype(obj) {
32
+ return Object.assign(Object.create(null), obj);
33
33
  }
34
34
 
35
35
  const procedureTypes = ['query', 'mutation', 'subscription'];
36
36
 
37
- function isRouter(procedureOrRouter) {
38
- return 'router' in procedureOrRouter._def;
39
- }
40
- function isNestedRouter(procedureOrRouter) {
41
- return !('_def' in procedureOrRouter);
42
- }
43
- const emptyRouter = {
44
- _ctx: null,
45
- _errorShape: null,
46
- _meta: null,
47
- queries: {},
48
- mutations: {},
49
- subscriptions: {},
50
- errorFormatter: defaultFormatter,
51
- transformer: defaultTransformer,
52
- };
53
- /**
54
- * Reserved words that can't be used as router or procedure names
55
- */
56
- const reservedWords = [
57
- /**
58
- * Then is a reserved word because otherwise we can't return a promise that returns a Proxy
59
- * since JS will think that `.then` is something that exists
60
- */
61
- 'then',
62
- /**
63
- * `_def` is a reserved word because it's used internally a lot
64
- */
65
- '_def',
66
- ];
67
- /**
68
- * @internal
69
- */
70
- function createRouterFactory(config) {
71
- return function createRouterInner(procedures) {
72
- const reservedWordsUsed = new Set(Object.keys(procedures).filter((v) => reservedWords.includes(v)));
73
- if (reservedWordsUsed.size > 0) {
74
- throw new Error('Reserved words used in `router({})` call: ' +
75
- Array.from(reservedWordsUsed).join(', '));
76
- }
77
- const newProcedures = {};
78
- for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})) {
79
- const value = procedures[key] ?? {};
80
- if (isNestedRouter(value)) {
81
- newProcedures[key] = createRouterInner(value);
82
- continue;
83
- }
84
- if (isRouter(value)) {
85
- newProcedures[key] = procedureOrRouter;
86
- continue;
87
- }
88
- newProcedures[key] = procedureOrRouter;
89
- }
90
- const routerProcedures = omitPrototype({});
91
- function recursiveGetPaths(procedures, path = '') {
92
- for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})) {
93
- const newPath = `${path}${key}`;
94
- if (isNestedRouter(procedureOrRouter)) {
95
- recursiveGetPaths(procedureOrRouter, `${newPath}.`);
96
- continue;
97
- }
98
- if (isRouter(procedureOrRouter)) {
99
- recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
100
- continue;
101
- }
102
- if (routerProcedures[newPath]) {
103
- throw new Error(`Duplicate key: ${newPath}`);
104
- }
105
- routerProcedures[newPath] = procedureOrRouter;
106
- }
107
- }
108
- recursiveGetPaths(newProcedures);
109
- const _def = {
110
- _config: config,
111
- router: true,
112
- procedures: routerProcedures,
113
- ...emptyRouter,
114
- record: newProcedures,
115
- queries: Object.entries(routerProcedures)
116
- .filter((pair) => pair[1]._def.query)
117
- .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {}),
118
- mutations: Object.entries(routerProcedures)
119
- .filter((pair) => pair[1]._def.mutation)
120
- .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {}),
121
- subscriptions: Object.entries(routerProcedures)
122
- .filter((pair) => pair[1]._def.subscription)
123
- .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {}),
124
- };
125
- const router = {
126
- ...newProcedures,
127
- _def,
128
- createCaller(ctx) {
129
- const proxy = createRecursiveProxy(({ path, args }) => {
130
- // interop mode
131
- if (path.length === 1 &&
132
- procedureTypes.includes(path[0])) {
133
- return callProcedure({
134
- procedures: _def.procedures,
135
- path: args[0],
136
- rawInput: args[1],
137
- ctx,
138
- type: path[0],
139
- });
140
- }
141
- const fullPath = path.join('.');
142
- const procedure = _def.procedures[fullPath];
143
- let type = 'query';
144
- if (procedure._def.mutation) {
145
- type = 'mutation';
146
- }
147
- else if (procedure._def.subscription) {
148
- type = 'subscription';
149
- }
150
- return procedure({
151
- path: fullPath,
152
- rawInput: args[0],
153
- ctx,
154
- type,
155
- });
156
- });
157
- return proxy;
158
- },
159
- getErrorShape(opts) {
160
- const { path, error } = opts;
161
- const { code } = opts.error;
162
- const shape = {
163
- message: error.message,
164
- code: TRPC_ERROR_CODES_BY_KEY[code],
165
- data: {
166
- code,
167
- httpStatus: getHTTPStatusCodeFromError(error),
168
- },
169
- };
170
- if (config.isDev && typeof opts.error.stack === 'string') {
171
- shape.data.stack = opts.error.stack;
172
- }
173
- if (typeof path === 'string') {
174
- shape.data.path = path;
175
- }
176
- return this._def._config.errorFormatter({ ...opts, shape });
177
- },
178
- };
179
- return router;
180
- };
181
- }
182
- /**
183
- * @internal
184
- */
185
- function callProcedure(opts) {
186
- const { type, path } = opts;
187
- if (!(path in opts.procedures) || !opts.procedures[path]?._def[type]) {
188
- throw new TRPCError({
189
- code: 'NOT_FOUND',
190
- message: `No "${type}"-procedure on path "${path}"`,
191
- });
192
- }
193
- const procedure = opts.procedures[path];
194
- return procedure(opts);
37
+ function isRouter(procedureOrRouter) {
38
+ return 'router' in procedureOrRouter._def;
39
+ }
40
+ const emptyRouter = {
41
+ _ctx: null,
42
+ _errorShape: null,
43
+ _meta: null,
44
+ queries: {},
45
+ mutations: {},
46
+ subscriptions: {},
47
+ errorFormatter: defaultFormatter,
48
+ transformer: defaultTransformer,
49
+ };
50
+ /**
51
+ * Reserved words that can't be used as router or procedure names
52
+ */
53
+ const reservedWords = [
54
+ /**
55
+ * Then is a reserved word because otherwise we can't return a promise that returns a Proxy
56
+ * since JS will think that `.then` is something that exists
57
+ */
58
+ 'then',
59
+ ];
60
+ /**
61
+ * @internal
62
+ */
63
+ function createRouterFactory(config) {
64
+ return function createRouterInner(procedures) {
65
+ const reservedWordsUsed = new Set(Object.keys(procedures).filter((v) => reservedWords.includes(v)));
66
+ if (reservedWordsUsed.size > 0) {
67
+ throw new Error('Reserved words used in `router({})` call: ' +
68
+ Array.from(reservedWordsUsed).join(', '));
69
+ }
70
+ const routerProcedures = omitPrototype({});
71
+ function recursiveGetPaths(procedures, path = '') {
72
+ for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})) {
73
+ const newPath = `${path}${key}`;
74
+ if (isRouter(procedureOrRouter)) {
75
+ recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
76
+ continue;
77
+ }
78
+ if (routerProcedures[newPath]) {
79
+ throw new Error(`Duplicate key: ${newPath}`);
80
+ }
81
+ routerProcedures[newPath] = procedureOrRouter;
82
+ }
83
+ }
84
+ recursiveGetPaths(procedures);
85
+ const _def = {
86
+ _config: config,
87
+ router: true,
88
+ procedures: routerProcedures,
89
+ ...emptyRouter,
90
+ record: procedures,
91
+ queries: Object.entries(routerProcedures)
92
+ .filter((pair) => pair[1]._def.query)
93
+ .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {}),
94
+ mutations: Object.entries(routerProcedures)
95
+ .filter((pair) => pair[1]._def.mutation)
96
+ .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {}),
97
+ subscriptions: Object.entries(routerProcedures)
98
+ .filter((pair) => pair[1]._def.subscription)
99
+ .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {}),
100
+ };
101
+ const router = {
102
+ ...procedures,
103
+ _def,
104
+ createCaller(ctx) {
105
+ const proxy = createRecursiveProxy(({ path, args }) => {
106
+ // interop mode
107
+ if (path.length === 1 &&
108
+ procedureTypes.includes(path[0])) {
109
+ return callProcedure({
110
+ procedures: _def.procedures,
111
+ path: args[0],
112
+ rawInput: args[1],
113
+ ctx,
114
+ type: path[0],
115
+ });
116
+ }
117
+ const fullPath = path.join('.');
118
+ const procedure = _def.procedures[fullPath];
119
+ let type = 'query';
120
+ if (procedure._def.mutation) {
121
+ type = 'mutation';
122
+ }
123
+ else if (procedure._def.subscription) {
124
+ type = 'subscription';
125
+ }
126
+ return procedure({
127
+ path: fullPath,
128
+ rawInput: args[0],
129
+ ctx,
130
+ type,
131
+ });
132
+ });
133
+ return proxy;
134
+ },
135
+ getErrorShape(opts) {
136
+ const { path, error } = opts;
137
+ const { code } = opts.error;
138
+ const shape = {
139
+ message: error.message,
140
+ code: TRPC_ERROR_CODES_BY_KEY[code],
141
+ data: {
142
+ code,
143
+ httpStatus: getHTTPStatusCodeFromError(error),
144
+ },
145
+ };
146
+ if (config.isDev && typeof opts.error.stack === 'string') {
147
+ shape.data.stack = opts.error.stack;
148
+ }
149
+ if (typeof path === 'string') {
150
+ shape.data.path = path;
151
+ }
152
+ return this._def._config.errorFormatter({ ...opts, shape });
153
+ },
154
+ };
155
+ return router;
156
+ };
157
+ }
158
+ /**
159
+ * @internal
160
+ */
161
+ function callProcedure(opts) {
162
+ const { type, path } = opts;
163
+ if (!(path in opts.procedures) || !opts.procedures[path]?._def[type]) {
164
+ throw new TRPCError({
165
+ code: 'NOT_FOUND',
166
+ message: `No "${type}"-procedure on path "${path}"`,
167
+ });
168
+ }
169
+ const procedure = opts.procedures[path];
170
+ return procedure(opts);
195
171
  }
196
172
 
197
- /**
198
- * The default check to see if we're in a server
199
- */
200
- const isServerDefault = typeof window === 'undefined' ||
201
- 'Deno' in window ||
202
- globalThis.process?.env?.NODE_ENV === 'test' ||
203
- !!globalThis.process?.env?.JEST_WORKER_ID ||
173
+ /**
174
+ * The default check to see if we're in a server
175
+ */
176
+ const isServerDefault = typeof window === 'undefined' ||
177
+ 'Deno' in window ||
178
+ globalThis.process?.env?.NODE_ENV === 'test' ||
179
+ !!globalThis.process?.env?.JEST_WORKER_ID ||
204
180
  !!globalThis.process?.env?.VITEST_WORKER_ID;
205
181
 
206
182
  export { defaultTransformer as a, callProcedure as b, createRouterFactory as c, defaultFormatter as d, getDataTransformer as g, isServerDefault as i, procedureTypes as p };
@@ -1,5 +1,5 @@
1
1
  import { T as TRPCError } from './TRPCError-2b10c8d2.mjs';
2
- import { a as createRecursiveProxy, g as getHTTPStatusCodeFromError } from './index-315a9f08.mjs';
2
+ import { a as createRecursiveProxy, g as getHTTPStatusCodeFromError } from './index-044a193b.mjs';
3
3
  import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-24aa1ce1.mjs';
4
4
 
5
5
  /**
@@ -49,9 +49,6 @@ const procedureTypes = [
49
49
  function isRouter(procedureOrRouter) {
50
50
  return 'router' in procedureOrRouter._def;
51
51
  }
52
- function isNestedRouter(procedureOrRouter) {
53
- return !('_def' in procedureOrRouter);
54
- }
55
52
  const emptyRouter = {
56
53
  _ctx: null,
57
54
  _errorShape: null,
@@ -68,10 +65,7 @@ const emptyRouter = {
68
65
  /**
69
66
  * Then is a reserved word because otherwise we can't return a promise that returns a Proxy
70
67
  * since JS will think that `.then` is something that exists
71
- */ 'then',
72
- /**
73
- * `_def` is a reserved word because it's used internally a lot
74
- */ '_def'
68
+ */ 'then'
75
69
  ];
76
70
  /**
77
71
  * @internal
@@ -81,27 +75,10 @@ const emptyRouter = {
81
75
  if (reservedWordsUsed.size > 0) {
82
76
  throw new Error('Reserved words used in `router({})` call: ' + Array.from(reservedWordsUsed).join(', '));
83
77
  }
84
- const newProcedures = {};
85
- for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})){
86
- const value = procedures[key] ?? {};
87
- if (isNestedRouter(value)) {
88
- newProcedures[key] = createRouterInner(value);
89
- continue;
90
- }
91
- if (isRouter(value)) {
92
- newProcedures[key] = procedureOrRouter;
93
- continue;
94
- }
95
- newProcedures[key] = procedureOrRouter;
96
- }
97
78
  const routerProcedures = omitPrototype({});
98
79
  function recursiveGetPaths(procedures, path = '') {
99
80
  for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})){
100
81
  const newPath = `${path}${key}`;
101
- if (isNestedRouter(procedureOrRouter)) {
102
- recursiveGetPaths(procedureOrRouter, `${newPath}.`);
103
- continue;
104
- }
105
82
  if (isRouter(procedureOrRouter)) {
106
83
  recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
107
84
  continue;
@@ -112,13 +89,13 @@ const emptyRouter = {
112
89
  routerProcedures[newPath] = procedureOrRouter;
113
90
  }
114
91
  }
115
- recursiveGetPaths(newProcedures);
92
+ recursiveGetPaths(procedures);
116
93
  const _def = {
117
94
  _config: config,
118
95
  router: true,
119
96
  procedures: routerProcedures,
120
97
  ...emptyRouter,
121
- record: newProcedures,
98
+ record: procedures,
122
99
  queries: Object.entries(routerProcedures).filter((pair)=>pair[1]._def.query).reduce((acc, [key, val])=>({
123
100
  ...acc,
124
101
  [key]: val
@@ -133,7 +110,7 @@ const emptyRouter = {
133
110
  }), {})
134
111
  };
135
112
  const router = {
136
- ...newProcedures,
113
+ ...procedures,
137
114
  _def,
138
115
  createCaller (ctx) {
139
116
  const proxy = createRecursiveProxy(({ path , args })=>{
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var TRPCError = require('./TRPCError-16b2e52d.js');
4
- var index = require('./index-8e243a74.js');
4
+ var index = require('./index-4a823936.js');
5
5
  var codes = require('./codes-0eeb600d.js');
6
6
 
7
7
  /**
@@ -51,9 +51,6 @@ const procedureTypes = [
51
51
  function isRouter(procedureOrRouter) {
52
52
  return 'router' in procedureOrRouter._def;
53
53
  }
54
- function isNestedRouter(procedureOrRouter) {
55
- return !('_def' in procedureOrRouter);
56
- }
57
54
  const emptyRouter = {
58
55
  _ctx: null,
59
56
  _errorShape: null,
@@ -70,10 +67,7 @@ const emptyRouter = {
70
67
  /**
71
68
  * Then is a reserved word because otherwise we can't return a promise that returns a Proxy
72
69
  * since JS will think that `.then` is something that exists
73
- */ 'then',
74
- /**
75
- * `_def` is a reserved word because it's used internally a lot
76
- */ '_def'
70
+ */ 'then'
77
71
  ];
78
72
  /**
79
73
  * @internal
@@ -83,27 +77,10 @@ const emptyRouter = {
83
77
  if (reservedWordsUsed.size > 0) {
84
78
  throw new Error('Reserved words used in `router({})` call: ' + Array.from(reservedWordsUsed).join(', '));
85
79
  }
86
- const newProcedures = {};
87
- for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})){
88
- const value = procedures[key] ?? {};
89
- if (isNestedRouter(value)) {
90
- newProcedures[key] = createRouterInner(value);
91
- continue;
92
- }
93
- if (isRouter(value)) {
94
- newProcedures[key] = procedureOrRouter;
95
- continue;
96
- }
97
- newProcedures[key] = procedureOrRouter;
98
- }
99
80
  const routerProcedures = omitPrototype({});
100
81
  function recursiveGetPaths(procedures, path = '') {
101
82
  for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})){
102
83
  const newPath = `${path}${key}`;
103
- if (isNestedRouter(procedureOrRouter)) {
104
- recursiveGetPaths(procedureOrRouter, `${newPath}.`);
105
- continue;
106
- }
107
84
  if (isRouter(procedureOrRouter)) {
108
85
  recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
109
86
  continue;
@@ -114,13 +91,13 @@ const emptyRouter = {
114
91
  routerProcedures[newPath] = procedureOrRouter;
115
92
  }
116
93
  }
117
- recursiveGetPaths(newProcedures);
94
+ recursiveGetPaths(procedures);
118
95
  const _def = {
119
96
  _config: config,
120
97
  router: true,
121
98
  procedures: routerProcedures,
122
99
  ...emptyRouter,
123
- record: newProcedures,
100
+ record: procedures,
124
101
  queries: Object.entries(routerProcedures).filter((pair)=>pair[1]._def.query).reduce((acc, [key, val])=>({
125
102
  ...acc,
126
103
  [key]: val
@@ -135,7 +112,7 @@ const emptyRouter = {
135
112
  }), {})
136
113
  };
137
114
  const router = {
138
- ...newProcedures,
115
+ ...procedures,
139
116
  _def,
140
117
  createCaller (ctx) {
141
118
  const proxy = index.createRecursiveProxy(({ path , args })=>{
@@ -1,5 +1,5 @@
1
- function createNodeHTTPContentTypeHandler(contentTypeHandler) {
2
- return () => contentTypeHandler;
1
+ function createNodeHTTPContentTypeHandler(contentTypeHandler) {
2
+ return () => contentTypeHandler;
3
3
  }
4
4
 
5
5
  export { createNodeHTTPContentTypeHandler as c };
@@ -1,58 +1,58 @@
1
- import { T as TRPCError, g as getCauseFromUnknown } from './TRPCError-61026c9a.js';
1
+ import { T as TRPCError, g as getCauseFromUnknown } from './TRPCError-7c3909ea.js';
2
2
 
3
- function getRawProcedureInputOrThrow(opts) {
4
- const { req } = opts;
5
- try {
6
- if (req.method === 'GET') {
7
- if (!req.query.has('input')) {
8
- return undefined;
9
- }
10
- const raw = req.query.get('input');
11
- return JSON.parse(raw);
12
- }
13
- if (!opts.preprocessedBody && typeof req.body === 'string') {
14
- // A mutation with no inputs will have req.body === ''
15
- return req.body.length === 0 ? undefined : JSON.parse(req.body);
16
- }
17
- return req.body;
18
- }
19
- catch (err) {
20
- throw new TRPCError({
21
- code: 'PARSE_ERROR',
22
- cause: getCauseFromUnknown(err),
23
- });
24
- }
25
- }
26
- const deserializeInputValue = (rawValue, transformer) => {
27
- return typeof rawValue !== 'undefined'
28
- ? transformer.input.deserialize(rawValue)
29
- : rawValue;
30
- };
31
- const getJsonContentTypeInputs = (opts) => {
32
- const rawInput = getRawProcedureInputOrThrow(opts);
33
- const transformer = opts.router._def._config.transformer;
34
- if (!opts.isBatchCall) {
35
- return {
36
- 0: deserializeInputValue(rawInput, transformer),
37
- };
38
- }
39
- /* istanbul ignore if */
40
- if (rawInput == null ||
41
- typeof rawInput !== 'object' ||
42
- Array.isArray(rawInput)) {
43
- throw new TRPCError({
44
- code: 'BAD_REQUEST',
45
- message: '"input" needs to be an object when doing a batch call',
46
- });
47
- }
48
- const input = {};
49
- for (const key in rawInput) {
50
- const k = key;
51
- const rawValue = rawInput[k];
52
- const value = deserializeInputValue(rawValue, transformer);
53
- input[k] = value;
54
- }
55
- return input;
3
+ function getRawProcedureInputOrThrow(opts) {
4
+ const { req } = opts;
5
+ try {
6
+ if (req.method === 'GET') {
7
+ if (!req.query.has('input')) {
8
+ return undefined;
9
+ }
10
+ const raw = req.query.get('input');
11
+ return JSON.parse(raw);
12
+ }
13
+ if (!opts.preprocessedBody && typeof req.body === 'string') {
14
+ // A mutation with no inputs will have req.body === ''
15
+ return req.body.length === 0 ? undefined : JSON.parse(req.body);
16
+ }
17
+ return req.body;
18
+ }
19
+ catch (err) {
20
+ throw new TRPCError({
21
+ code: 'PARSE_ERROR',
22
+ cause: getCauseFromUnknown(err),
23
+ });
24
+ }
25
+ }
26
+ const deserializeInputValue = (rawValue, transformer) => {
27
+ return typeof rawValue !== 'undefined'
28
+ ? transformer.input.deserialize(rawValue)
29
+ : rawValue;
30
+ };
31
+ const getJsonContentTypeInputs = (opts) => {
32
+ const rawInput = getRawProcedureInputOrThrow(opts);
33
+ const transformer = opts.router._def._config.transformer;
34
+ if (!opts.isBatchCall) {
35
+ return {
36
+ 0: deserializeInputValue(rawInput, transformer),
37
+ };
38
+ }
39
+ /* istanbul ignore if */
40
+ if (rawInput == null ||
41
+ typeof rawInput !== 'object' ||
42
+ Array.isArray(rawInput)) {
43
+ throw new TRPCError({
44
+ code: 'BAD_REQUEST',
45
+ message: '"input" needs to be an object when doing a batch call',
46
+ });
47
+ }
48
+ const input = {};
49
+ for (const key in rawInput) {
50
+ const k = key;
51
+ const rawValue = rawInput[k];
52
+ const value = deserializeInputValue(rawValue, transformer);
53
+ input[k] = value;
54
+ }
55
+ return input;
56
56
  };
57
57
 
58
58
  export { getJsonContentTypeInputs as g };