@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["opts: CreateTRPCClientOptions<TInferrable>","opts: {\n type: TRPCType;\n input: TInput;\n path: string;\n context?: OperationContext;\n signal: Maybe<AbortSignal>;\n }","path: string","input?: unknown","opts?: TRPCRequestOptions","input: unknown","opts: Partial<\n TRPCSubscriptionObserver<unknown, TRPCClientError<AnyRouter>>\n > &\n TRPCRequestOptions","opts: CreateTRPCClientOptions<TRouter>","clientCallTypeMap: Record<\n keyof DecorateProcedure<any, any>,\n ProcedureType\n>","clientCallType: string","client: TRPCUntypedClient<TRouter>","opts: CreateTRPCClientOptions<TRouter>","client: TRPCClient<TRouter>","opts: HTTPBatchLinkOptions<TRouter['_def']['_config']['$types']>","type: ProcedureType","opts","json: TRPCResponse","input: unknown","lastEventId: string | undefined","opts: UrlOptionsWithConnectionParams","opts: HTTPSubscriptionLinkOptions<\n inferClientTypes<TInferrable>,\n TEventSource\n >","lastEventId: string | undefined","result: TRPCResult<unknown>","opts: RetryLinkOptions<TInferrable>","next$: Unsubscribable","callNextTimeout: ReturnType<typeof setTimeout> | undefined","lastEventId: string | undefined","attempts: number","r","e","n","o","opts: LocalLinkOptions<TRouter>","chunk: unknown","ctx: inferRouterContext<TRouter> | undefined","newInput: unknown","cause: unknown","lastEventId: string | undefined","chunk: TRPCResult<unknown>"],"sources":["../src/internals/TRPCUntypedClient.ts","../src/createTRPCUntypedClient.ts","../src/createTRPCClient.ts","../src/links/httpBatchStreamLink.ts","../src/internals/inputWithTrackedEventId.ts","../src/links/httpSubscriptionLink.ts","../src/links/retryLink.ts","../../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js","../src/links/localLink.ts"],"sourcesContent":["import type {\n inferObservableValue,\n Unsubscribable,\n} from '@trpc/server/observable';\nimport { observableToPromise, share } from '@trpc/server/observable';\nimport type {\n AnyRouter,\n inferAsyncIterableYield,\n InferrableClientTypes,\n Maybe,\n TypeError,\n} from '@trpc/server/unstable-core-do-not-import';\nimport { createChain } from '../links/internals/createChain';\nimport type { TRPCConnectionState } from '../links/internals/subscriptions';\nimport type {\n OperationContext,\n OperationLink,\n TRPCClientRuntime,\n TRPCLink,\n} from '../links/types';\nimport { TRPCClientError } from '../TRPCClientError';\n\ntype TRPCType = 'mutation' | 'query' | 'subscription';\nexport interface TRPCRequestOptions {\n /**\n * Pass additional context to links\n */\n context?: OperationContext;\n signal?: AbortSignal;\n}\n\nexport interface TRPCSubscriptionObserver<TValue, TError> {\n onStarted: (opts: { context: OperationContext | undefined }) => void;\n onData: (value: inferAsyncIterableYield<TValue>) => void;\n onError: (err: TError) => void;\n onStopped: () => void;\n onComplete: () => void;\n onConnectionStateChange: (state: TRPCConnectionState<TError>) => void;\n}\n\n/** @internal */\nexport type CreateTRPCClientOptions<TRouter extends InferrableClientTypes> = {\n links: TRPCLink<TRouter>[];\n transformer?: TypeError<'The transformer property has moved to httpLink/httpBatchLink/wsLink'>;\n};\n\nexport class TRPCUntypedClient<TInferrable extends InferrableClientTypes> {\n private readonly links: OperationLink<TInferrable>[];\n public readonly runtime: TRPCClientRuntime;\n private requestId: number;\n\n constructor(opts: CreateTRPCClientOptions<TInferrable>) {\n this.requestId = 0;\n\n this.runtime = {};\n\n // Initialize the links\n this.links = opts.links.map((link) => link(this.runtime));\n }\n\n private $request<TInput = unknown, TOutput = unknown>(opts: {\n type: TRPCType;\n input: TInput;\n path: string;\n context?: OperationContext;\n signal: Maybe<AbortSignal>;\n }) {\n const chain$ = createChain<AnyRouter, TInput, TOutput>({\n links: this.links as OperationLink<any, any, any>[],\n op: {\n ...opts,\n context: opts.context ?? {},\n id: ++this.requestId,\n },\n });\n return chain$.pipe(share());\n }\n\n private async requestAsPromise<TInput = unknown, TOutput = unknown>(opts: {\n type: TRPCType;\n input: TInput;\n path: string;\n context?: OperationContext;\n signal: Maybe<AbortSignal>;\n }): Promise<TOutput> {\n try {\n const req$ = this.$request<TInput, TOutput>(opts);\n type TValue = inferObservableValue<typeof req$>;\n\n const envelope = await observableToPromise<TValue>(req$);\n const data = (envelope.result as any).data;\n return data;\n } catch (err) {\n throw TRPCClientError.from(err as Error);\n }\n }\n public query(path: string, input?: unknown, opts?: TRPCRequestOptions) {\n return this.requestAsPromise<unknown, unknown>({\n type: 'query',\n path,\n input,\n context: opts?.context,\n signal: opts?.signal,\n });\n }\n public mutation(path: string, input?: unknown, opts?: TRPCRequestOptions) {\n return this.requestAsPromise<unknown, unknown>({\n type: 'mutation',\n path,\n input,\n context: opts?.context,\n signal: opts?.signal,\n });\n }\n public subscription(\n path: string,\n input: unknown,\n opts: Partial<\n TRPCSubscriptionObserver<unknown, TRPCClientError<AnyRouter>>\n > &\n TRPCRequestOptions,\n ): Unsubscribable {\n const observable$ = this.$request({\n type: 'subscription',\n path,\n input,\n context: opts.context,\n signal: opts.signal,\n });\n return observable$.subscribe({\n next(envelope) {\n switch (envelope.result.type) {\n case 'state': {\n opts.onConnectionStateChange?.(envelope.result);\n break;\n }\n case 'started': {\n opts.onStarted?.({\n context: envelope.context,\n });\n break;\n }\n case 'stopped': {\n opts.onStopped?.();\n break;\n }\n case 'data':\n case undefined: {\n opts.onData?.(envelope.result.data);\n break;\n }\n }\n },\n error(err) {\n opts.onError?.(err);\n },\n complete() {\n opts.onComplete?.();\n },\n });\n }\n}\n","import type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';\nimport type { CreateTRPCClientOptions } from './internals/TRPCUntypedClient';\nimport { TRPCUntypedClient } from './internals/TRPCUntypedClient';\n\nexport function createTRPCUntypedClient<TRouter extends AnyRouter>(\n opts: CreateTRPCClientOptions<TRouter>,\n): TRPCUntypedClient<TRouter> {\n return new TRPCUntypedClient(opts);\n}\n\nexport type {\n CreateTRPCClientOptions,\n TRPCRequestOptions,\n} from './internals/TRPCUntypedClient';\nexport { TRPCUntypedClient } from './internals/TRPCUntypedClient';\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport type { Unsubscribable } from '@trpc/server/observable';\nimport type {\n AnyProcedure,\n AnyRouter,\n inferClientTypes,\n inferProcedureInput,\n InferrableClientTypes,\n inferTransformedProcedureOutput,\n ProcedureType,\n RouterRecord,\n} from '@trpc/server/unstable-core-do-not-import';\nimport {\n createFlatProxy,\n createRecursiveProxy,\n} from '@trpc/server/unstable-core-do-not-import';\nimport type { CreateTRPCClientOptions } from './createTRPCUntypedClient';\nimport type { TRPCSubscriptionObserver } from './internals/TRPCUntypedClient';\nimport { TRPCUntypedClient } from './internals/TRPCUntypedClient';\nimport type { TRPCProcedureOptions } from './internals/types';\nimport type { TRPCClientError } from './TRPCClientError';\n\n/**\n * @public\n * @deprecated use {@link TRPCClient} instead, will be removed in v12\n **/\nexport type inferRouterClient<TRouter extends AnyRouter> = TRPCClient<TRouter>;\n\n/**\n * @public\n * @deprecated use {@link TRPCClient} instead, will be removed in v12\n **/\nexport type CreateTRPCClient<TRouter extends AnyRouter> = TRPCClient<TRouter>;\n\nconst untypedClientSymbol = Symbol.for('trpc_untypedClient');\n\n/**\n * @public\n **/\nexport type TRPCClient<TRouter extends AnyRouter> = DecoratedProcedureRecord<\n {\n transformer: TRouter['_def']['_config']['$types']['transformer'];\n errorShape: TRouter['_def']['_config']['$types']['errorShape'];\n },\n TRouter['_def']['record']\n> & {\n [untypedClientSymbol]: TRPCUntypedClient<TRouter>;\n};\n\ntype ResolverDef = {\n input: any;\n output: any;\n transformer: boolean;\n errorShape: any;\n};\n\ntype coerceAsyncGeneratorToIterable<T> =\n T extends AsyncGenerator<infer $T, infer $Return, infer $Next>\n ? AsyncIterable<$T, $Return, $Next>\n : T;\n\n/** @internal */\nexport type Resolver<TDef extends ResolverDef> = (\n input: TDef['input'],\n opts?: TRPCProcedureOptions,\n) => Promise<coerceAsyncGeneratorToIterable<TDef['output']>>;\n\ntype SubscriptionResolver<TDef extends ResolverDef> = (\n input: TDef['input'],\n opts: Partial<\n TRPCSubscriptionObserver<TDef['output'], TRPCClientError<TDef>>\n > &\n TRPCProcedureOptions,\n) => Unsubscribable;\n\ntype DecorateProcedure<\n TType extends ProcedureType,\n TDef extends ResolverDef,\n> = TType extends 'query'\n ? {\n query: Resolver<TDef>;\n }\n : TType extends 'mutation'\n ? {\n mutate: Resolver<TDef>;\n }\n : TType extends 'subscription'\n ? {\n subscribe: SubscriptionResolver<TDef>;\n }\n : never;\n\n/**\n * @internal\n */\ntype DecoratedProcedureRecord<\n TRoot extends InferrableClientTypes,\n TRecord extends RouterRecord,\n> = {\n [TKey in keyof TRecord]: TRecord[TKey] extends infer $Value\n ? $Value extends AnyProcedure\n ? DecorateProcedure<\n $Value['_def']['type'],\n {\n input: inferProcedureInput<$Value>;\n output: inferTransformedProcedureOutput<\n inferClientTypes<TRoot>,\n $Value\n >;\n errorShape: inferClientTypes<TRoot>['errorShape'];\n transformer: inferClientTypes<TRoot>['transformer'];\n }\n >\n : $Value extends RouterRecord\n ? DecoratedProcedureRecord<TRoot, $Value>\n : never\n : never;\n};\n\nconst clientCallTypeMap: Record<\n keyof DecorateProcedure<any, any>,\n ProcedureType\n> = {\n query: 'query',\n mutate: 'mutation',\n subscribe: 'subscription',\n};\n\n/** @internal */\nexport const clientCallTypeToProcedureType = (\n clientCallType: string,\n): ProcedureType => {\n return clientCallTypeMap[clientCallType as keyof typeof clientCallTypeMap];\n};\n\n/**\n * @internal\n */\nexport function createTRPCClientProxy<TRouter extends AnyRouter>(\n client: TRPCUntypedClient<TRouter>,\n): TRPCClient<TRouter> {\n const proxy = createRecursiveProxy<TRPCClient<TRouter>>(({ path, args }) => {\n const pathCopy = [...path];\n const procedureType = clientCallTypeToProcedureType(pathCopy.pop()!);\n\n const fullPath = pathCopy.join('.');\n\n return (client[procedureType] as any)(fullPath, ...(args as any));\n });\n return createFlatProxy<TRPCClient<TRouter>>((key) => {\n if (key === untypedClientSymbol) {\n return client;\n }\n return proxy[key];\n });\n}\n\nexport function createTRPCClient<TRouter extends AnyRouter>(\n opts: CreateTRPCClientOptions<TRouter>,\n): TRPCClient<TRouter> {\n const client = new TRPCUntypedClient(opts);\n const proxy = createTRPCClientProxy<TRouter>(client);\n return proxy;\n}\n\n/**\n * Get an untyped client from a proxy client\n * @internal\n */\nexport function getUntypedClient<TRouter extends AnyRouter>(\n client: TRPCClient<TRouter>,\n): TRPCUntypedClient<TRouter> {\n return client[untypedClientSymbol];\n}\n","import type { AnyRouter, ProcedureType } from '@trpc/server';\nimport { observable } from '@trpc/server/observable';\nimport type { TRPCErrorShape, TRPCResponse } from '@trpc/server/rpc';\nimport { jsonlStreamConsumer } from '@trpc/server/unstable-core-do-not-import';\nimport type { BatchLoader } from '../internals/dataLoader';\nimport { dataLoader } from '../internals/dataLoader';\nimport { allAbortSignals, raceAbortSignals } from '../internals/signals';\nimport type { NonEmptyArray } from '../internals/types';\nimport { TRPCClientError } from '../TRPCClientError';\nimport type { HTTPBatchLinkOptions } from './HTTPBatchLinkOptions';\nimport type { HTTPResult } from './internals/httpUtils';\nimport {\n fetchHTTPResponse,\n getBody,\n getUrl,\n resolveHTTPLinkOptions,\n} from './internals/httpUtils';\nimport type { Operation, TRPCLink } from './types';\n\n/**\n * @see https://trpc.io/docs/client/links/httpBatchStreamLink\n */\nexport function httpBatchStreamLink<TRouter extends AnyRouter>(\n opts: HTTPBatchLinkOptions<TRouter['_def']['_config']['$types']>,\n): TRPCLink<TRouter> {\n const resolvedOpts = resolveHTTPLinkOptions(opts);\n const maxURLLength = opts.maxURLLength ?? Infinity;\n const maxItems = opts.maxItems ?? Infinity;\n\n return () => {\n const batchLoader = (\n type: ProcedureType,\n ): BatchLoader<Operation, HTTPResult> => {\n return {\n validate(batchOps) {\n if (maxURLLength === Infinity && maxItems === Infinity) {\n // escape hatch for quick calcs\n return true;\n }\n if (batchOps.length > maxItems) {\n return false;\n }\n const path = batchOps.map((op) => op.path).join(',');\n const inputs = batchOps.map((op) => op.input);\n\n const url = getUrl({\n ...resolvedOpts,\n type,\n path,\n inputs,\n signal: null,\n });\n\n return url.length <= maxURLLength;\n },\n async fetch(batchOps) {\n const path = batchOps.map((op) => op.path).join(',');\n const inputs = batchOps.map((op) => op.input);\n\n const batchSignals = allAbortSignals(\n ...batchOps.map((op) => op.signal),\n );\n const abortController = new AbortController();\n\n const responsePromise = fetchHTTPResponse({\n ...resolvedOpts,\n signal: raceAbortSignals(batchSignals, abortController.signal),\n type,\n contentTypeHeader: 'application/json',\n trpcAcceptHeader: 'application/jsonl',\n getUrl,\n getBody,\n inputs,\n path,\n headers() {\n if (!opts.headers) {\n return {};\n }\n if (typeof opts.headers === 'function') {\n return opts.headers({\n opList: batchOps as NonEmptyArray<Operation>,\n });\n }\n return opts.headers;\n },\n });\n\n const res = await responsePromise;\n const [head] = await jsonlStreamConsumer<\n Record<string, Promise<any>>\n >({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n from: res.body!,\n deserialize: resolvedOpts.transformer.output.deserialize,\n // onError: console.error,\n formatError(opts) {\n const error = opts.error as TRPCErrorShape;\n return TRPCClientError.from({\n error,\n });\n },\n abortController,\n });\n const promises = Object.keys(batchOps).map(\n async (key): Promise<HTTPResult> => {\n let json: TRPCResponse = await Promise.resolve(head[key]);\n\n if ('result' in json) {\n /**\n * Not very pretty, but we need to unwrap nested data as promises\n * Our stream producer will only resolve top-level async values or async values that are directly nested in another async value\n */\n const result = await Promise.resolve(json.result);\n json = {\n result: {\n data: await Promise.resolve(result.data),\n },\n };\n }\n\n return {\n json,\n meta: {\n response: res,\n },\n };\n },\n );\n return promises;\n },\n };\n };\n\n const query = dataLoader(batchLoader('query'));\n const mutation = dataLoader(batchLoader('mutation'));\n\n const loaders = { query, mutation };\n return ({ op }) => {\n return observable((observer) => {\n /* istanbul ignore if -- @preserve */\n if (op.type === 'subscription') {\n throw new Error(\n 'Subscriptions are unsupported by `httpBatchStreamLink` - use `httpSubscriptionLink` or `wsLink`',\n );\n }\n const loader = loaders[op.type];\n const promise = loader.load(op);\n\n let _res = undefined as HTTPResult | undefined;\n promise\n .then((res) => {\n _res = res;\n if ('error' in res.json) {\n observer.error(\n TRPCClientError.from(res.json, {\n meta: res.meta,\n }),\n );\n return;\n } else if ('result' in res.json) {\n observer.next({\n context: res.meta,\n result: res.json.result,\n });\n observer.complete();\n return;\n }\n\n observer.complete();\n })\n .catch((err) => {\n observer.error(\n TRPCClientError.from(err, {\n meta: _res?.meta,\n }),\n );\n });\n\n return () => {\n // noop\n };\n });\n };\n };\n}\n\n/**\n * @deprecated use {@link httpBatchStreamLink} instead\n */\nexport const unstable_httpBatchStreamLink = httpBatchStreamLink;\n","export function inputWithTrackedEventId(\n input: unknown,\n lastEventId: string | undefined,\n) {\n if (!lastEventId) {\n return input;\n }\n if (input != null && typeof input !== 'object') {\n return input;\n }\n return {\n ...(input ?? {}),\n lastEventId,\n };\n}\n","import { behaviorSubject, observable } from '@trpc/server/observable';\nimport type { TRPCErrorShape, TRPCResult } from '@trpc/server/rpc';\nimport type {\n AnyClientTypes,\n EventSourceLike,\n inferClientTypes,\n InferrableClientTypes,\n} from '@trpc/server/unstable-core-do-not-import';\nimport {\n retryableRpcCodes,\n run,\n sseStreamConsumer,\n} from '@trpc/server/unstable-core-do-not-import';\nimport { inputWithTrackedEventId } from '../internals/inputWithTrackedEventId';\nimport { raceAbortSignals } from '../internals/signals';\nimport { TRPCClientError } from '../TRPCClientError';\nimport type { TRPCConnectionState } from '../unstable-internals';\nimport { getTransformer, type TransformerOptions } from '../unstable-internals';\nimport { getUrl } from './internals/httpUtils';\nimport {\n resultOf,\n type UrlOptionsWithConnectionParams,\n} from './internals/urlWithConnectionParams';\nimport type { Operation, TRPCLink } from './types';\n\nasync function urlWithConnectionParams(\n opts: UrlOptionsWithConnectionParams,\n): Promise<string> {\n let url = await resultOf(opts.url);\n if (opts.connectionParams) {\n const params = await resultOf(opts.connectionParams);\n\n const prefix = url.includes('?') ? '&' : '?';\n url +=\n prefix + 'connectionParams=' + encodeURIComponent(JSON.stringify(params));\n }\n\n return url;\n}\n\ntype HTTPSubscriptionLinkOptions<\n TRoot extends AnyClientTypes,\n TEventSource extends EventSourceLike.AnyConstructor = typeof EventSource,\n> = {\n /**\n * EventSource ponyfill\n */\n EventSource?: TEventSource;\n /**\n * EventSource options or a callback that returns them\n */\n eventSourceOptions?:\n | EventSourceLike.InitDictOf<TEventSource>\n | ((opts: {\n op: Operation;\n }) =>\n | EventSourceLike.InitDictOf<TEventSource>\n | Promise<EventSourceLike.InitDictOf<TEventSource>>);\n} & TransformerOptions<TRoot> &\n UrlOptionsWithConnectionParams;\n\n/**\n * @see https://trpc.io/docs/client/links/httpSubscriptionLink\n */\nexport function httpSubscriptionLink<\n TInferrable extends InferrableClientTypes,\n TEventSource extends EventSourceLike.AnyConstructor,\n>(\n opts: HTTPSubscriptionLinkOptions<\n inferClientTypes<TInferrable>,\n TEventSource\n >,\n): TRPCLink<TInferrable> {\n const transformer = getTransformer(opts.transformer);\n\n return () => {\n return ({ op }) => {\n return observable((observer) => {\n const { type, path, input } = op;\n\n /* istanbul ignore if -- @preserve */\n if (type !== 'subscription') {\n throw new Error('httpSubscriptionLink only supports subscriptions');\n }\n\n let lastEventId: string | undefined = undefined;\n const ac = new AbortController();\n const signal = raceAbortSignals(op.signal, ac.signal);\n const eventSourceStream = sseStreamConsumer<{\n EventSource: TEventSource;\n data: Partial<{\n id?: string;\n data: unknown;\n }>;\n error: TRPCErrorShape;\n }>({\n url: async () =>\n getUrl({\n transformer,\n url: await urlWithConnectionParams(opts),\n input: inputWithTrackedEventId(input, lastEventId),\n path,\n type,\n signal: null,\n }),\n init: () => resultOf(opts.eventSourceOptions, { op }),\n signal,\n deserialize: transformer.output.deserialize,\n EventSource:\n opts.EventSource ??\n (globalThis.EventSource as never as TEventSource),\n });\n\n const connectionState = behaviorSubject<\n TRPCConnectionState<TRPCClientError<any>>\n >({\n type: 'state',\n state: 'connecting',\n error: null,\n });\n\n const connectionSub = connectionState.subscribe({\n next(state) {\n observer.next({\n result: state,\n });\n },\n });\n run(async () => {\n for await (const chunk of eventSourceStream) {\n switch (chunk.type) {\n case 'ping':\n // do nothing\n break;\n case 'data':\n const chunkData = chunk.data;\n\n let result: TRPCResult<unknown>;\n if (chunkData.id) {\n // if the `tracked()`-helper is used, we always have an `id` field\n lastEventId = chunkData.id;\n result = {\n id: chunkData.id,\n data: chunkData,\n };\n } else {\n result = {\n data: chunkData.data,\n };\n }\n\n observer.next({\n result,\n context: {\n eventSource: chunk.eventSource,\n },\n });\n break;\n case 'connected': {\n observer.next({\n result: {\n type: 'started',\n },\n context: {\n eventSource: chunk.eventSource,\n },\n });\n connectionState.next({\n type: 'state',\n state: 'pending',\n error: null,\n });\n break;\n }\n case 'serialized-error': {\n const error = TRPCClientError.from({ error: chunk.error });\n\n if (retryableRpcCodes.includes(chunk.error.code)) {\n //\n connectionState.next({\n type: 'state',\n state: 'connecting',\n error,\n });\n break;\n }\n //\n // non-retryable error, cancel the subscription\n throw error;\n }\n case 'connecting': {\n const lastState = connectionState.get();\n\n const error = chunk.event && TRPCClientError.from(chunk.event);\n if (!error && lastState.state === 'connecting') {\n break;\n }\n\n connectionState.next({\n type: 'state',\n state: 'connecting',\n error,\n });\n break;\n }\n case 'timeout': {\n connectionState.next({\n type: 'state',\n state: 'connecting',\n error: new TRPCClientError(\n `Timeout of ${chunk.ms}ms reached while waiting for a response`,\n ),\n });\n }\n }\n }\n observer.next({\n result: {\n type: 'stopped',\n },\n });\n connectionState.next({\n type: 'state',\n state: 'idle',\n error: null,\n });\n observer.complete();\n }).catch((error) => {\n observer.error(TRPCClientError.from(error));\n });\n\n return () => {\n observer.complete();\n ac.abort();\n connectionSub.unsubscribe();\n };\n });\n };\n };\n}\n\n/**\n * @deprecated use {@link httpSubscriptionLink} instead\n */\nexport const unstable_httpSubscriptionLink = httpSubscriptionLink;\n","/* 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","function _usingCtx() {\n var r = \"function\" == typeof SuppressedError ? SuppressedError : function (r, e) {\n var n = Error();\n return n.name = \"SuppressedError\", n.error = r, n.suppressed = e, n;\n },\n e = {},\n n = [];\n function using(r, e) {\n if (null != e) {\n if (Object(e) !== e) throw new TypeError(\"using declarations can only be used with objects, functions, null, or undefined.\");\n if (r) var o = e[Symbol.asyncDispose || Symbol[\"for\"](\"Symbol.asyncDispose\")];\n if (void 0 === o && (o = e[Symbol.dispose || Symbol[\"for\"](\"Symbol.dispose\")], r)) var t = o;\n if (\"function\" != typeof o) throw new TypeError(\"Object is not disposable.\");\n t && (o = function o() {\n try {\n t.call(e);\n } catch (r) {\n return Promise.reject(r);\n }\n }), n.push({\n v: e,\n d: o,\n a: r\n });\n } else r && n.push({\n d: e,\n a: r\n });\n return e;\n }\n return {\n e: e,\n u: using.bind(null, !1),\n a: using.bind(null, !0),\n d: function d() {\n var o,\n t = this.e,\n s = 0;\n function next() {\n for (; o = n.pop();) try {\n if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);\n if (o.d) {\n var r = o.d.call(o.v);\n if (o.a) return s |= 2, Promise.resolve(r).then(next, err);\n } else s |= 1;\n } catch (r) {\n return err(r);\n }\n if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();\n if (t !== e) throw t;\n }\n function err(n) {\n return t = t !== e ? new r(n, t) : n, next();\n }\n return next();\n }\n };\n}\nmodule.exports = _usingCtx, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import {\n getTRPCErrorFromUnknown,\n getTRPCErrorShape,\n isTrackedEnvelope,\n} from '@trpc/server';\nimport { behaviorSubject, observable } from '@trpc/server/observable';\nimport { TRPC_ERROR_CODES_BY_KEY, type TRPCResult } from '@trpc/server/rpc';\nimport {\n callProcedure,\n isAbortError,\n isAsyncIterable,\n iteratorResource,\n makeResource,\n retryableRpcCodes,\n run,\n type AnyRouter,\n type ErrorHandlerOptions,\n type inferClientTypes,\n type inferRouterContext,\n} from '@trpc/server/unstable-core-do-not-import';\nimport { inputWithTrackedEventId } from '../internals/inputWithTrackedEventId';\nimport { abortSignalToPromise, raceAbortSignals } from '../internals/signals';\nimport { getTransformer } from '../internals/transformer';\nimport type { TransformerOptions } from '../internals/transformer';\nimport { isTRPCClientError, TRPCClientError } from '../TRPCClientError';\nimport type { TRPCConnectionState } from './internals/subscriptions';\nimport type { TRPCLink } from './types';\n\nexport type LocalLinkOptions<TRouter extends AnyRouter> = {\n router: TRouter;\n createContext: () => Promise<inferRouterContext<TRouter>>;\n onError?: (opts: ErrorHandlerOptions<inferRouterContext<TRouter>>) => void;\n} & TransformerOptions<inferClientTypes<TRouter>>;\n\n/**\n * localLink is a terminating link that allows you to make tRPC procedure calls directly in your application without going through HTTP.\n *\n * @see https://trpc.io/docs/links/localLink\n */\nexport function experimental_localLink<TRouter extends AnyRouter>(\n opts: LocalLinkOptions<TRouter>,\n): TRPCLink<TRouter> {\n const transformer = getTransformer(opts.transformer);\n\n const transformChunk = (chunk: unknown) => {\n if (opts.transformer) {\n // assume transformer will do the right thing\n return chunk;\n }\n // Special case for undefined, because `JSON.stringify(undefined)` throws\n if (chunk === undefined) {\n return chunk;\n }\n const serialized = JSON.stringify(transformer.input.serialize(chunk));\n const deserialized = JSON.parse(transformer.output.deserialize(serialized));\n return deserialized;\n };\n\n return () =>\n ({ op }) =>\n observable((observer) => {\n let ctx: inferRouterContext<TRouter> | undefined = undefined;\n const ac = new AbortController();\n\n const signal = raceAbortSignals(op.signal, ac.signal);\n const signalPromise = abortSignalToPromise(signal);\n\n signalPromise.catch(() => {\n // prevent unhandled rejection\n });\n\n let input = op.input;\n async function runProcedure(newInput: unknown): Promise<unknown> {\n input = newInput;\n\n ctx = await opts.createContext();\n\n return callProcedure({\n router: opts.router,\n path: op.path,\n getRawInput: async () => newInput,\n ctx,\n type: op.type,\n signal,\n });\n }\n\n function onErrorCallback(cause: unknown) {\n if (isAbortError(cause)) {\n return;\n }\n opts.onError?.({\n error: getTRPCErrorFromUnknown(cause),\n type: op.type,\n path: op.path,\n input,\n ctx,\n });\n }\n\n function coerceToTRPCClientError(cause: unknown) {\n if (isTRPCClientError<TRouter>(cause)) {\n return cause;\n }\n const error = getTRPCErrorFromUnknown(cause);\n\n const shape = getTRPCErrorShape({\n config: opts.router._def._config,\n ctx,\n error,\n input,\n path: op.path,\n type: op.type,\n });\n return TRPCClientError.from({\n error: transformChunk(shape),\n });\n }\n\n run(async () => {\n switch (op.type) {\n case 'query':\n case 'mutation': {\n const result = await runProcedure(op.input);\n if (!isAsyncIterable(result)) {\n observer.next({\n result: { data: transformChunk(result) },\n });\n observer.complete();\n break;\n }\n\n observer.next({\n result: {\n data: (async function* () {\n await using iterator = iteratorResource(result);\n using _finally = makeResource({}, () => {\n observer.complete();\n });\n try {\n while (true) {\n const res = await Promise.race([\n iterator.next(),\n signalPromise,\n ]);\n if (res.done) {\n return transformChunk(res.value);\n }\n yield transformChunk(res.value);\n }\n } catch (cause) {\n onErrorCallback(cause);\n throw coerceToTRPCClientError(cause);\n }\n })(),\n },\n });\n break;\n }\n case 'subscription': {\n const connectionState = behaviorSubject<\n TRPCConnectionState<TRPCClientError<any>>\n >({\n type: 'state',\n state: 'connecting',\n error: null,\n });\n\n const connectionSub = connectionState.subscribe({\n next(state) {\n observer.next({\n result: state,\n });\n },\n });\n let lastEventId: string | undefined = undefined;\n\n using _finally = makeResource({}, async () => {\n observer.complete();\n\n connectionState.next({\n type: 'state',\n state: 'idle',\n error: null,\n });\n connectionSub.unsubscribe();\n });\n while (true) {\n const result = await runProcedure(\n inputWithTrackedEventId(op.input, lastEventId),\n );\n if (!isAsyncIterable(result)) {\n throw new Error('Expected an async iterable');\n }\n await using iterator = iteratorResource(result);\n\n observer.next({\n result: {\n type: 'started',\n },\n });\n connectionState.next({\n type: 'state',\n state: 'pending',\n error: null,\n });\n\n // Use a while loop to handle errors and reconnects\n while (true) {\n let res;\n try {\n res = await Promise.race([iterator.next(), signalPromise]);\n } catch (cause) {\n if (isAbortError(cause)) {\n return;\n }\n const error = getTRPCErrorFromUnknown(cause);\n\n if (\n !retryableRpcCodes.includes(\n TRPC_ERROR_CODES_BY_KEY[error.code],\n )\n ) {\n throw coerceToTRPCClientError(error);\n }\n\n onErrorCallback(error);\n connectionState.next({\n type: 'state',\n state: 'connecting',\n error: coerceToTRPCClientError(error),\n });\n\n break;\n }\n\n if (res.done) {\n return;\n }\n let chunk: TRPCResult<unknown>;\n if (isTrackedEnvelope(res.value)) {\n lastEventId = res.value[0];\n\n chunk = {\n id: res.value[0],\n data: {\n id: res.value[0],\n data: res.value[1],\n },\n };\n } else {\n chunk = {\n data: res.value,\n };\n }\n\n observer.next({\n result: {\n ...chunk,\n data: transformChunk(chunk.data),\n },\n });\n }\n }\n break;\n }\n }\n }).catch((cause) => {\n onErrorCallback(cause);\n observer.error(coerceToTRPCClientError(cause));\n });\n\n return () => {\n ac.abort();\n };\n });\n}\n"],"x_google_ignoreList":[7],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ require('../TRPCClientError-CGgRtttT.cjs');
2
+ require('../httpUtils-Buf6jCgh.cjs');
3
+ const require_httpBatchLink = require('../httpBatchLink-CIC9PZ_Z.cjs');
4
+ require('../unstable-internals-CYBH4jbF.cjs');
5
+
6
+ exports.httpBatchLink = require_httpBatchLink.httpBatchLink;
@@ -0,0 +1,6 @@
1
+ import "../subscriptions.d-Ciljg_dH.cjs";
2
+ import "../types.d-DqGYG6S_.cjs";
3
+ import "../unstable-internals.d-kWsZTlQq.cjs";
4
+ import "../httpUtils.d-DNRVGNHs.cjs";
5
+ import { httpBatchLink } from "../httpBatchLink.d-CLAuJKNV.cjs";
6
+ export { httpBatchLink };
@@ -1,15 +1,6 @@
1
- import { TRPCLink } from "./types.mjs";
2
- import { HTTPBatchLinkOptions } from "./HTTPBatchLinkOptions.mjs";
3
- import { AnyRouter } from "@trpc/server";
4
-
5
- //#region src/links/httpBatchLink.d.ts
6
-
7
- /**
8
- * @see https://trpc.io/docs/client/links/httpBatchLink
9
- */
10
- declare function httpBatchLink<TRouter extends AnyRouter>(opts: HTTPBatchLinkOptions<TRouter['_def']['_config']['$types']>): TRPCLink<TRouter>;
11
- //# sourceMappingURL=httpBatchLink.d.ts.map
12
-
13
- //#endregion
14
- export { httpBatchLink };
15
- //# sourceMappingURL=httpBatchLink.d.mts.map
1
+ import "../subscriptions.d-U92STdZl.mjs";
2
+ import "../types.d-DXbqQLCC.mjs";
3
+ import "../unstable-internals.d-DyLd-B0J.mjs";
4
+ import "../httpUtils.d-C8wPxU79.mjs";
5
+ import { httpBatchLink } from "../httpBatchLink.d-BN2Iw_cK.mjs";
6
+ export { httpBatchLink };
@@ -1,94 +1,6 @@
1
- import { TRPCClientError } from "../TRPCClientError.mjs";
2
- import { dataLoader } from "../internals/dataLoader.mjs";
3
- import { allAbortSignals } from "../internals/signals.mjs";
4
- import { getUrl, jsonHttpRequester, resolveHTTPLinkOptions } from "./internals/httpUtils.mjs";
5
- import { observable } from "@trpc/server/observable";
6
- import { transformResult } from "@trpc/server/unstable-core-do-not-import";
1
+ import "../TRPCClientError-COkhCKf3.mjs";
2
+ import "../httpUtils-3pbQzhUL.mjs";
3
+ import { httpBatchLink } from "../httpBatchLink-DIfnmmcu.mjs";
4
+ import "../unstable-internals-DU4WecoG.mjs";
7
5
 
