@trpc/client 11.3.1-canary.1 → 11.3.2-canary.2

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 (237) hide show
  1. package/dist/TRPCClientError-CGgRtttT.cjs +67 -0
  2. package/dist/TRPCClientError-COkhCKf3.mjs +56 -0
  3. package/dist/TRPCClientError-COkhCKf3.mjs.map +1 -0
  4. package/dist/chunk-DWy1uDak.cjs +39 -0
  5. package/dist/httpBatchLink-CIC9PZ_Z.cjs +267 -0
  6. package/dist/httpBatchLink-DIfnmmcu.mjs +238 -0
  7. package/dist/httpBatchLink-DIfnmmcu.mjs.map +1 -0
  8. package/dist/httpBatchLink.d-BN2Iw_cK.d.mts +33 -0
  9. package/dist/httpBatchLink.d-BN2Iw_cK.d.mts.map +1 -0
  10. package/dist/httpBatchLink.d-CLAuJKNV.d.cts +33 -0
  11. package/dist/httpBatchLink.d-CLAuJKNV.d.cts.map +1 -0
  12. package/dist/httpLink-9bpwQ15c.mjs +90 -0
  13. package/dist/httpLink-9bpwQ15c.mjs.map +1 -0
  14. package/dist/httpLink-BbVj_TgM.cjs +113 -0
  15. package/dist/httpLink.d-CTSOARfE.d.mts +23 -0
  16. package/dist/httpLink.d-CTSOARfE.d.mts.map +1 -0
  17. package/dist/httpLink.d-yMKfOlTU.d.cts +23 -0
  18. package/dist/httpLink.d-yMKfOlTU.d.cts.map +1 -0
  19. package/dist/httpUtils-3pbQzhUL.mjs +123 -0
  20. package/dist/httpUtils-3pbQzhUL.mjs.map +1 -0
  21. package/dist/httpUtils-Buf6jCgh.cjs +163 -0
  22. package/dist/httpUtils.d-C8wPxU79.d.mts +25 -0
  23. package/dist/httpUtils.d-C8wPxU79.d.mts.map +1 -0
  24. package/dist/httpUtils.d-DNRVGNHs.d.cts +25 -0
  25. package/dist/httpUtils.d-DNRVGNHs.d.cts.map +1 -0
  26. package/dist/index.cjs +731 -0
  27. package/dist/index.d.cts +197 -0
  28. package/dist/index.d.cts.map +1 -0
  29. package/dist/index.d.mts +197 -0
  30. package/dist/index.d.mts.map +1 -0
  31. package/dist/index.mjs +733 -16
  32. package/dist/index.mjs.map +1 -0
  33. package/dist/links/httpBatchLink.cjs +6 -0
  34. package/dist/links/httpBatchLink.d.cts +6 -0
  35. package/dist/links/httpBatchLink.d.mts +6 -0
  36. package/dist/links/httpBatchLink.mjs +5 -107
  37. package/dist/links/httpLink.cjs +6 -0
  38. package/dist/links/httpLink.d.cts +6 -0
  39. package/dist/links/httpLink.d.mts +6 -0
  40. package/dist/links/httpLink.mjs +5 -92
  41. package/dist/links/loggerLink.cjs +3 -0
  42. package/dist/links/loggerLink.d.cts +4 -0
  43. package/dist/links/loggerLink.d.mts +4 -0
  44. package/dist/links/loggerLink.mjs +2 -175
  45. package/dist/links/splitLink.cjs +3 -0
  46. package/dist/links/splitLink.d.cts +4 -0
  47. package/dist/links/splitLink.d.mts +4 -0
  48. package/dist/links/splitLink.mjs +2 -24
  49. package/dist/links/wsLink/wsLink.cjs +6 -0
  50. package/dist/links/wsLink/wsLink.d.cts +5 -0
  51. package/dist/links/wsLink/wsLink.d.mts +5 -0
  52. package/dist/links/wsLink/wsLink.mjs +4 -31
  53. package/dist/loggerLink-CsDfg5Bb.cjs +130 -0
  54. package/dist/loggerLink-PGBSQFcR.mjs +125 -0
  55. package/dist/loggerLink-PGBSQFcR.mjs.map +1 -0
  56. package/dist/loggerLink.d-CZjK1CXm.d.mts +54 -0
  57. package/dist/loggerLink.d-CZjK1CXm.d.mts.map +1 -0
  58. package/dist/loggerLink.d-DU855urG.d.cts +54 -0
  59. package/dist/loggerLink.d-DU855urG.d.cts.map +1 -0
  60. package/dist/splitLink-BMgxggng.cjs +58 -0
  61. package/dist/splitLink-BVblHq4n.mjs +47 -0
  62. package/dist/splitLink-BVblHq4n.mjs.map +1 -0
  63. package/dist/splitLink.d-BAqgq0NG.d.mts +20 -0
  64. package/dist/splitLink.d-BAqgq0NG.d.mts.map +1 -0
  65. package/dist/splitLink.d-GdevSkGW.d.cts +20 -0
  66. package/dist/splitLink.d-GdevSkGW.d.cts.map +1 -0
  67. package/dist/subscriptions.d-Ciljg_dH.d.cts +19 -0
  68. package/dist/subscriptions.d-Ciljg_dH.d.cts.map +1 -0
  69. package/dist/subscriptions.d-U92STdZl.d.mts +19 -0
  70. package/dist/subscriptions.d-U92STdZl.d.mts.map +1 -0
  71. package/dist/types.d-DXbqQLCC.d.mts +182 -0
  72. package/dist/types.d-DXbqQLCC.d.mts.map +1 -0
  73. package/dist/types.d-DqGYG6S_.d.cts +182 -0
  74. package/dist/types.d-DqGYG6S_.d.cts.map +1 -0
  75. package/dist/unstable-internals-CYBH4jbF.cjs +34 -0
  76. package/dist/unstable-internals-DU4WecoG.mjs +29 -0
  77. package/dist/unstable-internals-DU4WecoG.mjs.map +1 -0
  78. package/dist/unstable-internals.cjs +3 -0
  79. package/dist/unstable-internals.d-DyLd-B0J.d.mts +46 -0
  80. package/dist/unstable-internals.d-DyLd-B0J.d.mts.map +1 -0
  81. package/dist/unstable-internals.d-kWsZTlQq.d.cts +46 -0
  82. package/dist/unstable-internals.d-kWsZTlQq.d.cts.map +1 -0
  83. package/dist/unstable-internals.d.cts +3 -0
  84. package/dist/unstable-internals.d.mts +3 -0
  85. package/dist/unstable-internals.mjs +3 -1
  86. package/dist/wsLink-DbSHOzlB.mjs +698 -0
  87. package/dist/wsLink-DbSHOzlB.mjs.map +1 -0
  88. package/dist/wsLink-DhJ50EC5.cjs +715 -0
  89. package/dist/wsLink.d-BqO7ltN_.d.mts +194 -0
  90. package/dist/wsLink.d-BqO7ltN_.d.mts.map +1 -0
  91. package/dist/wsLink.d-DtZjg09g.d.cts +194 -0
  92. package/dist/wsLink.d-DtZjg09g.d.cts.map +1 -0
  93. package/links/httpBatchLink/package.json +1 -0
  94. package/links/httpLink/package.json +1 -0
  95. package/links/loggerLink/package.json +1 -0
  96. package/links/splitLink/package.json +1 -0
  97. package/links/wsLink/wsLink/package.json +1 -0
  98. package/package.json +67 -33
  99. package/unstable-internals/package.json +1 -0
  100. package/dist/TRPCClientError.d.ts +0 -30
  101. package/dist/TRPCClientError.d.ts.map +0 -1
  102. package/dist/TRPCClientError.js +0 -79
  103. package/dist/TRPCClientError.mjs +0 -76
  104. package/dist/bundle-analysis.json +0 -451
  105. package/dist/createTRPCClient.d.ts +0 -69
  106. package/dist/createTRPCClient.d.ts.map +0 -1
  107. package/dist/createTRPCClient.js +0 -48
  108. package/dist/createTRPCClient.mjs +0 -43
  109. package/dist/createTRPCUntypedClient.d.ts +0 -7
  110. package/dist/createTRPCUntypedClient.d.ts.map +0 -1
  111. package/dist/createTRPCUntypedClient.js +0 -10
  112. package/dist/createTRPCUntypedClient.mjs +0 -7
  113. package/dist/getFetch.d.ts +0 -3
  114. package/dist/getFetch.d.ts.map +0 -1
  115. package/dist/getFetch.js +0 -17
  116. package/dist/getFetch.mjs +0 -15
  117. package/dist/index.d.ts +0 -16
  118. package/dist/index.d.ts.map +0 -1
  119. package/dist/index.js +0 -46
  120. package/dist/internals/TRPCUntypedClient.d.ts +0 -39
  121. package/dist/internals/TRPCUntypedClient.d.ts.map +0 -1
  122. package/dist/internals/TRPCUntypedClient.js +0 -115
  123. package/dist/internals/TRPCUntypedClient.mjs +0 -113
  124. package/dist/internals/dataLoader.d.ts +0 -13
  125. package/dist/internals/dataLoader.d.ts.map +0 -1
  126. package/dist/internals/dataLoader.js +0 -117
  127. package/dist/internals/dataLoader.mjs +0 -115
  128. package/dist/internals/inputWithTrackedEventId.d.ts +0 -2
  129. package/dist/internals/inputWithTrackedEventId.d.ts.map +0 -1
  130. package/dist/internals/inputWithTrackedEventId.js +0 -16
  131. package/dist/internals/inputWithTrackedEventId.mjs +0 -14
  132. package/dist/internals/signals.d.ts +0 -16
  133. package/dist/internals/signals.d.ts.map +0 -1
  134. package/dist/internals/signals.js +0 -61
  135. package/dist/internals/signals.mjs +0 -57
  136. package/dist/internals/transformer.d.ts +0 -42
  137. package/dist/internals/transformer.d.ts.map +0 -1
  138. package/dist/internals/transformer.js +0 -30
  139. package/dist/internals/transformer.mjs +0 -28
  140. package/dist/internals/types.d.ts +0 -82
  141. package/dist/internals/types.d.ts.map +0 -1
  142. package/dist/links/HTTPBatchLinkOptions.d.ts +0 -20
  143. package/dist/links/HTTPBatchLinkOptions.d.ts.map +0 -1
  144. package/dist/links/httpBatchLink.d.ts +0 -8
  145. package/dist/links/httpBatchLink.d.ts.map +0 -1
  146. package/dist/links/httpBatchLink.js +0 -110
  147. package/dist/links/httpBatchStreamLink.d.ts +0 -12
  148. package/dist/links/httpBatchStreamLink.d.ts.map +0 -1
  149. package/dist/links/httpBatchStreamLink.js +0 -150
  150. package/dist/links/httpBatchStreamLink.mjs +0 -147
  151. package/dist/links/httpLink.d.ts +0 -17
  152. package/dist/links/httpLink.d.ts.map +0 -1
  153. package/dist/links/httpLink.js +0 -95
  154. package/dist/links/httpSubscriptionLink.d.ts +0 -26
  155. package/dist/links/httpSubscriptionLink.d.ts.map +0 -1
  156. package/dist/links/httpSubscriptionLink.js +0 -177
  157. package/dist/links/httpSubscriptionLink.mjs +0 -174
  158. package/dist/links/internals/contentTypes.d.ts +0 -4
  159. package/dist/links/internals/contentTypes.d.ts.map +0 -1
  160. package/dist/links/internals/contentTypes.js +0 -16
  161. package/dist/links/internals/contentTypes.mjs +0 -12
  162. package/dist/links/internals/createChain.d.ts +0 -8
  163. package/dist/links/internals/createChain.d.ts.map +0 -1
  164. package/dist/links/internals/createChain.js +0 -26
  165. package/dist/links/internals/createChain.mjs +0 -24
  166. package/dist/links/internals/dedupeLink.d.ts +0 -7
  167. package/dist/links/internals/dedupeLink.d.ts.map +0 -1
  168. package/dist/links/internals/httpUtils.d.ts +0 -68
  169. package/dist/links/internals/httpUtils.d.ts.map +0 -1
  170. package/dist/links/internals/httpUtils.js +0 -141
  171. package/dist/links/internals/httpUtils.mjs +0 -133
  172. package/dist/links/internals/subscriptions.d.ts +0 -17
  173. package/dist/links/internals/subscriptions.d.ts.map +0 -1
  174. package/dist/links/internals/urlWithConnectionParams.d.ts +0 -23
  175. package/dist/links/internals/urlWithConnectionParams.d.ts.map +0 -1
  176. package/dist/links/internals/urlWithConnectionParams.js +0 -10
  177. package/dist/links/internals/urlWithConnectionParams.mjs +0 -8
  178. package/dist/links/localLink.d.ts +0 -15
  179. package/dist/links/localLink.d.ts.map +0 -1
  180. package/dist/links/localLink.js +0 -333
  181. package/dist/links/localLink.mjs +0 -331
  182. package/dist/links/loggerLink.d.ts +0 -52
  183. package/dist/links/loggerLink.d.ts.map +0 -1
  184. package/dist/links/loggerLink.js +0 -178
  185. package/dist/links/retryLink.d.ts +0 -33
  186. package/dist/links/retryLink.d.ts.map +0 -1
  187. package/dist/links/retryLink.js +0 -72
  188. package/dist/links/retryLink.mjs +0 -70
  189. package/dist/links/splitLink.d.ts +0 -14
  190. package/dist/links/splitLink.d.ts.map +0 -1
  191. package/dist/links/splitLink.js +0 -27
  192. package/dist/links/types.d.ts +0 -63
  193. package/dist/links/types.d.ts.map +0 -1
  194. package/dist/links/wsLink/createWsClient.d.ts +0 -6
  195. package/dist/links/wsLink/createWsClient.d.ts.map +0 -1
  196. package/dist/links/wsLink/createWsClient.js +0 -9
  197. package/dist/links/wsLink/createWsClient.mjs +0 -7
  198. package/dist/links/wsLink/wsClient/options.d.ts +0 -79
  199. package/dist/links/wsLink/wsClient/options.d.ts.map +0 -1
  200. package/dist/links/wsLink/wsClient/options.js +0 -22
  201. package/dist/links/wsLink/wsClient/options.mjs +0 -18
  202. package/dist/links/wsLink/wsClient/requestManager.d.ts +0 -106
  203. package/dist/links/wsLink/wsClient/requestManager.d.ts.map +0 -1
  204. package/dist/links/wsLink/wsClient/requestManager.js +0 -143
  205. package/dist/links/wsLink/wsClient/requestManager.mjs +0 -141
  206. package/dist/links/wsLink/wsClient/utils.d.ts +0 -38
  207. package/dist/links/wsLink/wsClient/utils.d.ts.map +0 -1
  208. package/dist/links/wsLink/wsClient/utils.js +0 -94
  209. package/dist/links/wsLink/wsClient/utils.mjs +0 -88
  210. package/dist/links/wsLink/wsClient/wsClient.d.ts +0 -84
  211. package/dist/links/wsLink/wsClient/wsClient.d.ts.map +0 -1
  212. package/dist/links/wsLink/wsClient/wsClient.js +0 -325
  213. package/dist/links/wsLink/wsClient/wsClient.mjs +0 -323
  214. package/dist/links/wsLink/wsClient/wsConnection.d.ts +0 -79
  215. package/dist/links/wsLink/wsClient/wsConnection.d.ts.map +0 -1
  216. package/dist/links/wsLink/wsClient/wsConnection.js +0 -188
  217. package/dist/links/wsLink/wsClient/wsConnection.mjs +0 -185
  218. package/dist/links/wsLink/wsLink.d.ts +0 -11
  219. package/dist/links/wsLink/wsLink.d.ts.map +0 -1
  220. package/dist/links/wsLink/wsLink.js +0 -35
  221. package/dist/links.d.ts +0 -12
  222. package/dist/links.d.ts.map +0 -1
  223. package/dist/unstable-internals.d.ts +0 -3
  224. package/dist/unstable-internals.d.ts.map +0 -1
  225. package/dist/unstable-internals.js +0 -7
  226. package/links/httpBatchLink/index.d.ts +0 -1
  227. package/links/httpBatchLink/index.js +0 -1
  228. package/links/httpLink/index.d.ts +0 -1
  229. package/links/httpLink/index.js +0 -1
  230. package/links/loggerLink/index.d.ts +0 -1
  231. package/links/loggerLink/index.js +0 -1
  232. package/links/splitLink/index.d.ts +0 -1
  233. package/links/splitLink/index.js +0 -1
  234. package/links/wsLink/wsLink/index.d.ts +0 -1
  235. package/links/wsLink/wsLink/index.js +0 -1
  236. package/unstable-internals/index.d.ts +0 -1
  237. package/unstable-internals/index.js +0 -1
