@trpc/client 11.1.3-alpha-tmp-tsdown.24 → 11.1.3-alpha-tmp-tsdown.28

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 (263) hide show
  1. package/dist/{TRPCClientError.js → TRPCClientError-CGgRtttT.cjs} +14 -4
  2. package/dist/{TRPCClientError.mjs → TRPCClientError-COkhCKf3.mjs} +1 -1
  3. package/dist/TRPCClientError-COkhCKf3.mjs.map +1 -0
  4. package/dist/httpBatchLink-CIC9PZ_Z.cjs +267 -0
  5. package/dist/httpBatchLink-DIfnmmcu.mjs +238 -0
  6. package/dist/httpBatchLink-DIfnmmcu.mjs.map +1 -0
  7. package/dist/{links/HTTPBatchLinkOptions.d.mts → httpBatchLink.d-BN2Iw_cK.d.mts} +13 -5
  8. package/dist/httpBatchLink.d-BN2Iw_cK.d.mts.map +1 -0
  9. package/dist/{links/HTTPBatchLinkOptions.d.ts → httpBatchLink.d-CLAuJKNV.d.cts} +13 -5
  10. package/dist/httpBatchLink.d-CLAuJKNV.d.cts.map +1 -0
  11. package/dist/httpLink-9bpwQ15c.mjs +90 -0
  12. package/dist/httpLink-9bpwQ15c.mjs.map +1 -0
  13. package/dist/{links/httpLink.js → httpLink-BbVj_TgM.cjs} +43 -9
  14. package/dist/{links/httpLink.d.ts → httpLink.d-CTSOARfE.d.mts} +3 -3
  15. package/dist/httpLink.d-CTSOARfE.d.mts.map +1 -0
  16. package/dist/httpLink.d-yMKfOlTU.d.cts +23 -0
  17. package/dist/httpLink.d-yMKfOlTU.d.cts.map +1 -0
  18. package/dist/{links/internals/httpUtils.mjs → httpUtils-3pbQzhUL.mjs} +13 -4
  19. package/dist/httpUtils-3pbQzhUL.mjs.map +1 -0
  20. package/dist/{links/internals/httpUtils.js → httpUtils-Buf6jCgh.cjs} +55 -10
  21. package/dist/{links/internals/httpUtils.d.ts → httpUtils.d-C8wPxU79.d.mts} +3 -3
  22. package/dist/httpUtils.d-C8wPxU79.d.mts.map +1 -0
  23. package/dist/{links/internals/httpUtils.d.mts → httpUtils.d-DNRVGNHs.d.cts} +3 -3
  24. package/dist/httpUtils.d-DNRVGNHs.d.cts.map +1 -0
  25. package/dist/index.cjs +731 -0
  26. package/dist/index.d.cts +197 -0
  27. package/dist/index.d.cts.map +1 -0
  28. package/dist/index.d.mts +197 -21
  29. package/dist/index.d.mts.map +1 -0
  30. package/dist/index.mjs +733 -19
  31. package/dist/index.mjs.map +1 -0
  32. package/dist/links/httpBatchLink.cjs +6 -0
  33. package/dist/links/httpBatchLink.d.cts +6 -0
  34. package/dist/links/httpBatchLink.d.mts +6 -15
  35. package/dist/links/httpBatchLink.mjs +5 -93
  36. package/dist/links/httpLink.cjs +6 -0
  37. package/dist/links/httpLink.d.cts +6 -0
  38. package/dist/links/httpLink.d.mts +6 -23
  39. package/dist/links/httpLink.mjs +5 -78
  40. package/dist/links/loggerLink.cjs +3 -0
  41. package/dist/links/loggerLink.d.cts +4 -0
  42. package/dist/links/loggerLink.d.mts +4 -55
  43. package/dist/links/loggerLink.mjs +2 -124
  44. package/dist/links/splitLink.cjs +3 -0
  45. package/dist/links/splitLink.d.cts +4 -0
  46. package/dist/links/splitLink.d.mts +4 -20
  47. package/dist/links/splitLink.mjs +2 -25
  48. package/dist/links/wsLink/wsLink.cjs +6 -0
  49. package/dist/links/wsLink/wsLink.d.cts +5 -0
  50. package/dist/links/wsLink/wsLink.d.mts +5 -14
  51. package/dist/links/wsLink/wsLink.mjs +4 -32
  52. package/dist/{links/loggerLink.js → loggerLink-CsDfg5Bb.cjs} +8 -3
  53. package/dist/loggerLink-PGBSQFcR.mjs +125 -0
  54. package/dist/loggerLink-PGBSQFcR.mjs.map +1 -0
  55. package/dist/{links/loggerLink.d.ts → loggerLink.d-CZjK1CXm.d.mts} +2 -3
  56. package/dist/loggerLink.d-CZjK1CXm.d.mts.map +1 -0
  57. package/dist/loggerLink.d-DU855urG.d.cts +54 -0
  58. package/dist/loggerLink.d-DU855urG.d.cts.map +1 -0
  59. package/dist/splitLink-BMgxggng.cjs +58 -0
  60. package/dist/{links/internals/createChain.mjs → splitLink-BVblHq4n.mjs} +23 -2
  61. package/dist/splitLink-BVblHq4n.mjs.map +1 -0
  62. package/dist/{links/splitLink.d.ts → splitLink.d-BAqgq0NG.d.mts} +2 -2
  63. package/dist/splitLink.d-BAqgq0NG.d.mts.map +1 -0
  64. package/dist/splitLink.d-GdevSkGW.d.cts +20 -0
  65. package/dist/splitLink.d-GdevSkGW.d.cts.map +1 -0
  66. package/dist/{links/internals/subscriptions.d.mts → subscriptions.d-Ciljg_dH.d.cts} +1 -1
  67. package/dist/subscriptions.d-Ciljg_dH.d.cts.map +1 -0
  68. package/dist/{links/internals/subscriptions.d.ts → subscriptions.d-U92STdZl.d.mts} +1 -1
  69. package/dist/subscriptions.d-U92STdZl.d.mts.map +1 -0
  70. package/dist/types.d-DXbqQLCC.d.mts +182 -0
  71. package/dist/types.d-DXbqQLCC.d.mts.map +1 -0
  72. package/dist/types.d-DqGYG6S_.d.cts +182 -0
  73. package/dist/types.d-DqGYG6S_.d.cts.map +1 -0
  74. package/dist/{internals/transformer.js → unstable-internals-CYBH4jbF.cjs} +6 -1
  75. package/dist/{internals/transformer.mjs → unstable-internals-DU4WecoG.mjs} +1 -1
  76. package/dist/unstable-internals-DU4WecoG.mjs.map +1 -0
  77. package/dist/unstable-internals.cjs +3 -0
  78. package/dist/{internals/transformer.d.mts → unstable-internals.d-DyLd-B0J.d.mts} +1 -1
  79. package/dist/unstable-internals.d-DyLd-B0J.d.mts.map +1 -0
  80. package/dist/{internals/transformer.d.ts → unstable-internals.d-kWsZTlQq.d.cts} +1 -1
  81. package/dist/unstable-internals.d-kWsZTlQq.d.cts.map +1 -0
  82. package/dist/unstable-internals.d.cts +3 -0
  83. package/dist/unstable-internals.d.mts +2 -2
  84. package/dist/unstable-internals.mjs +1 -1
  85. package/dist/wsLink-DbSHOzlB.mjs +698 -0
  86. package/dist/wsLink-DbSHOzlB.mjs.map +1 -0
  87. package/dist/wsLink-DhJ50EC5.cjs +715 -0
  88. package/dist/wsLink.d-BqO7ltN_.d.mts +194 -0
  89. package/dist/wsLink.d-BqO7ltN_.d.mts.map +1 -0
  90. package/dist/wsLink.d-DtZjg09g.d.cts +194 -0
  91. package/dist/wsLink.d-DtZjg09g.d.cts.map +1 -0
  92. package/links/httpBatchLink/package.json +1 -1
  93. package/links/httpLink/package.json +1 -1
  94. package/links/loggerLink/package.json +1 -1
  95. package/links/splitLink/package.json +1 -1
  96. package/links/wsLink/wsLink/package.json +1 -1
  97. package/package.json +22 -21
  98. package/unstable-internals/package.json +1 -1
  99. package/dist/TRPCClientError.d.mts +0 -32
  100. package/dist/TRPCClientError.d.mts.map +0 -1
  101. package/dist/TRPCClientError.d.ts +0 -32
  102. package/dist/TRPCClientError.d.ts.map +0 -1
  103. package/dist/TRPCClientError.mjs.map +0 -1
  104. package/dist/_virtual/rolldown_runtime.mjs +0 -27
  105. package/dist/createTRPCClient.d.mts +0 -69
  106. package/dist/createTRPCClient.d.mts.map +0 -1
  107. package/dist/createTRPCClient.d.ts +0 -69
  108. package/dist/createTRPCClient.d.ts.map +0 -1
  109. package/dist/createTRPCClient.js +0 -48
  110. package/dist/createTRPCClient.mjs +0 -45
  111. package/dist/createTRPCClient.mjs.map +0 -1
  112. package/dist/createTRPCUntypedClient.d.mts +0 -8
  113. package/dist/createTRPCUntypedClient.d.mts.map +0 -1
  114. package/dist/createTRPCUntypedClient.d.ts +0 -8
  115. package/dist/createTRPCUntypedClient.d.ts.map +0 -1
  116. package/dist/createTRPCUntypedClient.js +0 -9
  117. package/dist/createTRPCUntypedClient.mjs +0 -10
  118. package/dist/createTRPCUntypedClient.mjs.map +0 -1
  119. package/dist/getFetch.d.mts +0 -9
  120. package/dist/getFetch.d.mts.map +0 -1
  121. package/dist/getFetch.d.ts +0 -9
  122. package/dist/getFetch.d.ts.map +0 -1
  123. package/dist/getFetch.js +0 -12
  124. package/dist/getFetch.mjs +0 -12
  125. package/dist/getFetch.mjs.map +0 -1
  126. package/dist/index.d.ts +0 -21
  127. package/dist/index.js +0 -43
  128. package/dist/internals/TRPCUntypedClient.d.mts +0 -45
  129. package/dist/internals/TRPCUntypedClient.d.mts.map +0 -1
  130. package/dist/internals/TRPCUntypedClient.d.ts +0 -45
  131. package/dist/internals/TRPCUntypedClient.d.ts.map +0 -1
  132. package/dist/internals/TRPCUntypedClient.js +0 -96
  133. package/dist/internals/TRPCUntypedClient.mjs +0 -96
  134. package/dist/internals/TRPCUntypedClient.mjs.map +0 -1
  135. package/dist/internals/dataLoader.js +0 -106
  136. package/dist/internals/dataLoader.mjs +0 -106
  137. package/dist/internals/dataLoader.mjs.map +0 -1
  138. package/dist/internals/inputWithTrackedEventId.js +0 -13
  139. package/dist/internals/inputWithTrackedEventId.mjs +0 -13
  140. package/dist/internals/inputWithTrackedEventId.mjs.map +0 -1
  141. package/dist/internals/signals.js +0 -46
  142. package/dist/internals/signals.mjs +0 -44
  143. package/dist/internals/signals.mjs.map +0 -1
  144. package/dist/internals/transformer.d.mts.map +0 -1
  145. package/dist/internals/transformer.d.ts.map +0 -1
  146. package/dist/internals/transformer.mjs.map +0 -1
  147. package/dist/internals/types.d.mts +0 -84
  148. package/dist/internals/types.d.mts.map +0 -1
  149. package/dist/internals/types.d.ts +0 -84
  150. package/dist/internals/types.d.ts.map +0 -1
  151. package/dist/links/HTTPBatchLinkOptions.d.mts.map +0 -1
  152. package/dist/links/HTTPBatchLinkOptions.d.ts.map +0 -1
  153. package/dist/links/httpBatchLink.d.mts.map +0 -1
  154. package/dist/links/httpBatchLink.d.ts +0 -15
  155. package/dist/links/httpBatchLink.d.ts.map +0 -1
  156. package/dist/links/httpBatchLink.js +0 -94
  157. package/dist/links/httpBatchLink.mjs.map +0 -1
  158. package/dist/links/httpBatchStreamLink.d.mts +0 -19
  159. package/dist/links/httpBatchStreamLink.d.mts.map +0 -1
  160. package/dist/links/httpBatchStreamLink.d.ts +0 -19
  161. package/dist/links/httpBatchStreamLink.d.ts.map +0 -1
  162. package/dist/links/httpBatchStreamLink.js +0 -126
  163. package/dist/links/httpBatchStreamLink.mjs +0 -125
  164. package/dist/links/httpBatchStreamLink.mjs.map +0 -1
  165. package/dist/links/httpLink.d.mts.map +0 -1
  166. package/dist/links/httpLink.d.ts.map +0 -1
  167. package/dist/links/httpLink.mjs.map +0 -1
  168. package/dist/links/httpSubscriptionLink.d.mts +0 -29
  169. package/dist/links/httpSubscriptionLink.d.mts.map +0 -1
  170. package/dist/links/httpSubscriptionLink.d.ts +0 -29
  171. package/dist/links/httpSubscriptionLink.d.ts.map +0 -1
  172. package/dist/links/httpSubscriptionLink.js +0 -142
  173. package/dist/links/httpSubscriptionLink.mjs +0 -141
  174. package/dist/links/httpSubscriptionLink.mjs.map +0 -1
  175. package/dist/links/internals/contentTypes.d.mts +0 -9
  176. package/dist/links/internals/contentTypes.d.mts.map +0 -1
  177. package/dist/links/internals/contentTypes.d.ts +0 -9
  178. package/dist/links/internals/contentTypes.d.ts.map +0 -1
  179. package/dist/links/internals/contentTypes.js +0 -16
  180. package/dist/links/internals/contentTypes.mjs +0 -14
  181. package/dist/links/internals/contentTypes.mjs.map +0 -1
  182. package/dist/links/internals/createChain.js +0 -26
  183. package/dist/links/internals/createChain.mjs.map +0 -1
  184. package/dist/links/internals/httpUtils.d.mts.map +0 -1
  185. package/dist/links/internals/httpUtils.d.ts.map +0 -1
  186. package/dist/links/internals/httpUtils.mjs.map +0 -1
  187. package/dist/links/internals/subscriptions.d.mts.map +0 -1
  188. package/dist/links/internals/subscriptions.d.ts.map +0 -1
  189. package/dist/links/internals/urlWithConnectionParams.d.mts +0 -24
  190. package/dist/links/internals/urlWithConnectionParams.d.mts.map +0 -1
  191. package/dist/links/internals/urlWithConnectionParams.d.ts +0 -24
  192. package/dist/links/internals/urlWithConnectionParams.d.ts.map +0 -1
  193. package/dist/links/internals/urlWithConnectionParams.js +0 -12
  194. package/dist/links/internals/urlWithConnectionParams.mjs +0 -12
  195. package/dist/links/internals/urlWithConnectionParams.mjs.map +0 -1
  196. package/dist/links/localLink.d.mts +0 -21
  197. package/dist/links/localLink.d.mts.map +0 -1
  198. package/dist/links/localLink.d.ts +0 -21
  199. package/dist/links/localLink.d.ts.map +0 -1
  200. package/dist/links/localLink.js +0 -192
  201. package/dist/links/localLink.mjs +0 -193
  202. package/dist/links/localLink.mjs.map +0 -1
  203. package/dist/links/loggerLink.d.mts.map +0 -1
  204. package/dist/links/loggerLink.d.ts.map +0 -1
  205. package/dist/links/loggerLink.mjs.map +0 -1
  206. package/dist/links/retryLink.d.mts +0 -36
  207. package/dist/links/retryLink.d.mts.map +0 -1
  208. package/dist/links/retryLink.d.ts +0 -36
  209. package/dist/links/retryLink.d.ts.map +0 -1
  210. package/dist/links/retryLink.js +0 -64
  211. package/dist/links/retryLink.mjs +0 -64
  212. package/dist/links/retryLink.mjs.map +0 -1
  213. package/dist/links/splitLink.d.mts.map +0 -1
  214. package/dist/links/splitLink.d.ts.map +0 -1
  215. package/dist/links/splitLink.js +0 -26
  216. package/dist/links/splitLink.mjs.map +0 -1
  217. package/dist/links/types.d.mts +0 -68
  218. package/dist/links/types.d.mts.map +0 -1
  219. package/dist/links/types.d.ts +0 -68
  220. package/dist/links/types.d.ts.map +0 -1
  221. package/dist/links/wsLink/createWsClient.d.mts +0 -9
  222. package/dist/links/wsLink/createWsClient.d.mts.map +0 -1
  223. package/dist/links/wsLink/createWsClient.d.ts +0 -9
  224. package/dist/links/wsLink/createWsClient.d.ts.map +0 -1
  225. package/dist/links/wsLink/createWsClient.js +0 -9
  226. package/dist/links/wsLink/createWsClient.mjs +0 -10
  227. package/dist/links/wsLink/createWsClient.mjs.map +0 -1
  228. package/dist/links/wsLink/wsClient/options.d.mts +0 -69
  229. package/dist/links/wsLink/wsClient/options.d.mts.map +0 -1
  230. package/dist/links/wsLink/wsClient/options.d.ts +0 -69
  231. package/dist/links/wsLink/wsClient/options.d.ts.map +0 -1
  232. package/dist/links/wsLink/wsClient/options.js +0 -24
  233. package/dist/links/wsLink/wsClient/options.mjs +0 -22
  234. package/dist/links/wsLink/wsClient/options.mjs.map +0 -1
  235. package/dist/links/wsLink/wsClient/requestManager.js +0 -136
  236. package/dist/links/wsLink/wsClient/requestManager.mjs +0 -137
  237. package/dist/links/wsLink/wsClient/requestManager.mjs.map +0 -1
  238. package/dist/links/wsLink/wsClient/utils.js +0 -77
  239. package/dist/links/wsLink/wsClient/utils.mjs +0 -74
  240. package/dist/links/wsLink/wsClient/utils.mjs.map +0 -1
  241. package/dist/links/wsLink/wsClient/wsClient.d.mts +0 -101
  242. package/dist/links/wsLink/wsClient/wsClient.d.mts.map +0 -1
  243. package/dist/links/wsLink/wsClient/wsClient.d.ts +0 -101
  244. package/dist/links/wsLink/wsClient/wsClient.d.ts.map +0 -1
  245. package/dist/links/wsLink/wsClient/wsClient.js +0 -276
  246. package/dist/links/wsLink/wsClient/wsClient.mjs +0 -276
  247. package/dist/links/wsLink/wsClient/wsClient.mjs.map +0 -1
  248. package/dist/links/wsLink/wsClient/wsConnection.js +0 -165
  249. package/dist/links/wsLink/wsClient/wsConnection.mjs +0 -164
  250. package/dist/links/wsLink/wsClient/wsConnection.mjs.map +0 -1
  251. package/dist/links/wsLink/wsLink.d.mts.map +0 -1
  252. package/dist/links/wsLink/wsLink.d.ts +0 -14
  253. package/dist/links/wsLink/wsLink.d.ts.map +0 -1
  254. package/dist/links/wsLink/wsLink.js +0 -34
  255. package/dist/links/wsLink/wsLink.mjs.map +0 -1
  256. package/dist/links.js +0 -11
  257. package/dist/links.mjs +0 -11
  258. package/dist/node_modules/.pnpm/@oxc-project_runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js +0 -68
  259. package/dist/node_modules/.pnpm/@oxc-project_runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.mjs +0 -66
  260. package/dist/node_modules/.pnpm/@oxc-project_runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.mjs.map +0 -1
  261. package/dist/unstable-internals.d.ts +0 -3
  262. package/dist/unstable-internals.js +0 -3
  263. /package/dist/{_virtual/rolldown_runtime.js → chunk-DWy1uDak.cjs} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"retryLink.mjs","names":["opts: RetryLinkOptions<TInferrable>","next$: Unsubscribable","callNextTimeout: ReturnType<typeof setTimeout> | undefined","lastEventId: string | undefined","attempts: number"],"sources":["../../src/links/retryLink.ts"],"sourcesContent":["/* istanbul ignore file -- @preserve */\n// We're not actually exporting this link\nimport type { Unsubscribable } from '@trpc/server/observable';\nimport { observable } from '@trpc/server/observable';\nimport type { InferrableClientTypes } from '@trpc/server/unstable-core-do-not-import';\nimport { inputWithTrackedEventId } from '../internals/inputWithTrackedEventId';\nimport type { TRPCClientError } from '../TRPCClientError';\nimport type { Operation, TRPCLink } from './types';\n\ninterface RetryLinkOptions<TInferrable extends InferrableClientTypes> {\n /**\n * The retry function\n */\n retry: (opts: RetryFnOptions<TInferrable>) => boolean;\n /**\n * The delay between retries in ms (defaults to 0)\n */\n retryDelayMs?: (attempt: number) => number;\n}\n\ninterface RetryFnOptions<TInferrable extends InferrableClientTypes> {\n /**\n * The operation that failed\n */\n op: Operation;\n /**\n * The error that occurred\n */\n error: TRPCClientError<TInferrable>;\n /**\n * The number of attempts that have been made (including the first call)\n */\n attempts: number;\n}\n\n/**\n * @see https://trpc.io/docs/v11/client/links/retryLink\n */\nexport function retryLink<TInferrable extends InferrableClientTypes>(\n opts: RetryLinkOptions<TInferrable>,\n): TRPCLink<TInferrable> {\n // initialized config\n return () => {\n // initialized in app\n return (callOpts) => {\n // initialized for request\n return observable((observer) => {\n let next$: Unsubscribable;\n let callNextTimeout: ReturnType<typeof setTimeout> | undefined =\n undefined;\n\n let lastEventId: string | undefined = undefined;\n\n attempt(1);\n\n function opWithLastEventId() {\n const op = callOpts.op;\n if (!lastEventId) {\n return op;\n }\n\n return {\n ...op,\n input: inputWithTrackedEventId(op.input, lastEventId),\n };\n }\n\n function attempt(attempts: number) {\n const op = opWithLastEventId();\n\n next$ = callOpts.next(op).subscribe({\n error(error) {\n const shouldRetry = opts.retry({\n op,\n attempts,\n error,\n });\n if (!shouldRetry) {\n observer.error(error);\n return;\n }\n const delayMs = opts.retryDelayMs?.(attempts) ?? 0;\n\n if (delayMs <= 0) {\n attempt(attempts + 1);\n return;\n }\n callNextTimeout = setTimeout(\n () => attempt(attempts + 1),\n delayMs,\n );\n },\n next(envelope) {\n //\n if (\n (!envelope.result.type || envelope.result.type === 'data') &&\n envelope.result.id\n ) {\n //\n lastEventId = envelope.result.id;\n }\n\n observer.next(envelope);\n },\n complete() {\n observer.complete();\n },\n });\n }\n return () => {\n next$.unsubscribe();\n clearTimeout(callNextTimeout);\n };\n });\n };\n };\n}\n"],"mappings":";;;;;;;AAsCA,SAAgB,UACdA,MACuB;AAEvB,QAAO,MAAM;AAEX,SAAO,CAAC,aAAa;AAEnB,UAAO,WAAW,CAAC,aAAa;IAC9B,IAAIC;IACJ,IAAIC;IAGJ,IAAIC;AAEJ,YAAQ,EAAE;IAEV,SAAS,oBAAoB;KAC3B,MAAM,KAAK,SAAS;AACpB,UAAK,YACH,QAAO;AAGT,YAAO;MACL,GAAG;MACH,OAAO,wBAAwB,GAAG,OAAO,YAAY;KACtD;IACF;IAED,SAAS,QAAQC,UAAkB;KACjC,MAAM,KAAK,mBAAmB;AAE9B,aAAQ,SAAS,KAAK,GAAG,CAAC,UAAU;MAClC,MAAM,OAAO;OACX,MAAM,cAAc,KAAK,MAAM;QAC7B;QACA;QACA;OACD,EAAC;AACF,YAAK,aAAa;AAChB,iBAAS,MAAM,MAAM;AACrB;OACD;OACD,MAAM,UAAU,KAAK,eAAe,SAAS,IAAI;AAEjD,WAAI,WAAW,GAAG;AAChB,gBAAQ,WAAW,EAAE;AACrB;OACD;AACD,yBAAkB,WAChB,MAAM,QAAQ,WAAW,EAAE,EAC3B,QACD;MACF;MACD,KAAK,UAAU;AAEb,aACI,SAAS,OAAO,QAAQ,SAAS,OAAO,SAAS,WACnD,SAAS,OAAO,GAGhB,eAAc,SAAS,OAAO;AAGhC,gBAAS,KAAK,SAAS;MACxB;MACD,WAAW;AACT,gBAAS,UAAU;MACpB;KACF,EAAC;IACH;AACD,WAAO,MAAM;AACX,WAAM,aAAa;AACnB,kBAAa,gBAAgB;IAC9B;GACF,EAAC;EACH;CACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"splitLink.d.mts","names":[],"sources":["../../src/links/splitLink.ts"],"sourcesContent":[],"mappings":";;;;iBAQgB,0BAA0B,YAAY;kBACpC;EADF;;;EAAmC,IAAG,EAK9C,QAL8C,CAKrC,OALqC,CAAA,GAK1B,QAL0B,CAKjB,OALiB,CAAA,EAAA;EAAS;;;EAK/C,KAAqB,EAI5B,QAJ4B,CAInB,OAJmB,CAAA,GAIR,QAJQ,CAIC,OAJD,CAAA,EAAA;CAAO,CAAA,EAKxC,QALwB,CAKf,OALe,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"splitLink.d.ts","names":[],"sources":["../../src/links/splitLink.ts"],"sourcesContent":[],"mappings":";;;;iBAQgB,0BAA0B,YAAY;kBACpC;EADF;;;EAAmC,IAAG,EAK9C,QAL8C,CAKrC,OALqC,CAAA,GAK1B,QAL0B,CAKjB,OALiB,CAAA,EAAA;EAAS;;;EAK/C,KAAqB,EAI5B,QAJ4B,CAInB,OAJmB,CAAA,GAIR,QAJQ,CAIC,OAJD,CAAA,EAAA;CAAO,CAAA,EAKxC,QALwB,CAKf,OALe,CAAA"}
