@trpc/server 11.0.0-alpha-tmp-export-from-main.218 → 11.0.0-alpha-tmp-export-from-main-nuke-core.239

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 (249) hide show
  1. package/dist/@trpc/server/http.d.ts +7 -0
  2. package/dist/@trpc/server/http.d.ts.map +1 -0
  3. package/dist/@trpc/server/index.d.ts +69 -0
  4. package/dist/@trpc/server/index.d.ts.map +1 -0
  5. package/dist/@trpc/server/rpc.d.ts +3 -0
  6. package/dist/@trpc/server/rpc.d.ts.map +1 -0
  7. package/dist/adapters/aws-lambda/index.d.ts +1 -2
  8. package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
  9. package/dist/adapters/aws-lambda/index.js +6 -4
  10. package/dist/adapters/aws-lambda/index.mjs +4 -2
  11. package/dist/adapters/aws-lambda/utils.d.ts +2 -3
  12. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -1
  13. package/dist/adapters/aws-lambda/utils.js +5 -4
  14. package/dist/adapters/aws-lambda/utils.mjs +3 -2
  15. package/dist/adapters/express.d.ts +1 -2
  16. package/dist/adapters/express.d.ts.map +1 -1
  17. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +2 -2
  18. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  19. package/dist/adapters/fastify/fastifyRequestHandler.js +6 -3
  20. package/dist/adapters/fastify/fastifyRequestHandler.mjs +4 -1
  21. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +1 -2
  22. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
  23. package/dist/adapters/fastify/fastifyTRPCPlugin.js +0 -1
  24. package/dist/adapters/fastify/fastifyTRPCPlugin.mjs +0 -1
  25. package/dist/adapters/fetch/fetchRequestHandler.d.ts +1 -2
  26. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
  27. package/dist/adapters/fetch/fetchRequestHandler.js +6 -4
  28. package/dist/adapters/fetch/fetchRequestHandler.mjs +4 -2
  29. package/dist/adapters/fetch/types.d.ts +2 -3
  30. package/dist/adapters/fetch/types.d.ts.map +1 -1
  31. package/dist/adapters/next.d.ts +1 -3
  32. package/dist/adapters/next.d.ts.map +1 -1
  33. package/dist/adapters/next.js +6 -4
  34. package/dist/adapters/next.mjs +4 -2
  35. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts +1 -1
  36. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts.map +1 -1
  37. package/dist/adapters/node-http/content-type/json/getPostBody.js +4 -2
  38. package/dist/adapters/node-http/content-type/json/getPostBody.mjs +3 -1
  39. package/dist/adapters/node-http/content-type/json/index.js +4 -2
  40. package/dist/adapters/node-http/content-type/json/index.mjs +3 -1
  41. package/dist/adapters/node-http/internals/contentType.d.ts +2 -2
  42. package/dist/adapters/node-http/internals/contentType.d.ts.map +1 -1
  43. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +1 -2
  44. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  45. package/dist/adapters/node-http/nodeHTTPRequestHandler.js +6 -4
  46. package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +4 -2
  47. package/dist/adapters/node-http/types.d.ts +3 -4
  48. package/dist/adapters/node-http/types.d.ts.map +1 -1
  49. package/dist/adapters/standalone.d.ts +1 -2
  50. package/dist/adapters/standalone.d.ts.map +1 -1
  51. package/dist/adapters/standalone.js +1 -0
  52. package/dist/adapters/standalone.mjs +1 -0
  53. package/dist/adapters/ws.d.ts +3 -2
  54. package/dist/adapters/ws.d.ts.map +1 -1
  55. package/dist/adapters/ws.js +33 -26
  56. package/dist/adapters/ws.mjs +8 -1
  57. package/dist/bundle-analysis.json +757 -0
  58. package/dist/http.d.ts +1 -6
  59. package/dist/http.d.ts.map +1 -1
  60. package/dist/http.js +11 -21
  61. package/dist/http.mjs +6 -1
  62. package/dist/index.d.ts +1 -68
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +18 -41
  65. package/dist/index.mjs +8 -1
  66. package/dist/observable/index.d.ts +5 -0
  67. package/dist/observable/index.d.ts.map +1 -0
  68. package/dist/observable/index.js +13 -0
  69. package/dist/observable/index.mjs +2 -0
  70. package/dist/observable/observable.d.ts +13 -0
  71. package/dist/observable/observable.d.ts.map +1 -0
  72. package/dist/observable/observable.js +126 -0
  73. package/dist/observable/observable.mjs +122 -0
  74. package/dist/observable/operators.d.ts +8 -0
  75. package/dist/observable/operators.d.ts.map +1 -0
  76. package/dist/observable/operators.js +103 -0
  77. package/dist/observable/operators.mjs +99 -0
  78. package/dist/observable/types.d.ts +26 -0
  79. package/dist/observable/types.d.ts.map +1 -0
  80. package/dist/rpc.d.ts +1 -2
  81. package/dist/rpc.d.ts.map +1 -1
  82. package/dist/rpc.js +6 -13
  83. package/dist/rpc.mjs +3 -1
  84. package/dist/shared.d.ts +1 -1
  85. package/dist/shared.d.ts.map +1 -1
  86. package/dist/shared.js +6 -9
  87. package/dist/shared.mjs +4 -1
  88. package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts +6 -0
  89. package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts.map +1 -0
  90. package/dist/unstable-core-do-not-import/createProxy.d.ts +19 -0
  91. package/dist/unstable-core-do-not-import/createProxy.d.ts.map +1 -0
  92. package/dist/unstable-core-do-not-import/createProxy.js +52 -0
  93. package/dist/unstable-core-do-not-import/createProxy.mjs +49 -0
  94. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +13 -0
  95. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts.map +1 -0
  96. package/dist/unstable-core-do-not-import/error/TRPCError.js +67 -0
  97. package/dist/unstable-core-do-not-import/error/TRPCError.mjs +63 -0
  98. package/dist/unstable-core-do-not-import/error/formatter.d.ts +33 -0
  99. package/dist/unstable-core-do-not-import/error/formatter.d.ts.map +1 -0
  100. package/dist/unstable-core-do-not-import/error/formatter.js +7 -0
  101. package/dist/unstable-core-do-not-import/error/formatter.mjs +5 -0
  102. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts +15 -0
  103. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts.map +1 -0
  104. package/dist/unstable-core-do-not-import/error/getErrorShape.js +31 -0
  105. package/dist/unstable-core-do-not-import/error/getErrorShape.mjs +29 -0
  106. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts +24 -0
  107. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts.map +1 -0
  108. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.js +32 -0
  109. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.mjs +30 -0
  110. package/dist/unstable-core-do-not-import/http/contentType.d.ts +29 -0
  111. package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +1 -0
  112. package/dist/unstable-core-do-not-import/http/contentType.js +54 -0
  113. package/dist/unstable-core-do-not-import/http/contentType.mjs +52 -0
  114. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +5 -0
  115. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +1 -0
  116. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +51 -0
  117. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +48 -0
  118. package/dist/unstable-core-do-not-import/http/index.d.ts +7 -0
  119. package/dist/unstable-core-do-not-import/http/index.d.ts.map +1 -0
  120. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts +51 -0
  121. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts.map +1 -0
  122. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.js +295 -0
  123. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.mjs +293 -0
  124. package/dist/unstable-core-do-not-import/http/types.d.ts +96 -0
  125. package/dist/unstable-core-do-not-import/http/types.d.ts.map +1 -0
  126. package/dist/unstable-core-do-not-import/index.d.ts +37 -0
  127. package/dist/unstable-core-do-not-import/index.d.ts.map +1 -0
  128. package/dist/unstable-core-do-not-import/index.js +48 -0
  129. package/dist/unstable-core-do-not-import/index.mjs +16 -0
  130. package/dist/unstable-core-do-not-import/initTRPC.d.ts +96 -0
  131. package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +1 -0
  132. package/dist/unstable-core-do-not-import/initTRPC.js +95 -0
  133. package/dist/unstable-core-do-not-import/initTRPC.mjs +93 -0
  134. package/dist/unstable-core-do-not-import/middleware.d.ts +105 -0
  135. package/dist/unstable-core-do-not-import/middleware.d.ts.map +1 -0
  136. package/dist/unstable-core-do-not-import/middleware.js +95 -0
  137. package/dist/unstable-core-do-not-import/middleware.mjs +89 -0
  138. package/dist/unstable-core-do-not-import/parser.d.ts +30 -0
  139. package/dist/unstable-core-do-not-import/parser.d.ts.map +1 -0
  140. package/dist/unstable-core-do-not-import/parser.js +37 -0
  141. package/dist/unstable-core-do-not-import/parser.mjs +35 -0
  142. package/dist/unstable-core-do-not-import/procedure.d.ts +72 -0
  143. package/dist/unstable-core-do-not-import/procedure.d.ts.map +1 -0
  144. package/dist/unstable-core-do-not-import/procedure.js +9 -0
  145. package/dist/unstable-core-do-not-import/procedure.mjs +7 -0
  146. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +101 -0
  147. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +1 -0
  148. package/dist/unstable-core-do-not-import/procedureBuilder.js +176 -0
  149. package/dist/unstable-core-do-not-import/procedureBuilder.mjs +173 -0
  150. package/dist/unstable-core-do-not-import/rootConfig.d.ts +75 -0
  151. package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +1 -0
  152. package/dist/unstable-core-do-not-import/rootConfig.js +8 -0
  153. package/dist/unstable-core-do-not-import/rootConfig.mjs +6 -0
  154. package/dist/unstable-core-do-not-import/router.d.ts +85 -0
  155. package/dist/unstable-core-do-not-import/router.d.ts.map +1 -0
  156. package/dist/unstable-core-do-not-import/router.js +156 -0
  157. package/dist/unstable-core-do-not-import/router.mjs +151 -0
  158. package/dist/unstable-core-do-not-import/rpc/codes.d.ts +51 -0
  159. package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +1 -0
  160. package/dist/unstable-core-do-not-import/rpc/codes.js +38 -0
  161. package/dist/unstable-core-do-not-import/rpc/codes.mjs +35 -0
  162. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts +97 -0
  163. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +1 -0
  164. package/dist/unstable-core-do-not-import/rpc/index.d.ts +5 -0
  165. package/dist/unstable-core-do-not-import/rpc/index.d.ts.map +1 -0
  166. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts +5 -0
  167. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts.map +1 -0
  168. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.js +59 -0
  169. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +57 -0
  170. package/dist/unstable-core-do-not-import/serialize.d.ts +62 -0
  171. package/dist/unstable-core-do-not-import/serialize.d.ts.map +1 -0
  172. package/dist/unstable-core-do-not-import/transformer.d.ts +107 -0
  173. package/dist/unstable-core-do-not-import/transformer.d.ts.map +1 -0
  174. package/dist/unstable-core-do-not-import/transformer.js +107 -0
  175. package/dist/unstable-core-do-not-import/transformer.mjs +102 -0
  176. package/dist/unstable-core-do-not-import/types.d.ts +98 -0
  177. package/dist/unstable-core-do-not-import/types.d.ts.map +1 -0
  178. package/dist/unstable-core-do-not-import/utils.d.ts +27 -0
  179. package/dist/unstable-core-do-not-import/utils.d.ts.map +1 -0
  180. package/dist/unstable-core-do-not-import/utils.js +44 -0
  181. package/dist/unstable-core-do-not-import/utils.mjs +39 -0
  182. package/package.json +53 -125
  183. package/src/@trpc/server/http.ts +26 -0
  184. package/src/@trpc/server/index.ts +105 -0
  185. package/src/@trpc/server/rpc.ts +26 -0
  186. package/src/adapters/aws-lambda/index.ts +4 -5
  187. package/src/adapters/aws-lambda/utils.ts +3 -4
  188. package/src/adapters/express.ts +1 -3
  189. package/src/adapters/fastify/fastifyRequestHandler.ts +6 -4
  190. package/src/adapters/fastify/fastifyTRPCPlugin.ts +1 -2
  191. package/src/adapters/fetch/fetchRequestHandler.ts +6 -4
  192. package/src/adapters/fetch/types.ts +2 -3
  193. package/src/adapters/next.ts +2 -4
  194. package/src/adapters/node-http/content-type/form-data/index.ts +1 -1
  195. package/src/adapters/node-http/content-type/json/getPostBody.ts +2 -2
  196. package/src/adapters/node-http/content-type/json/index.ts +1 -1
  197. package/src/adapters/node-http/internals/contentType.ts +2 -2
  198. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +6 -4
  199. package/src/adapters/node-http/types.ts +4 -5
  200. package/src/adapters/standalone.ts +2 -2
  201. package/src/adapters/ws.ts +14 -13
  202. package/src/http.ts +1 -26
  203. package/src/index.ts +1 -105
  204. package/src/observable/index.ts +10 -0
  205. package/src/observable/observable.ts +158 -0
  206. package/src/observable/operators.ts +119 -0
  207. package/src/observable/types.ts +76 -0
  208. package/src/rpc.ts +1 -26
  209. package/src/shared.ts +1 -1
  210. package/src/unstable-core-do-not-import/TRPCInferrable.ts +9 -0
  211. package/src/unstable-core-do-not-import/createProxy.ts +59 -0
  212. package/src/unstable-core-do-not-import/error/TRPCError.ts +82 -0
  213. package/src/unstable-core-do-not-import/error/formatter.ts +51 -0
  214. package/src/unstable-core-do-not-import/error/getErrorShape.ts +36 -0
  215. package/src/unstable-core-do-not-import/http/batchStreamFormatter.ts +29 -0
  216. package/src/unstable-core-do-not-import/http/contentType.ts +99 -0
  217. package/src/unstable-core-do-not-import/http/getHTTPStatusCode.ts +57 -0
  218. package/src/unstable-core-do-not-import/http/index.ts +23 -0
  219. package/src/unstable-core-do-not-import/http/resolveHTTPResponse.ts +458 -0
  220. package/src/unstable-core-do-not-import/http/types.ts +111 -0
  221. package/src/unstable-core-do-not-import/index.ts +110 -0
  222. package/src/unstable-core-do-not-import/initTRPC.ts +206 -0
  223. package/src/unstable-core-do-not-import/middleware.ts +233 -0
  224. package/src/unstable-core-do-not-import/parser.ts +94 -0
  225. package/src/unstable-core-do-not-import/procedure.ts +108 -0
  226. package/src/unstable-core-do-not-import/procedureBuilder.ts +458 -0
  227. package/src/unstable-core-do-not-import/rootConfig.ts +90 -0
  228. package/src/unstable-core-do-not-import/router.ts +370 -0
  229. package/src/unstable-core-do-not-import/rpc/codes.ts +44 -0
  230. package/src/unstable-core-do-not-import/rpc/envelopes.ts +136 -0
  231. package/src/unstable-core-do-not-import/rpc/index.ts +21 -0
  232. package/src/unstable-core-do-not-import/rpc/parseTRPCMessage.ts +85 -0
  233. package/src/unstable-core-do-not-import/serialize.ts +122 -0
  234. package/src/unstable-core-do-not-import/transformer.ts +202 -0
  235. package/src/unstable-core-do-not-import/types.ts +151 -0
  236. package/src/unstable-core-do-not-import/utils.ts +59 -0
  237. package/unstable-core-do-not-import/index.d.ts +1 -0
  238. package/unstable-core-do-not-import/index.js +1 -0
  239. package/dist/@trpc-core-unstable-do-not-import-this-please.d.ts +0 -10
  240. package/dist/@trpc-core-unstable-do-not-import-this-please.d.ts.map +0 -1
  241. package/dist/@trpc-server/http.d.ts +0 -2
  242. package/dist/@trpc-server/http.d.ts.map +0 -1
  243. package/dist/observable.d.ts +0 -3
  244. package/dist/observable.d.ts.map +0 -1
  245. package/dist/observable.js +0 -30
  246. package/dist/observable.mjs +0 -1
  247. package/src/@trpc-core-unstable-do-not-import-this-please.ts +0 -146
  248. package/src/@trpc-server/http.ts +0 -2
  249. package/src/observable.ts +0 -16
