@trpc/client 11.1.2 → 11.1.3-alpha-tmp-tsdown.23

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 (234) hide show
  1. package/dist/TRPCClientError.d.mts +33 -0
  2. package/dist/TRPCClientError.d.mts.map +1 -0
  3. package/dist/TRPCClientError.d.ts +29 -25
  4. package/dist/TRPCClientError.d.ts.map +1 -1
  5. package/dist/TRPCClientError.js +48 -72
  6. package/dist/TRPCClientError.mjs +48 -71
  7. package/dist/TRPCClientError.mjs.map +1 -0
  8. package/dist/_virtual/rolldown_runtime.js +39 -0
  9. package/dist/_virtual/rolldown_runtime.mjs +27 -0
  10. package/dist/createTRPCClient.d.mts +73 -0
  11. package/dist/createTRPCClient.d.mts.map +1 -0
  12. package/dist/createTRPCClient.d.ts +38 -34
  13. package/dist/createTRPCClient.d.ts.map +1 -1
  14. package/dist/createTRPCClient.js +34 -34
  15. package/dist/createTRPCClient.mjs +33 -31
  16. package/dist/createTRPCClient.mjs.map +1 -0
  17. package/dist/createTRPCUntypedClient.d.mts +9 -0
  18. package/dist/createTRPCUntypedClient.d.mts.map +1 -0
  19. package/dist/createTRPCUntypedClient.d.ts +8 -6
  20. package/dist/createTRPCUntypedClient.d.ts.map +1 -1
  21. package/dist/createTRPCUntypedClient.js +5 -6
  22. package/dist/createTRPCUntypedClient.mjs +6 -3
  23. package/dist/createTRPCUntypedClient.mjs.map +1 -0
  24. package/dist/getFetch.d.mts +10 -0
  25. package/dist/getFetch.d.mts.map +1 -0
  26. package/dist/getFetch.d.ts +9 -2
  27. package/dist/getFetch.d.ts.map +1 -1
  28. package/dist/getFetch.js +8 -13
  29. package/dist/getFetch.mjs +8 -11
  30. package/dist/getFetch.mjs.map +1 -0
  31. package/dist/index.d.mts +21 -0
  32. package/dist/index.d.ts +21 -16
  33. package/dist/index.js +41 -42
  34. package/dist/index.mjs +18 -15
  35. package/dist/internals/TRPCUntypedClient.d.mts +46 -0
  36. package/dist/internals/TRPCUntypedClient.d.mts.map +1 -0
  37. package/dist/internals/TRPCUntypedClient.d.ts +40 -33
  38. package/dist/internals/TRPCUntypedClient.d.ts.map +1 -1
  39. package/dist/internals/TRPCUntypedClient.js +94 -113
  40. package/dist/internals/TRPCUntypedClient.mjs +93 -110
  41. package/dist/internals/TRPCUntypedClient.mjs.map +1 -0
  42. package/dist/internals/dataLoader.js +101 -116
  43. package/dist/internals/dataLoader.mjs +101 -114
  44. package/dist/internals/dataLoader.mjs.map +1 -0
  45. package/dist/internals/inputWithTrackedEventId.js +9 -12
  46. package/dist/internals/inputWithTrackedEventId.mjs +9 -10
  47. package/dist/internals/inputWithTrackedEventId.mjs.map +1 -0
  48. package/dist/internals/signals.js +39 -40
  49. package/dist/internals/signals.mjs +39 -39
  50. package/dist/internals/signals.mjs.map +1 -0
  51. package/dist/internals/transformer.d.mts +47 -0
  52. package/dist/internals/transformer.d.mts.map +1 -0
  53. package/dist/internals/transformer.d.ts +28 -23
  54. package/dist/internals/transformer.d.ts.map +1 -1
  55. package/dist/internals/transformer.js +25 -26
  56. package/dist/internals/transformer.mjs +25 -24
  57. package/dist/internals/transformer.mjs.map +1 -0
  58. package/dist/internals/types.d.mts +85 -0
  59. package/dist/internals/types.d.mts.map +1 -0
  60. package/dist/internals/types.d.ts +45 -42
  61. package/dist/internals/types.d.ts.map +1 -1
  62. package/dist/links/HTTPBatchLinkOptions.d.mts +25 -0
  63. package/dist/links/HTTPBatchLinkOptions.d.mts.map +1 -0
  64. package/dist/links/HTTPBatchLinkOptions.d.ts +23 -18
  65. package/dist/links/HTTPBatchLinkOptions.d.ts.map +1 -1
  66. package/dist/links/httpBatchLink.d.mts +18 -0
  67. package/dist/links/httpBatchLink.d.mts.map +1 -0
  68. package/dist/links/httpBatchLink.d.ts +14 -4
  69. package/dist/links/httpBatchLink.d.ts.map +1 -1
  70. package/dist/links/httpBatchLink.js +90 -106
  71. package/dist/links/httpBatchLink.mjs +89 -103
  72. package/dist/links/httpBatchLink.mjs.map +1 -0
  73. package/dist/links/httpBatchStreamLink.d.mts +22 -0
  74. package/dist/links/httpBatchStreamLink.d.mts.map +1 -0
  75. package/dist/links/httpBatchStreamLink.d.ts +15 -5
  76. package/dist/links/httpBatchStreamLink.d.ts.map +1 -1
  77. package/dist/links/httpBatchStreamLink.js +120 -144
  78. package/dist/links/httpBatchStreamLink.mjs +119 -141
  79. package/dist/links/httpBatchStreamLink.mjs.map +1 -0
  80. package/dist/links/httpLink.d.mts +24 -0
  81. package/dist/links/httpLink.d.mts.map +1 -0
  82. package/dist/links/httpLink.d.ts +19 -12
  83. package/dist/links/httpLink.d.ts.map +1 -1
  84. package/dist/links/httpLink.js +74 -90
  85. package/dist/links/httpLink.mjs +73 -87
  86. package/dist/links/httpLink.mjs.map +1 -0
  87. package/dist/links/httpSubscriptionLink.d.mts +30 -0
  88. package/dist/links/httpSubscriptionLink.d.mts.map +1 -0
  89. package/dist/links/httpSubscriptionLink.d.ts +21 -17
  90. package/dist/links/httpSubscriptionLink.d.ts.map +1 -1
  91. package/dist/links/httpSubscriptionLink.js +134 -179
  92. package/dist/links/httpSubscriptionLink.mjs +133 -176
  93. package/dist/links/httpSubscriptionLink.mjs.map +1 -0
  94. package/dist/links/internals/contentTypes.d.mts +10 -0
  95. package/dist/links/internals/contentTypes.d.mts.map +1 -0
  96. package/dist/links/internals/contentTypes.d.ts +9 -3
  97. package/dist/links/internals/contentTypes.d.ts.map +1 -1
  98. package/dist/links/internals/contentTypes.js +6 -6
  99. package/dist/links/internals/contentTypes.mjs +6 -4
  100. package/dist/links/internals/contentTypes.mjs.map +1 -0
  101. package/dist/links/internals/createChain.js +23 -23
  102. package/dist/links/internals/createChain.mjs +22 -20
  103. package/dist/links/internals/createChain.mjs.map +1 -0
  104. package/dist/links/internals/httpUtils.d.mts +26 -0
  105. package/dist/links/internals/httpUtils.d.mts.map +1 -0
  106. package/dist/links/internals/httpUtils.d.ts +22 -64
  107. package/dist/links/internals/httpUtils.d.ts.map +1 -1
  108. package/dist/links/internals/httpUtils.js +93 -116
  109. package/dist/links/internals/httpUtils.mjs +94 -113
  110. package/dist/links/internals/httpUtils.mjs.map +1 -0
  111. package/dist/links/internals/subscriptions.d.mts +20 -0
  112. package/dist/links/internals/subscriptions.d.mts.map +1 -0
  113. package/dist/links/internals/subscriptions.d.ts +11 -8
  114. package/dist/links/internals/subscriptions.d.ts.map +1 -1
  115. package/dist/links/internals/urlWithConnectionParams.d.mts +27 -0
  116. package/dist/links/internals/urlWithConnectionParams.d.mts.map +1 -0
  117. package/dist/links/internals/urlWithConnectionParams.d.ts +22 -18
  118. package/dist/links/internals/urlWithConnectionParams.d.ts.map +1 -1
  119. package/dist/links/internals/urlWithConnectionParams.js +8 -6
  120. package/dist/links/internals/urlWithConnectionParams.mjs +8 -4
  121. package/dist/links/internals/urlWithConnectionParams.mjs.map +1 -0
  122. package/dist/links/localLink.d.mts +22 -0
  123. package/dist/links/localLink.d.mts.map +1 -0
  124. package/dist/links/localLink.d.ts +22 -0
  125. package/dist/links/localLink.d.ts.map +1 -0
  126. package/dist/links/localLink.js +192 -0
  127. package/dist/links/localLink.mjs +193 -0
  128. package/dist/links/localLink.mjs.map +1 -0
  129. package/dist/links/loggerLink.d.mts +56 -0
  130. package/dist/links/loggerLink.d.mts.map +1 -0
  131. package/dist/links/loggerLink.d.ts +40 -36
  132. package/dist/links/loggerLink.d.ts.map +1 -1
  133. package/dist/links/loggerLink.js +113 -166
  134. package/dist/links/loggerLink.mjs +112 -163
  135. package/dist/links/loggerLink.mjs.map +1 -0
  136. package/dist/links/retryLink.d.mts +35 -0
  137. package/dist/links/retryLink.d.mts.map +1 -0
  138. package/dist/links/retryLink.d.ts +27 -25
  139. package/dist/links/retryLink.d.ts.map +1 -1
  140. package/dist/links/retryLink.js +60 -68
  141. package/dist/links/retryLink.mjs +59 -65
  142. package/dist/links/retryLink.mjs.map +1 -0
  143. package/dist/links/splitLink.d.mts +21 -0
  144. package/dist/links/splitLink.d.mts.map +1 -0
  145. package/dist/links/splitLink.d.ts +19 -12
  146. package/dist/links/splitLink.d.ts.map +1 -1
  147. package/dist/links/splitLink.js +20 -21
  148. package/dist/links/splitLink.mjs +19 -18
  149. package/dist/links/splitLink.mjs.map +1 -0
  150. package/dist/links/types.d.mts +71 -0
  151. package/dist/links/types.d.mts.map +1 -0
  152. package/dist/links/types.d.ts +37 -29
  153. package/dist/links/types.d.ts.map +1 -1
  154. package/dist/links/wsLink/createWsClient.d.mts +10 -0
  155. package/dist/links/wsLink/createWsClient.d.mts.map +1 -0
  156. package/dist/links/wsLink/createWsClient.d.ts +9 -5
  157. package/dist/links/wsLink/createWsClient.d.ts.map +1 -1
  158. package/dist/links/wsLink/createWsClient.js +5 -5
  159. package/dist/links/wsLink/createWsClient.mjs +5 -2
  160. package/dist/links/wsLink/createWsClient.mjs.map +1 -0
  161. package/dist/links/wsLink/wsClient/options.d.mts +69 -0
  162. package/dist/links/wsLink/wsClient/options.d.mts.map +1 -0
  163. package/dist/links/wsLink/wsClient/options.d.ts +54 -64
  164. package/dist/links/wsLink/wsClient/options.d.ts.map +1 -1
  165. package/dist/links/wsLink/wsClient/options.js +14 -12
  166. package/dist/links/wsLink/wsClient/options.mjs +14 -10
  167. package/dist/links/wsLink/wsClient/options.mjs.map +1 -0
  168. package/dist/links/wsLink/wsClient/requestManager.js +133 -135
  169. package/dist/links/wsLink/wsClient/requestManager.mjs +133 -132
  170. package/dist/links/wsLink/wsClient/requestManager.mjs.map +1 -0
  171. package/dist/links/wsLink/wsClient/utils.js +64 -81
  172. package/dist/links/wsLink/wsClient/utils.mjs +64 -78
  173. package/dist/links/wsLink/wsClient/utils.mjs.map +1 -0
  174. package/dist/links/wsLink/wsClient/wsClient.d.mts +104 -0
  175. package/dist/links/wsLink/wsClient/wsClient.d.mts.map +1 -0
  176. package/dist/links/wsLink/wsClient/wsClient.d.ts +99 -79
  177. package/dist/links/wsLink/wsClient/wsClient.d.ts.map +1 -1
  178. package/dist/links/wsLink/wsClient/wsClient.js +273 -322
  179. package/dist/links/wsLink/wsClient/wsClient.mjs +272 -319
  180. package/dist/links/wsLink/wsClient/wsClient.mjs.map +1 -0
  181. package/dist/links/wsLink/wsClient/wsConnection.js +155 -178
  182. package/dist/links/wsLink/wsClient/wsConnection.mjs +154 -175
  183. package/dist/links/wsLink/wsClient/wsConnection.mjs.map +1 -0
  184. package/dist/links/wsLink/wsLink.d.mts +15 -0
  185. package/dist/links/wsLink/wsLink.d.mts.map +1 -0
  186. package/dist/links/wsLink/wsLink.d.ts +13 -9
  187. package/dist/links/wsLink/wsLink.d.ts.map +1 -1
  188. package/dist/links/wsLink/wsLink.js +30 -31
  189. package/dist/links/wsLink/wsLink.mjs +29 -28
  190. package/dist/links/wsLink/wsLink.mjs.map +1 -0
  191. package/dist/links.js +11 -0
  192. package/dist/links.mjs +11 -0
  193. package/dist/node_modules/.pnpm/@oxc-project_runtime@0.71.0/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js +68 -0
  194. package/dist/node_modules/.pnpm/@oxc-project_runtime@0.71.0/node_modules/@oxc-project/runtime/src/helpers/usingCtx.mjs +66 -0
  195. package/dist/node_modules/.pnpm/@oxc-project_runtime@0.71.0/node_modules/@oxc-project/runtime/src/helpers/usingCtx.mjs.map +1 -0
  196. package/dist/unstable-internals.d.mts +3 -0
  197. package/dist/unstable-internals.d.ts +3 -3
  198. package/dist/unstable-internals.js +2 -6
  199. package/dist/unstable-internals.mjs +3 -1
  200. package/links/httpBatchLink/package.json +1 -0
  201. package/links/httpLink/package.json +1 -0
  202. package/links/loggerLink/package.json +1 -0
  203. package/links/splitLink/package.json +1 -0
  204. package/links/wsLink/wsLink/package.json +1 -0
  205. package/package.json +64 -29
  206. package/src/TRPCClientError.ts +4 -9
  207. package/src/internals/dataLoader.ts +2 -6
  208. package/src/internals/signals.ts +16 -0
  209. package/src/links/httpSubscriptionLink.ts +3 -18
  210. package/src/links/localLink.ts +277 -0
  211. package/src/links/wsLink/wsClient/requestManager.ts +9 -0
  212. package/src/links/wsLink/wsClient/wsClient.ts +1 -1
  213. package/src/links.ts +1 -0
  214. package/unstable-internals/package.json +1 -0
  215. package/dist/index.d.ts.map +0 -1
  216. package/dist/internals/dataLoader.d.ts +0 -13
  217. package/dist/internals/dataLoader.d.ts.map +0 -1
  218. package/dist/internals/inputWithTrackedEventId.d.ts +0 -2
  219. package/dist/internals/inputWithTrackedEventId.d.ts.map +0 -1
  220. package/dist/internals/signals.d.ts +0 -15
  221. package/dist/internals/signals.d.ts.map +0 -1
  222. package/dist/links/internals/createChain.d.ts +0 -8
  223. package/dist/links/internals/createChain.d.ts.map +0 -1
  224. package/dist/links/internals/dedupeLink.d.ts +0 -7
  225. package/dist/links/internals/dedupeLink.d.ts.map +0 -1
  226. package/dist/links/wsLink/wsClient/requestManager.d.ts +0 -102
  227. package/dist/links/wsLink/wsClient/requestManager.d.ts.map +0 -1
  228. package/dist/links/wsLink/wsClient/utils.d.ts +0 -38
  229. package/dist/links/wsLink/wsClient/utils.d.ts.map +0 -1
  230. package/dist/links/wsLink/wsClient/wsConnection.d.ts +0 -79
  231. package/dist/links/wsLink/wsClient/wsConnection.d.ts.map +0 -1
  232. package/dist/links.d.ts +0 -11
  233. package/dist/links.d.ts.map +0 -1
  234. package/dist/unstable-internals.d.ts.map +0 -1