8
- //#region src/links/httpBatchLink.ts
9
- /**
10
- * @see https://trpc.io/docs/client/links/httpBatchLink
11
- */
12
- function httpBatchLink(opts) {
13
- const resolvedOpts = resolveHTTPLinkOptions(opts);
14
- const maxURLLength = opts.maxURLLength ?? Infinity;
15
- const maxItems = opts.maxItems ?? Infinity;
16
- return () => {
17
- const batchLoader = (type) => {
18
- return {
19
- validate(batchOps) {
20
- if (maxURLLength === Infinity && maxItems === Infinity) return true;
21
- if (batchOps.length > maxItems) return false;
22
- const path = batchOps.map((op) => op.path).join(",");
23
- const inputs = batchOps.map((op) => op.input);
24
- const url = getUrl({
25
- ...resolvedOpts,
26
- type,
27
- path,
28
- inputs,
29
- signal: null
30
- });
31
- return url.length <= maxURLLength;
32
- },
33
- async fetch(batchOps) {
34
- const path = batchOps.map((op) => op.path).join(",");
35
- const inputs = batchOps.map((op) => op.input);
36
- const signal = allAbortSignals(...batchOps.map((op) => op.signal));
37
- const res = await jsonHttpRequester({
38
- ...resolvedOpts,
39
- path,
40
- inputs,
41
- type,
42
- headers() {
43
- if (!opts.headers) return {};
44
- if (typeof opts.headers === "function") return opts.headers({ opList: batchOps });
45
- return opts.headers;
46
- },
47
- signal
48
- });
49
- const resJSON = Array.isArray(res.json) ? res.json : batchOps.map(() => res.json);
50
- const result = resJSON.map((item) => ({
51
- meta: res.meta,
52
- json: item
53
- }));
54
- return result;
55
- }
56
- };
57
- };
58
- const query = dataLoader(batchLoader("query"));
59
- const mutation = dataLoader(batchLoader("mutation"));
60
- const loaders = {
61
- query,
62
- mutation
63
- };
64
- return ({ op }) => {
65
- return observable((observer) => {
66
- /* istanbul ignore if -- @preserve */
67
- if (op.type === "subscription") throw new Error("Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`");
68
- const loader = loaders[op.type];
69
- const promise = loader.load(op);
70
- let _res = void 0;
71
- promise.then((res) => {
72
- _res = res;
73
- const transformed = transformResult(res.json, resolvedOpts.transformer.output);
74
- if (!transformed.ok) {
75
- observer.error(TRPCClientError.from(transformed.error, { meta: res.meta }));
76
- return;
77
- }
78
- observer.next({
79
- context: res.meta,
80
- result: transformed.result
81
- });
82
- observer.complete();
83
- }).catch((err) => {
84
- observer.error(TRPCClientError.from(err, { meta: _res?.meta }));
85
- });
86
- return () => {};
87
- });
88
- };
89
- };
90
- }
91
-
92
- //#endregion
93
- export { httpBatchLink };
94
- //# sourceMappingURL=httpBatchLink.mjs.map
6
+ export { httpBatchLink };
@@ -0,0 +1,6 @@
1
+ require('../TRPCClientError-CGgRtttT.cjs');
2
+ require('../httpUtils-Buf6jCgh.cjs');
3
+ const require_httpLink = require('../httpLink-BbVj_TgM.cjs');
4
+ require('../unstable-internals-CYBH4jbF.cjs');
5
+
6
+ exports.httpLink = require_httpLink.httpLink;
@@ -0,0 +1,6 @@
1
+ import "../subscriptions.d-Ciljg_dH.cjs";
2
+ import "../types.d-DqGYG6S_.cjs";
3
+ import "../unstable-internals.d-kWsZTlQq.cjs";
4
+ import "../httpUtils.d-DNRVGNHs.cjs";
5
+ import { HTTPLinkOptions, httpLink } from "../httpLink.d-yMKfOlTU.cjs";
6
+ export { HTTPLinkOptions, httpLink };
@@ -1,23 +1,6 @@
1
- import { HTTPHeaders, Operation, TRPCLink } from "./types.mjs";
2
- import { HTTPLinkBaseOptions } from "./internals/httpUtils.mjs";
3
- import { AnyClientTypes, AnyRouter } from "@trpc/server/unstable-core-do-not-import";
4
-
5
- //#region src/links/httpLink.d.ts
6
- type HTTPLinkOptions<TRoot extends AnyClientTypes> = HTTPLinkBaseOptions<TRoot> & {
7
- /**
8
- * Headers to be set on outgoing requests or a callback that of said headers
9
- * @see http://trpc.io/docs/client/headers
10
- */
11
- headers?: HTTPHeaders | ((opts: {
12
- op: Operation;
13
- }) => HTTPHeaders | Promise<HTTPHeaders>);
14
- };
15
- /**
16
- * @see https://trpc.io/docs/client/links/httpLink
17
- */
18
- declare function httpLink<TRouter extends AnyRouter = AnyRouter>(opts: HTTPLinkOptions<TRouter['_def']['_config']['$types']>): TRPCLink<TRouter>;
19
- //# sourceMappingURL=httpLink.d.ts.map
20
-
21
- //#endregion
22
- export { HTTPLinkOptions, httpLink };
23
- //# sourceMappingURL=httpLink.d.mts.map
1
+ import "../subscriptions.d-U92STdZl.mjs";
2
+ import "../types.d-DXbqQLCC.mjs";
3
+ import "../unstable-internals.d-DyLd-B0J.mjs";
4
+ import "../httpUtils.d-C8wPxU79.mjs";
5
+ import { HTTPLinkOptions, httpLink } from "../httpLink.d-CTSOARfE.mjs";
6
+ export { HTTPLinkOptions, httpLink };
@@ -1,79 +1,6 @@
1
- import { TRPCClientError } from "../TRPCClientError.mjs";
2
- import { isFormData, isOctetType } from "./internals/contentTypes.mjs";
3
- import { getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions } from "./internals/httpUtils.mjs";
4
- import { observable } from "@trpc/server/observable";
5
- import { transformResult } from "@trpc/server/unstable-core-do-not-import";
1
+ import "../TRPCClientError-COkhCKf3.mjs";
2
+ import "../httpUtils-3pbQzhUL.mjs";
3
+ import { httpLink } from "../httpLink-9bpwQ15c.mjs";
4
+ import "../unstable-internals-DU4WecoG.mjs";
6
5
 