@@ -1,331 +0,0 @@
1
- import { getTRPCErrorFromUnknown, isTrackedEnvelope, getTRPCErrorShape } from '@trpc/server';
2
- import { observable, behaviorSubject } from '@trpc/server/observable';
3
- import { TRPC_ERROR_CODES_BY_KEY } from '@trpc/server/rpc';
4
- import { run, makeResource, isAsyncIterable, iteratorResource, isAbortError, retryableRpcCodes, callProcedure } from '@trpc/server/unstable-core-do-not-import';
5
- import { inputWithTrackedEventId } from '../internals/inputWithTrackedEventId.mjs';
6
- import { raceAbortSignals, abortSignalToPromise } from '../internals/signals.mjs';
7
- import { getTransformer } from '../internals/transformer.mjs';
8
- import { isTRPCClientError, TRPCClientError } from '../TRPCClientError.mjs';
9
-
10
- function _ts_add_disposable_resource(env, value, async) {
11
- if (value !== null && value !== void 0) {
12
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
13
- var dispose, inner;
14
- if (async) {
15
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
16
- dispose = value[Symbol.asyncDispose];
17
- }
18
- if (dispose === void 0) {
19
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
20
- dispose = value[Symbol.dispose];
21
- if (async) inner = dispose;
22
- }
23
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
24
- if (inner) dispose = function() {
25
- try {
26
- inner.call(this);
27
- } catch (e) {
28
- return Promise.reject(e);
29
- }
30
- };
31
- env.stack.push({
32
- value: value,
33
- dispose: dispose,
34
- async: async
35
- });
36
- } else if (async) {
37
- env.stack.push({
38
- async: true
39
- });
40
- }
41
- return value;
42
- }
43
- function _ts_dispose_resources(env) {
44
- var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
45
- var e = new Error(message);
46
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
47
- };
48
- return (_ts_dispose_resources = function _ts_dispose_resources(env) {
49
- function fail(e) {
50
- env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
51
- env.hasError = true;
52
- }
53
- var r, s = 0;
54
- function next() {
55
- while(r = env.stack.pop()){
56
- try {
57
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
58
- if (r.dispose) {
59
- var result = r.dispose.call(r.value);
60
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
61
- fail(e);
62
- return next();
63
- });
64
- } else s |= 1;
65
- } catch (e) {
66
- fail(e);
67
- }
68
- }
69
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
70
- if (env.hasError) throw env.error;
71
- }
72
- return next();
73
- })(env);
74
- }
75
- /**
76
- * localLink is a terminating link that allows you to make tRPC procedure calls directly in your application without going through HTTP.
77
- *
78
- * @see https://trpc.io/docs/links/localLink
79
- */ function experimental_localLink(opts) {
80
- const transformer = getTransformer(opts.transformer);
81
- const transformChunk = (chunk)=>{
82
- if (opts.transformer) {
83
- // assume transformer will do the right thing
84
- return chunk;
85
- }
86
- // Special case for undefined, because `JSON.stringify(undefined)` throws
87
- if (chunk === undefined) {
88
- return chunk;
89
- }
90
- const serialized = JSON.stringify(transformer.input.serialize(chunk));
91
- const deserialized = JSON.parse(transformer.output.deserialize(serialized));
92
- return deserialized;
93
- };
94
- return ()=>({ op })=>observable((observer)=>{
95
- let ctx = undefined;
96
- const ac = new AbortController();
97
- const signal = raceAbortSignals(op.signal, ac.signal);
98
- const signalPromise = abortSignalToPromise(signal);
99
- signalPromise.catch(()=>{
100
- // prevent unhandled rejection
101
- });
102
- let input = op.input;
103
- async function runProcedure(newInput) {
104
- input = newInput;
105
- ctx = await opts.createContext();
106
- return callProcedure({
107
- router: opts.router,
108
- path: op.path,
109
- getRawInput: async ()=>newInput,
110
- ctx,
111
- type: op.type,
112
- signal
113
- });
114
- }
115
- function onErrorCallback(cause) {
116
- if (isAbortError(cause)) {
117
- return;
118
- }
119
- opts.onError?.({
120
- error: getTRPCErrorFromUnknown(cause),
121
- type: op.type,
122
- path: op.path,
123
- input,
124
- ctx
125
- });
126
- }
127
- function coerceToTRPCClientError(cause) {
128
- if (isTRPCClientError(cause)) {
129
- return cause;
130
- }
131
- const error = getTRPCErrorFromUnknown(cause);
132
- const shape = getTRPCErrorShape({
133
- config: opts.router._def._config,
134
- ctx,
135
- error,
136
- input,
137
- path: op.path,
138
- type: op.type
139
- });
140
- return TRPCClientError.from({
141
- error: transformChunk(shape)
142
- });
143
- }
144
- run(async ()=>{
145
- switch(op.type){
146
- case 'query':
147
- case 'mutation':
148
- {
149
- const result = await runProcedure(op.input);
150
- if (!isAsyncIterable(result)) {
151
- observer.next({
152
- result: {
153
- data: transformChunk(result)
154
- }
155
- });
156
- observer.complete();
157
- break;
158
- }
159
- observer.next({
160
- result: {
161
- data: async function*() {
162
- const env = {
163
- stack: [],
164
- error: void 0,
165
- hasError: false
166
- };
167
- try {
168
- const iterator = _ts_add_disposable_resource(env, iteratorResource(result), true);
169
- ;
170
- const _finally = _ts_add_disposable_resource(env, makeResource({}, ()=>{
171
- observer.complete();
172
- }), false);
173
- ;
174
- try {
175
- while(true){
176
- const res = await Promise.race([
177
- iterator.next(),
178
- signalPromise
179
- ]);
180
- if (res.done) {
181
- return transformChunk(res.value);
182
- }
183
- yield transformChunk(res.value);
184
- }
185
- } catch (cause) {
186
- onErrorCallback(cause);
187
- throw coerceToTRPCClientError(cause);
188
- }
189
- } catch (e) {
190
- env.error = e;
191
- env.hasError = true;
192
- } finally{
193
- const result = _ts_dispose_resources(env);
194
- if (result) await result;
195
- }
196
- }()
197
- }
198
- });
199
- break;
200
- }
201
- case 'subscription':
202
- {
203
- const env = {
204
- stack: [],
205
- error: void 0,
206
- hasError: false
207
- };
208
- try {
209
- const connectionState = behaviorSubject({
210
- type: 'state',
211
- state: 'connecting',
212
- error: null
213
- });
214
- const connectionSub = connectionState.subscribe({
215
- next (state) {
216
- observer.next({
217
- result: state
218
- });
219
- }
220
- });
221
- let lastEventId = undefined;
222
- const _finally = _ts_add_disposable_resource(env, makeResource({}, async ()=>{
223
- observer.complete();
224
- connectionState.next({
225
- type: 'state',
226
- state: 'idle',
227
- error: null
228
- });
229
- connectionSub.unsubscribe();
230
- }), false);
231
- ;
232
- while(true){
233
- const env = {
234
- stack: [],
235
- error: void 0,
236
- hasError: false
237
- };
238
- try {
239
- const result = await runProcedure(inputWithTrackedEventId(op.input, lastEventId));
240
- if (!isAsyncIterable(result)) {
241
- throw new Error('Expected an async iterable');
242
- }
243
- const iterator = _ts_add_disposable_resource(env, iteratorResource(result), true);
244
- ;
245
- observer.next({
246
- result: {
247
- type: 'started'
248
- }
249
- });
250
- connectionState.next({
251
- type: 'state',
252
- state: 'pending',
253
- error: null
254
- });
255
- // Use a while loop to handle errors and reconnects
256
- while(true){
257
- let res;
258
- try {
259
- res = await Promise.race([
260
- iterator.next(),
261
- signalPromise
262
- ]);
263
- } catch (cause) {
264
- if (isAbortError(cause)) {
265
- return;
266
- }
267
- const error = getTRPCErrorFromUnknown(cause);
268
- if (!retryableRpcCodes.includes(TRPC_ERROR_CODES_BY_KEY[error.code])) {
269
- throw coerceToTRPCClientError(error);
270
- }
271
- onErrorCallback(error);
272
- connectionState.next({
273
- type: 'state',
274
- state: 'connecting',
275
- error: coerceToTRPCClientError(error)
276
- });
277
- break;
278
- }
279
- if (res.done) {
280
- return;
281
- }
282
- let chunk;
283
- if (isTrackedEnvelope(res.value)) {
284
- lastEventId = res.value[0];
285
- chunk = {
286
- id: res.value[0],
287
- data: {
288
- id: res.value[0],
289
- data: res.value[1]
290
- }
291
- };
292
- } else {
293
- chunk = {
294
- data: res.value
295
- };
296
- }
297
- observer.next({
298
- result: {
299
- ...chunk,
300
- data: transformChunk(chunk.data)
301
- }
302
- });
303
- }
304
- } catch (e) {
305
- env.error = e;
306
- env.hasError = true;
307
- } finally{
308
- const result = _ts_dispose_resources(env);
309
- if (result) await result;
310
- }
311
- }
312
- break;
313
- } catch (e) {
314
- env.error = e;
315
- env.hasError = true;
316
- } finally{
317
- _ts_dispose_resources(env);
318
- }
319
- }
320
- }
321
- }).catch((cause)=>{
322
- onErrorCallback(cause);
323
- observer.error(coerceToTRPCClientError(cause));
324
- });
325
- return ()=>{
326
- ac.abort();
327
- };
328
- });
329
- }
330
-
331
- export { experimental_localLink };
@@ -1,52 +0,0 @@
1
- import type { AnyRouter, InferrableClientTypes } from '@trpc/server/unstable-core-do-not-import';
2
- import type { TRPCClientError } from '../TRPCClientError';
3
- import type { Operation, OperationResultEnvelope, TRPCLink } from './types';
4
- type ConsoleEsque = {
5
- log: (...args: any[]) => void;
6
- error: (...args: any[]) => void;
7
- };
8
- type EnableFnOptions<TRouter extends InferrableClientTypes> = {
9
- direction: 'down';
10
- result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
11
- } | (Operation & {
12
- direction: 'up';
13
- });
14
- type EnabledFn<TRouter extends AnyRouter> = (opts: EnableFnOptions<TRouter>) => boolean;
15
- type LoggerLinkFnOptions<TRouter extends AnyRouter> = Operation & ({
16
- /**
17
- * Request result
18
- */
19
- direction: 'down';
20
- result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
21
- elapsedMs: number;
22
- } | {
23
- /**
24
- * Request was just initialized
25
- */
26
- direction: 'up';
27
- });
28
- type LoggerLinkFn<TRouter extends AnyRouter> = (opts: LoggerLinkFnOptions<TRouter>) => void;
29
- type ColorMode = 'ansi' | 'css' | 'none';
30
- export interface LoggerLinkOptions<TRouter extends AnyRouter> {
31
- logger?: LoggerLinkFn<TRouter>;
32
- enabled?: EnabledFn<TRouter>;
33
- /**
34
- * Used in the built-in defaultLogger
35
- */
36
- console?: ConsoleEsque;
37
- /**
38
- * Color mode
39
- * @default typeof window === 'undefined' ? 'ansi' : 'css'
40
- */
41
- colorMode?: ColorMode;
42
- /**
43
- * Include context in the log - defaults to false unless `colorMode` is 'css'
44
- */
45
- withContext?: boolean;
46
- }
47
- /**
48
- * @see https://trpc.io/docs/v11/client/links/loggerLink
49
- */
50
- export declare function loggerLink<TRouter extends AnyRouter = AnyRouter>(opts?: LoggerLinkOptions<TRouter>): TRPCLink<TRouter>;
51
- export {};
52
- //# sourceMappingURL=loggerLink.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loggerLink.d.ts","sourceRoot":"","sources":["../../src/links/loggerLink.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACtB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5E,KAAK,YAAY,GAAG;IAClB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,KAAK,eAAe,CAAC,OAAO,SAAS,qBAAqB,IACtD;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EACF,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,GAC1D,eAAe,CAAC,OAAO,CAAC,CAAC;CAC9B,GACD,CAAC,SAAS,GAAG;IACX,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC,CAAC;AACP,KAAK,SAAS,CAAC,OAAO,SAAS,SAAS,IAAI,CAC1C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,KAC3B,OAAO,CAAC;AAEb,KAAK,mBAAmB,CAAC,OAAO,SAAS,SAAS,IAAI,SAAS,GAC7D,CACI;IACE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EACF,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,GAC1D,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;CACjB,CACJ,CAAC;AAEJ,KAAK,YAAY,CAAC,OAAO,SAAS,SAAS,IAAI,CAC7C,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAC/B,IAAI,CAAC;AAEV,KAAK,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,SAAS;IAC1D,MAAM,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAqID;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAC9D,IAAI,GAAE,iBAAiB,CAAC,OAAO,CAAM,GACpC,QAAQ,CAAC,OAAO,CAAC,CAoDnB"}
@@ -1,178 +0,0 @@
1
- 'use strict';
2
-
3
- var observable = require('@trpc/server/observable');
4
-
5
- /// <reference lib="dom.iterable" />
6
- // `dom.iterable` types are explicitly required for extracting `FormData` values,
7
- // as all implementations of `Symbol.iterable` are separated from the main `dom` types.
8
- // Using triple-slash directive makes sure that it will be available,
9
- // even if end-user `tsconfig.json` omits it in the `lib` array.
10
- function isFormData(value) {
11
- if (typeof FormData === 'undefined') {
12
- // FormData is not supported
13
- return false;
14
- }
15
- return value instanceof FormData;
16
- }
17
- const palettes = {
18
- css: {
19
- query: [
20
- '72e3ff',
21
- '3fb0d8'
22
- ],
23
- mutation: [
24
- 'c5a3fc',
25
- '904dfc'
26
- ],
27
- subscription: [
28
- 'ff49e1',
29
- 'd83fbe'
30
- ]
31
- },
32
- ansi: {
33
- regular: {
34
- // Cyan background, black and white text respectively
35
- query: [
36
- '\x1b[30;46m',
37
- '\x1b[97;46m'
38
- ],
39
- // Magenta background, black and white text respectively
40
- mutation: [
41
- '\x1b[30;45m',
42
- '\x1b[97;45m'
43
- ],
44
- // Green background, black and white text respectively
45
- subscription: [
46
- '\x1b[30;42m',
47
- '\x1b[97;42m'
48
- ]
49
- },
50
- bold: {
51
- query: [
52
- '\x1b[1;30;46m',
53
- '\x1b[1;97;46m'
54
- ],
55
- mutation: [
56
- '\x1b[1;30;45m',
57
- '\x1b[1;97;45m'
58
- ],
59
- subscription: [
60
- '\x1b[1;30;42m',
61
- '\x1b[1;97;42m'
62
- ]
63
- }
64
- }
65
- };
66
- function constructPartsAndArgs(opts) {
67
- const { direction, type, withContext, path, id, input } = opts;
68
- const parts = [];
69
- const args = [];
70
- if (opts.colorMode === 'none') {
71
- parts.push(direction === 'up' ? '>>' : '<<', type, `#${id}`, path);
72
- } else if (opts.colorMode === 'ansi') {
73
- const [lightRegular, darkRegular] = palettes.ansi.regular[type];
74
- const [lightBold, darkBold] = palettes.ansi.bold[type];
75
- const reset = '\x1b[0m';
76
- parts.push(direction === 'up' ? lightRegular : darkRegular, direction === 'up' ? '>>' : '<<', type, direction === 'up' ? lightBold : darkBold, `#${id}`, path, reset);
77
- } else {
78
- // css color mode
79
- const [light, dark] = palettes.css[type];
80
- const css = `
81
- background-color: #${direction === 'up' ? light : dark};
82
- color: ${direction === 'up' ? 'black' : 'white'};
83
- padding: 2px;
84
- `;
85
- parts.push('%c', direction === 'up' ? '>>' : '<<', type, `#${id}`, `%c${path}%c`, '%O');
86
- args.push(css, `${css}; font-weight: bold;`, `${css}; font-weight: normal;`);
87
- }
88
- if (direction === 'up') {
89
- args.push(withContext ? {
90
- input,
91
- context: opts.context
92
- } : {
93
- input
94
- });
95
- } else {
96
- args.push({
97
- input,
98
- result: opts.result,
99
- elapsedMs: opts.elapsedMs,
100
- ...withContext && {
101
- context: opts.context
102
- }
103
- });
104
- }
105
- return {
106
- parts,
107
- args
108
- };
109
- }
110
- // maybe this should be moved to it's own package
111
- const defaultLogger = ({ c = console, colorMode = 'css', withContext })=>(props)=>{
112
- const rawInput = props.input;
113
- const input = isFormData(rawInput) ? Object.fromEntries(rawInput) : rawInput;
114
- const { parts, args } = constructPartsAndArgs({
115
- ...props,
116
- colorMode,
117
- input,
118
- withContext
119
- });
120
- const fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.result && props.result.result.error) ? 'error' : 'log';
121
- c[fn].apply(null, [
122
- parts.join(' ')
123
- ].concat(args));
124
- };
125
- /**
126
- * @see https://trpc.io/docs/v11/client/links/loggerLink
127
- */ function loggerLink(opts = {}) {
128
- const { enabled = ()=>true } = opts;
129
- const colorMode = opts.colorMode ?? (typeof window === 'undefined' ? 'ansi' : 'css');
130
- const withContext = opts.withContext ?? colorMode === 'css';
131
- const { logger = defaultLogger({
132
- c: opts.console,
133
- colorMode,
134
- withContext
135
- }) } = opts;
136
- return ()=>{
137
- return ({ op, next })=>{
138
- return observable.observable((observer)=>{
139
- // ->
140
- if (enabled({
141
- ...op,
142
- direction: 'up'
143
- })) {
144
- logger({
145
- ...op,
146
- direction: 'up'
147
- });
148
- }
149
- const requestStartTime = Date.now();
150
- function logResult(result) {
151
- const elapsedMs = Date.now() - requestStartTime;
152
- if (enabled({
153
- ...op,
154
- direction: 'down',
155
- result
156
- })) {
157
- logger({
158
- ...op,
159
- direction: 'down',
160
- elapsedMs,
161
- result
162
- });
163
- }
164
- }
165
- return next(op).pipe(observable.tap({
166
- next (result) {
167
- logResult(result);
168
- },
169
- error (result) {
170
- logResult(result);
171
- }
172
- })).subscribe(observer);
173
- });
174
- };
175
- };
176
- }
177
-
178
- exports.loggerLink = loggerLink;
@@ -1,33 +0,0 @@
1
- import type { InferrableClientTypes } from '@trpc/server/unstable-core-do-not-import';
2
- import type { TRPCClientError } from '../TRPCClientError';
3
- import type { Operation, TRPCLink } from './types';
4
- interface RetryLinkOptions<TInferrable extends InferrableClientTypes> {
5
- /**
6
- * The retry function
7
- */
8
- retry: (opts: RetryFnOptions<TInferrable>) => boolean;
9
- /**
10
- * The delay between retries in ms (defaults to 0)
11
- */
12
- retryDelayMs?: (attempt: number) => number;
13
- }
14
- interface RetryFnOptions<TInferrable extends InferrableClientTypes> {
15
- /**
16
- * The operation that failed
17
- */
18
- op: Operation;
19
- /**
20
- * The error that occurred
21
- */
22
- error: TRPCClientError<TInferrable>;
23
- /**
24
- * The number of attempts that have been made (including the first call)
25
- */
26
- attempts: number;
27
- }
28
- /**
29
- * @see https://trpc.io/docs/v11/client/links/retryLink
30
- */
31
- export declare function retryLink<TInferrable extends InferrableClientTypes>(opts: RetryLinkOptions<TInferrable>): TRPCLink<TInferrable>;
32
- export {};
33
- //# sourceMappingURL=retryLink.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retryLink.d.ts","sourceRoot":"","sources":["../../src/links/retryLink.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnD,UAAU,gBAAgB,CAAC,WAAW,SAAS,qBAAqB;IAClE;;OAEG;IACH,KAAK,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC;IACtD;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C;AAED,UAAU,cAAc,CAAC,WAAW,SAAS,qBAAqB;IAChE;;OAEG;IACH,EAAE,EAAE,SAAS,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACpC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,WAAW,SAAS,qBAAqB,EACjE,IAAI,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAClC,QAAQ,CAAC,WAAW,CAAC,CA4EvB"}
@@ -1,72 +0,0 @@
1
- 'use strict';
2
-
3
- var observable = require('@trpc/server/observable');
4
- var inputWithTrackedEventId = require('../internals/inputWithTrackedEventId.js');
5
-
6
- /* istanbul ignore file -- @preserve */ // We're not actually exporting this link
7
- /**
8
- * @see https://trpc.io/docs/v11/client/links/retryLink
9
- */ function retryLink(opts) {
10
- // initialized config
11
- return ()=>{
12
- // initialized in app
13
- return (callOpts)=>{
14
- // initialized for request
15
- return observable.observable((observer)=>{
16
- let next$;
17
- let callNextTimeout = undefined;
18
- let lastEventId = undefined;
19
- attempt(1);
20
- function opWithLastEventId() {
21
- const op = callOpts.op;
22
- if (!lastEventId) {
23
- return op;
24
- }
25
- return {
26
- ...op,
27
- input: inputWithTrackedEventId.inputWithTrackedEventId(op.input, lastEventId)
28
- };
29
- }
30
- function attempt(attempts) {
31
- const op = opWithLastEventId();
32
- next$ = callOpts.next(op).subscribe({
33
- error (error) {
34
- const shouldRetry = opts.retry({
35
- op,
36
- attempts,
37
- error
38
- });
39
- if (!shouldRetry) {
40
- observer.error(error);
41
- return;
42
- }
43
- const delayMs = opts.retryDelayMs?.(attempts) ?? 0;
44
- if (delayMs <= 0) {
45
- attempt(attempts + 1);
46
- return;
47
- }
48
- callNextTimeout = setTimeout(()=>attempt(attempts + 1), delayMs);
49
- },
50
- next (envelope) {
51
- //
52
- if ((!envelope.result.type || envelope.result.type === 'data') && envelope.result.id) {
53
- //
54
- lastEventId = envelope.result.id;
55
- }
56
- observer.next(envelope);
57
- },
58
- complete () {
59
- observer.complete();
60
- }
61
- });
62
- }
63
- return ()=>{
64
- next$.unsubscribe();
65
- clearTimeout(callNextTimeout);
66
- };
67
- });
68
- };
69
- };
70
- }
71
-
72
- exports.retryLink = retryLink;