@@ -1,184 +1,141 @@
1
- import { observable, behaviorSubject } from '@trpc/server/observable';
2
- import { TRPC_ERROR_CODES_BY_KEY } from '@trpc/server/rpc';
3
- import { sseStreamConsumer, run } from '@trpc/server/unstable-core-do-not-import';
4
- import { inputWithTrackedEventId } from '../internals/inputWithTrackedEventId.mjs';
5
- import { raceAbortSignals } from '../internals/signals.mjs';
6
- import { TRPCClientError } from '../TRPCClientError.mjs';
7
- import { getTransformer } from '../internals/transformer.mjs';
8
- import { getUrl } from './internals/httpUtils.mjs';
9
- import { resultOf } from './internals/urlWithConnectionParams.mjs';
1
+ import { TRPCClientError } from "../TRPCClientError.mjs";
2
+ import { raceAbortSignals } from "../internals/signals.mjs";
3
+ import { getTransformer } from "../internals/transformer.mjs";
4
+ import { getUrl } from "./internals/httpUtils.mjs";
5
+ import { resultOf } from "./internals/urlWithConnectionParams.mjs";
6
+ import { inputWithTrackedEventId } from "../internals/inputWithTrackedEventId.mjs";
7
+ import { behaviorSubject, observable } from "@trpc/server/observable";
8
+ import { retryableRpcCodes, run, sseStreamConsumer } from "@trpc/server/unstable-core-do-not-import";
10
9
 