@@ -0,0 +1,89 @@
1
+ import { TRPCError } from './error/TRPCError.mjs';
2
+ import { isObject } from './utils.mjs';
3
+
4
+ /** @internal */ const middlewareMarker = 'middlewareMarker';
5
+ /**
6
+ * @internal
7
+ */ function createMiddlewareFactory() {
8
+ function createMiddlewareInner(middlewares) {
9
+ return {
10
+ _middlewares: middlewares,
11
+ unstable_pipe (middlewareBuilderOrFn) {
12
+ const pipedMiddleware = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
13
+ middlewareBuilderOrFn
14
+ ];
15
+ return createMiddlewareInner([
16
+ ...middlewares,
17
+ ...pipedMiddleware
18
+ ]);
19
+ }
20
+ };
21
+ }
22
+ function createMiddleware(fn) {
23
+ return createMiddlewareInner([
24
+ fn
25
+ ]);
26
+ }
27
+ return createMiddleware;
28
+ }
29
+ /**
30
+ * Create a standalone middleware
31
+ * @link https://trpc.io/docs/v11/server/middlewares#experimental-standalone-middlewares
32
+ */ const experimental_standaloneMiddleware = ()=>({
33
+ create: createMiddlewareFactory()
34
+ });
35
+ /**
36
+ * @internal
37
+ * Please note, `trpc-openapi` uses this function.
38
+ */ function createInputMiddleware(parse) {
39
+ const inputMiddleware = async function inputValidatorMiddleware(opts) {
40
+ let parsedInput;
41
+ const rawInput = await opts.getRawInput();
42
+ try {
43
+ parsedInput = await parse(rawInput);
44
+ } catch (cause) {
45
+ throw new TRPCError({
46
+ code: 'BAD_REQUEST',
47
+ cause
48
+ });
49
+ }
50
+ // Multiple input parsers
51
+ const combinedInput = isObject(opts.input) && isObject(parsedInput) ? {
52
+ ...opts.input,
53
+ ...parsedInput
54
+ } : parsedInput;
55
+ return opts.next({
56
+ input: combinedInput
57
+ });
58
+ };
59
+ inputMiddleware._type = 'input';
60
+ return inputMiddleware;
61
+ }
62
+ /**
63
+ * @internal
64
+ */ function createOutputMiddleware(parse) {
65
+ const outputMiddleware = async function outputValidatorMiddleware({ next }) {
66
+ const result = await next();
67
+ if (!result.ok) {
68
+ // pass through failures without validating
69
+ return result;
70
+ }
71
+ try {
72
+ const data = await parse(result.data);
73
+ return {
74
+ ...result,
75
+ data
76
+ };
77
+ } catch (cause) {
78
+ throw new TRPCError({
79
+ message: 'Output validation failed',
80
+ code: 'INTERNAL_SERVER_ERROR',
81
+ cause
82
+ });
83
+ }
84
+ };
85
+ outputMiddleware._type = 'output';
86
+ return outputMiddleware;
87
+ }
88
+
89
+ export { createInputMiddleware, createMiddlewareFactory, createOutputMiddleware, experimental_standaloneMiddleware, middlewareMarker };
@@ -0,0 +1,30 @@
1
+ export type ParserZodEsque<TInput, TParsedInput> = {
2
+ _input: TInput;
3
+ _output: TParsedInput;
4
+ };
5
+ export type ParserMyZodEsque<TInput> = {
6
+ parse: (input: any) => TInput;
7
+ };
8
+ export type ParserSuperstructEsque<TInput> = {
9
+ create: (input: unknown) => TInput;
10
+ };
11
+ export type ParserCustomValidatorEsque<TInput> = (input: unknown) => Promise<TInput> | TInput;
12
+ export type ParserYupEsque<TInput> = {
13
+ validateSync: (input: unknown) => TInput;
14
+ };
15
+ export type ParserScaleEsque<TInput> = {
16
+ assert(value: unknown): asserts value is TInput;
17
+ };
18
+ export type ParserWithoutInput<TInput> = ParserCustomValidatorEsque<TInput> | ParserMyZodEsque<TInput> | ParserScaleEsque<TInput> | ParserSuperstructEsque<TInput> | ParserYupEsque<TInput>;
19
+ export type ParserWithInputOutput<TInput, TParsedInput> = ParserZodEsque<TInput, TParsedInput>;
20
+ export type Parser = ParserWithInputOutput<any, any> | ParserWithoutInput<any>;
21
+ export type inferParser<TParser extends Parser> = TParser extends ParserWithInputOutput<infer $TIn, infer $TOut> ? {
22
+ in: $TIn;
23
+ out: $TOut;
24
+ } : TParser extends ParserWithoutInput<infer $InOut> ? {
25
+ in: $InOut;
26
+ out: $InOut;
27
+ } : never;
28
+ export type ParseFn<TType> = (value: unknown) => Promise<TType> | TType;
29
+ export declare function getParseFn<TType>(procedureParser: Parser): ParseFn<TType>;
30
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/parser.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,cAAc,CAAC,MAAM,EAAE,YAAY,IAAI;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI;IACrC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,MAAM,IAAI;IAC3C,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,MAAM,IAAI,CAC/C,KAAK,EAAE,OAAO,KACX,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,cAAc,CAAC,MAAM,IAAI;IACnC,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI;IACrC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,MAAM,IACjC,0BAA0B,CAAC,MAAM,CAAC,GAClC,gBAAgB,CAAC,MAAM,CAAC,GACxB,gBAAgB,CAAC,MAAM,CAAC,GACxB,sBAAsB,CAAC,MAAM,CAAC,GAC9B,cAAc,CAAC,MAAM,CAAC,CAAC;AAE3B,MAAM,MAAM,qBAAqB,CAAC,MAAM,EAAE,YAAY,IAAI,cAAc,CACtE,MAAM,EACN,YAAY,CACb,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAE/E,MAAM,MAAM,WAAW,CAAC,OAAO,SAAS,MAAM,IAC5C,OAAO,SAAS,qBAAqB,CAAC,MAAM,IAAI,EAAE,MAAM,KAAK,CAAC,GAC1D;IACE,EAAE,EAAE,IAAI,CAAC;IACT,GAAG,EAAE,KAAK,CAAC;CACZ,GACD,OAAO,SAAS,kBAAkB,CAAC,MAAM,MAAM,CAAC,GAChD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb,GACD,KAAK,CAAC;AAEZ,MAAM,MAAM,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAExE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAsCzE"}
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ // zod / @decs/typeschema
4
+ function getParseFn(procedureParser) {
5
+ const parser = procedureParser;
6
+ if (typeof parser === 'function') {
7
+ // ParserCustomValidatorEsque
8
+ return parser;
9
+ }
10
+ if (typeof parser.parseAsync === 'function') {
11
+ // ParserZodEsque
12
+ return parser.parseAsync.bind(parser);
13
+ }
14
+ if (typeof parser.parse === 'function') {
15
+ // ParserZodEsque
16
+ // ParserValibotEsque (<= v0.12.X)
17
+ return parser.parse.bind(parser);
18
+ }
19
+ if (typeof parser.validateSync === 'function') {
20
+ // ParserYupEsque
21
+ return parser.validateSync.bind(parser);
22
+ }
23
+ if (typeof parser.create === 'function') {
24
+ // ParserSuperstructEsque
25
+ return parser.create.bind(parser);
26
+ }
27
+ if (typeof parser.assert === 'function') {
28
+ // ParserScaleEsque
29
+ return (value)=>{
30
+ parser.assert(value);
31
+ return value;
32
+ };
33
+ }
34
+ throw new Error('Could not find a validator fn');
35
+ }
36
+
37
+ exports.getParseFn = getParseFn;
@@ -0,0 +1,35 @@
1
+ // zod / @decs/typeschema
2
+ function getParseFn(procedureParser) {
3
+ const parser = procedureParser;
4
+ if (typeof parser === 'function') {
5
+ // ParserCustomValidatorEsque
6
+ return parser;
7
+ }
8
+ if (typeof parser.parseAsync === 'function') {
9
+ // ParserZodEsque
10
+ return parser.parseAsync.bind(parser);
11
+ }
12
+ if (typeof parser.parse === 'function') {
13
+ // ParserZodEsque
14
+ // ParserValibotEsque (<= v0.12.X)
15
+ return parser.parse.bind(parser);
16
+ }
17
+ if (typeof parser.validateSync === 'function') {
18
+ // ParserYupEsque
19
+ return parser.validateSync.bind(parser);
20
+ }
21
+ if (typeof parser.create === 'function') {
22
+ // ParserSuperstructEsque
23
+ return parser.create.bind(parser);
24
+ }
25
+ if (typeof parser.assert === 'function') {
26
+ // ParserScaleEsque
27
+ return (value)=>{
28
+ parser.assert(value);
29
+ return value;
30
+ };
31
+ }
32
+ throw new Error('Could not find a validator fn');
33
+ }
34
+
35
+ export { getParseFn };
@@ -0,0 +1,72 @@
1
+ import type { inferObservableValue } from '../observable';
2
+ import type { ProcedureCallOptions } from './procedureBuilder';
3
+ import type { Serialize } from './serialize';
4
+ import type { DefaultDataTransformer } from './transformer';
5
+ import type { inferConfig, TRPCInferrable } from './TRPCInferrable';
6
+ export declare const procedureTypes: readonly ["query", "mutation", "subscription"];
7
+ /**
8
+ * @public
9
+ */
10
+ export type ProcedureType = (typeof procedureTypes)[number];
11
+ type ClientContext = Record<string, unknown>;
12
+ /**
13
+ * @internal
14
+ */
15
+ export interface ProcedureOptions {
16
+ /**
17
+ * Client-side context
18
+ */
19
+ context?: ClientContext;
20
+ signal?: AbortSignal;
21
+ }
22
+ /**
23
+ * @internal
24
+ */
25
+ export type ProcedureArgs<TParams extends AnyProcedure['_def']> = void extends TParams['_input_in'] ? [input?: undefined | void, opts?: ProcedureOptions] : undefined extends TParams['_input_in'] ? [input?: TParams['_input_in'] | void, opts?: ProcedureOptions] : [input: TParams['_input_in'], opts?: ProcedureOptions];
26
+ interface BuiltProcedureDef {
27
+ input: unknown;
28
+ output: unknown;
29
+ }
30
+ /**
31
+ *
32
+ * @internal
33
+ */
34
+ export interface Procedure<TType extends ProcedureType, TDef extends BuiltProcedureDef> {
35
+ _def: {
36
+ _input_in: TDef['input'];
37
+ _output_out: TDef['output'];
38
+ procedure: true;
39
+ type: TType;
40
+ /**
41
+ * @internal
42
+ * Meta is not inferrable on individual procedures, only on the router
43
+ */
44
+ meta: unknown;
45
+ };
46
+ /**
47
+ * @internal
48
+ */
49
+ (opts: ProcedureCallOptions): Promise<unknown>;
50
+ }
51
+ export interface QueryProcedure<TDef extends BuiltProcedureDef> extends Procedure<'query', TDef> {
52
+ }
53
+ export interface MutationProcedure<TDef extends BuiltProcedureDef> extends Procedure<'mutation', TDef> {
54
+ }
55
+ export interface SubscriptionProcedure<TDef extends BuiltProcedureDef> extends Procedure<'subscription', TDef> {
56
+ }
57
+ export type AnyQueryProcedure = QueryProcedure<any>;
58
+ export type AnyMutationProcedure = MutationProcedure<any>;
59
+ export type AnySubscriptionProcedure = SubscriptionProcedure<any>;
60
+ export type AnyProcedure = Procedure<ProcedureType, any>;
61
+ /**
62
+ * @internal
63
+ */
64
+ export type inferTransformedProcedureOutput<TInferrable extends TRPCInferrable, TProcedure extends AnyProcedure> = inferConfig<TInferrable>['transformer'] extends DefaultDataTransformer ? Serialize<TProcedure['_def']['_output_out']> : TProcedure['_def']['_output_out'];
65
+ /** @internal */
66
+ export type inferTransformedSubscriptionOutput<TInferrable extends TRPCInferrable, TProcedure extends AnyProcedure> = inferConfig<TInferrable>['transformer'] extends DefaultDataTransformer ? Serialize<inferObservableValue<TProcedure['_def']['_output_out']>> : inferObservableValue<TProcedure['_def']['_output_out']>;
67
+ export type inferHandlerInput<TProcedure extends AnyProcedure> = ProcedureArgs<inferProcedureParams<TProcedure>>;
68
+ export type inferProcedureInput<TProcedure extends AnyProcedure> = inferProcedureParams<TProcedure>['_input_in'];
69
+ export type inferProcedureParams<TProcedure> = TProcedure extends AnyProcedure ? TProcedure['_def'] : never;
70
+ export type inferProcedureOutput<TProcedure> = inferProcedureParams<TProcedure>['_output_out'];
71
+ export {};
72
+ //# sourceMappingURL=procedure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/procedure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ const procedureTypes = [
4
+ 'query',
5
+ 'mutation',
6
+ 'subscription'
7
+ ];
8
+
9
+ exports.procedureTypes = procedureTypes;
@@ -0,0 +1,7 @@
1
+ const procedureTypes = [
2
+ 'query',
3
+ 'mutation',
4
+ 'subscription'
5
+ ];
6
+
7
+ export { procedureTypes };
@@ -0,0 +1,101 @@
1
+ import type { AnyMiddlewareFunction, MiddlewareBuilder, MiddlewareFunction } from './middleware';
2
+ import type { inferParser, Parser } from './parser';
3
+ import type { MutationProcedure, ProcedureType, QueryProcedure, SubscriptionProcedure } from './procedure';
4
+ import type { GetRawInputFn, MaybePromise, Overwrite, Simplify } from './types';
5
+ type IntersectIfDefined<TType, TWith> = TType extends UnsetMarker ? TWith : Simplify<TType & TWith>;
6
+ type ErrorMessage<TMessage extends string> = TMessage;
7
+ /** @internal */
8
+ export declare const unsetMarker: unique symbol;
9
+ type UnsetMarker = typeof unsetMarker;
10
+ type DefaultValue<TValue, TFallback> = TValue extends UnsetMarker ? TFallback : TValue;
11
+ type ProcedureBuilderDef<TMeta> = {
12
+ procedure: true;
13
+ inputs: Parser[];
14
+ output?: Parser;
15
+ meta?: TMeta;
16
+ resolver?: ProcedureBuilderResolver;
17
+ middlewares: AnyMiddlewareFunction[];
18
+ mutation?: boolean;
19
+ query?: boolean;
20
+ subscription?: boolean;
21
+ };
22
+ type AnyProcedureBuilderDef = ProcedureBuilderDef<any>;
23
+ /**
24
+ * Procedure resolver options
25
+ * @internal
26
+ */
27
+ interface ResolverOptions<TContext, _TMeta, TContextOverridesIn, TInputOut> {
28
+ ctx: Simplify<Overwrite<TContext, TContextOverridesIn>>;
29
+ input: TInputOut extends UnsetMarker ? undefined : TInputOut;
30
+ }
31
+ /**
32
+ * A procedure resolver
33
+ */
34
+ type ProcedureResolver<TContext, _TMeta, TContextOverrides, TInputOut, TOutputIn, TOutputOut> = (opts: {
35
+ ctx: Simplify<Overwrite<TContext, TContextOverrides>>;
36
+ input: TInputOut extends UnsetMarker ? undefined : TInputOut;
37
+ }) => MaybePromise<DefaultValue<TOutputIn, TOutputOut>>;
38
+ export interface ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut> {
39
+ /**
40
+ * Add an input parser to the procedure.
41
+ * @link https://trpc.io/docs/v11/server/validators
42
+ */
43
+ input<$Parser extends Parser>(schema: TInputOut extends UnsetMarker ? $Parser : inferParser<$Parser>['out'] extends Record<string, unknown> | undefined ? TInputOut extends Record<string, unknown> | undefined ? undefined extends inferParser<$Parser>['out'] ? undefined extends TInputOut ? $Parser : ErrorMessage<'Cannot chain an optional parser to a required parser'> : $Parser : ErrorMessage<'All input parsers did not resolve to an object'> : ErrorMessage<'All input parsers did not resolve to an object'>): ProcedureBuilder<TContext, TMeta, TContextOverrides, IntersectIfDefined<TInputIn, inferParser<$Parser>['in']>, IntersectIfDefined<TInputOut, inferParser<$Parser>['out']>, TOutputIn, TOutputOut>;
44
+ /**
45
+ * Add an output parser to the procedure.
46
+ * @link https://trpc.io/docs/v11/server/validators
47
+ */
48
+ output<$Parser extends Parser>(schema: $Parser): ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, IntersectIfDefined<TOutputIn, inferParser<$Parser>['in']>, IntersectIfDefined<TOutputOut, inferParser<$Parser>['out']>>;
49
+ /**
50
+ * Add a meta data to the procedure.
51
+ * @link https://trpc.io/docs/v11/server/metadata
52
+ */
53
+ meta(meta: TMeta): ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut>;
54
+ /**
55
+ * Add a middleware to the procedure.
56
+ * @link https://trpc.io/docs/v11/server/middlewares
57
+ */
58
+ use<$ContextOverridesOut>(fn: MiddlewareBuilder<Overwrite<TContext, TContextOverrides>, TMeta, $ContextOverridesOut, TInputIn> | MiddlewareFunction<TContext, TMeta, TContextOverrides, $ContextOverridesOut, TInputIn>): ProcedureBuilder<TContext, TMeta, Overwrite<TContextOverrides, $ContextOverridesOut>, TInputIn, TInputOut, TOutputIn, TOutputOut>;
59
+ /**
60
+ * Query procedure
61
+ * @link https://trpc.io/docs/v11/concepts#vocabulary
62
+ */
63
+ query<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): QueryProcedure<{
64
+ input: DefaultValue<TInputIn, void>;
65
+ output: DefaultValue<TOutputOut, $Output>;
66
+ }>;
67
+ /**
68
+ * Mutation procedure
69
+ * @link https://trpc.io/docs/v11/concepts#vocabulary
70
+ */
71
+ mutation<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): MutationProcedure<{
72
+ input: DefaultValue<TInputIn, void>;
73
+ output: DefaultValue<TOutputOut, $Output>;
74
+ }>;
75
+ /**
76
+ * Subscription procedure
77
+ * @link https://trpc.io/docs/v11/concepts#vocabulary
78
+ */
79
+ subscription<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): SubscriptionProcedure<{
80
+ input: DefaultValue<TInputIn, void>;
81
+ output: DefaultValue<TOutputOut, $Output>;
82
+ }>;
83
+ /**
84
+ * @internal
85
+ */
86
+ _def: ProcedureBuilderDef<TMeta>;
87
+ }
88
+ type ProcedureBuilderResolver = (opts: ResolverOptions<any, any, any, any>) => Promise<unknown>;
89
+ export declare function createBuilder<TContext, TMeta>(initDef?: Partial<AnyProcedureBuilderDef>): ProcedureBuilder<TContext, TMeta, object, UnsetMarker, UnsetMarker, UnsetMarker, UnsetMarker>;
90
+ /**
91
+ * @internal
92
+ */
93
+ export interface ProcedureCallOptions {
94
+ ctx: unknown;
95
+ getRawInput: GetRawInputFn;
96
+ input?: unknown;
97
+ path: string;
98
+ type: ProcedureType;
99
+ }
100
+ export {};
101
+ //# sourceMappingURL=procedureBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/procedureBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ 'use strict';
2
+
3
+ var TRPCError = require('./error/TRPCError.js');
4
+ var middleware = require('./middleware.js');
5
+ var parser = require('./parser.js');
6
+ var utils = require('./utils.js');
7
+
8
+ /** @internal */ const unsetMarker = Symbol('unsetMarker');
9
+ function createNewBuilder(def1, def2) {
10
+ const { middlewares =[] , inputs , meta , ...rest } = def2;
11
+ // TODO: maybe have a fn here to warn about calls
12
+ return createBuilder({
13
+ ...utils.mergeWithoutOverrides(def1, rest),
14
+ inputs: [
15
+ ...def1.inputs,
16
+ ...inputs ?? []
17
+ ],
18
+ middlewares: [
19
+ ...def1.middlewares,
20
+ ...middlewares
21
+ ],
22
+ meta: def1.meta && meta ? {
23
+ ...def1.meta,
24
+ ...meta
25
+ } : meta ?? def1.meta
26
+ });
27
+ }
28
+ function createBuilder(initDef = {}) {
29
+ const _def = {
30
+ procedure: true,
31
+ inputs: [],
32
+ middlewares: [],
33
+ ...initDef
34
+ };
35
+ const builder = {
36
+ _def,
37
+ input (input) {
38
+ const parser$1 = parser.getParseFn(input);
39
+ return createNewBuilder(_def, {
40
+ inputs: [
41
+ input
42
+ ],
43
+ middlewares: [
44
+ middleware.createInputMiddleware(parser$1)
45
+ ]
46
+ });
47
+ },
48
+ output (output) {
49
+ const parser$1 = parser.getParseFn(output);
50
+ return createNewBuilder(_def, {
51
+ output,
52
+ middlewares: [
53
+ middleware.createOutputMiddleware(parser$1)
54
+ ]
55
+ });
56
+ },
57
+ meta (meta) {
58
+ return createNewBuilder(_def, {
59
+ meta
60
+ });
61
+ },
62
+ use (middlewareBuilderOrFn) {
63
+ // Distinguish between a middleware builder and a middleware function
64
+ const middlewares = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
65
+ middlewareBuilderOrFn
66
+ ];
67
+ return createNewBuilder(_def, {
68
+ middlewares: middlewares
69
+ });
70
+ },
71
+ query (resolver) {
72
+ return createResolver({
73
+ ..._def,
74
+ type: 'query'
75
+ }, resolver);
76
+ },
77
+ mutation (resolver) {
78
+ return createResolver({
79
+ ..._def,
80
+ type: 'mutation'
81
+ }, resolver);
82
+ },
83
+ subscription (resolver) {
84
+ return createResolver({
85
+ ..._def,
86
+ type: 'subscription'
87
+ }, resolver);
88
+ }
89
+ };
90
+ return builder;
91
+ }
92
+ function createResolver(_def, resolver) {
93
+ const finalBuilder = createNewBuilder(_def, {
94
+ resolver,
95
+ middlewares: [
96
+ async function resolveMiddleware(opts) {
97
+ const data = await resolver(opts);
98
+ return {
99
+ marker: middleware.middlewareMarker,
100
+ ok: true,
101
+ data,
102
+ ctx: opts.ctx
103
+ };
104
+ }
105
+ ]
106
+ });
107
+ return createProcedureCaller(finalBuilder._def);
108
+ }
109
+ const codeblock = `
110
+ This is a client-only function.
111
+ If you want to call this function on the server, see https://trpc.io/docs/v11/server/server-side-calls
112
+ `.trim();
113
+ function createProcedureCaller(_def) {
114
+ async function procedure(opts) {
115
+ // is direct server-side call
116
+ if (!opts || !('getRawInput' in opts)) {
117
+ throw new Error(codeblock);
118
+ }
119
+ // run the middlewares recursively with the resolver as the last one
120
+ async function callRecursive(callOpts = {
121
+ index: 0,
122
+ ctx: opts.ctx
123
+ }) {
124
+ try {
125
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
126
+ const middleware = _def.middlewares[callOpts.index];
127
+ const result = await middleware({
128
+ ctx: callOpts.ctx,
129
+ type: opts.type,
130
+ path: opts.path,
131
+ getRawInput: callOpts.getRawInput ?? opts.getRawInput,
132
+ meta: _def.meta,
133
+ input: callOpts.input,
134
+ next (_nextOpts) {
135
+ const nextOpts = _nextOpts;
136
+ return callRecursive({
137
+ index: callOpts.index + 1,
138
+ ctx: nextOpts && 'ctx' in nextOpts ? {
139
+ ...callOpts.ctx,
140
+ ...nextOpts.ctx
141
+ } : callOpts.ctx,
142
+ input: nextOpts && 'input' in nextOpts ? nextOpts.input : callOpts.input,
143
+ getRawInput: nextOpts && 'getRawInput' in nextOpts ? nextOpts.getRawInput : callOpts.getRawInput
144
+ });
145
+ }
146
+ });
147
+ return result;
148
+ } catch (cause) {
149
+ return {
150
+ ok: false,
151
+ error: TRPCError.getTRPCErrorFromUnknown(cause),
152
+ marker: middleware.middlewareMarker
153
+ };
154
+ }
155
+ }
156
+ // there's always at least one "next" since we wrap this.resolver in a middleware
157
+ const result = await callRecursive();
158
+ if (!result) {
159
+ throw new TRPCError.TRPCError({
160
+ code: 'INTERNAL_SERVER_ERROR',
161
+ message: 'No result from middlewares - did you forget to `return next()`?'
162
+ });
163
+ }
164
+ if (!result.ok) {
165
+ // re-throw original error
166
+ throw result.error;
167
+ }
168
+ return result.data;
169
+ }
170
+ procedure._def = _def;
171
+ // FIXME typecast shouldn't be needed - fixittt
172
+ return procedure;
173
+ }
174
+
175
+ exports.createBuilder = createBuilder;
176
+ exports.unsetMarker = unsetMarker;