@trpc/server 10.0.0-alpha.3 → 10.0.0-alpha.32

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 (326) hide show
  1. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +1 -0
  2. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +170 -0
  3. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.js +7 -0
  4. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +170 -0
  5. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +166 -0
  6. package/adapters/aws-lambda/index.d.ts +1 -0
  7. package/adapters/aws-lambda/index.js +1 -0
  8. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +7 -6
  9. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +7 -6
  10. package/adapters/express/dist/trpc-server-adapters-express.esm.js +7 -6
  11. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +1 -0
  12. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +109 -0
  13. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +7 -0
  14. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +109 -0
  15. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +104 -0
  16. package/adapters/fastify/index.d.ts +1 -0
  17. package/adapters/fastify/index.js +1 -0
  18. package/adapters/fetch/index.d.ts +1 -0
  19. package/adapters/fetch/index.js +1 -0
  20. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +1 -0
  21. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +25 -0
  22. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +7 -0
  23. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +25 -0
  24. package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +21 -0
  25. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +4 -3
  26. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +4 -3
  27. package/adapters/next/dist/trpc-server-adapters-next.esm.js +4 -3
  28. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +4 -3
  29. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +4 -3
  30. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +4 -3
  31. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +5 -4
  32. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +5 -4
  33. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +5 -4
  34. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +6 -5
  35. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +6 -5
  36. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +6 -5
  37. package/dist/TRPCError-9050a68d.js +69 -0
  38. package/dist/TRPCError-b7fa0c31.mjs +65 -0
  39. package/dist/adapters/aws-lambda/index.d.ts +14 -0
  40. package/dist/adapters/aws-lambda/index.d.ts.map +1 -0
  41. package/dist/adapters/aws-lambda/utils.d.ts +34 -0
  42. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -0
  43. package/dist/adapters/express.d.ts +1 -1
  44. package/dist/adapters/express.d.ts.map +1 -1
  45. package/dist/adapters/express.js +8 -7
  46. package/dist/adapters/express.mjs +8 -7
  47. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +13 -0
  48. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -0
  49. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +12 -0
  50. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -0
  51. package/dist/adapters/fastify/index.d.ts +3 -0
  52. package/dist/adapters/fastify/index.d.ts.map +1 -0
  53. package/dist/adapters/fastify/index.js +108 -0
  54. package/dist/adapters/fastify/index.mjs +103 -0
  55. package/dist/{ws → adapters/fastify}/index.ts.js +0 -0
  56. package/dist/adapters/fetch/fetchRequestHandler.d.ts +8 -0
  57. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -0
  58. package/dist/adapters/fetch/index.d.ts +3 -0
  59. package/dist/adapters/fetch/index.d.ts.map +1 -0
  60. package/dist/adapters/fetch/index.js +69 -0
  61. package/dist/adapters/fetch/index.mjs +65 -0
  62. package/dist/adapters/fetch/index.ts.js +1 -0
  63. package/dist/adapters/fetch/types.d.ts +21 -0
  64. package/dist/adapters/fetch/types.d.ts.map +1 -0
  65. package/dist/adapters/lambda/index.d.ts +12 -0
  66. package/dist/adapters/lambda/index.d.ts.map +1 -0
  67. package/dist/adapters/next.d.ts +2 -2
  68. package/dist/adapters/next.d.ts.map +1 -1
  69. package/dist/adapters/next.js +9 -9
  70. package/dist/adapters/next.mjs +8 -8
  71. package/dist/adapters/node-http/index.js +5 -4
  72. package/dist/adapters/node-http/index.mjs +5 -4
  73. package/dist/adapters/node-http/internals/getPostBody.d.ts +1 -1
  74. package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -1
  75. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +2 -2
  76. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  77. package/dist/adapters/node-http/types.d.ts +11 -9
  78. package/dist/adapters/node-http/types.d.ts.map +1 -1
  79. package/dist/adapters/standalone.d.ts +2 -2
  80. package/dist/adapters/standalone.d.ts.map +1 -1
  81. package/dist/adapters/standalone.js +11 -7
  82. package/dist/adapters/standalone.mjs +11 -6
  83. package/dist/adapters/ws.d.ts +8 -6
  84. package/dist/adapters/ws.d.ts.map +1 -1
  85. package/dist/adapters/ws.js +123 -90
  86. package/dist/adapters/ws.mjs +118 -85
  87. package/dist/assertNotBrowser.d.ts.map +1 -1
  88. package/dist/core/index.d.ts +5 -0
  89. package/dist/core/index.d.ts.map +1 -0
  90. package/dist/core/initTRPC.d.ts +87 -0
  91. package/dist/core/initTRPC.d.ts.map +1 -0
  92. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts +282 -0
  93. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts.map +1 -0
  94. package/dist/core/internals/config.d.ts +36 -0
  95. package/dist/core/internals/config.d.ts.map +1 -0
  96. package/dist/core/internals/getParseFn.d.ts +9 -0
  97. package/dist/core/internals/getParseFn.d.ts.map +1 -0
  98. package/dist/core/internals/internalProcedure.d.ts +78 -0
  99. package/dist/core/internals/internalProcedure.d.ts.map +1 -0
  100. package/dist/core/internals/mergeRouters.d.ts +3 -0
  101. package/dist/core/internals/mergeRouters.d.ts.map +1 -0
  102. package/dist/core/internals/mergeWithoutOverrides.d.ts +5 -0
  103. package/dist/core/internals/mergeWithoutOverrides.d.ts.map +1 -0
  104. package/dist/core/internals/omitPrototype.d.ts +6 -0
  105. package/dist/core/internals/omitPrototype.d.ts.map +1 -0
  106. package/dist/core/internals/prefixObjectKeys.d.ts +2 -0
  107. package/dist/core/internals/prefixObjectKeys.d.ts.map +1 -0
  108. package/dist/core/internals/procedureBuilder.d.ts +103 -0
  109. package/dist/core/internals/procedureBuilder.d.ts.map +1 -0
  110. package/dist/core/internals/utils.d.ts +44 -0
  111. package/dist/core/internals/utils.d.ts.map +1 -0
  112. package/dist/core/middleware.d.ts +87 -0
  113. package/dist/core/middleware.d.ts.map +1 -0
  114. package/dist/core/parser.d.ts +25 -0
  115. package/dist/core/parser.d.ts.map +1 -0
  116. package/dist/core/procedure.d.ts +80 -0
  117. package/dist/core/procedure.d.ts.map +1 -0
  118. package/dist/core/router.d.ts +114 -0
  119. package/dist/core/router.d.ts.map +1 -0
  120. package/dist/core/types.d.ts +17 -0
  121. package/dist/core/types.d.ts.map +1 -0
  122. package/dist/{internals → deprecated/internals}/callProcedure.d.ts +5 -2
  123. package/dist/deprecated/internals/callProcedure.d.ts.map +1 -0
  124. package/dist/{internals → deprecated/internals}/middlewares.d.ts +21 -3
  125. package/dist/deprecated/internals/middlewares.d.ts.map +1 -0
  126. package/dist/deprecated/internals/procedure.d.ts +96 -0
  127. package/dist/deprecated/internals/procedure.d.ts.map +1 -0
  128. package/dist/deprecated/interop.d.ts +34 -0
  129. package/dist/deprecated/interop.d.ts.map +1 -0
  130. package/dist/deprecated/router.d.ts +194 -0
  131. package/dist/deprecated/router.d.ts.map +1 -0
  132. package/dist/{codes-7a3d4f65.mjs → envelopes-af8c2959.mjs} +30 -1
  133. package/dist/{codes-7f46544e.js → envelopes-b6dd0367.js} +29 -1
  134. package/dist/error/TRPCError.d.ts +11 -0
  135. package/dist/error/TRPCError.d.ts.map +1 -0
  136. package/dist/error/formatter.d.ts +33 -0
  137. package/dist/error/formatter.d.ts.map +1 -0
  138. package/dist/{internals/errors.d.ts → error/utils.d.ts} +3 -2
  139. package/dist/error/utils.d.ts.map +1 -0
  140. package/dist/http/index.d.ts +1 -1
  141. package/dist/http/index.d.ts.map +1 -1
  142. package/dist/http/internals/getHTTPStatusCode.d.ts +2 -1
  143. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
  144. package/dist/http/internals/types.d.ts +11 -8
  145. package/dist/http/internals/types.d.ts.map +1 -1
  146. package/dist/http/resolveHTTPResponse.d.ts +4 -4
  147. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  148. package/dist/http/{ResponseMeta.d.ts → types.d.ts} +1 -1
  149. package/dist/http/types.d.ts.map +1 -0
  150. package/dist/index.d.ts +3 -5
  151. package/dist/index.d.ts.map +1 -1
  152. package/dist/index.js +800 -105
  153. package/dist/index.mjs +789 -90
  154. package/dist/internals/transformTRPCResponse.d.ts +5 -3
  155. package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
  156. package/dist/internals/types.d.ts +23 -0
  157. package/dist/internals/types.d.ts.map +1 -0
  158. package/dist/nodeHTTPRequestHandler-174459c5.mjs +105 -0
  159. package/dist/nodeHTTPRequestHandler-6b7c8622.js +107 -0
  160. package/dist/observable/index.d.ts +5 -0
  161. package/dist/observable/index.d.ts.map +1 -0
  162. package/dist/observable/index.js +204 -0
  163. package/dist/observable/index.mjs +195 -0
  164. package/dist/observable/index.ts.js +1 -0
  165. package/dist/observable/internals/identity.d.ts +2 -0
  166. package/dist/observable/internals/identity.d.ts.map +1 -0
  167. package/dist/observable/internals/observableToPromise.d.ts +10 -0
  168. package/dist/observable/internals/observableToPromise.d.ts.map +1 -0
  169. package/dist/observable/internals/pipe.d.ts +4 -0
  170. package/dist/observable/internals/pipe.d.ts.map +1 -0
  171. package/dist/observable/observable.d.ts +5 -0
  172. package/dist/observable/observable.d.ts.map +1 -0
  173. package/dist/observable/operators/index.d.ts +4 -0
  174. package/dist/observable/operators/index.d.ts.map +1 -0
  175. package/dist/observable/operators/map.d.ts +3 -0
  176. package/dist/observable/operators/map.d.ts.map +1 -0
  177. package/dist/observable/operators/share.d.ts +6 -0
  178. package/dist/observable/operators/share.d.ts.map +1 -0
  179. package/dist/observable/operators/tap.d.ts +3 -0
  180. package/dist/observable/operators/tap.d.ts.map +1 -0
  181. package/dist/observable/types.d.ts +29 -0
  182. package/dist/observable/types.d.ts.map +1 -0
  183. package/dist/observable-137ea1bd.mjs +105 -0
  184. package/dist/observable-3aa4d911.js +108 -0
  185. package/dist/{nodeHTTPRequestHandler-10e6d2f9.mjs → resolveHTTPResponse-8657b8de.mjs} +32 -133
  186. package/dist/{nodeHTTPRequestHandler-d7c307d3.js → resolveHTTPResponse-fcc8f644.js} +37 -139
  187. package/dist/rpc/codes.d.ts +2 -0
  188. package/dist/rpc/codes.d.ts.map +1 -1
  189. package/dist/rpc/envelopes.d.ts +62 -40
  190. package/dist/rpc/envelopes.d.ts.map +1 -1
  191. package/dist/rpc/index.js +7 -3
  192. package/dist/rpc/index.mjs +1 -1
  193. package/dist/rpc/internals/invert.d.ts +18 -0
  194. package/dist/rpc/internals/invert.d.ts.map +1 -0
  195. package/dist/subscription.d.ts +3 -52
  196. package/dist/subscription.d.ts.map +1 -1
  197. package/dist/subscription.js +44 -0
  198. package/dist/subscription.mjs +40 -0
  199. package/dist/subscription.ts.js +1 -0
  200. package/dist/transformTRPCResponse-0c261655.js +29 -0
  201. package/dist/transformTRPCResponse-747b9a68.mjs +27 -0
  202. package/dist/transformer.d.ts +14 -0
  203. package/dist/transformer.d.ts.map +1 -1
  204. package/dist/types.d.ts +25 -8
  205. package/dist/types.d.ts.map +1 -1
  206. package/observable/index.d.ts +1 -0
  207. package/observable/index.js +1 -0
  208. package/package.json +50 -16
  209. package/rpc/dist/trpc-server-rpc.cjs.dev.js +1 -1
  210. package/rpc/dist/trpc-server-rpc.cjs.prod.js +1 -1
  211. package/rpc/dist/trpc-server-rpc.esm.js +1 -1
  212. package/src/adapters/aws-lambda/index.ts +156 -0
  213. package/src/adapters/aws-lambda/utils.ts +91 -0
  214. package/src/adapters/express.ts +4 -4
  215. package/src/adapters/fastify/fastifyRequestHandler.ts +77 -0
  216. package/src/adapters/fastify/fastifyTRPCPlugin.ts +56 -0
  217. package/src/adapters/fastify/index.ts +2 -0
  218. package/src/adapters/fetch/fetchRequestHandler.ts +61 -0
  219. package/src/adapters/fetch/index.ts +2 -0
  220. package/src/adapters/fetch/types.ts +28 -0
  221. package/src/adapters/lambda/index.ts +18 -0
  222. package/src/adapters/next.ts +10 -8
  223. package/src/adapters/node-http/internals/getPostBody.test.ts +2 -1
  224. package/src/adapters/node-http/internals/getPostBody.ts +1 -1
  225. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +7 -7
  226. package/src/adapters/node-http/types.ts +11 -9
  227. package/src/adapters/standalone.ts +12 -4
  228. package/src/adapters/ws.ts +135 -91
  229. package/src/assertNotBrowser.ts +1 -0
  230. package/src/core/index.ts +5 -0
  231. package/src/core/initTRPC.ts +95 -0
  232. package/src/core/internals/__generated__/mergeRoutersGeneric.ts +386 -0
  233. package/src/core/internals/config.ts +43 -0
  234. package/src/core/internals/getParseFn.ts +47 -0
  235. package/src/core/internals/internalProcedure.ts +296 -0
  236. package/src/core/internals/mergeRouters.ts +45 -0
  237. package/src/core/internals/mergeWithoutOverrides.ts +19 -0
  238. package/src/core/internals/omitPrototype.ts +9 -0
  239. package/src/core/internals/prefixObjectKeys.ts +9 -0
  240. package/src/core/internals/procedureBuilder.ts +184 -0
  241. package/src/core/internals/utils.ts +64 -0
  242. package/src/core/middleware.ts +96 -0
  243. package/src/core/parser.ts +45 -0
  244. package/src/core/procedure.ts +108 -0
  245. package/src/core/router.ts +365 -0
  246. package/src/core/types.ts +54 -0
  247. package/src/{internals → deprecated/internals}/callProcedure.ts +9 -3
  248. package/src/{internals → deprecated/internals}/middlewares.ts +23 -3
  249. package/src/deprecated/internals/procedure.ts +415 -0
  250. package/src/deprecated/interop.ts +229 -0
  251. package/src/{router.ts → deprecated/router.ts} +216 -100
  252. package/src/{TRPCError.ts → error/TRPCError.ts} +6 -14
  253. package/src/error/formatter.ts +51 -0
  254. package/src/{internals/errors.ts → error/utils.ts} +21 -5
  255. package/src/http/index.ts +1 -1
  256. package/src/http/internals/getHTTPStatusCode.ts +3 -2
  257. package/src/http/internals/types.ts +11 -14
  258. package/src/http/resolveHTTPResponse.ts +28 -37
  259. package/src/http/{ResponseMeta.ts → types.ts} +0 -0
  260. package/src/index.ts +3 -7
  261. package/src/internals/transformTRPCResponse.ts +21 -16
  262. package/src/internals/types.ts +24 -0
  263. package/src/observable/index.ts +4 -0
  264. package/src/observable/internals/identity.ts +3 -0
  265. package/src/observable/internals/observableToPromise.ts +49 -0
  266. package/src/observable/internals/pipe.ts +22 -0
  267. package/src/observable/observable.test.ts +101 -0
  268. package/src/observable/observable.ts +78 -0
  269. package/src/observable/operators/index.ts +3 -0
  270. package/src/observable/operators/map.test.ts +92 -0
  271. package/src/observable/operators/map.ts +25 -0
  272. package/src/observable/operators/share.test.ts +60 -0
  273. package/src/observable/operators/share.ts +67 -0
  274. package/src/observable/operators/tap.ts +26 -0
  275. package/src/observable/types.ts +69 -0
  276. package/src/rpc/codes.ts +2 -1
  277. package/src/rpc/envelopes.ts +88 -69
  278. package/src/rpc/internals/invert.ts +27 -0
  279. package/src/subscription.ts +7 -125
  280. package/src/transformer.ts +28 -0
  281. package/src/types.ts +28 -9
  282. package/dist/TRPCError.d.ts +0 -19
  283. package/dist/TRPCError.d.ts.map +0 -1
  284. package/dist/deprecated/LegacyRouter.d.ts +0 -3
  285. package/dist/deprecated/LegacyRouter.d.ts.map +0 -1
  286. package/dist/deprecated/createHttpServer.d.ts +0 -19
  287. package/dist/deprecated/createHttpServer.d.ts.map +0 -1
  288. package/dist/deprecated/requestHandler.d.ts +0 -15
  289. package/dist/deprecated/requestHandler.d.ts.map +0 -1
  290. package/dist/http/ResponseMeta.d.ts.map +0 -1
  291. package/dist/internals/BaseHandlerOptions.d.ts +0 -13
  292. package/dist/internals/BaseHandlerOptions.d.ts.map +0 -1
  293. package/dist/internals/OnErrorFunction.d.ts +0 -11
  294. package/dist/internals/OnErrorFunction.d.ts.map +0 -1
  295. package/dist/internals/callProcedure.d.ts.map +0 -1
  296. package/dist/internals/errors.d.ts.map +0 -1
  297. package/dist/internals/middlewares.d.ts.map +0 -1
  298. package/dist/internals/procedure.d.ts +0 -74
  299. package/dist/internals/procedure.d.ts.map +0 -1
  300. package/dist/internals/wrapCallSafe.d.ts +0 -16
  301. package/dist/internals/wrapCallSafe.d.ts.map +0 -1
  302. package/dist/router.d.ts +0 -176
  303. package/dist/router.d.ts.map +0 -1
  304. package/dist/subscription-5b7e1eba.js +0 -136
  305. package/dist/subscription-e1d42e69.mjs +0 -133
  306. package/dist/transformTRPCResponse-76e0c91e.mjs +0 -109
  307. package/dist/transformTRPCResponse-bd24f548.js +0 -114
  308. package/dist/ws/index.d.ts +0 -7
  309. package/dist/ws/index.d.ts.map +0 -1
  310. package/dist/ws/index.js +0 -15
  311. package/dist/ws/index.mjs +0 -11
  312. package/src/deprecated/LegacyRouter.ts +0 -3
  313. package/src/deprecated/createHttpServer.ts +0 -29
  314. package/src/deprecated/requestHandler.ts +0 -26
  315. package/src/internals/BaseHandlerOptions.ts +0 -13
  316. package/src/internals/OnErrorFunction.ts +0 -11
  317. package/src/internals/procedure.ts +0 -283
  318. package/src/internals/wrapCallSafe.ts +0 -19
  319. package/src/ws/index.ts +0 -8
  320. package/ws/dist/trpc-server-ws.cjs.d.ts +0 -1
  321. package/ws/dist/trpc-server-ws.cjs.dev.js +0 -15
  322. package/ws/dist/trpc-server-ws.cjs.js +0 -7
  323. package/ws/dist/trpc-server-ws.cjs.prod.js +0 -15
  324. package/ws/dist/trpc-server-ws.esm.js +0 -11
  325. package/ws/index.d.ts +0 -1
  326. package/ws/index.js +0 -1