10
+ //#region src/links/httpSubscriptionLink.ts
11
11
  async function urlWithConnectionParams(opts) {
12
- let url = await resultOf(opts.url);
13
- if (opts.connectionParams) {
14
- const params = await resultOf(opts.connectionParams);
15
- const prefix = url.includes('?') ? '&' : '?';
16
- url += prefix + 'connectionParams=' + encodeURIComponent(JSON.stringify(params));
17
- }
18
- return url;
12
+ let url = await resultOf(opts.url);
13
+ if (opts.connectionParams) {
14
+ const params = await resultOf(opts.connectionParams);
15
+ const prefix = url.includes("?") ? "&" : "?";
16
+ url += prefix + "connectionParams=" + encodeURIComponent(JSON.stringify(params));
17
+ }
18
+ return url;
19
19
  }
20
20
  /**
21
- * tRPC error codes that are considered retryable
22
- * With out of the box SSE, the client will reconnect when these errors are encountered
23
- */ const codes5xx = [
24
- TRPC_ERROR_CODES_BY_KEY.BAD_GATEWAY,
25
- TRPC_ERROR_CODES_BY_KEY.SERVICE_UNAVAILABLE,
26
- TRPC_ERROR_CODES_BY_KEY.GATEWAY_TIMEOUT,
27
- TRPC_ERROR_CODES_BY_KEY.INTERNAL_SERVER_ERROR
28
- ];
29
- /**
30
- * @see https://trpc.io/docs/client/links/httpSubscriptionLink
31
- */ function httpSubscriptionLink(opts) {
32
- const transformer = getTransformer(opts.transformer);
33
- return ()=>{
34
- return ({ op })=>{
35
- return observable((observer)=>{
36
- const { type, path, input } = op;
37
- /* istanbul ignore if -- @preserve */ if (type !== 'subscription') {
38
- throw new Error('httpSubscriptionLink only supports subscriptions');
39
- }
40
- let lastEventId = undefined;
41
- const ac = new AbortController();
42
- const signal = raceAbortSignals(op.signal, ac.signal);
43
- const eventSourceStream = sseStreamConsumer({
44
- url: async ()=>getUrl({
45
- transformer,
46
- url: await urlWithConnectionParams(opts),
47
- input: inputWithTrackedEventId(input, lastEventId),
48
- path,
49
- type,
50
- signal: null
51
- }),
52
- init: ()=>resultOf(opts.eventSourceOptions, {
53
- op
54
- }),
55
- signal,
56
- deserialize: transformer.output.deserialize,
57
- EventSource: opts.EventSource ?? globalThis.EventSource
58
- });
59
- const connectionState = behaviorSubject({
60
- type: 'state',
61
- state: 'connecting',
62
- error: null
63
- });
64
- const connectionSub = connectionState.subscribe({
65
- next (state) {
66
- observer.next({
67
- result: state
68
- });
69
- }
70
- });
71
- run(async ()=>{
72
- for await (const chunk of eventSourceStream){
73
- switch(chunk.type){
74
- case 'ping':
75
- break;
76
- case 'data':
77
- const chunkData = chunk.data;
78
- let result;
79
- if (chunkData.id) {
80
- // if the `tracked()`-helper is used, we always have an `id` field
81
- lastEventId = chunkData.id;
82
- result = {
83
- id: chunkData.id,
84
- data: chunkData
85
- };
86
- } else {
87
- result = {
88
- data: chunkData.data
89
- };
90
- }
91
- observer.next({
92
- result,
93
- context: {
94
- eventSource: chunk.eventSource
95
- }
96
- });
97
- break;
98
- case 'connected':
99
- {
100
- observer.next({
101
- result: {
102
- type: 'started'
103
- },
104
- context: {
105
- eventSource: chunk.eventSource
106
- }
107
- });
108
- connectionState.next({
109
- type: 'state',
110
- state: 'pending',
111
- error: null
112
- });
113
- break;
114
- }
115
- case 'serialized-error':
116
- {
117
- const error = TRPCClientError.from({
118
- error: chunk.error
119
- });
120
- if (codes5xx.includes(chunk.error.code)) {
121
- //
122
- connectionState.next({
123
- type: 'state',
124
- state: 'connecting',
125
- error
126
- });
127
- break;
128
- }
129
- //
130
- // non-retryable error, cancel the subscription
131
- throw error;
132
- }
133
- case 'connecting':
134
- {
135
- const lastState = connectionState.get();
136
- const error = chunk.event && TRPCClientError.from(chunk.event);
137
- if (!error && lastState.state === 'connecting') {
138
- break;
139
- }
140
- connectionState.next({
141
- type: 'state',
142
- state: 'connecting',
143
- error
144
- });
145
- break;
146
- }
147
- case 'timeout':
148
- {
149
- connectionState.next({
150
- type: 'state',
151
- state: 'connecting',
152
- error: new TRPCClientError(`Timeout of ${chunk.ms}ms reached while waiting for a response`)
153
- });
154
- }
155
- }
156
- }
157
- observer.next({
158
- result: {
159
- type: 'stopped'
160
- }
161
- });
162
- connectionState.next({
163
- type: 'state',
164
- state: 'idle',
165
- error: null
166
- });
167
- observer.complete();
168
- }).catch((error)=>{
169
- observer.error(TRPCClientError.from(error));
170
- });
171
- return ()=>{
172
- observer.complete();
173
- ac.abort();
174
- connectionSub.unsubscribe();
175
- };
176
- });
177
- };
178
- };
21
+ * @see https://trpc.io/docs/client/links/httpSubscriptionLink
22
+ */
23
+ function httpSubscriptionLink(opts) {
24
+ const transformer = getTransformer(opts.transformer);
25
+ return () => {
26
+ return ({ op }) => {
27
+ return observable((observer) => {
28
+ const { type, path, input } = op;
29
+ /* istanbul ignore if -- @preserve */
30
+ if (type !== "subscription") throw new Error("httpSubscriptionLink only supports subscriptions");
31
+ let lastEventId = void 0;
32
+ const ac = new AbortController();
33
+ const signal = raceAbortSignals(op.signal, ac.signal);
34
+ const eventSourceStream = sseStreamConsumer({
35
+ url: async () => getUrl({
36
+ transformer,
37
+ url: await urlWithConnectionParams(opts),
38
+ input: inputWithTrackedEventId(input, lastEventId),
39
+ path,
40
+ type,
41
+ signal: null
42
+ }),
43
+ init: () => resultOf(opts.eventSourceOptions, { op }),
44
+ signal,
45
+ deserialize: transformer.output.deserialize,
46
+ EventSource: opts.EventSource ?? globalThis.EventSource
47
+ });
48
+ const connectionState = behaviorSubject({
49
+ type: "state",
50
+ state: "connecting",
51
+ error: null
52
+ });
53
+ const connectionSub = connectionState.subscribe({ next(state) {
54
+ observer.next({ result: state });
55
+ } });
56
+ run(async () => {
57
+ for await (const chunk of eventSourceStream) switch (chunk.type) {
58
+ case "ping": break;
59
+ case "data":
60
+ const chunkData = chunk.data;
61
+ let result;
62
+ if (chunkData.id) {
63
+ lastEventId = chunkData.id;
64
+ result = {
65
+ id: chunkData.id,
66
+ data: chunkData
67
+ };
68
+ } else result = { data: chunkData.data };
69
+ observer.next({
70
+ result,
71
+ context: { eventSource: chunk.eventSource }
72
+ });
73
+ break;
74
+ case "connected": {
75
+ observer.next({
76
+ result: { type: "started" },
77
+ context: { eventSource: chunk.eventSource }
78
+ });
79
+ connectionState.next({
80
+ type: "state",
81
+ state: "pending",
82
+ error: null
83
+ });
84
+ break;
85
+ }
86
+ case "serialized-error": {
87
+ const error = TRPCClientError.from({ error: chunk.error });
88
+ if (retryableRpcCodes.includes(chunk.error.code)) {
89
+ connectionState.next({
90
+ type: "state",
91
+ state: "connecting",
92
+ error
93
+ });
94
+ break;
95
+ }
96
+ throw error;
97
+ }
98
+ case "connecting": {
99
+ const lastState = connectionState.get();
100
+ const error = chunk.event && TRPCClientError.from(chunk.event);
101
+ if (!error && lastState.state === "connecting") break;
102
+ connectionState.next({
103
+ type: "state",
104
+ state: "connecting",
105
+ error
106
+ });
107
+ break;
108
+ }
109
+ case "timeout": connectionState.next({
110
+ type: "state",
111
+ state: "connecting",
112
+ error: new TRPCClientError(`Timeout of ${chunk.ms}ms reached while waiting for a response`)
113
+ });
114
+ }
115
+ observer.next({ result: { type: "stopped" } });
116
+ connectionState.next({
117
+ type: "state",
118
+ state: "idle",
119
+ error: null
120
+ });
121
+ observer.complete();
122
+ }).catch((error) => {
123
+ observer.error(TRPCClientError.from(error));
124
+ });
125
+ return () => {
126
+ observer.complete();
127
+ ac.abort();
128
+ connectionSub.unsubscribe();
129
+ };
130
+ });
131
+ };
132
+ };
179
133
  }
180
134
  /**
181
- * @deprecated use {@link httpSubscriptionLink} instead
182
- */ const unstable_httpSubscriptionLink = httpSubscriptionLink;
135
+ * @deprecated use {@link httpSubscriptionLink} instead
136
+ */
137
+ const unstable_httpSubscriptionLink = httpSubscriptionLink;
183
138
 
139
+ //#endregion
184
140
  export { httpSubscriptionLink, unstable_httpSubscriptionLink };
141
+ //# sourceMappingURL=httpSubscriptionLink.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpSubscriptionLink.mjs","names":["opts: UrlOptionsWithConnectionParams","opts: HTTPSubscriptionLinkOptions<\n inferClientTypes<TInferrable>,\n TEventSource\n >","lastEventId: string | undefined","result: TRPCResult<unknown>"],"sources":["../../src/links/httpSubscriptionLink.ts"],"sourcesContent":["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"],"mappings":";;;;;;;;;;AAyBA,eAAe,wBACbA,MACiB;CACjB,IAAI,MAAM,MAAM,SAAS,KAAK,IAAI;AAClC,KAAI,KAAK,kBAAkB;EACzB,MAAM,SAAS,MAAM,SAAS,KAAK,iBAAiB;EAEpD,MAAM,SAAS,IAAI,SAAS,IAAI,GAAG,MAAM;AACzC,SACE,SAAS,sBAAsB,mBAAmB,KAAK,UAAU,OAAO,CAAC;CAC5E;AAED,QAAO;AACR;;;;AA0BD,SAAgB,qBAIdC,MAIuB;CACvB,MAAM,cAAc,eAAe,KAAK,YAAY;AAEpD,QAAO,MAAM;AACX,SAAO,CAAC,EAAE,IAAI,KAAK;AACjB,UAAO,WAAW,CAAC,aAAa;IAC9B,MAAM,EAAE,MAAM,MAAM,OAAO,GAAG;;AAG9B,QAAI,SAAS,eACX,OAAM,IAAI,MAAM;IAGlB,IAAIC;IACJ,MAAM,KAAK,IAAI;IACf,MAAM,SAAS,iBAAiB,GAAG,QAAQ,GAAG,OAAO;IACrD,MAAM,oBAAoB,kBAOvB;KACD,KAAK,YACH,OAAO;MACL;MACA,KAAK,MAAM,wBAAwB,KAAK;MACxC,OAAO,wBAAwB,OAAO,YAAY;MAClD;MACA;MACA,QAAQ;KACT,EAAC;KACJ,MAAM,MAAM,SAAS,KAAK,oBAAoB,EAAE,GAAI,EAAC;KACrD;KACA,aAAa,YAAY,OAAO;KAChC,aACE,KAAK,eACJ,WAAW;IACf,EAAC;IAEF,MAAM,kBAAkB,gBAEtB;KACA,MAAM;KACN,OAAO;KACP,OAAO;IACR,EAAC;IAEF,MAAM,gBAAgB,gBAAgB,UAAU,EAC9C,KAAK,OAAO;AACV,cAAS,KAAK,EACZ,QAAQ,MACT,EAAC;IACH,EACF,EAAC;AACF,QAAI,YAAY;AACd,gBAAW,MAAM,SAAS,kBACxB,SAAQ,MAAM,MAAd;MACE,KAAK,OAEH;MACF,KAAK;OACH,MAAM,YAAY,MAAM;OAExB,IAAIC;AACJ,WAAI,UAAU,IAAI;AAEhB,sBAAc,UAAU;AACxB,iBAAS;SACP,IAAI,UAAU;SACd,MAAM;QACP;OACF,MACC,UAAS,EACP,MAAM,UAAU,KACjB;AAGH,gBAAS,KAAK;QACZ;QACA,SAAS,EACP,aAAa,MAAM,YACpB;OACF,EAAC;AACF;MACF,KAAK,aAAa;AAChB,gBAAS,KAAK;QACZ,QAAQ,EACN,MAAM,UACP;QACD,SAAS,EACP,aAAa,MAAM,YACpB;OACF,EAAC;AACF,uBAAgB,KAAK;QACnB,MAAM;QACN,OAAO;QACP,OAAO;OACR,EAAC;AACF;MACD;MACD,KAAK,oBAAoB;OACvB,MAAM,QAAQ,gBAAgB,KAAK,EAAE,OAAO,MAAM,MAAO,EAAC;AAE1D,WAAI,kBAAkB,SAAS,MAAM,MAAM,KAAK,EAAE;AAEhD,wBAAgB,KAAK;SACnB,MAAM;SACN,OAAO;SACP;QACD,EAAC;AACF;OACD;AAGD,aAAM;MACP;MACD,KAAK,cAAc;OACjB,MAAM,YAAY,gBAAgB,KAAK;OAEvC,MAAM,QAAQ,MAAM,SAAS,gBAAgB,KAAK,MAAM,MAAM;AAC9D,YAAK,SAAS,UAAU,UAAU,aAChC;AAGF,uBAAgB,KAAK;QACnB,MAAM;QACN,OAAO;QACP;OACD,EAAC;AACF;MACD;MACD,KAAK,UACH,iBAAgB,KAAK;OACnB,MAAM;OACN,OAAO;OACP,OAAO,IAAI,iBACR,aAAa,MAAM,GAAG;MAE1B,EAAC;KAEL;AAEH,cAAS,KAAK,EACZ,QAAQ,EACN,MAAM,UACP,EACF,EAAC;AACF,qBAAgB,KAAK;MACnB,MAAM;MACN,OAAO;MACP,OAAO;KACR,EAAC;AACF,cAAS,UAAU;IACpB,EAAC,CAAC,MAAM,CAAC,UAAU;AAClB,cAAS,MAAM,gBAAgB,KAAK,MAAM,CAAC;IAC5C,EAAC;AAEF,WAAO,MAAM;AACX,cAAS,UAAU;AACnB,QAAG,OAAO;AACV,mBAAc,aAAa;IAC5B;GACF,EAAC;EACH;CACF;AACF;;;;AAKD,MAAa,gCAAgC"}
@@ -0,0 +1,10 @@
1
+ //#region src/links/internals/contentTypes.d.ts
2
+ declare function isOctetType(input: unknown): input is Blob | Uint8Array<ArrayBufferLike>;
3
+ declare function isFormData(input: unknown): input is FormData;
4
+ declare function isNonJsonSerializable(input: unknown): input is Blob | FormData | Uint8Array<ArrayBufferLike>;
5
+
6
+ //#endregion
7
+ //# sourceMappingURL=contentTypes.d.ts.map
8
+
9
+ export { isFormData as isFormData$1, isNonJsonSerializable as isNonJsonSerializable$1, isOctetType as isOctetType$1 };
10
+ //# sourceMappingURL=contentTypes.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentTypes.d.mts","names":[],"sources":["../../../src/links/internals/contentTypes.ts"],"sourcesContent":[],"mappings":";iBAAgB,WAAA,2BAA0B,OAAA,WAAA;AAA1B,iBAQA,UAAA,CARW,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IAQc,QARd;AAAA,iBAYX,qBAAA,CAZW,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IAYyB,IAZzB,GAYyB,QAZzB,GAYyB,UAZzB,CAYyB,eAZzB,CAAA"}
@@ -1,4 +1,10 @@
1
- export declare function isOctetType(input: unknown): input is Uint8Array<ArrayBufferLike> | Blob;
2
- export declare function isFormData(input: unknown): input is FormData;
3
- export declare function isNonJsonSerializable(input: unknown): input is FormData | Uint8Array<ArrayBufferLike> | Blob;
1
+ //#region src/links/internals/contentTypes.d.ts
2
+ declare function isOctetType(input: unknown): input is Blob | Uint8Array<ArrayBufferLike>;
3
+ declare function isFormData(input: unknown): input is FormData;
4
+ declare function isNonJsonSerializable(input: unknown): input is Blob | FormData | Uint8Array<ArrayBufferLike>;
5
+
6
+ //#endregion
7
+ //# sourceMappingURL=contentTypes.d.ts.map
8
+
9
+ export { isFormData, isNonJsonSerializable, isOctetType };
4
10
  //# sourceMappingURL=contentTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contentTypes.d.ts","sourceRoot":"","sources":["../../../src/links/internals/contentTypes.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,+CAMzC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,qBAExC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,0DAEnD"}
1
+ {"version":3,"file":"contentTypes.d.ts","names":[],"sources":["../../../src/links/internals/contentTypes.ts"],"sourcesContent":[],"mappings":";iBAAgB,WAAA,2BAA0B,OAAA,WAAA;AAA1B,iBAQA,UAAA,CARW,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IAQc,QARd;AAAA,iBAYX,qBAAA,CAZW,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IAYyB,IAZzB,GAYyB,QAZzB,GAYyB,UAZzB,CAYyB,eAZzB,CAAA"}
@@ -1,16 +1,16 @@
1
- 'use strict';
2
1
 
2
+ //#region src/links/internals/contentTypes.ts
3
3
  function isOctetType(input) {
4
- return input instanceof Uint8Array || // File extends from Blob but is only available in nodejs from v20
5
- input instanceof Blob;
4
+ return input instanceof Uint8Array || input instanceof Blob;
6
5
  }
7
6
  function isFormData(input) {
8
- return input instanceof FormData;
7
+ return input instanceof FormData;
9
8
  }
10
9
  function isNonJsonSerializable(input) {
11
- return isOctetType(input) || isFormData(input);
10
+ return isOctetType(input) || isFormData(input);
12
11
  }
13
12
 
13
+ //#endregion
14
14
  exports.isFormData = isFormData;
15
15
  exports.isNonJsonSerializable = isNonJsonSerializable;
16
- exports.isOctetType = isOctetType;
16
+ exports.isOctetType = isOctetType;
@@ -1,12 +1,14 @@
1
+ //#region src/links/internals/contentTypes.ts
1
2
  function isOctetType(input) {
2
- return input instanceof Uint8Array || // File extends from Blob but is only available in nodejs from v20
3
- input instanceof Blob;
3
+ return input instanceof Uint8Array || input instanceof Blob;
4
4
  }
5
5
  function isFormData(input) {
6
- return input instanceof FormData;
6
+ return input instanceof FormData;
7
7
  }
8
8
  function isNonJsonSerializable(input) {
9
- return isOctetType(input) || isFormData(input);
9
+ return isOctetType(input) || isFormData(input);
10
10
  }
11
11
 
12
+ //#endregion
12
13
  export { isFormData, isNonJsonSerializable, isOctetType };
14
+ //# sourceMappingURL=contentTypes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentTypes.mjs","names":["input: unknown"],"sources":["../../../src/links/internals/contentTypes.ts"],"sourcesContent":["export function isOctetType(input: unknown) {\n return (\n input instanceof Uint8Array ||\n // File extends from Blob but is only available in nodejs from v20\n input instanceof Blob\n );\n}\n\nexport function isFormData(input: unknown) {\n return input instanceof FormData;\n}\n\nexport function isNonJsonSerializable(input: unknown) {\n return isOctetType(input) || isFormData(input);\n}\n"],"mappings":";AAAA,SAAgB,YAAYA,OAAgB;AAC1C,QACE,iBAAiB,cAEjB,iBAAiB;AAEpB;AAED,SAAgB,WAAWA,OAAgB;AACzC,QAAO,iBAAiB;AACzB;AAED,SAAgB,sBAAsBA,OAAgB;AACpD,QAAO,YAAY,MAAM,IAAI,WAAW,MAAM;AAC/C"}
@@ -1,26 +1,26 @@
1
- 'use strict';
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.js');
2
+ const __trpc_server_observable = require_rolldown_runtime.__toESM(require("@trpc/server/observable"));
2
3
 
3
- var observable = require('@trpc/server/observable');
4
-
5
- /** @internal */ function createChain(opts) {
6
- return observable.observable((observer)=>{
7
- function execute(index = 0, op = opts.op) {
8
- const next = opts.links[index];
9
- if (!next) {
10
- throw new Error('No more links to execute - did you forget to add an ending link?');
11
- }
12
- const subscription = next({
13
- op,
14
- next (nextOp) {
15
- const nextObserver = execute(index + 1, nextOp);
16
- return nextObserver;
17
- }
18
- });
19
- return subscription;
20
- }
21
- const obs$ = execute();
22
- return obs$.subscribe(observer);
23
- });
4
+ //#region src/links/internals/createChain.ts
5
+ /** @internal */
6
+ function createChain(opts) {
7
+ return (0, __trpc_server_observable.observable)((observer) => {
8
+ function execute(index = 0, op = opts.op) {
9
+ const next = opts.links[index];
10
+ if (!next) throw new Error("No more links to execute - did you forget to add an ending link?");
11
+ const subscription = next({
12
+ op,
13
+ next(nextOp) {
14
+ const nextObserver = execute(index + 1, nextOp);
15
+ return nextObserver;
16
+ }
17
+ });
18
+ return subscription;
19
+ }
20
+ const obs$ = execute();
21
+ return obs$.subscribe(observer);
22
+ });
24
23
  }
25
24
 
26
- exports.createChain = createChain;
25
+ //#endregion
26
+ exports.createChain = createChain;
@@ -1,24 +1,26 @@
1
- import { observable } from '@trpc/server/observable';
1
+ import { observable } from "@trpc/server/observable";
2
2
 
3
- /** @internal */ function createChain(opts) {
4
- return observable((observer)=>{
5
- function execute(index = 0, op = opts.op) {
6
- const next = opts.links[index];
7
- if (!next) {
8
- throw new Error('No more links to execute - did you forget to add an ending link?');
9
- }
10
- const subscription = next({
11
- op,
12
- next (nextOp) {
13
- const nextObserver = execute(index + 1, nextOp);
14
- return nextObserver;
15
- }
16
- });
17
- return subscription;
18
- }
19
- const obs$ = execute();
20
- return obs$.subscribe(observer);
21
- });
3
+ //#region src/links/internals/createChain.ts
4
+ /** @internal */
5
+ function createChain(opts) {
6
+ return observable((observer) => {
7
+ function execute(index = 0, op = opts.op) {
8
+ const next = opts.links[index];
9
+ if (!next) throw new Error("No more links to execute - did you forget to add an ending link?");
10
+ const subscription = next({
11
+ op,
12
+ next(nextOp) {
13
+ const nextObserver = execute(index + 1, nextOp);
14
+ return nextObserver;
15
+ }
16
+ });
17
+ return subscription;
18
+ }
19
+ const obs$ = execute();
20
+ return obs$.subscribe(observer);
21
+ });
22
22
  }
23
23
 
24
+ //#endregion
24
25
  export { createChain };
26
+ //# sourceMappingURL=createChain.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createChain.mjs","names":["opts: {\n links: OperationLink<TRouter, TInput, TOutput>[];\n op: Operation<TInput>;\n}"],"sources":["../../../src/links/internals/createChain.ts"],"sourcesContent":["import { observable } from '@trpc/server/observable';\nimport type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';\nimport type {\n Operation,\n OperationLink,\n OperationResultObservable,\n} from '../types';\n\n/** @internal */\nexport function createChain<\n TRouter extends AnyRouter,\n TInput = unknown,\n TOutput = unknown,\n>(opts: {\n links: OperationLink<TRouter, TInput, TOutput>[];\n op: Operation<TInput>;\n}): OperationResultObservable<TRouter, TOutput> {\n return observable((observer) => {\n function execute(index = 0, op = opts.op) {\n const next = opts.links[index];\n if (!next) {\n throw new Error(\n 'No more links to execute - did you forget to add an ending link?',\n );\n }\n const subscription = next({\n op,\n next(nextOp) {\n const nextObserver = execute(index + 1, nextOp);\n\n return nextObserver;\n },\n });\n return subscription;\n }\n\n const obs$ = execute();\n return obs$.subscribe(observer);\n });\n}\n"],"mappings":";;;;AASA,SAAgB,YAIdA,MAG8C;AAC9C,QAAO,WAAW,CAAC,aAAa;EAC9B,SAAS,QAAQ,QAAQ,GAAG,KAAK,KAAK,IAAI;GACxC,MAAM,OAAO,KAAK,MAAM;AACxB,QAAK,KACH,OAAM,IAAI,MACR;GAGJ,MAAM,eAAe,KAAK;IACxB;IACA,KAAK,QAAQ;KACX,MAAM,eAAe,QAAQ,QAAQ,GAAG,OAAO;AAE/C,YAAO;IACR;GACF,EAAC;AACF,UAAO;EACR;EAED,MAAM,OAAO,SAAS;AACtB,SAAO,KAAK,UAAU,SAAS;CAChC,EAAC;AACH"}
@@ -0,0 +1,26 @@
1
+ import { FetchEsque } from "../../internals/types.mjs";
2
+ import { TransformerOptions } from "../../internals/transformer.mjs";
3
+ import { AnyClientTypes, CombinedDataTransformer, Maybe, ProcedureType } from "@trpc/server/unstable-core-do-not-import";
4
+
5
+ //#region src/links/internals/httpUtils.d.ts
6
+ /**
7
+ * @internal
8
+ */
9
+ /**
10
+ * @internal
11
+ */
12
+ type HTTPLinkBaseOptions<TRoot extends Pick<AnyClientTypes, 'transformer'>> = {
13
+ url: string | URL;
14
+ /**
15
+ * Add ponyfill for fetch
16
+ */
17
+ fetch?: FetchEsque;
18
+ /**
19
+ * Send all requests `as POST`s requests regardless of the procedure type
20
+ * The HTTP handler must separately allow overriding the method. See:
21
+ * @see https://trpc.io/docs/rpc
22
+ */
23
+ methodOverride?: 'POST';
24
+ } & TransformerOptions<TRoot>; //#endregion
25
+ export { HTTPLinkBaseOptions };
26
+ //# sourceMappingURL=httpUtils.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpUtils.d.mts","names":[],"sources":["../../../src/links/internals/httpUtils.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;KAqBY,kCACI,KAAK;EADT,GAAA,EAAA,MAAA,GAGI,GAHJ;EAAmB;;;EACX,KAEJ,CAAA,EAIN,UAJM;EAAG;;;AAWG;;;IAAlB,mBAAmB"}