7
- //#region src/links/httpLink.ts
8
- const universalRequester = (opts) => {
9
- if ("input" in opts) {
10
- const { input } = opts;
11
- if (isFormData(input)) {
12
- if (opts.type !== "mutation" && opts.methodOverride !== "POST") throw new Error("FormData is only supported for mutations");
13
- return httpRequest({
14
- ...opts,
15
- contentTypeHeader: void 0,
16
- getUrl,
17
- getBody: () => input
18
- });
19
- }
20
- if (isOctetType(input)) {
21
- if (opts.type !== "mutation" && opts.methodOverride !== "POST") throw new Error("Octet type input is only supported for mutations");
22
- return httpRequest({
23
- ...opts,
24
- contentTypeHeader: "application/octet-stream",
25
- getUrl,
26
- getBody: () => input
27
- });
28
- }
29
- }
30
- return jsonHttpRequester(opts);
31
- };
32
- /**
33
- * @see https://trpc.io/docs/client/links/httpLink
34
- */
35
- function httpLink(opts) {
36
- const resolvedOpts = resolveHTTPLinkOptions(opts);
37
- return () => {
38
- return ({ op }) => {
39
- return observable((observer) => {
40
- const { path, input, type } = op;
41
- /* istanbul ignore if -- @preserve */
42
- if (type === "subscription") throw new Error("Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`");
43
- const request = universalRequester({
44
- ...resolvedOpts,
45
- type,
46
- path,
47
- input,
48
- signal: op.signal,
49
- headers() {
50
- if (!opts.headers) return {};
51
- if (typeof opts.headers === "function") return opts.headers({ op });
52
- return opts.headers;
53
- }
54
- });
55
- let meta = void 0;
56
- request.then((res) => {
57
- meta = res.meta;
58
- const transformed = transformResult(res.json, resolvedOpts.transformer.output);
59
- if (!transformed.ok) {
60
- observer.error(TRPCClientError.from(transformed.error, { meta }));
61
- return;
62
- }
63
- observer.next({
64
- context: res.meta,
65
- result: transformed.result
66
- });
67
- observer.complete();
68
- }).catch((cause) => {
69
- observer.error(TRPCClientError.from(cause, { meta }));
70
- });
71
- return () => {};
72
- });
73
- };
74
- };
75
- }
76
-
77
- //#endregion
78
- export { httpLink };
79
- //# sourceMappingURL=httpLink.mjs.map
6
+ export { httpLink };
@@ -0,0 +1,3 @@
1
+ const require_loggerLink = require('../loggerLink-CsDfg5Bb.cjs');
2
+
3
+ exports.loggerLink = require_loggerLink.loggerLink;
@@ -0,0 +1,4 @@
1
+ import "../subscriptions.d-Ciljg_dH.cjs";
2
+ import "../types.d-DqGYG6S_.cjs";
3
+ import { LoggerLinkOptions, loggerLink } from "../loggerLink.d-DU855urG.cjs";
4
+ export { LoggerLinkOptions, loggerLink };
@@ -1,55 +1,4 @@
1
- import { TRPCClientError } from "../TRPCClientError.mjs";
2
- import { Operation, OperationResultEnvelope, TRPCLink } from "./types.mjs";
3
- import { AnyRouter, InferrableClientTypes } from "@trpc/server/unstable-core-do-not-import";
4
-
5
- //#region src/links/loggerLink.d.ts
6
- type ConsoleEsque = {
7
- log: (...args: any[]) => void;
8
- error: (...args: any[]) => void;
9
- };
10
- type EnableFnOptions<TRouter extends InferrableClientTypes> = {
11
- direction: 'down';
12
- result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
13
- } | (Operation & {
14
- direction: 'up';
15
- });
16
- type EnabledFn<TRouter extends AnyRouter> = (opts: EnableFnOptions<TRouter>) => boolean;
17
- type LoggerLinkFnOptions<TRouter extends AnyRouter> = Operation & ({
18
- /**
19
- * Request result
20
- */
21
- direction: 'down';
22
- result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
23
- elapsedMs: number;
24
- } | {
25
- /**
26
- * Request was just initialized
27
- */
28
- direction: 'up';
29
- });
30
- type LoggerLinkFn<TRouter extends AnyRouter> = (opts: LoggerLinkFnOptions<TRouter>) => void;
31
- type ColorMode = 'ansi' | 'css' | 'none';
32
- interface LoggerLinkOptions<TRouter extends AnyRouter> {
33
- logger?: LoggerLinkFn<TRouter>;
34
- enabled?: EnabledFn<TRouter>;
35
- /**
36
- * Used in the built-in defaultLogger
37
- */
38
- console?: ConsoleEsque;
39
- /**
40
- * Color mode
41
- * @default typeof window === 'undefined' ? 'ansi' : 'css'
42
- */
43
- colorMode?: ColorMode;
44
- /**
45
- * Include context in the log - defaults to false unless `colorMode` is 'css'
46
- */
47
- withContext?: boolean;
48
- }
49
- /**
50
- * @see https://trpc.io/docs/v11/client/links/loggerLink
51
- */
52
- declare function loggerLink<TRouter extends AnyRouter = AnyRouter>(opts?: LoggerLinkOptions<TRouter>): TRPCLink<TRouter>;
53
- //#endregion
54
- export { LoggerLinkOptions, loggerLink };
55
- //# sourceMappingURL=loggerLink.d.mts.map
1
+ import "../subscriptions.d-U92STdZl.mjs";
2
+ import "../types.d-DXbqQLCC.mjs";
3
+ import { LoggerLinkOptions, loggerLink } from "../loggerLink.d-CZjK1CXm.mjs";
4
+ export { LoggerLinkOptions, loggerLink };
@@ -1,125 +1,3 @@
1
- import { observable, tap } from "@trpc/server/observable";
1
+ import { loggerLink } from "../loggerLink-PGBSQFcR.mjs";
2
2
 
