@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,17 +1,28 @@
1
1
  'use strict';
2
2
 
3
- var url = require('url');
4
- var transformTRPCResponse = require('./transformTRPCResponse-bd24f548.js');
5
- var codes = require('./codes-7f46544e.js');
3
+ var TRPCError = require('./TRPCError-9050a68d.js');
4
+ var transformTRPCResponse = require('./transformTRPCResponse-0c261655.js');
5
+ var envelopes = require('./envelopes-b6dd0367.js');
6
6
 
7
7
  /* istanbul ignore file */
8
8
  function assertNotBrowser() {
9
- if (typeof window !== 'undefined' && process.env.NODE_ENV !== 'test' && process.env.JEST_WORKER_ID === undefined) {
9
+ if (typeof window !== 'undefined' && !('Deno' in window) && process.env.NODE_ENV !== 'test' && process.env.JEST_WORKER_ID === undefined) {
10
10
  throw new Error('Imported server-only code in the browser');
11
11
  }
12
12
  }
13
13
 
14
- const TRPC_ERROR_CODES_BY_NUMBER = /*#__PURE__*/codes.invert(codes.TRPC_ERROR_CODES_BY_KEY);
14
+ function invert(obj) {
15
+ const newObj = Object.create(null);
16
+
17
+ for (const key in obj) {
18
+ const v = obj[key];
19
+ newObj[v] = key;
20
+ }
21
+
22
+ return newObj;
23
+ }
24
+
25
+ const TRPC_ERROR_CODES_BY_NUMBER = /*#__PURE__*/invert(envelopes.TRPC_ERROR_CODES_BY_KEY);
15
26
  const JSONRPC2_TO_HTTP_CODE = {
16
27
  PARSE_ERROR: 400,
17
28
  BAD_REQUEST: 400,
@@ -20,6 +31,7 @@ const JSONRPC2_TO_HTTP_CODE = {
20
31
  UNAUTHORIZED: 401,
21
32
  FORBIDDEN: 403,
22
33
  TIMEOUT: 408,
34
+ CONFLICT: 409,
23
35
  CLIENT_CLOSED_REQUEST: 499,
24
36
  PRECONDITION_FAILED: 412,
25
37
  PAYLOAD_TOO_LARGE: 413,
@@ -82,10 +94,10 @@ function getRawProcedureInputOrThrow(req) {
82
94
  }
83
95
 
84
96
  return typeof req.body === 'string' ? JSON.parse(req.body) : req.body;
85
- } catch (cause) {
86
- throw new transformTRPCResponse.TRPCError({
97
+ } catch (err) {
98
+ throw new TRPCError.TRPCError({
87
99
  code: 'PARSE_ERROR',
88
- cause
100
+ cause: TRPCError.getCauseFromUnknown(err)
89
101
  });
90
102
  }
91
103
  }
@@ -157,7 +169,7 @@ async function resolveHTTPResponse(opts) {
157
169
  }
158
170
 
159
171
  if (type === 'unknown' || type === 'subscription') {
160
- throw new transformTRPCResponse.TRPCError({
172
+ throw new TRPCError.TRPCError({
161
173
  message: `Unexpected request method ${req.method}`,
162
174
  code: 'METHOD_NOT_SUPPORTED'
163
175
  });
@@ -179,7 +191,7 @@ async function resolveHTTPResponse(opts) {
179
191
  }
180
192
 
181
193
  if (rawInput == null || typeof rawInput !== 'object' || Array.isArray(rawInput)) {
182
- throw new transformTRPCResponse.TRPCError({
194
+ throw new TRPCError.TRPCError({
183
195
  code: 'BAD_REQUEST',
184
196
  message: '"input" needs to be an object when doing a batch call'
185
197
  });
@@ -202,20 +214,15 @@ async function resolveHTTPResponse(opts) {
202
214
  const input = inputs[index];
203
215
 
204
216
  try {
205
- const output = await transformTRPCResponse.callProcedure({
206
- ctx,
207
- router,
208
- path,
209
- input,
210
- type
211
- });
217
+ const caller = router.createCaller(ctx);
218
+ const output = await caller[type](path, input);
212
219
  return {
213
220
  input,
214
221
  path,
215
222
  data: output
216
223
  };
217
224
  } catch (cause) {
218
- const error = transformTRPCResponse.getErrorFromUnknown(cause);
225
+ const error = TRPCError.getErrorFromUnknown(cause);
219
226
  onError === null || onError === void 0 ? void 0 : onError({
220
227
  error,
221
228
  path,
@@ -239,8 +246,7 @@ async function resolveHTTPResponse(opts) {
239
246
  } = obj;
240
247
 
241
248
  if (obj.error) {
242
- const json = {
243
- id: null,
249
+ return {
244
250
  error: router.getErrorShape({
245
251
  error: obj.error,
246
252
  type,
@@ -249,16 +255,12 @@ async function resolveHTTPResponse(opts) {
249
255
  ctx
250
256
  })
251
257
  };
252
- return json;
253
258
  } else {
254
- const json = {
255
- id: null,
259
+ return {
256
260
  result: {
257
- type: 'data',
258
261
  data: obj.data
259
262
  }
260
263
  };
261
- return json;
262
264
  }
263
265
  });
264
266
  const result = isBatchCall ? resultEnvelopes : resultEnvelopes[0];
@@ -269,17 +271,7 @@ async function resolveHTTPResponse(opts) {
269
271
  // - `createContext()` throws
270
272
  // - post body is too large
271
273
  // - input deserialization fails
272
- const error = transformTRPCResponse.getErrorFromUnknown(cause);
273
- const json = {
274
- id: null,
275
- error: router.getErrorShape({
276
- error,
277
- type,
278
- path: undefined,
279
- input: undefined,
280
- ctx
281
- })
282
- };
274
+ const error = TRPCError.getErrorFromUnknown(cause);
283
275
  onError === null || onError === void 0 ? void 0 : onError({
284
276
  error,
285
277
  path: undefined,
@@ -288,112 +280,18 @@ async function resolveHTTPResponse(opts) {
288
280
  type: type,
289
281
  req
290
282
  });
291
- return endResponse(json, [error]);
292
- }
293
- }
294
-
295
- async function getPostBody({
296
- req,
297
- maxBodySize
298
- }) {
299
- return new Promise(resolve => {
300
- if ('body' in req) {
301
- resolve({
302
- ok: true,
303
- data: req.body
304
- });
305
- return;
306
- }
307
-
308
- let body = '';
309
- let hasBody = false;
310
- req.on('data', function (data) {
311
- body += data;
312
- hasBody = true;
313
-
314
- if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
315
- resolve({
316
- ok: false,
317
- error: new transformTRPCResponse.TRPCError({
318
- code: 'PAYLOAD_TOO_LARGE'
319
- })
320
- });
321
- req.socket.destroy();
322
- }
323
- });
324
- req.on('end', () => {
325
- resolve({
326
- ok: true,
327
- data: hasBody ? body : undefined
328
- });
329
- });
330
- });
331
- }
332
-
333
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
334
- assertNotBrowser();
335
- async function nodeHTTPRequestHandler(opts) {
336
- var _opts$teardown;
337
-
338
- const createContext = async function _createContext() {
339
- var _opts$createContext;
340
-
341
- return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
342
- };
343
-
344
- const {
345
- path,
346
- router
347
- } = opts;
348
- const bodyResult = await getPostBody(opts);
349
- const query = opts.req.query ? new url.URLSearchParams(opts.req.query) : new url.URLSearchParams(opts.req.url.split('?')[1]);
350
- const req = {
351
- method: opts.req.method,
352
- headers: opts.req.headers,
353
- query,
354
- body: bodyResult.ok ? bodyResult.data : undefined
355
- };
356
- const result = await resolveHTTPResponse({
357
- batching: opts.batching,
358
- responseMeta: opts.responseMeta,
359
- path,
360
- createContext,
361
- router,
362
- req,
363
- error: bodyResult.ok ? null : bodyResult.error,
364
-
365
- onError(o) {
366
- var _opts$onError;
367
-
368
- opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
369
- req: opts.req
370
- });
371
- }
372
-
373
- });
374
- const {
375
- res
376
- } = opts;
377
-
378
- if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
379
- res.statusCode = result.status;
380
- }
381
-
382
- for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
383
- var _result$headers;
384
-
385
- if (typeof value === 'undefined') {
386
- continue;
387
- }
388
-
389
- res.setHeader(key, value);
283
+ return endResponse({
284
+ error: router.getErrorShape({
285
+ error,
286
+ type,
287
+ path: undefined,
288
+ input: undefined,
289
+ ctx
290
+ })
291
+ }, [error]);
390
292
  }
391
-
392
- res.end(result.body);
393
- await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
394
293
  }
395
294
 
396
295
  exports.assertNotBrowser = assertNotBrowser;
397
296
  exports.getHTTPStatusCodeFromError = getHTTPStatusCodeFromError;
398
- exports.nodeHTTPRequestHandler = nodeHTTPRequestHandler;
399
297
  exports.resolveHTTPResponse = resolveHTTPResponse;
@@ -23,6 +23,7 @@ export declare const TRPC_ERROR_CODES_BY_KEY: {
23
23
  readonly NOT_FOUND: -32004;
24
24
  readonly METHOD_NOT_SUPPORTED: -32005;
25
25
  readonly TIMEOUT: -32008;
26
+ readonly CONFLICT: -32009;
26
27
  readonly PRECONDITION_FAILED: -32012;
27
28
  readonly PAYLOAD_TOO_LARGE: -32013;
28
29
  readonly CLIENT_CLOSED_REQUEST: -32099;
@@ -36,6 +37,7 @@ export declare const TRPC_ERROR_CODES_BY_NUMBER: {
36
37
  [-32004]: "NOT_FOUND";
37
38
  [-32005]: "METHOD_NOT_SUPPORTED";
38
39
  [-32008]: "TIMEOUT";
40
+ [-32009]: "CONFLICT";
39
41
  [-32012]: "PRECONDITION_FAILED";
40
42
  [-32013]: "PAYLOAD_TOO_LARGE";
41
43
  [-32099]: "CLIENT_CLOSED_REQUEST";
@@ -1 +1 @@
1
- {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/rpc/codes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;;;;;;;;;CAWK,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;CAAkC,CAAC;AAC1E,aAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7B,oBAAY,sBAAsB,GAAG,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC7E,oBAAY,mBAAmB,GAAG,MAAM,OAAO,uBAAuB,CAAC"}
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/rpc/codes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;;;;;;;;;;CAYK,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;CAAkC,CAAC;AAC1E,aAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7B,oBAAY,sBAAsB,GAAG,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC7E,oBAAY,mBAAmB,GAAG,MAAM,OAAO,uBAAuB,CAAC"}
@@ -1,65 +1,88 @@
1
- import { ProcedureType } from '../router';
1
+ import { ProcedureType } from '../deprecated/router';
2
2
  import { TRPC_ERROR_CODE_NUMBER } from './codes';
3
- declare type JSONRPC2RequestId = number | string | null;
4
3
  /**
5
- * All requests/responses extends this shape
4
+ * Error response
6
5
  */
7
- interface JSONRPC2BaseEnvelope {
8
- id: JSONRPC2RequestId;
9
- jsonrpc?: '2.0';
10
- }
11
- interface JSONRPC2BaseRequest<TMethod extends string = string> extends JSONRPC2BaseEnvelope {
12
- method: TMethod;
13
- }
14
- interface JSONRPC2Request<TMethod extends string = string, TParams = unknown> extends JSONRPC2BaseRequest<TMethod> {
15
- params: TParams;
16
- }
17
- interface JSONRPC2ResultResponse<TResult = unknown> extends JSONRPC2BaseEnvelope {
18
- result: TResult;
19
- }
20
6
  export interface TRPCErrorShape<TCode extends number = TRPC_ERROR_CODE_NUMBER, TData extends Record<string, unknown> = Record<string, unknown>> {
21
7
  code: TCode;
22
8
  message: string;
23
9
  data: TData;
24
10
  }
25
11
  /**
26
- * The result data wrapped
12
+ * JSON-RPC 2.0 Specification
27
13
  */
28
- export declare type TRPCResult<TData = unknown> = {
29
- type: 'data';
30
- data: TData;
31
- } | {
32
- type: 'started';
33
- } | {
34
- type: 'stopped';
35
- };
14
+ export declare namespace JSONRPC2 {
15
+ type RequestId = number | string | null;
16
+ /**
17
+ * All requests/responses extends this shape
18
+ */
19
+ interface BaseEnvelope {
20
+ id?: RequestId;
21
+ jsonrpc?: '2.0';
22
+ }
23
+ interface BaseRequest<TMethod extends string = string> extends BaseEnvelope {
24
+ method: TMethod;
25
+ }
26
+ interface Request<TMethod extends string = string, TParams = unknown> extends BaseRequest<TMethod> {
27
+ params: TParams;
28
+ }
29
+ interface ResultResponse<TResult = unknown> extends BaseEnvelope {
30
+ result: TResult;
31
+ }
32
+ interface ErrorResponse<TError extends TRPCErrorShape = TRPCErrorShape> extends BaseEnvelope {
33
+ error: TError;
34
+ }
35
+ }
36
36
  /**
37
- * Request envelope
37
+ * TRPC HTTP Envelopes
38
38
  */
39
- export declare type TRPCRequest = JSONRPC2Request<'subscription.stop'> | JSONRPC2Request<ProcedureType, {
39
+ export declare type TRPCRequest = JSONRPC2.Request<ProcedureType, {
40
40
  path: string;
41
41
  input: unknown;
42
42
  }>;
43
+ export declare type TRPCResult<TData = unknown> = {
44
+ data: TData;
45
+ };
46
+ export declare type TRPCErrorResponse<TError extends TRPCErrorShape = TRPCErrorShape> = JSONRPC2.ErrorResponse<TError>;
47
+ export declare type TRPCResponse<TResult = unknown, TError extends TRPCErrorShape = TRPCErrorShape> = JSONRPC2.ResultResponse<TRPCResult<TResult>> | TRPCErrorResponse<TError>;
43
48
  /**
44
- * OK response
49
+ * HTTP WS Envelopes
45
50
  */
46
- export declare type TRPCResultResponse<TData = unknown> = JSONRPC2ResultResponse<TRPCResult<TData>>;
51
+ export declare type TRPCRequestMessage = {
52
+ id: JSONRPC2.RequestId;
53
+ } & TRPCRequest;
47
54
  /**
48
- * Generic response wrapper that is either a result or error
55
+ * The client asked the server to unsubscribe
49
56
  */
50
- export declare type TRPCResponse<TData = unknown, TError extends TRPCErrorShape = TRPCErrorShape> = TRPCResultResponse<TData> | TRPCErrorResponse<TError>;
57
+ export declare type TRPCSubscriptionStopNotification = {
58
+ id: null;
59
+ } & JSONRPC2.BaseRequest<'subscription.stop'>;
51
60
  /**
52
- * Error response
61
+ * The client's outgoing request types
53
62
  */
54
- export interface TRPCErrorResponse<TError extends TRPCErrorShape = TRPCErrorShape> extends JSONRPC2BaseEnvelope {
55
- error: TError;
56
- }
63
+ export declare type TRPCClientOutgoingRequest = TRPCSubscriptionStopNotification;
64
+ /**
65
+ * The client's sent messages shape
66
+ */
67
+ export declare type TRPCClientOutgoingMessage = TRPCRequestMessage | ({
68
+ id: JSONRPC2.RequestId;
69
+ } & JSONRPC2.BaseRequest<'subscription.stop'>);
70
+ export declare type TRPCResultMessage<TData = unknown> = ({
71
+ type: 'data';
72
+ } & TRPCResult<TData>) | {
73
+ type: 'started';
74
+ } | {
75
+ type: 'stopped';
76
+ };
77
+ export declare type TRPCResponseMessage<TResult = unknown, TError extends TRPCErrorShape = TRPCErrorShape> = {
78
+ id: JSONRPC2.RequestId;
79
+ } & (JSONRPC2.ResultResponse<TRPCResultMessage<TResult>> | TRPCErrorResponse<TError>);
57
80
  /**
58
81
  * The server asked the client to reconnect - useful when restarting/redeploying service
59
82
  */
60
- export interface TRPCReconnectNotification extends JSONRPC2BaseRequest<'reconnect'> {
61
- id: null;
62
- }
83
+ export declare type TRPCReconnectNotification = {
84
+ id: JSONRPC2.RequestId;
85
+ } & JSONRPC2.BaseRequest<'reconnect'>;
63
86
  /**
64
87
  * The client's incoming request types
65
88
  */
@@ -67,6 +90,5 @@ export declare type TRPCClientIncomingRequest = TRPCReconnectNotification;
67
90
  /**
68
91
  * The client's received messages shape
69
92
  */
70
- export declare type TRPCClientIncomingMessage = TRPCResponse | TRPCClientIncomingRequest;
71
- export {};
93
+ export declare type TRPCClientIncomingMessage<TResult = unknown, TError extends TRPCErrorShape = TRPCErrorShape> = TRPCResponseMessage<TResult, TError> | TRPCClientIncomingRequest;
72
94
  //# sourceMappingURL=envelopes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"envelopes.d.ts","sourceRoot":"","sources":["../../src/rpc/envelopes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjD,aAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEhD;;GAEG;AACH,UAAU,oBAAoB;IAC5B,EAAE,EAAE,iBAAiB,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,mBAAmB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAC3D,SAAQ,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;CACjB;AACD,UAAU,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,OAAO,CAC1E,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,sBAAsB,CAAC,OAAO,GAAG,OAAO,CAChD,SAAQ,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,WAAW,cAAc,CAC7B,KAAK,SAAS,MAAM,GAAG,sBAAsB,EAC7C,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE/D,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;CACb;AAED;;GAEG;AACH,oBAAY,UAAU,CAAC,KAAK,GAAG,OAAO,IAClC;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;CACb,GACD;IACE,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEN;;GAEG;AACH,oBAAY,WAAW,GACnB,eAAe,CAAC,mBAAmB,CAAC,GACpC,eAAe,CACb,aAAa,EACb;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB,CACF,CAAC;AAEN;;GAEG;AACH,oBAAY,kBAAkB,CAAC,KAAK,GAAG,OAAO,IAAI,sBAAsB,CACtE,UAAU,CAAC,KAAK,CAAC,CAClB,CAAC;AAEF;;GAEG;AACH,oBAAY,YAAY,CACtB,KAAK,GAAG,OAAO,EACf,MAAM,SAAS,cAAc,GAAG,cAAc,IAC5C,kBAAkB,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAChC,MAAM,SAAS,cAAc,GAAG,cAAc,CAC9C,SAAQ,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,mBAAmB,CAAC,WAAW,CAAC;IACxC,EAAE,EAAE,IAAI,CAAC;CACV;AAED;;GAEG;AACH,oBAAY,yBAAyB,GACnC,yBAAyB,CAAmC;AAE9D;;GAEG;AACH,oBAAY,yBAAyB,GACjC,YAAY,GACZ,yBAAyB,CAAC"}
1
+ {"version":3,"file":"envelopes.d.ts","sourceRoot":"","sources":["../../src/rpc/envelopes.ts"],"names":[],"mappings":"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"}
package/dist/rpc/index.js CHANGED
@@ -2,9 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var codes = require('../codes-7f46544e.js');
5
+ var envelopes = require('../envelopes-b6dd0367.js');
6
6
 
7
7
 
8
8
 
9
- exports.TRPC_ERROR_CODES_BY_KEY = codes.TRPC_ERROR_CODES_BY_KEY;
10
- exports.TRPC_ERROR_CODES_BY_NUMBER = codes.TRPC_ERROR_CODES_BY_NUMBER;
9
+ Object.defineProperty(exports, 'JSONRPC2', {
10
+ enumerable: true,
11
+ get: function () { return envelopes.JSONRPC2; }
12
+ });
13
+ exports.TRPC_ERROR_CODES_BY_KEY = envelopes.TRPC_ERROR_CODES_BY_KEY;
14
+ exports.TRPC_ERROR_CODES_BY_NUMBER = envelopes.TRPC_ERROR_CODES_BY_NUMBER;
@@ -1 +1 @@
1
- export { T as TRPC_ERROR_CODES_BY_KEY, a as TRPC_ERROR_CODES_BY_NUMBER } from '../codes-7a3d4f65.mjs';
1
+ export { J as JSONRPC2, T as TRPC_ERROR_CODES_BY_KEY, a as TRPC_ERROR_CODES_BY_NUMBER } from '../envelopes-af8c2959.mjs';
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ declare type KeyFromValue<V, T extends Record<PropertyKey, PropertyKey>> = {
5
+ [K in keyof T]: V extends T[K] ? K : never;
6
+ }[keyof T];
7
+ /**
8
+ * @internal
9
+ */
10
+ declare type Invert<T extends Record<PropertyKey, PropertyKey>> = {
11
+ [V in T[keyof T]]: KeyFromValue<V, T>;
12
+ };
13
+ /**
14
+ * @internal
15
+ */
16
+ export declare function invert<T extends Record<PropertyKey, PropertyKey>>(obj: T): Invert<T>;
17
+ export {};
18
+ //# sourceMappingURL=invert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invert.d.ts","sourceRoot":"","sources":["../../../src/rpc/internals/invert.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,aAAK,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KAChE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC3C,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,aAAK,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KACvD,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EAC/D,GAAG,EAAE,CAAC,GACL,MAAM,CAAC,CAAC,CAAC,CAOX"}
@@ -1,58 +1,9 @@
1
- /// <reference types="node" />
2
- import { EventEmitter } from 'events';
3
- interface SubscriptionEvents<TOutput> {
4
- data: (data: TOutput) => void;
5
- destroy: () => void;
6
- error: (error: Error) => void;
7
- }
8
- declare interface SubscriptionEventEmitter<TOutput> {
9
- on<U extends keyof SubscriptionEvents<TOutput>>(event: U, listener: SubscriptionEvents<TOutput>[U]): this;
10
- once<U extends keyof SubscriptionEvents<TOutput>>(event: U, listener: SubscriptionEvents<TOutput>[U]): this;
11
- emit<U extends keyof SubscriptionEvents<TOutput>>(event: U, ...args: Parameters<SubscriptionEvents<TOutput>[U]>): boolean;
12
- }
13
- declare class SubscriptionEventEmitter<TOutput> extends EventEmitter {
14
- }
15
- declare type UnsubscribeFn = () => void;
16
- declare type EmitFn<TOutput> = (data: TOutput) => void;
17
- export declare type SubscriptionEmit<TOutput> = {
18
- data: EmitFn<TOutput>;
19
- error: EmitFn<Error>;
20
- };
21
- export declare type SubscriptionCallback<TOutput> = (emit: SubscriptionEmit<TOutput>) => UnsubscribeFn | Promise<UnsubscribeFn>;
22
- /**
23
- * @beta
24
- */
25
- export declare class Subscription<TOutput = unknown> {
26
- private readonly events;
27
- private callback;
28
- private isDestroyed;
29
- constructor(callback: SubscriptionCallback<TOutput>);
30
- destroy(): void;
31
- start(): Promise<void>;
32
- /**
33
- * @deprecated This method is just here to help with `inferSubscriptionOutput` which I can't get working without it
34
- */
35
- output(): TOutput;
36
- /**
37
- * Emit data
38
- */
39
- emitOutput(data: TOutput): void;
40
- /**
41
- * Emit error
42
- */
43
- emitError(err: Error): void;
44
- on(...args: Parameters<SubscriptionEventEmitter<TOutput>['on']>): SubscriptionEventEmitter<TOutput>;
45
- off(...args: Parameters<SubscriptionEventEmitter<TOutput>['off']>): SubscriptionEventEmitter<TOutput>;
46
- }
47
- /**
48
- * @alpha Might be removed
49
- */
1
+ import { Observable, Observer } from './observable';
50
2
  export declare function subscriptionPullFactory<TOutput>(opts: {
51
3
  /**
52
4
  * The interval of how often the function should run
53
5
  */
54
6
  intervalMs: number;
55
- pull(emit: SubscriptionEmit<TOutput>): void | Promise<void>;
56
- }): Subscription<TOutput>;
57
- export {};
7
+ pull(emit: Observer<TOutput, unknown>): void | Promise<void>;
8
+ }): Observable<TOutput, unknown>;
58
9
  //# sourceMappingURL=subscription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,UAAU,kBAAkB,CAAC,OAAO;IAClC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AACD,OAAO,WAAW,wBAAwB,CAAC,OAAO;IAChD,EAAE,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAC5C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC;IAER,IAAI,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAC9C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC;IAER,IAAI,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAC9C,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC;CACZ;AAED,cAAM,wBAAwB,CAAC,OAAO,CAAE,SAAQ,YAAY;CAAG;AAE/D,aAAK,aAAa,GAAG,MAAM,IAAI,CAAC;AAChC,aAAK,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAE/C,oBAAY,gBAAgB,CAAC,OAAO,IAAI;IACtC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CACtB,CAAC;AACF,oBAAY,oBAAoB,CAAC,OAAO,IAAI,CAC1C,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAC5B,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5C;;GAEG;AACH,qBAAa,YAAY,CAAC,OAAO,GAAG,OAAO;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,WAAW,CAAU;gBAEjB,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC;IAM5C,OAAO;IAUD,KAAK;IA4BlB;;OAEG;IACI,MAAM,IAAI,OAAO;IAIxB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,OAAO;IAGxB;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,KAAK;IAIpB,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAG/D,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;CAGlE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE;IACrD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D,GAAG,YAAY,CAAC,OAAO,CAAC,CA4BxB"}
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AAEhE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE;IACrD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CA4B/B"}
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var TRPCError = require('./TRPCError-9050a68d.js');
6
+ var observable = require('./observable-3aa4d911.js');
7
+
8
+ function subscriptionPullFactory(opts) {
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ let timer;
11
+ let stopped = false;
12
+
13
+ async function _pull(emit) {
14
+ /* istanbul ignore next */
15
+ if (stopped) {
16
+ return;
17
+ }
18
+
19
+ try {
20
+ await opts.pull(emit);
21
+ } catch (err
22
+ /* istanbul ignore next */
23
+ ) {
24
+ emit.error(TRPCError.getErrorFromUnknown(err));
25
+ }
26
+ /* istanbul ignore else */
27
+
28
+
29
+ if (!stopped) {
30
+ timer = setTimeout(() => _pull(emit), opts.intervalMs);
31
+ }
32
+ }
33
+
34
+ return observable.observable(emit => {
35
+ _pull(emit).catch(err => emit.error(TRPCError.getErrorFromUnknown(err)));
36
+
37
+ return () => {
38
+ clearTimeout(timer);
39
+ stopped = true;
40
+ };
41
+ });
42
+ }
43
+
44
+ exports.subscriptionPullFactory = subscriptionPullFactory;
@@ -0,0 +1,40 @@
1
+ import { a as getErrorFromUnknown } from './TRPCError-b7fa0c31.mjs';
2
+ import { o as observable } from './observable-137ea1bd.mjs';
3
+
4
+ function subscriptionPullFactory(opts) {
5
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
+ let timer;
7
+ let stopped = false;
8
+
9
+ async function _pull(emit) {
10
+ /* istanbul ignore next */
11
+ if (stopped) {
12
+ return;
13
+ }
14
+
15
+ try {
16
+ await opts.pull(emit);
17
+ } catch (err
18
+ /* istanbul ignore next */
19
+ ) {
20
+ emit.error(getErrorFromUnknown(err));
21
+ }
22
+ /* istanbul ignore else */
23
+
24
+
25
+ if (!stopped) {
26
+ timer = setTimeout(() => _pull(emit), opts.intervalMs);
27
+ }
28
+ }
29
+
30
+ return observable(emit => {
31
+ _pull(emit).catch(err => emit.error(getErrorFromUnknown(err)));
32
+
33
+ return () => {
34
+ clearTimeout(timer);
35
+ stopped = true;
36
+ };
37
+ });
38
+ }
39
+
40
+ export { subscriptionPullFactory };
@@ -0,0 +1 @@
1
+