@@ -1,135 +1,17 @@
1
- import { EventEmitter } from 'events';
2
- import { getErrorFromUnknown } from './internals/errors';
1
+ import { getErrorFromUnknown } from './error/utils';
2
+ import { Observable, Observer, observable } from './observable';
3
3
 
4
- interface SubscriptionEvents<TOutput> {
5
- data: (data: TOutput) => void;
6
- destroy: () => void;
7
- error: (error: Error) => void;
8
- }
9
- declare interface SubscriptionEventEmitter<TOutput> {
10
- on<U extends keyof SubscriptionEvents<TOutput>>(
11
- event: U,
12
- listener: SubscriptionEvents<TOutput>[U],
13
- ): this;
14
-
15
- once<U extends keyof SubscriptionEvents<TOutput>>(
16
- event: U,
17
- listener: SubscriptionEvents<TOutput>[U],
18
- ): this;
19
-
20
- emit<U extends keyof SubscriptionEvents<TOutput>>(
21
- event: U,
22
- ...args: Parameters<SubscriptionEvents<TOutput>[U]>
23
- ): boolean;
24
- }
25
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
- class SubscriptionEventEmitter<TOutput> extends EventEmitter {}
27
-
28
- type UnsubscribeFn = () => void;
29
- type EmitFn<TOutput> = (data: TOutput) => void;
30
-
31
- export type SubscriptionEmit<TOutput> = {
32
- data: EmitFn<TOutput>;
33
- error: EmitFn<Error>;
34
- };
35
- export type SubscriptionCallback<TOutput> = (
36
- emit: SubscriptionEmit<TOutput>,
37
- ) => UnsubscribeFn | Promise<UnsubscribeFn>;
38
-
39
- /**
40
- * @beta
41
- */
42
- export class Subscription<TOutput = unknown> {
43
- private readonly events: SubscriptionEventEmitter<TOutput>;
44
- private callback;
45
- private isDestroyed: boolean;
46
-
47
- constructor(callback: SubscriptionCallback<TOutput>) {
48
- this.isDestroyed = false;
49
- this.events = new SubscriptionEventEmitter<TOutput>();
50
- this.callback = callback;
51
- }
52
-
53
- public destroy() {
54
- if (this.isDestroyed) {
55
- return;
56
- }
57
- // debug('Subscription.destroy()', reason);
58
- this.isDestroyed = true;
59
- this.events.emit('destroy');
60
- this.events.removeAllListeners();
61
- }
62
-
63
- public async start() {
64
- /* istanbul ignore next */
65
- if (this.isDestroyed) {
66
- throw new Error('Called start() on a destroyed subscription');
67
- }
68
- try {
69
- const emit: SubscriptionEmit<TOutput> = {
70
- error: (err) => this.emitError(err),
71
- data: (data) => this.emitOutput(data),
72
- };
73
- const cancel = await this.callback(emit);
74
- if (
75
- this.isDestroyed
76
- /* istanbul ignore next */
77
- ) {
78
- cancel();
79
- } else {
80
- this.events.on('destroy', cancel);
81
- }
82
- } catch (
83
- cause
84
- /* istanbul ignore next */
85
- ) {
86
- this.emitError(getErrorFromUnknown(cause));
87
- }
88
- }
89
-
90
- /* istanbul ignore next */
91
- /**
92
- * @deprecated This method is just here to help with `inferSubscriptionOutput` which I can't get working without it
93
- */
94
- public output(): TOutput {
95
- throw new Error('Not in use');
96
- }
97
-
98
- /**
99
- * Emit data
100
- */
101
- emitOutput(data: TOutput) {
102
- this.events.emit('data', data);
103
- }
104
- /**
105
- * Emit error
106
- */
107
- emitError(err: Error) {
108
- this.events.emit('error', err);
109
- }
110
-
111
- on(...args: Parameters<SubscriptionEventEmitter<TOutput>['on']>) {
112
- return this.events.on(...args);
113
- }
114
- off(...args: Parameters<SubscriptionEventEmitter<TOutput>['off']>) {
115
- return this.events.off(...args);
116
- }
117
- }
118
-
119
- /**
120
- * @alpha Might be removed
121
- */
122
4
  export function subscriptionPullFactory<TOutput>(opts: {
123
5
  /**
124
6
  * The interval of how often the function should run
125
7
  */
126
8
  intervalMs: number;
127
- pull(emit: SubscriptionEmit<TOutput>): void | Promise<void>;
128
- }): Subscription<TOutput> {
9
+ pull(emit: Observer<TOutput, unknown>): void | Promise<void>;
10
+ }): Observable<TOutput, unknown> {
129
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
130
12
  let timer: any;
131
13
  let stopped = false;
132
- async function _pull(emit: SubscriptionEmit<TOutput>) {
14
+ async function _pull(emit: Observer<TOutput, unknown>) {
133
15
  /* istanbul ignore next */
134
16
  if (stopped) {
135
17
  return;
@@ -146,8 +28,8 @@ export function subscriptionPullFactory<TOutput>(opts: {
146
28
  }
147
29
  }
148
30
 
149
- return new Subscription<TOutput>((emit) => {
150
- _pull(emit);
31
+ return observable<TOutput>((emit) => {
32
+ _pull(emit).catch((err) => emit.error(getErrorFromUnknown(err)));
151
33
  return () => {
152
34
  clearTimeout(timer);
153
35
  stopped = true;
@@ -35,3 +35,31 @@ export type DataTransformerOptions = DataTransformer | CombinedDataTransformer;
35
35
  export type ClientDataTransformerOptions =
36
36
  | DataTransformer
37
37
  | CombinedDataTransformerClient;
38
+
39
+ /**
40
+ * @internal
41
+ */
42
+ export function getDataTransformer(
43
+ transformer: DataTransformerOptions,
44
+ ): CombinedDataTransformer {
45
+ if ('input' in transformer) {
46
+ return transformer;
47
+ }
48
+ return { input: transformer, output: transformer };
49
+ }
50
+
51
+ /**
52
+ * @internal
53
+ */
54
+ export type DefaultDataTransformer = CombinedDataTransformer & {
55
+ _default: true;
56
+ };
57
+
58
+ /**
59
+ * @internal
60
+ */
61
+ export const defaultTransformer: DefaultDataTransformer = {
62
+ _default: true,
63
+ input: { serialize: (obj) => obj, deserialize: (obj) => obj },
64
+ output: { serialize: (obj) => obj, deserialize: (obj) => obj },
65
+ };
package/src/types.ts CHANGED
@@ -8,18 +8,9 @@ export type Prefix<K extends string, T extends string> = `${K}${T}`;
8
8
 
9
9
  /**
10
10
  * @internal
11
- * @deprecated will be removed in next major
12
11
  */
13
12
  export type identity<T> = T;
14
13
 
15
- /**
16
- * @internal
17
- * @deprecated will be removed in next major
18
- */
19
- export type format<T> = {
20
- [k in keyof T]: T[k];
21
- };
22
-
23
14
  /**
24
15
  * @internal
25
16
  */
@@ -55,3 +46,31 @@ export type ThenArg<T> = T extends PromiseLike<infer U> ? ThenArg<U> : T;
55
46
  * @public
56
47
  */
57
48
  export type Dict<T> = Record<string, T | undefined>;
49
+
50
+ /**
51
+ * @public
52
+ */
53
+ export type MaybePromise<T> = T | Promise<T>;
54
+
55
+ /**
56
+ * @internal
57
+ *
58
+ * Creates a "lower-priority" type inference.
59
+ * https://github.com/microsoft/TypeScript/issues/14829#issuecomment-322267089
60
+ */
61
+ export type InferLast<T> = T & { [K in keyof T]: T[K] };
62
+
63
+ /**
64
+ * @public
65
+ */
66
+ export type inferAsyncReturnType<TFunction extends (...args: any) => any> =
67
+ ThenArg<ReturnType<TFunction>>;
68
+
69
+ type FilterKeys<T extends object, K> = {
70
+ [TKey in keyof T]: T[TKey] extends K ? TKey : never;
71
+ }[keyof T];
72
+
73
+ /**
74
+ * @internal
75
+ */
76
+ export type Filter<T extends object, K> = Pick<T, FilterKeys<T, K>>;
@@ -1,19 +0,0 @@
1
- import { TRPC_ERROR_CODE_KEY } from './rpc/codes';
2
- export declare class TRPCError extends Error {
3
- /**
4
- * @deprecated use `cause`
5
- */
6
- readonly originalError?: unknown;
7
- readonly cause?: unknown;
8
- readonly code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "UNAUTHORIZED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "CLIENT_CLOSED_REQUEST";
9
- constructor(opts: {
10
- message?: string;
11
- code: TRPC_ERROR_CODE_KEY;
12
- /**
13
- * @deprecated use `cause`
14
- */
15
- originalError?: unknown;
16
- cause?: unknown;
17
- });
18
- }
19
- //# sourceMappingURL=TRPCError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../src/TRPCError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,qBAAa,SAAU,SAAQ,KAAK;IAClC;;OAEG;IACH,SAAgB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxC,SAAgB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChC,SAAgB,IAAI,oNAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B;;WAEG;QACH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAeF"}
@@ -1,3 +0,0 @@
1
- export * from '../router';
2
- export { LegacyRouter as Router } from '../router';
3
- //# sourceMappingURL=LegacyRouter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LegacyRouter.d.ts","sourceRoot":"","sources":["../../src/deprecated/LegacyRouter.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,WAAW,CAAC"}
@@ -1,19 +0,0 @@
1
- import { createHTTPHandler, CreateHTTPHandlerOptions, createHTTPServer, CreateHTTPContextOptions } from '../adapters/standalone';
2
- import { AnyRouter } from '../router';
3
- /**
4
- * @deprecated use `createHTTPServer` from `@trpc/server/adapters/standalone`
5
- */
6
- export declare const createHttpServer: typeof createHTTPServer;
7
- /**
8
- * @deprecated use `createHTTPHandler` from `@trpc/server/adapters/standalone`
9
- */
10
- export declare const createHttpHandler: typeof createHTTPHandler;
11
- /**
12
- * @deprecated use `CreateHTTPHandlerOptions` from `@trpc/server/adapters/standalone`
13
- */
14
- export declare type CreateHttpHandlerOptions<TRouter extends AnyRouter> = CreateHTTPHandlerOptions<TRouter>;
15
- /**
16
- * @deprecated use `CreateHTTPContextOptions` from `@trpc/server/adapters/standalone`
17
- */
18
- export declare type CreateHttpContextOptions = CreateHTTPContextOptions;
19
- //# sourceMappingURL=createHttpServer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createHttpServer.d.ts","sourceRoot":"","sources":["../../src/deprecated/createHttpServer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,gBAAgB,yBAAmB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,0BAAoB,CAAC;AAEnD;;GAEG;AACH,oBAAY,wBAAwB,CAAC,OAAO,SAAS,SAAS,IAC5D,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAEpC;;GAEG;AACH,oBAAY,wBAAwB,GAAG,wBAAwB,CAAC"}
@@ -1,15 +0,0 @@
1
- import { nodeHTTPRequestHandler as requestHandlerInner, NodeHTTPCreateContextFn, NodeHTTPCreateContextFnOptions } from '../adapters/node-http';
2
- import type { AnyRouter } from '../';
3
- /**
4
- * @deprecated use `nodeHTTPRequestHandler` from `@trpc/server/adapters/node-http`
5
- */
6
- export declare const requestHandler: typeof requestHandlerInner;
7
- /**
8
- * @deprecated use `NodeHTTPCreateContextFn` from `@trpc/server/adapters/node-http`
9
- */
10
- export declare type CreateContextFn<TRouter extends AnyRouter, TRequest, TResponse> = NodeHTTPCreateContextFn<TRouter, TRequest, TResponse>;
11
- /**
12
- * @deprecated use `NodeHTTPCreateContextFnOptions` from `@trpc/server/adapters/node-http`
13
- */
14
- export declare type CreateContextFnOptions<TRequest, TResponse> = NodeHTTPCreateContextFnOptions<TRequest, TResponse>;
15
- //# sourceMappingURL=requestHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requestHandler.d.ts","sourceRoot":"","sources":["../../src/deprecated/requestHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,mBAAmB,EAC7C,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,mBAAyC,CAAC;AAE9E;;GAEG;AACH,oBAAY,eAAe,CACzB,OAAO,SAAS,SAAS,EACzB,QAAQ,EACR,SAAS,IACP,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE1D;;GAEG;AACH,oBAAY,sBAAsB,CAAC,QAAQ,EAAE,SAAS,IACpD,8BAA8B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResponseMeta.d.ts","sourceRoot":"","sources":["../../src/http/ResponseMeta.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC"}
@@ -1,13 +0,0 @@
1
- import { OnErrorFunction } from './OnErrorFunction';
2
- import { AnyRouter } from '../router';
3
- /**
4
- * Base interface for any response handler
5
- */
6
- export interface BaseHandlerOptions<TRouter extends AnyRouter, TRequest> {
7
- onError?: OnErrorFunction<TRouter, TRequest>;
8
- batching?: {
9
- enabled: boolean;
10
- };
11
- router: TRouter;
12
- }
13
- //# sourceMappingURL=BaseHandlerOptions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseHandlerOptions.d.ts","sourceRoot":"","sources":["../../src/internals/BaseHandlerOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,OAAO,CAAC;CACjB"}
@@ -1,11 +0,0 @@
1
- import { AnyRouter, inferRouterContext, ProcedureType } from '../router';
2
- import { TRPCError } from '../TRPCError';
3
- export declare type OnErrorFunction<TRouter extends AnyRouter, TRequest> = (opts: {
4
- error: TRPCError;
5
- type: ProcedureType | 'unknown';
6
- path: string | undefined;
7
- req: TRequest;
8
- input: unknown;
9
- ctx: undefined | inferRouterContext<TRouter>;
10
- }) => void;
11
- //# sourceMappingURL=OnErrorFunction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OnErrorFunction.d.ts","sourceRoot":"","sources":["../../src/internals/OnErrorFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,oBAAY,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;IACxE,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC9C,KAAK,IAAI,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"callProcedure.d.ts","sourceRoot":"","sources":["../../src/internals/callProcedure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,wBAAsB,aAAa,CACjC,OAAO,SAAS,SAAS,CAAC,QAAQ,CAAC,EACnC,QAAQ,EACR,IAAI,EAAE;IACN,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;CACrB,GAAG,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAgB3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/internals/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAgB7D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/internals/middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAC3D,UAAU,oBAAoB,CAAC,QAAQ;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,gBAAgB,CAAC;IACzC,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,UAAU,kBAAkB,CAAC,QAAQ,CAAE,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IAC3E,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,OAAO,CAAC;CAEf;AACD,UAAU,qBAAqB,CAAC,QAAQ,CACtC,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IACtC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,SAAS,CAAC;CAElB;AAED,oBAAY,gBAAgB,CAAC,QAAQ,IACjC,kBAAkB,CAAC,QAAQ,CAAC,GAC5B,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAEpC,oBAAY,kBAAkB,CAAC,aAAa,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;IAC/D,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE;QACJ,IAAI,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,EAAE,IAAI,EAAE;YAAE,GAAG,EAAE,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KACrD,CAAC;CACH,KAAK,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC"}
@@ -1,74 +0,0 @@
1
- import { ProcedureType } from '../router';
2
- import { MiddlewareFunction } from './middlewares';
3
- export declare type ProcedureInputParserZodEsque<TInput, TParsedInput> = {
4
- _input: TInput;
5
- _output: TParsedInput;
6
- };
7
- export declare type ProcedureInputParserMyZodEsque<TInput> = {
8
- parse: (input: any) => TInput;
9
- };
10
- export declare type ProcedureInputParserSuperstructEsque<TInput> = {
11
- create: (input: unknown) => TInput;
12
- };
13
- export declare type ProcedureInputParserCustomValidatorEsque<TInput> = (input: unknown) => TInput | Promise<TInput>;
14
- export declare type ProcedureInputParserYupEsque<TInput> = {
15
- validateSync: (input: unknown) => TInput;
16
- };
17
- export declare type ProcedureInputParser<TInput> = ProcedureInputParserYupEsque<TInput> | ProcedureInputParserSuperstructEsque<TInput> | ProcedureInputParserCustomValidatorEsque<TInput> | ProcedureInputParserMyZodEsque<TInput>;
18
- export declare type ProcedureInputParserWithInputOutput<TInput, TParsedInput> = ProcedureInputParserZodEsque<TInput, TParsedInput>;
19
- export declare type ProcedureResolver<TContext, TParsedInput, TOutput> = (opts: {
20
- ctx: TContext;
21
- input: TParsedInput;
22
- type: ProcedureType;
23
- }) => Promise<TOutput> | TOutput;
24
- interface ProcedureOptions<TContext, TParsedInput, TOutput> {
25
- middlewares: Array<MiddlewareFunction<any, any>>;
26
- resolver: ProcedureResolver<TContext, TParsedInput, TOutput>;
27
- inputParser: ProcedureInputParser<TParsedInput>;
28
- }
29
- /**
30
- * @internal
31
- */
32
- export interface ProcedureCallOptions<TContext> {
33
- ctx: TContext;
34
- rawInput: unknown;
35
- path: string;
36
- type: ProcedureType;
37
- }
38
- /**
39
- * @internal
40
- */
41
- export declare class Procedure<TInputContext, TContext, TInput, TParsedInput, TOutput> {
42
- private middlewares;
43
- private resolver;
44
- private readonly inputParser;
45
- private parse;
46
- constructor(opts: ProcedureOptions<TContext, TParsedInput, TOutput>);
47
- private parseInput;
48
- /**
49
- * Trigger middlewares in order, parse raw input & call resolver
50
- * @internal
51
- */
52
- call(opts: ProcedureCallOptions<TInputContext>): Promise<TOutput>;
53
- /**
54
- * Create new procedure with passed middlewares
55
- * @param middlewares
56
- */
57
- inheritMiddlewares(middlewares: MiddlewareFunction<TInputContext, TContext>[]): this;
58
- }
59
- export declare type CreateProcedureWithInput<TContext, TInput, TParsedInput, TOutput> = {
60
- input: ProcedureInputParser<TInput>;
61
- resolve: ProcedureResolver<TContext, TParsedInput, TOutput>;
62
- };
63
- export declare type CreateProcedureWithInputOutputParser<TContext, TInput, TParsedInput, TOutput> = {
64
- input: ProcedureInputParserWithInputOutput<TInput, TParsedInput>;
65
- resolve: ProcedureResolver<TContext, TParsedInput, TOutput>;
66
- };
67
- export declare type CreateProcedureWithoutInput<TContext, TOutput> = {
68
- resolve: ProcedureResolver<TContext, undefined, TOutput>;
69
- };
70
- export declare type CreateProcedureOptions<TContext, TInput = undefined, TParsedInput = undefined, TOutput = undefined> = CreateProcedureWithInput<TContext, TInput, TParsedInput, TOutput> | CreateProcedureWithInputOutputParser<TContext, TInput, TParsedInput, TOutput> | CreateProcedureWithoutInput<TContext, TOutput>;
71
- export declare function createProcedure<TContext, TInput, TParsedInput, TOutput>(opts: CreateProcedureOptions<TContext, TInput, TParsedInput, TOutput>): Procedure<unknown, TContext, TInput, TParsedInput, TOutput>;
72
- export declare type inferProcedureFromOptions<TInputContext, TOptions extends CreateProcedureOptions<any, any, any, any>> = TOptions extends CreateProcedureOptions<infer TContext, infer TInput, infer TParsedInput, infer TOutput> ? Procedure<TInputContext, TContext, unknown extends TInput ? undefined : TInput, unknown extends TParsedInput ? undefined : TParsedInput, TOutput> : never;
73
- export {};
74
- //# sourceMappingURL=procedure.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/internals/procedure.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- declare type AsyncFn<T> = () => Promise<T> | T;
2
- /**
3
- * Wrap a function in a safe wrapper that never throws
4
- * Returns a discriminated union
5
- */
6
- export declare function wrapCallSafe<T>(fn: AsyncFn<T>): Promise<{
7
- ok: true;
8
- data: T;
9
- error?: undefined;
10
- } | {
11
- ok: false;
12
- error: unknown;
13
- data?: undefined;
14
- }>;
15
- export {};
16
- //# sourceMappingURL=wrapCallSafe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrapCallSafe.d.ts","sourceRoot":"","sources":["../../src/internals/wrapCallSafe.ts"],"names":[],"mappings":"AAAA,aAAK,OAAO,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACvC;;;GAGG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;;;;;;;;GAanD"}
package/dist/router.d.ts DELETED
@@ -1,176 +0,0 @@
1
- import { MiddlewareFunction } from './internals/middlewares';
2
- import { CreateProcedureWithInput, CreateProcedureWithInputOutputParser, CreateProcedureWithoutInput, inferProcedureFromOptions, Procedure } from './internals/procedure';
3
- import { TRPCErrorShape, TRPC_ERROR_CODE_KEY, TRPC_ERROR_CODE_NUMBER } from './rpc';
4
- import { Subscription } from './subscription';
5
- import { CombinedDataTransformer, DataTransformerOptions } from './transformer';
6
- import { TRPCError } from './TRPCError';
7
- import { flatten, Prefixer, ThenArg } from './types';
8
- /**
9
- * @public
10
- */
11
- export declare type ProcedureType = 'query' | 'mutation' | 'subscription';
12
- /**
13
- * @internal
14
- */
15
- export declare type ProcedureRecord<TInputContext = any, TContext = any, TInput = any, TParsedInput = any, TOutput = any> = Record<string, Procedure<TInputContext, TContext, TInput, TParsedInput, TOutput>>;
16
- /**
17
- * @public
18
- */
19
- export declare type inferProcedureInput<TProcedure extends Procedure<any, any, any, any, any>> = TProcedure extends Procedure<any, any, infer Input, any, any> ? undefined extends Input ? Input | null | void : Input : undefined;
20
- /**
21
- * @public
22
- */
23
- export declare type inferAsyncReturnType<TFunction extends (...args: any) => any> = ThenArg<ReturnType<TFunction>>;
24
- /**
25
- * @public
26
- */
27
- export declare type inferProcedureOutput<TProcedure extends Procedure<any, any, any, any, any>> = inferAsyncReturnType<TProcedure['call']>;
28
- /**
29
- * @public
30
- * @beta
31
- */
32
- export declare type inferSubscriptionOutput<TRouter extends AnyRouter, TPath extends keyof TRouter['_def']['subscriptions']> = ReturnType<inferAsyncReturnType<TRouter['_def']['subscriptions'][TPath]['call']>['output']>;
33
- /**
34
- * @internal
35
- */
36
- export declare type inferHandlerInput<TProcedure extends Procedure<any, any, any, any, any>> = TProcedure extends Procedure<any, any, infer TInput, any, any> ? undefined extends TInput ? unknown extends TInput ? [(null | undefined)?] : [(TInput | null | undefined)?] : [TInput] : [(undefined | null)?];
37
- declare type inferHandlerFn<TProcedures extends ProcedureRecord> = <TProcedure extends TProcedures[TPath], TPath extends keyof TProcedures & string>(path: TPath, ...args: inferHandlerInput<TProcedure>) => Promise<inferProcedureOutput<TProcedures[TPath]>>;
38
- /**
39
- * @internal
40
- */
41
- export declare type inferRouterContext<TRouter extends AnyRouter> = Parameters<TRouter['createCaller']>[0];
42
- /**
43
- * @public
44
- */
45
- export declare type AnyRouter<TContext = any> = Router<any, TContext, any, any, any, any>;
46
- /**
47
- * @internal
48
- */
49
- export declare type inferRouterError<TRouter extends AnyRouter> = ReturnType<TRouter['getErrorShape']>;
50
- /**
51
- * @internal
52
- */
53
- export declare type ErrorFormatter<TContext, TShape extends TRPCErrorShape<number>> = ({ error, }: {
54
- error: TRPCError;
55
- type: ProcedureType | 'unknown';
56
- path: string | undefined;
57
- input: unknown;
58
- ctx: undefined | TContext;
59
- shape: DefaultErrorShape;
60
- }) => TShape;
61
- declare type DefaultErrorData = {
62
- code: TRPC_ERROR_CODE_KEY;
63
- httpStatus: number;
64
- path?: string;
65
- stack?: string;
66
- };
67
- /**
68
- * @internal
69
- */
70
- export interface DefaultErrorShape extends TRPCErrorShape<TRPC_ERROR_CODE_NUMBER, DefaultErrorData> {
71
- message: string;
72
- code: TRPC_ERROR_CODE_NUMBER;
73
- }
74
- declare type SwapProcedureContext<TProcedure extends Procedure<any, any, any, any, any>, TNewContext> = TProcedure extends Procedure<infer TInputContext, infer _TOldContext, infer TInput, infer TParsedInput, infer TOutput> ? Procedure<TInputContext, TNewContext, TInput, TParsedInput, TOutput> : never;
75
- declare type SwapContext<TObj extends ProcedureRecord<any, any, any, any>, TNewContext> = {
76
- [P in keyof TObj]: SwapProcedureContext<TObj[P], TNewContext>;
77
- };
78
- /**
79
- * @internal The type signature of this class may change without warning.
80
- */
81
- export declare class Router<TInputContext, TContext, TQueries extends ProcedureRecord<TInputContext, TContext>, TMutations extends ProcedureRecord<TInputContext, TContext>, TSubscriptions extends ProcedureRecord<TInputContext, TContext, unknown, Subscription<unknown>>, TErrorShape extends TRPCErrorShape<number>> {
82
- readonly _def: {
83
- queries: TQueries;
84
- mutations: TMutations;
85
- subscriptions: TSubscriptions;
86
- middlewares: MiddlewareFunction<TInputContext, TContext>[];
87
- errorFormatter: ErrorFormatter<TContext, TErrorShape>;
88
- transformer: CombinedDataTransformer;
89
- };
90
- constructor(def?: {
91
- queries?: TQueries;
92
- mutations?: TMutations;
93
- subscriptions?: TSubscriptions;
94
- middlewares?: MiddlewareFunction<TInputContext, TContext>[];
95
- errorFormatter?: ErrorFormatter<TContext, TErrorShape>;
96
- transformer?: CombinedDataTransformer;
97
- });
98
- private static prefixProcedures;
99
- query<TPath extends string, TInput, TParsedInput, TOutput>(path: TPath, procedure: CreateProcedureWithInputOutputParser<TContext, TInput, TParsedInput, TOutput>): Router<TInputContext, TContext, TQueries & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TMutations, TSubscriptions, TErrorShape>;
100
- query<TPath extends string, TInput, TOutput>(path: TPath, procedure: CreateProcedureWithInput<TContext, TInput, TInput, TOutput>): Router<TInputContext, TContext, TQueries & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TMutations, TSubscriptions, TErrorShape>;
101
- query<TPath extends string, TOutput>(path: TPath, procedure: CreateProcedureWithoutInput<TContext, TOutput>): Router<TInputContext, TContext, TQueries & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TMutations, TSubscriptions, TErrorShape>;
102
- mutation<TPath extends string, TInput, TParsedInput, TOutput>(path: TPath, procedure: CreateProcedureWithInputOutputParser<TContext, TInput, TParsedInput, TOutput>): Router<TInputContext, TContext, TQueries, TMutations & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TSubscriptions, TErrorShape>;
103
- mutation<TPath extends string, TInput, TOutput>(path: TPath, procedure: CreateProcedureWithInput<TContext, TInput, TInput, TOutput>): Router<TInputContext, TContext, TQueries, TMutations & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TSubscriptions, TErrorShape>;
104
- mutation<TPath extends string, TOutput>(path: TPath, procedure: CreateProcedureWithoutInput<TContext, TOutput>): Router<TInputContext, TContext, TQueries, TMutations & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TSubscriptions, TErrorShape>;
105
- /**
106
- * @beta Might change without a major version bump
107
- */
108
- subscription<TPath extends string, TInput, TParsedInput, TOutput extends Subscription<unknown>>(path: TPath, procedure: CreateProcedureWithInputOutputParser<TContext, TInput, TParsedInput, TOutput>): Router<TInputContext, TContext, TQueries, TMutations, TSubscriptions & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TErrorShape>;
109
- /**
110
- * @beta Might change without a major version bump
111
- */
112
- subscription<TPath extends string, TInput, TOutput extends Subscription<unknown>>(path: TPath, procedure: CreateProcedureWithInput<TContext, TInput, TInput, TOutput>): Router<TInputContext, TContext, TQueries, TMutations, TSubscriptions & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TErrorShape>;
113
- /**
114
- * @beta Might change without a major version bump
115
- */
116
- subscription<TPath extends string, TOutput extends Subscription<unknown>>(path: TPath, procedure: CreateProcedureWithoutInput<TContext, TOutput>): Router<TInputContext, TContext, TQueries, TMutations, TSubscriptions & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TErrorShape>;
117
- /**
118
- * Merge router with other router
119
- * @param router
120
- */
121
- merge<TChildRouter extends Router<TContext, any, any, any, any, any>>(router: TChildRouter): Router<TInputContext, inferRouterContext<TChildRouter>, TQueries & TChildRouter['_def']['queries'], TMutations & TChildRouter['_def']['mutations'], TSubscriptions & TChildRouter['_def']['subscriptions'], TErrorShape>;
122
- /**
123
- * Merge router with other router
124
- * @param prefix Prefix that this router should live under
125
- * @param router
126
- */
127
- merge<TPath extends string, TChildRouter extends Router<TContext, any, any, any, any, any>>(prefix: TPath, router: TChildRouter): Router<TInputContext, inferRouterContext<TChildRouter>, TQueries & Prefixer<TChildRouter['_def']['queries'], `${TPath}`>, TMutations & Prefixer<TChildRouter['_def']['mutations'], `${TPath}`>, TSubscriptions & Prefixer<TChildRouter['_def']['subscriptions'], `${TPath}`>, TErrorShape>;
128
- /**
129
- * Invoke procedure. Only for internal use within library.
130
- */
131
- private call;
132
- createCaller(ctx: TInputContext): {
133
- query: inferHandlerFn<TQueries>;
134
- mutation: inferHandlerFn<TMutations>;
135
- subscription: inferHandlerFn<TSubscriptions>;
136
- };
137
- /**
138
- * Function to be called before any procedure is invoked
139
- * @link https://trpc.io/docs/middlewares
140
- */
141
- middleware<TNewContext>(middleware: MiddlewareFunction<TContext, TNewContext>): Router<TInputContext, TNewContext, SwapContext<TQueries, TNewContext>, SwapContext<TMutations, TNewContext>, SwapContext<TSubscriptions, TNewContext>, TErrorShape>;
142
- /**
143
- * Format errors
144
- * @link https://trpc.io/docs/error-formatting
145
- */
146
- formatError<TErrorFormatter extends ErrorFormatter<TContext, TRPCErrorShape<number>>>(errorFormatter: TErrorFormatter): Router<TInputContext, TContext, TQueries, TMutations, TSubscriptions, ReturnType<TErrorFormatter>>;
147
- getErrorShape(opts: {
148
- error: TRPCError;
149
- type: ProcedureType | 'unknown';
150
- path: string | undefined;
151
- input: unknown;
152
- ctx: undefined | TContext;
153
- }): TErrorShape;
154
- /**
155
- * Add data transformer to serialize/deserialize input args + output
156
- * @link https://trpc.io/docs/data-transformers
157
- */
158
- transformer(_transformer: DataTransformerOptions): Router<TInputContext, TContext, TQueries, TMutations, TSubscriptions, TErrorShape>;
159
- /**
160
- * Flattens the generics of TQueries/TMutations/TSubscriptions.
161
- * ⚠️ Experimental - might disappear. ⚠️
162
- *
163
- * @alpha
164
- */
165
- flat(): Router<TInputContext, TContext, flatten<{}, TQueries>, flatten<{}, TMutations>, flatten<{}, TSubscriptions>, TErrorShape>;
166
- }
167
- /**
168
- * Subclass of `VNextRouter` with `TInputContext` and `TContext` set to the same type, for backcompat.
169
- *
170
- * @deprecated
171
- */
172
- export declare class LegacyRouter<TContext, TQueries extends ProcedureRecord<TContext, TContext>, TMutations extends ProcedureRecord<TContext, TContext>, TSubscriptions extends ProcedureRecord<TContext, TContext, unknown, Subscription<unknown>>, TErrorShape extends TRPCErrorShape<number>> extends Router<TContext, TContext, TQueries, TMutations, TSubscriptions, TErrorShape> {
173
- }
174
- export declare function router<TContext>(): Router<TContext, TContext, {}, {}, {}, DefaultErrorShape>;
175
- export {};
176
- //# sourceMappingURL=router.d.ts.map