3
- //#region src/links/loggerLink.ts
4
- function isFormData(value) {
5
- if (typeof FormData === "undefined") return false;
6
- return value instanceof FormData;
7
- }
8
- const palettes = {
9
- css: {
10
- query: ["72e3ff", "3fb0d8"],
11
- mutation: ["c5a3fc", "904dfc"],
12
- subscription: ["ff49e1", "d83fbe"]
13
- },
14
- ansi: {
15
- regular: {
16
- query: ["\x1B[30;46m", "\x1B[97;46m"],
17
- mutation: ["\x1B[30;45m", "\x1B[97;45m"],
18
- subscription: ["\x1B[30;42m", "\x1B[97;42m"]
19
- },
20
- bold: {
21
- query: ["\x1B[1;30;46m", "\x1B[1;97;46m"],
22
- mutation: ["\x1B[1;30;45m", "\x1B[1;97;45m"],
23
- subscription: ["\x1B[1;30;42m", "\x1B[1;97;42m"]
24
- }
25
- }
26
- };
27
- function constructPartsAndArgs(opts) {
28
- const { direction, type, withContext, path, id, input } = opts;
29
- const parts = [];
30
- const args = [];
31
- if (opts.colorMode === "none") parts.push(direction === "up" ? ">>" : "<<", type, `#${id}`, path);
32
- else if (opts.colorMode === "ansi") {
33
- const [lightRegular, darkRegular] = palettes.ansi.regular[type];
34
- const [lightBold, darkBold] = palettes.ansi.bold[type];
35
- const reset = "\x1B[0m";
36
- parts.push(direction === "up" ? lightRegular : darkRegular, direction === "up" ? ">>" : "<<", type, direction === "up" ? lightBold : darkBold, `#${id}`, path, reset);
37
- } else {
38
- const [light, dark] = palettes.css[type];
39
- const css = `
40
- background-color: #${direction === "up" ? light : dark};
41
- color: ${direction === "up" ? "black" : "white"};
42
- padding: 2px;
43
- `;
44
- parts.push("%c", direction === "up" ? ">>" : "<<", type, `#${id}`, `%c${path}%c`, "%O");
45
- args.push(css, `${css}; font-weight: bold;`, `${css}; font-weight: normal;`);
46
- }
47
- if (direction === "up") args.push(withContext ? {
48
- input,
49
- context: opts.context
50
- } : { input });
51
- else args.push({
52
- input,
53
- result: opts.result,
54
- elapsedMs: opts.elapsedMs,
55
- ...withContext && { context: opts.context }
56
- });
57
- return {
58
- parts,
59
- args
60
- };
61
- }
62
- const defaultLogger = ({ c = console, colorMode = "css", withContext }) => (props) => {
63
- const rawInput = props.input;
64
- const input = isFormData(rawInput) ? Object.fromEntries(rawInput) : rawInput;
65
- const { parts, args } = constructPartsAndArgs({
66
- ...props,
67
- colorMode,
68
- input,
69
- withContext
70
- });
71
- const fn = props.direction === "down" && props.result && (props.result instanceof Error || "error" in props.result.result && props.result.result.error) ? "error" : "log";
72
- c[fn].apply(null, [parts.join(" ")].concat(args));
73
- };
74
- /**
75
- * @see https://trpc.io/docs/v11/client/links/loggerLink
76
- */
77
- function loggerLink(opts = {}) {
78
- const { enabled = () => true } = opts;
79
- const colorMode = opts.colorMode ?? (typeof window === "undefined" ? "ansi" : "css");
80
- const withContext = opts.withContext ?? colorMode === "css";
81
- const { logger = defaultLogger({
82
- c: opts.console,
83
- colorMode,
84
- withContext
85
- }) } = opts;
86
- return () => {
87
- return ({ op, next }) => {
88
- return observable((observer) => {
89
- if (enabled({
90
- ...op,
91
- direction: "up"
92
- })) logger({
93
- ...op,
94
- direction: "up"
95
- });
96
- const requestStartTime = Date.now();
97
- function logResult(result) {
98
- const elapsedMs = Date.now() - requestStartTime;
99
- if (enabled({
100
- ...op,
101
- direction: "down",
102
- result
103
- })) logger({
104
- ...op,
105
- direction: "down",
106
- elapsedMs,
107
- result
108
- });
109
- }
110
- return next(op).pipe(tap({
111
- next(result) {
112
- logResult(result);
113
- },
114
- error(result) {
115
- logResult(result);
116
- }
117
- })).subscribe(observer);
118
- });
119
- };
120
- };
121
- }
122
-
123
- //#endregion
124
- export { loggerLink };
125
- //# sourceMappingURL=loggerLink.mjs.map
3
+ export { loggerLink };
@@ -0,0 +1,3 @@
1
+ const require_splitLink = require('../splitLink-BMgxggng.cjs');
2
+
3
+ exports.splitLink = require_splitLink.splitLink;
@@ -0,0 +1,4 @@
1
+ import "../subscriptions.d-Ciljg_dH.cjs";
2
+ import "../types.d-DqGYG6S_.cjs";
3
+ import { splitLink } from "../splitLink.d-GdevSkGW.cjs";
4
+ export { splitLink };
@@ -1,20 +1,4 @@
1
- import { Operation, TRPCLink } from "./types.mjs";
2
- import { AnyRouter } from "@trpc/server/unstable-core-do-not-import";
3
-
4
- //#region src/links/splitLink.d.ts
5
- declare function splitLink<TRouter extends AnyRouter = AnyRouter>(opts: {
6
- condition: (op: Operation) => boolean;
7
- /**
8
- * The link to execute next if the test function returns `true`.
9
- */
10
- true: TRPCLink<TRouter> | TRPCLink<TRouter>[];
11
- /**
12
- * The link to execute next if the test function returns `false`.
13
- */
14
- false: TRPCLink<TRouter> | TRPCLink<TRouter>[];
15
- }): TRPCLink<TRouter>;
16
- //# sourceMappingURL=splitLink.d.ts.map
17
-
18
- //#endregion
19
- export { splitLink };
20
- //# sourceMappingURL=splitLink.d.mts.map
1
+ import "../subscriptions.d-U92STdZl.mjs";
2
+ import "../types.d-DXbqQLCC.mjs";
3
+ import { splitLink } from "../splitLink.d-BAqgq0NG.mjs";
4
+ export { splitLink };