@@ -1,26 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- const require_createChain = require('./internals/createChain.js');
3
- const __trpc_server_observable = require_rolldown_runtime.__toESM(require("@trpc/server/observable"));
4
-
5
- //#region src/links/splitLink.ts
6
- function asArray(value) {
7
- return Array.isArray(value) ? value : [value];
8
- }
9
- function splitLink(opts) {
10
- return (runtime) => {
11
- const yes = asArray(opts.true).map((link) => link(runtime));
12
- const no = asArray(opts.false).map((link) => link(runtime));
13
- return (props) => {
14
- return (0, __trpc_server_observable.observable)((observer) => {
15
- const links = opts.condition(props.op) ? yes : no;
16
- return require_createChain.createChain({
17
- op: props.op,
18
- links
19
- }).subscribe(observer);
20
- });
21
- };
22
- };
23
- }
24
-
25
- //#endregion
26
- exports.splitLink = splitLink;
@@ -1 +0,0 @@
1
- {"version":3,"file":"splitLink.mjs","names":["value: TType | TType[]","opts: {\n condition: (op: Operation) => boolean;\n /**\n * The link to execute next if the test function returns `true`.\n */\n true: TRPCLink<TRouter> | TRPCLink<TRouter>[];\n /**\n * The link to execute next if the test function returns `false`.\n */\n false: TRPCLink<TRouter> | TRPCLink<TRouter>[];\n}"],"sources":["../../src/links/splitLink.ts"],"sourcesContent":["import { observable } from '@trpc/server/observable';\nimport type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';\nimport { createChain } from './internals/createChain';\nimport type { Operation, TRPCLink } from './types';\n\nfunction asArray<TType>(value: TType | TType[]) {\n return Array.isArray(value) ? value : [value];\n}\nexport function splitLink<TRouter extends AnyRouter = AnyRouter>(opts: {\n condition: (op: Operation) => boolean;\n /**\n * The link to execute next if the test function returns `true`.\n */\n true: TRPCLink<TRouter> | TRPCLink<TRouter>[];\n /**\n * The link to execute next if the test function returns `false`.\n */\n false: TRPCLink<TRouter> | TRPCLink<TRouter>[];\n}): TRPCLink<TRouter> {\n return (runtime) => {\n const yes = asArray(opts.true).map((link) => link(runtime));\n const no = asArray(opts.false).map((link) => link(runtime));\n return (props) => {\n return observable((observer) => {\n const links = opts.condition(props.op) ? yes : no;\n return createChain({ op: props.op, links }).subscribe(observer);\n });\n };\n };\n}\n"],"mappings":";;;;AAKA,SAAS,QAAeA,OAAwB;AAC9C,QAAO,MAAM,QAAQ,MAAM,GAAG,QAAQ,CAAC,KAAM;AAC9C;AACD,SAAgB,UAAiDC,MAU3C;AACpB,QAAO,CAAC,YAAY;EAClB,MAAM,MAAM,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC;EAC3D,MAAM,KAAK,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC;AAC3D,SAAO,CAAC,UAAU;AAChB,UAAO,WAAW,CAAC,aAAa;IAC9B,MAAM,QAAQ,KAAK,UAAU,MAAM,GAAG,GAAG,MAAM;AAC/C,WAAO,YAAY;KAAE,IAAI,MAAM;KAAI;IAAO,EAAC,CAAC,UAAU,SAAS;GAChE,EAAC;EACH;CACF;AACF"}
@@ -1,68 +0,0 @@
1
- import { TRPCConnectionState } from "./internals/subscriptions.mjs";
2
- import { ResponseEsque } from "../internals/types.mjs";
3
- import { TRPCClientError } from "../TRPCClientError.mjs";
4
- import { isFormData, isNonJsonSerializable, isOctetType } from "./internals/contentTypes.mjs";
5
- import { Observable, Observer } from "@trpc/server/observable";
6
- import { InferrableClientTypes, Maybe, TRPCResultMessage, TRPCSuccessResponse } from "@trpc/server/unstable-core-do-not-import";
7
-
8
- //#region src/links/types.d.ts
9
-
10
- /**
11
- * @internal
12
- */
13
- interface OperationContext extends Record<string, unknown> {}
14
- /**
15
- * @internal
16
- */
17
- type Operation<TInput = unknown> = {
18
- id: number;
19
- type: 'mutation' | 'query' | 'subscription';
20
- input: TInput;
21
- path: string;
22
- context: OperationContext;
23
- signal: Maybe<AbortSignal>;
24
- };
25
- interface HeadersInitEsque {
26
- [Symbol.iterator](): IterableIterator<[string, string]>;
27
- }
28
- /**
29
- * @internal
30
- */
31
- type HTTPHeaders = HeadersInitEsque | Record<string, string[] | string | undefined>;
32
- /**
33
- * The default `fetch` implementation has an overloaded signature. By convention this library
34
- * only uses the overload taking a string and options object.
35
- */
36
- type TRPCFetch = (url: string, options?: RequestInit) => Promise<ResponseEsque>;
37
- interface TRPCClientRuntime {}
38
- /**
39
- * @internal
40
- */
41
- interface OperationResultEnvelope<TOutput, TError> {
42
- result: TRPCResultMessage<TOutput>['result'] | TRPCSuccessResponse<TOutput>['result'] | TRPCConnectionState<TError>;
43
- context?: OperationContext;
44
- }
45
- /**
46
- * @internal
47
- */
48
- type OperationResultObservable<TInferrable extends InferrableClientTypes, TOutput> = Observable<OperationResultEnvelope<TOutput, TRPCClientError<TInferrable>>, TRPCClientError<TInferrable>>;
49
- /**
50
- * @internal
51
- */
52
- type OperationResultObserver<TInferrable extends InferrableClientTypes, TOutput> = Observer<OperationResultEnvelope<TOutput, TRPCClientError<TInferrable>>, TRPCClientError<TInferrable>>;
53
- /**
54
- * @internal
55
- */
56
- type OperationLink<TInferrable extends InferrableClientTypes, TInput = unknown, TOutput = unknown> = (opts: {
57
- op: Operation<TInput>;
58
- next: (op: Operation<TInput>) => OperationResultObservable<TInferrable, TOutput>;
59
- }) => OperationResultObservable<TInferrable, TOutput>;
60
- /**
61
- * @public
62
- */
63
- type TRPCLink<TInferrable extends InferrableClientTypes> = (opts: TRPCClientRuntime) => OperationLink<TInferrable>;
64
- //# sourceMappingURL=types.d.ts.map
65
-
66
- //#endregion
67
- export { HTTPHeaders, Operation, OperationContext, OperationLink, OperationResultEnvelope, OperationResultObservable, OperationResultObserver, TRPCClientRuntime, TRPCFetch, TRPCLink };
68
- //# sourceMappingURL=types.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/links/types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;AAoBA;AAKY,UALK,gBAAA,SAAyB,MAKrB,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;;;;AAMX,KANE,SAMF,CAAA,SAAA,OAAA,CAAA,GAAA;EAAK,EAAA,EAAA,MAAA;EAGL,IAAA,EAAA,UAAA,GAAgB,OAAA,GAAA,cACH;EAMX,KAAA,EAbH,MAaG;EAAW,IAAA,EAAA,MAAA;EAAA,OACnB,EAZO,gBAYP;EAAgB,MAChB,EAZM,KAYN,CAZY,WAYZ,CAAA;AAAM,CAAA;AAMV,UAfU,gBAAA,CAeW;EAAA,CAAA,MAAA,CAAA,QAAA,GAAA,EAdE,gBAcF,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;;;;AAGT;AAEK,KAbL,WAAA,GACR,gBAY8B,GAX9B,MAW8B,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,MAAA,GAAA,SAAA,CAAA;AAOlC;;;;AAG0B,KAfd,SAAA,GAec,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAbd,WAac,EAAA,GAZrB,OAYqB,CAZb,aAYa,CAAA;AAApB,UAVW,iBAAA,CAUX;;;AAEsB;AAMhB,UAXK,uBAWoB,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA;EAAA,MAAA,EAT/B,iBAS+B,CATb,OASa,CAAA,CAAA,QAAA,CAAA,GAR/B,mBAQ+B,CARX,OAQW,CAAA,CAAA,QAAA,CAAA,GAP/B,mBAO+B,CAPX,MAOW,CAAA;EAAA,OACf,CAAA,EAPV,gBAOU;;;;;AAIJ,KALN,yBAKM,CAAA,oBAJI,qBAIJ,EAAA,OAAA,CAAA,GAFd,UAEc,CADhB,uBACgB,CADQ,OACR,EADiB,eACjB,CADiC,WACjC,CAAA,CAAA,EAAhB,eAAgB,CAAA,WAAA,CAAA,CAAA;;;AAFJ;AAQF,KAAA,uBAAuB,CAAA,oBACb,qBADa,EAAA,OAAA,CAAA,GAG/B,QAH+B,CAIjC,uBAJiC,CAIT,OAJS,EAIA,eAJA,CAIgB,WAJhB,CAAA,CAAA,EAKjC,eALiC,CAKjB,WALiB,CAAA,CAAA;;;;AAIgB,KAOvC,aAPuC,CAAA,oBAQ7B,qBAR6B,EAAA,SAAA,OAAA,EAAA,UAAA,OAAA,CAAA,GAAA,CAAA,IAAA,EAAA;EAAW,EAAA,EAYxD,SAZ6B,CAYnB,MAZmB,CAAA;EAAe,IAAhD,EAAA,CAAA,EAAA,EAcM,SAdN,CAcgB,MAdhB,CAAA,EAAA,GAeK,yBAfL,CAe+B,WAf/B,EAe4C,OAf5C,CAAA;CAAuB,EAAA,GAgBnB,yBAfY,CAec,WAfd,EAe2B,OAf3B,CAAA;;;AAFN;AAQA,KAcA,QAda,CAAA,oBAcgB,qBAdhB,CAAA,GAAA,CAAA,IAAA,EAejB,iBAfiB,EAAA,GAgBpB,aAhBoB,CAgBN,WAhBM,CAAA"}
@@ -1,68 +0,0 @@
1
- import { TRPCConnectionState } from "./internals/subscriptions.js";
2
- import { ResponseEsque } from "../internals/types.js";
3
- import { TRPCClientError } from "../TRPCClientError.js";
4
- import { isFormData, isNonJsonSerializable, isOctetType } from "./internals/contentTypes.js";
5
- import { InferrableClientTypes, Maybe, TRPCResultMessage, TRPCSuccessResponse } from "@trpc/server/unstable-core-do-not-import";
6
- import { Observable, Observer } from "@trpc/server/observable";
7
-
8
- //#region src/links/types.d.ts
9
-
10
- /**
11
- * @internal
12
- */
13
- interface OperationContext extends Record<string, unknown> {}
14
- /**
15
- * @internal
16
- */
17
- type Operation<TInput = unknown> = {
18
- id: number;
19
- type: 'mutation' | 'query' | 'subscription';
20
- input: TInput;
21
- path: string;
22
- context: OperationContext;
23
- signal: Maybe<AbortSignal>;
24
- };
25
- interface HeadersInitEsque {
26
- [Symbol.iterator](): IterableIterator<[string, string]>;
27
- }
28
- /**
29
- * @internal
30
- */
31
- type HTTPHeaders = HeadersInitEsque | Record<string, string[] | string | undefined>;
32
- /**
33
- * The default `fetch` implementation has an overloaded signature. By convention this library
34
- * only uses the overload taking a string and options object.
35
- */
36
- type TRPCFetch = (url: string, options?: RequestInit) => Promise<ResponseEsque>;
37
- interface TRPCClientRuntime {}
38
- /**
39
- * @internal
40
- */
41
- interface OperationResultEnvelope<TOutput, TError> {
42
- result: TRPCResultMessage<TOutput>['result'] | TRPCSuccessResponse<TOutput>['result'] | TRPCConnectionState<TError>;
43
- context?: OperationContext;
44
- }
45
- /**
46
- * @internal
47
- */
48
- type OperationResultObservable<TInferrable extends InferrableClientTypes, TOutput> = Observable<OperationResultEnvelope<TOutput, TRPCClientError<TInferrable>>, TRPCClientError<TInferrable>>;
49
- /**
50
- * @internal
51
- */
52
- type OperationResultObserver<TInferrable extends InferrableClientTypes, TOutput> = Observer<OperationResultEnvelope<TOutput, TRPCClientError<TInferrable>>, TRPCClientError<TInferrable>>;
53
- /**
54
- * @internal
55
- */
56
- type OperationLink<TInferrable extends InferrableClientTypes, TInput = unknown, TOutput = unknown> = (opts: {
57
- op: Operation<TInput>;
58
- next: (op: Operation<TInput>) => OperationResultObservable<TInferrable, TOutput>;
59
- }) => OperationResultObservable<TInferrable, TOutput>;
60
- /**
61
- * @public
62
- */
63
- type TRPCLink<TInferrable extends InferrableClientTypes> = (opts: TRPCClientRuntime) => OperationLink<TInferrable>;
64
- //# sourceMappingURL=types.d.ts.map
65
-
66
- //#endregion
67
- export { HTTPHeaders, Operation, OperationContext, OperationLink, OperationResultEnvelope, OperationResultObservable, OperationResultObserver, TRPCClientRuntime, TRPCFetch, TRPCLink };
68
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/links/types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;AAoBA;AAKY,UALK,gBAAA,SAAyB,MAKrB,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;;;;AAMX,KANE,SAMF,CAAA,SAAA,OAAA,CAAA,GAAA;EAAK,EAAA,EAAA,MAAA;EAGL,IAAA,EAAA,UAAA,GAAgB,OAAA,GAAA,cACH;EAMX,KAAA,EAbH,MAaG;EAAW,IAAA,EAAA,MAAA;EAAA,OACnB,EAZO,gBAYP;EAAgB,MAChB,EAZM,KAYN,CAZY,WAYZ,CAAA;AAAM,CAAA;AAMV,UAfU,gBAAA,CAeW;EAAA,CAAA,MAAA,CAAA,QAAA,GAAA,EAdE,gBAcF,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;;;;AAGT;AAEK,KAbL,WAAA,GACR,gBAY8B,GAX9B,MAW8B,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,MAAA,GAAA,SAAA,CAAA;AAOlC;;;;AAG0B,KAfd,SAAA,GAec,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAbd,WAac,EAAA,GAZrB,OAYqB,CAZb,aAYa,CAAA;AAApB,UAVW,iBAAA,CAUX;;;AAEsB;AAMhB,UAXK,uBAWoB,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA;EAAA,MAAA,EAT/B,iBAS+B,CATb,OASa,CAAA,CAAA,QAAA,CAAA,GAR/B,mBAQ+B,CARX,OAQW,CAAA,CAAA,QAAA,CAAA,GAP/B,mBAO+B,CAPX,MAOW,CAAA;EAAA,OACf,CAAA,EAPV,gBAOU;;;;;AAIJ,KALN,yBAKM,CAAA,oBAJI,qBAIJ,EAAA,OAAA,CAAA,GAFd,UAEc,CADhB,uBACgB,CADQ,OACR,EADiB,eACjB,CADiC,WACjC,CAAA,CAAA,EAAhB,eAAgB,CAAA,WAAA,CAAA,CAAA;;;AAFJ;AAQF,KAAA,uBAAuB,CAAA,oBACb,qBADa,EAAA,OAAA,CAAA,GAG/B,QAH+B,CAIjC,uBAJiC,CAIT,OAJS,EAIA,eAJA,CAIgB,WAJhB,CAAA,CAAA,EAKjC,eALiC,CAKjB,WALiB,CAAA,CAAA;;;;AAIgB,KAOvC,aAPuC,CAAA,oBAQ7B,qBAR6B,EAAA,SAAA,OAAA,EAAA,UAAA,OAAA,CAAA,GAAA,CAAA,IAAA,EAAA;EAAW,EAAA,EAYxD,SAZ6B,CAYnB,MAZmB,CAAA;EAAe,IAAhD,EAAA,CAAA,EAAA,EAcM,SAdN,CAcgB,MAdhB,CAAA,EAAA,GAeK,yBAfL,CAe+B,WAf/B,EAe4C,OAf5C,CAAA;CAAuB,EAAA,GAgBnB,yBAfY,CAec,WAfd,EAe2B,OAf3B,CAAA;;;AAFN;AAQA,KAcA,QAda,CAAA,oBAcgB,qBAdhB,CAAA,GAAA,CAAA,IAAA,EAejB,iBAfiB,EAAA,GAgBpB,aAhBoB,CAgBN,WAhBM,CAAA"}
@@ -1,9 +0,0 @@
1
- import { WebSocketClientOptions } from "./wsClient/options.mjs";
2
- import { WsClient } from "./wsClient/wsClient.mjs";
3
-
4
- //#region src/links/wsLink/createWsClient.d.ts
5
- declare function createWSClient(opts: WebSocketClientOptions): WsClient;
6
- type TRPCWebSocketClient = ReturnType<typeof createWSClient>;
7
- //#endregion
8
- export { TRPCWebSocketClient, createWSClient };
9
- //# sourceMappingURL=createWsClient.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createWsClient.d.mts","names":[],"sources":["../../../src/links/wsLink/createWsClient.ts"],"sourcesContent":[],"mappings":";;;;iBAGgB,cAAA,OAAqB,yBAAsB;KAI/C,mBAAA,GAAsB,kBAAkB"}
@@ -1,9 +0,0 @@
1
- import { WebSocketClientOptions } from "./wsClient/options.js";
2
- import { WsClient } from "./wsClient/wsClient.js";
3
-
4
- //#region src/links/wsLink/createWsClient.d.ts
5
- declare function createWSClient(opts: WebSocketClientOptions): WsClient;
6
- type TRPCWebSocketClient = ReturnType<typeof createWSClient>;
7
- //#endregion
8
- export { TRPCWebSocketClient, createWSClient };
9
- //# sourceMappingURL=createWsClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createWsClient.d.ts","names":[],"sources":["../../../src/links/wsLink/createWsClient.ts"],"sourcesContent":[],"mappings":";;;;iBAGgB,cAAA,OAAqB,yBAAsB;KAI/C,mBAAA,GAAsB,kBAAkB"}
@@ -1,9 +0,0 @@
1
- const require_wsClient = require('./wsClient/wsClient.js');
2
-
3
- //#region src/links/wsLink/createWsClient.ts
4
- function createWSClient(opts) {
5
- return new require_wsClient.WsClient(opts);
6
- }
7
-
8
- //#endregion
9
- exports.createWSClient = createWSClient;
@@ -1,10 +0,0 @@
1
- import { WsClient } from "./wsClient/wsClient.mjs";
2
-
3
- //#region src/links/wsLink/createWsClient.ts
4
- function createWSClient(opts) {
5
- return new WsClient(opts);
6
- }
7
-
8
- //#endregion
9
- export { createWSClient };
10
- //# sourceMappingURL=createWsClient.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createWsClient.mjs","names":["opts: WebSocketClientOptions"],"sources":["../../../src/links/wsLink/createWsClient.ts"],"sourcesContent":["import type { WebSocketClientOptions } from './wsClient/options';\nimport { WsClient } from './wsClient/wsClient';\n\nexport function createWSClient(opts: WebSocketClientOptions) {\n return new WsClient(opts);\n}\n\nexport type TRPCWebSocketClient = ReturnType<typeof createWSClient>;\n\nexport { WebSocketClientOptions };\n"],"mappings":";;;AAGA,SAAgB,eAAeA,MAA8B;AAC3D,QAAO,IAAI,SAAS;AACrB"}
@@ -1,69 +0,0 @@
1
- import { UrlOptionsWithConnectionParams } from "../../internals/urlWithConnectionParams.mjs";
2
-
3
- //#region src/links/wsLink/wsClient/options.d.ts
4
- interface WebSocketClientOptions extends UrlOptionsWithConnectionParams {
5
- /**
6
- * Ponyfill which WebSocket implementation to use
7
- */
8
- WebSocket?: typeof WebSocket;
9
- /**
10
- * The number of milliseconds before a reconnect is attempted.
11
- * @default {@link exponentialBackoff}
12
- */
13
- retryDelayMs?: (attemptIndex: number) => number;
14
- /**
15
- * Triggered when a WebSocket connection is established
16
- */
17
- onOpen?: () => void;
18
- /**
19
- * Triggered when a WebSocket connection encounters an error
20
- */
21
- onError?: (evt?: Event) => void;
22
- /**
23
- * Triggered when a WebSocket connection is closed
24
- */
25
- onClose?: (cause?: {
26
- code?: number;
27
- }) => void;
28
- /**
29
- * Lazy mode will close the WebSocket automatically after a period of inactivity (no messages sent or received and no pending requests)
30
- */
31
- lazy?: {
32
- /**
33
- * Enable lazy mode
34
- * @default false
35
- */
36
- enabled: boolean;
37
- /**
38
- * Close the WebSocket after this many milliseconds
39
- * @default 0
40
- */
41
- closeMs: number;
42
- };
43
- /**
44
- * Send ping messages to the server and kill the connection if no pong message is returned
45
- */
46
- keepAlive?: {
47
- /**
48
- * @default false
49
- */
50
- enabled: boolean;
51
- /**
52
- * Send a ping message every this many milliseconds
53
- * @default 5_000
54
- */
55
- intervalMs?: number;
56
- /**
57
- * Close the WebSocket after this many milliseconds if the server does not respond
58
- * @default 1_000
59
- */
60
- pongTimeoutMs?: number;
61
- };
62
- }
63
- /**
64
- * Default options for lazy WebSocket connections.
65
- * Determines whether the connection should be established lazily and defines the delay before closure.
66
- */
67
- //#endregion
68
- export { WebSocketClientOptions };
69
- //# sourceMappingURL=options.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.d.mts","names":[],"sources":["../../../../src/links/wsLink/wsClient/options.ts"],"sourcesContent":[],"mappings":";;;UAEiB,sBAAA,SAA+B;;AAAhD;;EAAwC,SAInB,CAAA,EAAA,OAAA,SAAA;EAAS;;AAJgD;;;;;;;;;;mBAiB3D"}
@@ -1,69 +0,0 @@
1
- import { UrlOptionsWithConnectionParams } from "../../internals/urlWithConnectionParams.js";
2
-
3
- //#region src/links/wsLink/wsClient/options.d.ts
4
- interface WebSocketClientOptions extends UrlOptionsWithConnectionParams {
5
- /**
6
- * Ponyfill which WebSocket implementation to use
7
- */
8
- WebSocket?: typeof WebSocket;
9
- /**
10
- * The number of milliseconds before a reconnect is attempted.
11
- * @default {@link exponentialBackoff}
12
- */
13
- retryDelayMs?: (attemptIndex: number) => number;
14
- /**
15
- * Triggered when a WebSocket connection is established
16
- */
17
- onOpen?: () => void;
18
- /**
19
- * Triggered when a WebSocket connection encounters an error
20
- */
21
- onError?: (evt?: Event) => void;
22
- /**
23
- * Triggered when a WebSocket connection is closed
24
- */
25
- onClose?: (cause?: {
26
- code?: number;
27
- }) => void;
28
- /**
29
- * Lazy mode will close the WebSocket automatically after a period of inactivity (no messages sent or received and no pending requests)
30
- */
31
- lazy?: {
32
- /**
33
- * Enable lazy mode
34
- * @default false
35
- */
36
- enabled: boolean;
37
- /**
38
- * Close the WebSocket after this many milliseconds
39
- * @default 0
40
- */
41
- closeMs: number;
42
- };
43
- /**
44
- * Send ping messages to the server and kill the connection if no pong message is returned
45
- */
46
- keepAlive?: {
47
- /**
48
- * @default false
49
- */
50
- enabled: boolean;
51
- /**
52
- * Send a ping message every this many milliseconds
53
- * @default 5_000
54
- */
55
- intervalMs?: number;
56
- /**
57
- * Close the WebSocket after this many milliseconds if the server does not respond
58
- * @default 1_000
59
- */
60
- pongTimeoutMs?: number;
61
- };
62
- }
63
- /**
64
- * Default options for lazy WebSocket connections.
65
- * Determines whether the connection should be established lazily and defines the delay before closure.
66
- */
67
- //#endregion
68
- export { WebSocketClientOptions };
69
- //# sourceMappingURL=options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.d.ts","names":[],"sources":["../../../../src/links/wsLink/wsClient/options.ts"],"sourcesContent":[],"mappings":";;;UAEiB,sBAAA,SAA+B;;AAAhD;;EAAwC,SAInB,CAAA,EAAA,OAAA,SAAA;EAAS;;AAJgD;;;;;;;;;;mBAiB3D"}
@@ -1,24 +0,0 @@
1
-
2
- //#region src/links/wsLink/wsClient/options.ts
3
- const lazyDefaults = {
4
- enabled: false,
5
- closeMs: 0
6
- };
7
- const keepAliveDefaults = {
8
- enabled: false,
9
- pongTimeoutMs: 1e3,
10
- intervalMs: 5e3
11
- };
12
- /**
13
- * Calculates a delay for exponential backoff based on the retry attempt index.
14
- * The delay starts at 0 for the first attempt and doubles for each subsequent attempt,
15
- * capped at 30 seconds.
16
- */
17
- const exponentialBackoff = (attemptIndex) => {
18
- return attemptIndex === 0 ? 0 : Math.min(1e3 * 2 ** attemptIndex, 3e4);
19
- };
20
-
21
- //#endregion
22
- exports.exponentialBackoff = exponentialBackoff;
23
- exports.keepAliveDefaults = keepAliveDefaults;
24
- exports.lazyDefaults = lazyDefaults;
@@ -1,22 +0,0 @@
1
- //#region src/links/wsLink/wsClient/options.ts
2
- const lazyDefaults = {
3
- enabled: false,
4
- closeMs: 0
5
- };
6
- const keepAliveDefaults = {
7
- enabled: false,
8
- pongTimeoutMs: 1e3,
9
- intervalMs: 5e3
10
- };
11
- /**
12
- * Calculates a delay for exponential backoff based on the retry attempt index.
13
- * The delay starts at 0 for the first attempt and doubles for each subsequent attempt,
14
- * capped at 30 seconds.
15
- */
16
- const exponentialBackoff = (attemptIndex) => {
17
- return attemptIndex === 0 ? 0 : Math.min(1e3 * 2 ** attemptIndex, 3e4);
18
- };
19
-
20
- //#endregion
21
- export { exponentialBackoff, keepAliveDefaults, lazyDefaults };
22
- //# sourceMappingURL=options.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.mjs","names":["lazyDefaults: LazyOptions","keepAliveDefaults: KeepAliveOptions","attemptIndex: number"],"sources":["../../../../src/links/wsLink/wsClient/options.ts"],"sourcesContent":["import type { UrlOptionsWithConnectionParams } from '../../internals/urlWithConnectionParams';\n\nexport interface WebSocketClientOptions extends UrlOptionsWithConnectionParams {\n /**\n * Ponyfill which WebSocket implementation to use\n */\n WebSocket?: typeof WebSocket;\n /**\n * The number of milliseconds before a reconnect is attempted.\n * @default {@link exponentialBackoff}\n */\n retryDelayMs?: (attemptIndex: number) => number;\n /**\n * Triggered when a WebSocket connection is established\n */\n onOpen?: () => void;\n /**\n * Triggered when a WebSocket connection encounters an error\n */\n onError?: (evt?: Event) => void;\n /**\n * Triggered when a WebSocket connection is closed\n */\n onClose?: (cause?: { code?: number }) => void;\n /**\n * Lazy mode will close the WebSocket automatically after a period of inactivity (no messages sent or received and no pending requests)\n */\n lazy?: {\n /**\n * Enable lazy mode\n * @default false\n */\n enabled: boolean;\n /**\n * Close the WebSocket after this many milliseconds\n * @default 0\n */\n closeMs: number;\n };\n /**\n * Send ping messages to the server and kill the connection if no pong message is returned\n */\n keepAlive?: {\n /**\n * @default false\n */\n enabled: boolean;\n /**\n * Send a ping message every this many milliseconds\n * @default 5_000\n */\n intervalMs?: number;\n /**\n * Close the WebSocket after this many milliseconds if the server does not respond\n * @default 1_000\n */\n pongTimeoutMs?: number;\n };\n}\n\n/**\n * Default options for lazy WebSocket connections.\n * Determines whether the connection should be established lazily and defines the delay before closure.\n */\nexport type LazyOptions = Required<NonNullable<WebSocketClientOptions['lazy']>>;\nexport const lazyDefaults: LazyOptions = {\n enabled: false,\n closeMs: 0,\n};\n\n/**\n * Default options for the WebSocket keep-alive mechanism.\n * Configures whether keep-alive is enabled and specifies the timeout and interval for ping-pong messages.\n */\nexport type KeepAliveOptions = Required<\n NonNullable<WebSocketClientOptions['keepAlive']>\n>;\nexport const keepAliveDefaults: KeepAliveOptions = {\n enabled: false,\n pongTimeoutMs: 1_000,\n intervalMs: 5_000,\n};\n\n/**\n * Calculates a delay for exponential backoff based on the retry attempt index.\n * The delay starts at 0 for the first attempt and doubles for each subsequent attempt,\n * capped at 30 seconds.\n */\nexport const exponentialBackoff = (attemptIndex: number) => {\n return attemptIndex === 0 ? 0 : Math.min(1000 * 2 ** attemptIndex, 30000);\n};\n"],"mappings":";AAiEA,MAAaA,eAA4B;CACvC,SAAS;CACT,SAAS;AACV;AASD,MAAaC,oBAAsC;CACjD,SAAS;CACT,eAAe;CACf,YAAY;AACb;;;;;;AAOD,MAAa,qBAAqB,CAACC,iBAAyB;AAC1D,QAAO,iBAAiB,IAAI,IAAI,KAAK,IAAI,MAAO,KAAK,cAAc,IAAM;AAC1E"}
@@ -1,136 +0,0 @@
1
- const require_utils = require('./utils.js');
2
-
3
- //#region src/links/wsLink/wsClient/requestManager.ts
4
- /**
5
- * Manages WebSocket requests, tracking their lifecycle and providing utility methods
6
- * for handling outgoing and pending requests.
7
- *
8
- * - **Outgoing requests**: Requests that are queued and waiting to be sent.
9
- * - **Pending requests**: Requests that have been sent and are in flight awaiting a response.
10
- * For subscriptions, multiple responses may be received until the subscription is closed.
11
- */
12
- var RequestManager = class {
13
- /**
14
- * Stores requests that are outgoing, meaning they are registered but not yet sent over the WebSocket.
15
- */
16
- outgoingRequests = new Array();
17
- /**
18
- * Stores requests that are pending (in flight), meaning they have been sent over the WebSocket
19
- * and are awaiting responses. For subscriptions, this includes requests
20
- * that may receive multiple responses.
21
- */
22
- pendingRequests = {};
23
- /**
24
- * Registers a new request by adding it to the outgoing queue and setting up
25
- * callbacks for lifecycle events such as completion or error.
26
- *
27
- * @param message - The outgoing message to be sent.
28
- * @param callbacks - Callback functions to observe the request's state.
29
- * @returns A cleanup function to manually remove the request.
30
- */
31
- register(message, callbacks) {
32
- const { promise: end, resolve } = require_utils.withResolvers();
33
- this.outgoingRequests.push({
34
- id: String(message.id),
35
- message,
36
- end,
37
- callbacks: {
38
- next: callbacks.next,
39
- complete: () => {
40
- callbacks.complete();
41
- resolve();
42
- },
43
- error: (e) => {
44
- callbacks.error(e);
45
- resolve();
46
- }
47
- }
48
- });
49
- return () => {
50
- this.delete(message.id);
51
- callbacks.complete();
52
- resolve();
53
- };
54
- }
55
- /**
56
- * Deletes a request from both the outgoing and pending collections, if it exists.
57
- */
58
- delete(messageId) {
59
- if (messageId === null) return;
60
- this.outgoingRequests = this.outgoingRequests.filter(({ id }) => id !== String(messageId));
61
- delete this.pendingRequests[String(messageId)];
62
- }
63
- /**
64
- * Moves all outgoing requests to the pending state and clears the outgoing queue.
65
- *
66
- * The caller is expected to handle the actual sending of the requests
67
- * (e.g., sending them over the network) after this method is called.
68
- *
69
- * @returns The list of requests that were transitioned to the pending state.
70
- */
71
- flush() {
72
- const requests = this.outgoingRequests;
73
- this.outgoingRequests = [];
74
- for (const request of requests) this.pendingRequests[request.id] = request;
75
- return requests;
76
- }
77
- /**
78
- * Retrieves all currently pending requests, which are in flight awaiting responses
79
- * or handling ongoing subscriptions.
80
- */
81
- getPendingRequests() {
82
- return Object.values(this.pendingRequests);
83
- }
84
- /**
85
- * Retrieves a specific pending request by its message ID.
86
- */
87
- getPendingRequest(messageId) {
88
- if (messageId === null) return null;
89
- return this.pendingRequests[String(messageId)];
90
- }
91
- /**
92
- * Retrieves all outgoing requests, which are waiting to be sent.
93
- */
94
- getOutgoingRequests() {
95
- return this.outgoingRequests;
96
- }
97
- /**
98
- * Retrieves all requests, both outgoing and pending, with their respective states.
99
- *
100
- * @returns An array of all requests with their state ("outgoing" or "pending").
101
- */
102
- getRequests() {
103
- return [...this.getOutgoingRequests().map((request) => ({
104
- state: "outgoing",
105
- message: request.message,
106
- end: request.end,
107
- callbacks: request.callbacks
108
- })), ...this.getPendingRequests().map((request) => ({
109
- state: "pending",
110
- message: request.message,
111
- end: request.end,
112
- callbacks: request.callbacks
113
- }))];
114
- }
115
- /**
116
- * Checks if there are any pending requests, including ongoing subscriptions.
117
- */
118
- hasPendingRequests() {
119
- return this.getPendingRequests().length > 0;
120
- }
121
- /**
122
- * Checks if there are any pending subscriptions
123
- */
124
- hasPendingSubscriptions() {
125
- return this.getPendingRequests().some((request) => request.message.method === "subscription");
126
- }
127
- /**
128
- * Checks if there are any outgoing requests waiting to be sent.
129
- */
130
- hasOutgoingRequests() {
131
- return this.outgoingRequests.length > 0;
132
- }
133
- };
134
-
135
- //#endregion
136
- exports.RequestManager = RequestManager;