@trpc/client 11.3.1 → 11.3.2-canary.4

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 (239) 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 +736 -0
  27. package/dist/index.d.cts +201 -0
  28. package/dist/index.d.cts.map +1 -0
  29. package/dist/index.d.mts +201 -0
  30. package/dist/index.d.mts.map +1 -0
  31. package/dist/index.mjs +737 -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/src/links/localLink.ts +6 -1
  100. package/unstable-internals/package.json +1 -0
  101. package/dist/TRPCClientError.d.ts +0 -30
  102. package/dist/TRPCClientError.d.ts.map +0 -1
  103. package/dist/TRPCClientError.js +0 -79
  104. package/dist/TRPCClientError.mjs +0 -76
  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/index.d.ts +0 -1
  235. package/links/wsLink/index.js +0 -1
  236. package/links/wsLink/wsLink/index.d.ts +0 -1
  237. package/links/wsLink/wsLink/index.js +0 -1
  238. package/unstable-internals/index.d.ts +0 -1
  239. package/unstable-internals/index.js +0 -1
@@ -0,0 +1,5 @@
1
+ import "../../subscriptions.d-U92STdZl.mjs";
2
+ import "../../types.d-DXbqQLCC.mjs";
3
+ import "../../unstable-internals.d-DyLd-B0J.mjs";
4
+ import { TRPCWebSocketClient, WebSocketClientOptions, WebSocketLinkOptions, createWSClient, wsLink } from "../../wsLink.d-BqO7ltN_.mjs";
5
+ export { TRPCWebSocketClient, WebSocketClientOptions, WebSocketLinkOptions, createWSClient, wsLink };
@@ -1,32 +1,5 @@
1
- import { observable } from '@trpc/server/observable';
2
- import { getTransformer } from '../../internals/transformer.mjs';
3
- export { createWSClient } from './createWsClient.mjs';
1
+ import "../../TRPCClientError-COkhCKf3.mjs";
2
+ import "../../unstable-internals-DU4WecoG.mjs";
3
+ import { createWSClient, wsLink } from "../../wsLink-DbSHOzlB.mjs";
4
4
 
5
- function wsLink(opts) {
6
- const { client } = opts;
7
- const transformer = getTransformer(opts.transformer);
8
- return ()=>{
9
- return ({ op })=>{
10
- return observable((observer)=>{
11
- const connStateSubscription = op.type === 'subscription' ? client.connectionState.subscribe({
12
- next (result) {
13
- observer.next({
14
- result,
15
- context: op.context
16
- });
17
- }
18
- }) : null;
19
- const requestSubscription = client.request({
20
- op,
21
- transformer
22
- }).subscribe(observer);
23
- return ()=>{
24
- requestSubscription.unsubscribe();
25
- connStateSubscription?.unsubscribe();
26
- };
27
- });
28
- };
29
- };
30
- }
31
-
32
- export { wsLink };
5
+ export { createWSClient, wsLink };
@@ -0,0 +1,130 @@
1
+ const require_chunk = require('./chunk-DWy1uDak.cjs');
2
+ const __trpc_server_observable = require_chunk.__toESM(require("@trpc/server/observable"));
3
+
4
+ //#region src/links/loggerLink.ts
5
+ function isFormData(value) {
6
+ if (typeof FormData === "undefined") return false;
7
+ return value instanceof FormData;
8
+ }
9
+ const palettes = {
10
+ css: {
11
+ query: ["72e3ff", "3fb0d8"],
12
+ mutation: ["c5a3fc", "904dfc"],
13
+ subscription: ["ff49e1", "d83fbe"]
14
+ },
15
+ ansi: {
16
+ regular: {
17
+ query: ["\x1B[30;46m", "\x1B[97;46m"],
18
+ mutation: ["\x1B[30;45m", "\x1B[97;45m"],
19
+ subscription: ["\x1B[30;42m", "\x1B[97;42m"]
20
+ },
21
+ bold: {
22
+ query: ["\x1B[1;30;46m", "\x1B[1;97;46m"],
23
+ mutation: ["\x1B[1;30;45m", "\x1B[1;97;45m"],
24
+ subscription: ["\x1B[1;30;42m", "\x1B[1;97;42m"]
25
+ }
26
+ }
27
+ };
28
+ function constructPartsAndArgs(opts) {
29
+ const { direction, type, withContext, path, id, input } = opts;
30
+ const parts = [];
31
+ const args = [];
32
+ if (opts.colorMode === "none") parts.push(direction === "up" ? ">>" : "<<", type, `#${id}`, path);
33
+ else if (opts.colorMode === "ansi") {
34
+ const [lightRegular, darkRegular] = palettes.ansi.regular[type];
35
+ const [lightBold, darkBold] = palettes.ansi.bold[type];
36
+ const reset = "\x1B[0m";
37
+ parts.push(direction === "up" ? lightRegular : darkRegular, direction === "up" ? ">>" : "<<", type, direction === "up" ? lightBold : darkBold, `#${id}`, path, reset);
38
+ } else {
39
+ const [light, dark] = palettes.css[type];
40
+ const css = `
41
+ background-color: #${direction === "up" ? light : dark};
42
+ color: ${direction === "up" ? "black" : "white"};
43
+ padding: 2px;
44
+ `;
45
+ parts.push("%c", direction === "up" ? ">>" : "<<", type, `#${id}`, `%c${path}%c`, "%O");
46
+ args.push(css, `${css}; font-weight: bold;`, `${css}; font-weight: normal;`);
47
+ }
48
+ if (direction === "up") args.push(withContext ? {
49
+ input,
50
+ context: opts.context
51
+ } : { input });
52
+ else args.push({
53
+ input,
54
+ result: opts.result,
55
+ elapsedMs: opts.elapsedMs,
56
+ ...withContext && { context: opts.context }
57
+ });
58
+ return {
59
+ parts,
60
+ args
61
+ };
62
+ }
63
+ const defaultLogger = ({ c = console, colorMode = "css", withContext }) => (props) => {
64
+ const rawInput = props.input;
65
+ const input = isFormData(rawInput) ? Object.fromEntries(rawInput) : rawInput;
66
+ const { parts, args } = constructPartsAndArgs({
67
+ ...props,
68
+ colorMode,
69
+ input,
70
+ withContext
71
+ });
72
+ const fn = props.direction === "down" && props.result && (props.result instanceof Error || "error" in props.result.result && props.result.result.error) ? "error" : "log";
73
+ c[fn].apply(null, [parts.join(" ")].concat(args));
74
+ };
75
+ /**
76
+ * @see https://trpc.io/docs/v11/client/links/loggerLink
77
+ */
78
+ function loggerLink(opts = {}) {
79
+ const { enabled = () => true } = opts;
80
+ const colorMode = opts.colorMode ?? (typeof window === "undefined" ? "ansi" : "css");
81
+ const withContext = opts.withContext ?? colorMode === "css";
82
+ const { logger = defaultLogger({
83
+ c: opts.console,
84
+ colorMode,
85
+ withContext
86
+ }) } = opts;
87
+ return () => {
88
+ return ({ op, next }) => {
89
+ return (0, __trpc_server_observable.observable)((observer) => {
90
+ if (enabled({
91
+ ...op,
92
+ direction: "up"
93
+ })) logger({
94
+ ...op,
95
+ direction: "up"
96
+ });
97
+ const requestStartTime = Date.now();
98
+ function logResult(result) {
99
+ const elapsedMs = Date.now() - requestStartTime;
100
+ if (enabled({
101
+ ...op,
102
+ direction: "down",
103
+ result
104
+ })) logger({
105
+ ...op,
106
+ direction: "down",
107
+ elapsedMs,
108
+ result
109
+ });
110
+ }
111
+ return next(op).pipe((0, __trpc_server_observable.tap)({
112
+ next(result) {
113
+ logResult(result);
114
+ },
115
+ error(result) {
116
+ logResult(result);
117
+ }
118
+ })).subscribe(observer);
119
+ });
120
+ };
121
+ };
122
+ }
123
+
124
+ //#endregion
125
+ Object.defineProperty(exports, 'loggerLink', {
126
+ enumerable: true,
127
+ get: function () {
128
+ return loggerLink;
129
+ }
130
+ });
@@ -0,0 +1,125 @@
1
+ import { observable, tap } from "@trpc/server/observable";
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-PGBSQFcR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggerLink-PGBSQFcR.mjs","names":["value: unknown","opts: LoggerLinkFnOptions<any> & {\n colorMode: ColorMode;\n withContext?: boolean;\n }","parts: string[]","args: any[]","fn: 'error' | 'log'","opts: LoggerLinkOptions<TRouter>","result:\n | OperationResultEnvelope<unknown, TRPCClientError<TRouter>>\n | TRPCClientError<TRouter>"],"sources":["../src/links/loggerLink.ts"],"sourcesContent":["/// <reference lib=\"dom.iterable\" />\n\n// `dom.iterable` types are explicitly required for extracting `FormData` values,\n// as all implementations of `Symbol.iterable` are separated from the main `dom` types.\n// Using triple-slash directive makes sure that it will be available,\n// even if end-user `tsconfig.json` omits it in the `lib` array.\n\nimport { observable, tap } from '@trpc/server/observable';\nimport type {\n AnyRouter,\n InferrableClientTypes,\n} from '@trpc/server/unstable-core-do-not-import';\nimport type { TRPCClientError } from '../TRPCClientError';\nimport type { Operation, OperationResultEnvelope, TRPCLink } from './types';\n\ntype ConsoleEsque = {\n log: (...args: any[]) => void;\n error: (...args: any[]) => void;\n};\n\ntype EnableFnOptions<TRouter extends InferrableClientTypes> =\n | {\n direction: 'down';\n result:\n | OperationResultEnvelope<unknown, TRPCClientError<TRouter>>\n | TRPCClientError<TRouter>;\n }\n | (Operation & {\n direction: 'up';\n });\ntype EnabledFn<TRouter extends AnyRouter> = (\n opts: EnableFnOptions<TRouter>,\n) => boolean;\n\ntype LoggerLinkFnOptions<TRouter extends AnyRouter> = Operation &\n (\n | {\n /**\n * Request result\n */\n direction: 'down';\n result:\n | OperationResultEnvelope<unknown, TRPCClientError<TRouter>>\n | TRPCClientError<TRouter>;\n elapsedMs: number;\n }\n | {\n /**\n * Request was just initialized\n */\n direction: 'up';\n }\n );\n\ntype LoggerLinkFn<TRouter extends AnyRouter> = (\n opts: LoggerLinkFnOptions<TRouter>,\n) => void;\n\ntype ColorMode = 'ansi' | 'css' | 'none';\n\nexport interface LoggerLinkOptions<TRouter extends AnyRouter> {\n logger?: LoggerLinkFn<TRouter>;\n enabled?: EnabledFn<TRouter>;\n /**\n * Used in the built-in defaultLogger\n */\n console?: ConsoleEsque;\n /**\n * Color mode\n * @default typeof window === 'undefined' ? 'ansi' : 'css'\n */\n colorMode?: ColorMode;\n\n /**\n * Include context in the log - defaults to false unless `colorMode` is 'css'\n */\n withContext?: boolean;\n}\n\nfunction isFormData(value: unknown): value is FormData {\n if (typeof FormData === 'undefined') {\n // FormData is not supported\n return false;\n }\n return value instanceof FormData;\n}\n\nconst palettes = {\n css: {\n query: ['72e3ff', '3fb0d8'],\n mutation: ['c5a3fc', '904dfc'],\n subscription: ['ff49e1', 'd83fbe'],\n },\n ansi: {\n regular: {\n // Cyan background, black and white text respectively\n query: ['\\x1b[30;46m', '\\x1b[97;46m'],\n // Magenta background, black and white text respectively\n mutation: ['\\x1b[30;45m', '\\x1b[97;45m'],\n // Green background, black and white text respectively\n subscription: ['\\x1b[30;42m', '\\x1b[97;42m'],\n },\n bold: {\n query: ['\\x1b[1;30;46m', '\\x1b[1;97;46m'],\n mutation: ['\\x1b[1;30;45m', '\\x1b[1;97;45m'],\n subscription: ['\\x1b[1;30;42m', '\\x1b[1;97;42m'],\n },\n },\n} as const;\n\nfunction constructPartsAndArgs(\n opts: LoggerLinkFnOptions<any> & {\n colorMode: ColorMode;\n withContext?: boolean;\n },\n) {\n const { direction, type, withContext, path, id, input } = opts;\n\n const parts: string[] = [];\n const args: any[] = [];\n\n if (opts.colorMode === 'none') {\n parts.push(direction === 'up' ? '>>' : '<<', type, `#${id}`, path);\n } else if (opts.colorMode === 'ansi') {\n const [lightRegular, darkRegular] = palettes.ansi.regular[type];\n const [lightBold, darkBold] = palettes.ansi.bold[type];\n const reset = '\\x1b[0m';\n\n parts.push(\n direction === 'up' ? lightRegular : darkRegular,\n direction === 'up' ? '>>' : '<<',\n type,\n direction === 'up' ? lightBold : darkBold,\n `#${id}`,\n path,\n reset,\n );\n } else {\n // css color mode\n const [light, dark] = palettes.css[type];\n const css = `\n background-color: #${direction === 'up' ? light : dark};\n color: ${direction === 'up' ? 'black' : 'white'};\n padding: 2px;\n `;\n\n parts.push(\n '%c',\n direction === 'up' ? '>>' : '<<',\n type,\n `#${id}`,\n `%c${path}%c`,\n '%O',\n );\n args.push(\n css,\n `${css}; font-weight: bold;`,\n `${css}; font-weight: normal;`,\n );\n }\n\n if (direction === 'up') {\n args.push(withContext ? { input, context: opts.context } : { input });\n } else {\n args.push({\n input,\n result: opts.result,\n elapsedMs: opts.elapsedMs,\n ...(withContext && { context: opts.context }),\n });\n }\n\n return { parts, args };\n}\n\n// maybe this should be moved to it's own package\nconst defaultLogger =\n <TRouter extends AnyRouter>({\n c = console,\n colorMode = 'css',\n withContext,\n }: {\n c?: ConsoleEsque;\n colorMode?: ColorMode;\n withContext?: boolean;\n }): LoggerLinkFn<TRouter> =>\n (props) => {\n const rawInput = props.input;\n const input = isFormData(rawInput)\n ? Object.fromEntries(rawInput)\n : rawInput;\n\n const { parts, args } = constructPartsAndArgs({\n ...props,\n colorMode,\n input,\n withContext,\n });\n\n const fn: 'error' | 'log' =\n props.direction === 'down' &&\n props.result &&\n (props.result instanceof Error ||\n ('error' in props.result.result && props.result.result.error))\n ? 'error'\n : 'log';\n\n c[fn].apply(null, [parts.join(' ')].concat(args));\n };\n\n/**\n * @see https://trpc.io/docs/v11/client/links/loggerLink\n */\nexport function loggerLink<TRouter extends AnyRouter = AnyRouter>(\n opts: LoggerLinkOptions<TRouter> = {},\n): TRPCLink<TRouter> {\n const { enabled = () => true } = opts;\n\n const colorMode =\n opts.colorMode ?? (typeof window === 'undefined' ? 'ansi' : 'css');\n const withContext = opts.withContext ?? colorMode === 'css';\n const {\n logger = defaultLogger({ c: opts.console, colorMode, withContext }),\n } = opts;\n\n return () => {\n return ({ op, next }) => {\n return observable((observer) => {\n // ->\n if (enabled({ ...op, direction: 'up' })) {\n logger({\n ...op,\n direction: 'up',\n });\n }\n const requestStartTime = Date.now();\n function logResult(\n result:\n | OperationResultEnvelope<unknown, TRPCClientError<TRouter>>\n | TRPCClientError<TRouter>,\n ) {\n const elapsedMs = Date.now() - requestStartTime;\n\n if (enabled({ ...op, direction: 'down', result })) {\n logger({\n ...op,\n direction: 'down',\n elapsedMs,\n result,\n });\n }\n }\n return next(op)\n .pipe(\n tap({\n next(result) {\n logResult(result);\n },\n error(result) {\n logResult(result);\n },\n }),\n )\n .subscribe(observer);\n });\n };\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { Operation, OperationResultEnvelope, TRPCClientError, TRPCLink } from "./types.d-DXbqQLCC.mjs";
2
+ import { AnyRouter, InferrableClientTypes } from "@trpc/server/unstable-core-do-not-import";
3
+
4
+ //#region src/links/loggerLink.d.ts
5
+ type ConsoleEsque = {
6
+ log: (...args: any[]) => void;
7
+ error: (...args: any[]) => void;
8
+ };
9
+ type EnableFnOptions<TRouter extends InferrableClientTypes> = {
10
+ direction: 'down';
11
+ result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
12
+ } | (Operation & {
13
+ direction: 'up';
14
+ });
15
+ type EnabledFn<TRouter extends AnyRouter> = (opts: EnableFnOptions<TRouter>) => boolean;
16
+ type LoggerLinkFnOptions<TRouter extends AnyRouter> = Operation & ({
17
+ /**
18
+ * Request result
19
+ */
20
+ direction: 'down';
21
+ result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
22
+ elapsedMs: number;
23
+ } | {
24
+ /**
25
+ * Request was just initialized
26
+ */
27
+ direction: 'up';
28
+ });
29
+ type LoggerLinkFn<TRouter extends AnyRouter> = (opts: LoggerLinkFnOptions<TRouter>) => void;
30
+ type ColorMode = 'ansi' | 'css' | 'none';
31
+ interface LoggerLinkOptions<TRouter extends AnyRouter> {
32
+ logger?: LoggerLinkFn<TRouter>;
33
+ enabled?: EnabledFn<TRouter>;
34
+ /**
35
+ * Used in the built-in defaultLogger
36
+ */
37
+ console?: ConsoleEsque;
38
+ /**
39
+ * Color mode
40
+ * @default typeof window === 'undefined' ? 'ansi' : 'css'
41
+ */
42
+ colorMode?: ColorMode;
43
+ /**
44
+ * Include context in the log - defaults to false unless `colorMode` is 'css'
45
+ */
46
+ withContext?: boolean;
47
+ }
48
+ /**
49
+ * @see https://trpc.io/docs/v11/client/links/loggerLink
50
+ */
51
+ declare function loggerLink<TRouter extends AnyRouter = AnyRouter>(opts?: LoggerLinkOptions<TRouter>): TRPCLink<TRouter>;
52
+ //#endregion
53
+ export { LoggerLinkOptions, loggerLink };
54
+ //# sourceMappingURL=loggerLink.d-CZjK1CXm.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggerLink.d-CZjK1CXm.d.mts","names":[],"sources":["../src/links/loggerLink.ts"],"sourcesContent":[],"mappings":";;;;KAeK,YAAA;EAAA,GAAA,EAAA,CAAA,GAAA,IAAA,EAAY,GAAA,EAAA,EAAA,GAAA,IAAA;EAKZ,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,GAAe,EAAA,EAAA,GAAA,IAAA;CAAA;KAAf,eAAgC,CAAA,gBAAA,qBAAA,CAAA,GAAA;EAAqB,SAIC,EAAA,MAAA;EAAO,MAAvB,EAAjC,uBAAiC,CAAA,OAAA,EAAA,eAAA,CAAgB,OAAhB,CAAA,CAAA,GACjC,eADiC,CACjB,OADiB,CAAA;CAAe,GAAA,CAGrD,SAHK,GAAA;EAAuB,SACP,EAAA,IAAA;CAAO,CAAA;KAK5B,SAHA,CAAA,gBAG0B,SAH1B,CAAA,GAAA,CAAA,IAAA,EAIG,eAJH,CAImB,OAJnB,CAAA,EAAA,GAAA,OAAA;AAAS,KAOT,mBAPS,CAAA,gBAO2B,SAP3B,CAAA,GAOwC,SAPxC,GAAA,CAAA;EAGT;;;EAAmC,SAChB,EAAA,MAAA;EAAO,MAAvB,EAWI,uBAXJ,CAAA,OAAA,EAWqC,eAXrC,CAWqD,OAXrD,CAAA,CAAA,GAYI,eAZJ,CAYoB,OAZpB,CAAA;EAAe,SAAA,EAAA,MAAA;AAAA,CAAA,GAGlB;EAAmB;;;EAAuC,SAQF,EAAA,IAAA;CAAO,CAAA;KAY/D,YAZO,CAAA,gBAYsB,SAZtB,CAAA,GAAA,CAAA,IAAA,EAaJ,mBAbI,CAagB,OAbhB,CAAA,EAAA,GAAA,IAAA;KAgBP,SAAA,GAfuB,MAAA,GAAA,KAAA,GAAA,MAAA;AAAhB,UAiBK,iBAjBL,CAAA,gBAiBuC,SAjBvC,CAAA,CAAA;EAAe,MAAA,CAAA,EAkBhB,YAlBgB,CAkBH,OAlBG,CAAA;EAWtB,OAAA,CAAA,EAQO,SARK,CAQK,OARL,CAAA;EAAA;;;EACkB,OAA3B,CAAA,EAWI,YAXJ;EAAmB;AAAA;AAK3B;;EAAkC,SAAiB,CAAA,EAWrC,SAXqC;EAAS;;;EAE/B,WAAjB,CAAA,EAAA,OAAA;;;AASW;AA8IvB;AAA0B,iBAAV,UAAU,CAAA,gBAAiB,SAAjB,GAA6B,SAA7B,CAAA,CAAA,IAAA,CAAA,EAClB,iBADkB,CACA,OADA,CAAA,CAAA,EAEvB,QAFuB,CAEd,OAFc,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { Operation, OperationResultEnvelope, TRPCClientError, TRPCLink } from "./types.d-DqGYG6S_.cjs";
2
+ import { AnyRouter, InferrableClientTypes } from "@trpc/server/unstable-core-do-not-import";
3
+
4
+ //#region src/links/loggerLink.d.ts
5
+ type ConsoleEsque = {
6
+ log: (...args: any[]) => void;
7
+ error: (...args: any[]) => void;
8
+ };
9
+ type EnableFnOptions<TRouter extends InferrableClientTypes> = {
10
+ direction: 'down';
11
+ result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
12
+ } | (Operation & {
13
+ direction: 'up';
14
+ });
15
+ type EnabledFn<TRouter extends AnyRouter> = (opts: EnableFnOptions<TRouter>) => boolean;
16
+ type LoggerLinkFnOptions<TRouter extends AnyRouter> = Operation & ({
17
+ /**
18
+ * Request result
19
+ */
20
+ direction: 'down';
21
+ result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
22
+ elapsedMs: number;
23
+ } | {
24
+ /**
25
+ * Request was just initialized
26
+ */
27
+ direction: 'up';
28
+ });
29
+ type LoggerLinkFn<TRouter extends AnyRouter> = (opts: LoggerLinkFnOptions<TRouter>) => void;
30
+ type ColorMode = 'ansi' | 'css' | 'none';
31
+ interface LoggerLinkOptions<TRouter extends AnyRouter> {
32
+ logger?: LoggerLinkFn<TRouter>;
33
+ enabled?: EnabledFn<TRouter>;
34
+ /**
35
+ * Used in the built-in defaultLogger
36
+ */
37
+ console?: ConsoleEsque;
38
+ /**
39
+ * Color mode
40
+ * @default typeof window === 'undefined' ? 'ansi' : 'css'
41
+ */
42
+ colorMode?: ColorMode;
43
+ /**
44
+ * Include context in the log - defaults to false unless `colorMode` is 'css'
45
+ */
46
+ withContext?: boolean;
47
+ }
48
+ /**
49
+ * @see https://trpc.io/docs/v11/client/links/loggerLink
50
+ */
51
+ declare function loggerLink<TRouter extends AnyRouter = AnyRouter>(opts?: LoggerLinkOptions<TRouter>): TRPCLink<TRouter>;
52
+ //#endregion
53
+ export { LoggerLinkOptions, loggerLink };
54
+ //# sourceMappingURL=loggerLink.d-DU855urG.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggerLink.d-DU855urG.d.cts","names":[],"sources":["../src/links/loggerLink.ts"],"sourcesContent":[],"mappings":";;;;KAeK,YAAA;EAAA,GAAA,EAAA,CAAA,GAAA,IAAA,EAAY,GAAA,EAAA,EAAA,GAAA,IAAA;EAKZ,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,GAAe,EAAA,EAAA,GAAA,IAAA;CAAA;KAAf,eAAgC,CAAA,gBAAA,qBAAA,CAAA,GAAA;EAAqB,SAIC,EAAA,MAAA;EAAO,MAAvB,EAAjC,uBAAiC,CAAA,OAAA,EAAA,eAAA,CAAgB,OAAhB,CAAA,CAAA,GACjC,eADiC,CACjB,OADiB,CAAA;CAAe,GAAA,CAGrD,SAHK,GAAA;EAAuB,SACP,EAAA,IAAA;CAAO,CAAA;KAK5B,SAHA,CAAA,gBAG0B,SAH1B,CAAA,GAAA,CAAA,IAAA,EAIG,eAJH,CAImB,OAJnB,CAAA,EAAA,GAAA,OAAA;AAAS,KAOT,mBAPS,CAAA,gBAO2B,SAP3B,CAAA,GAOwC,SAPxC,GAAA,CAAA;EAGT;;;EAAmC,SAChB,EAAA,MAAA;EAAO,MAAvB,EAWI,uBAXJ,CAAA,OAAA,EAWqC,eAXrC,CAWqD,OAXrD,CAAA,CAAA,GAYI,eAZJ,CAYoB,OAZpB,CAAA;EAAe,SAAA,EAAA,MAAA;AAAA,CAAA,GAGlB;EAAmB;;;EAAuC,SAQF,EAAA,IAAA;CAAO,CAAA;KAY/D,YAZO,CAAA,gBAYsB,SAZtB,CAAA,GAAA,CAAA,IAAA,EAaJ,mBAbI,CAagB,OAbhB,CAAA,EAAA,GAAA,IAAA;KAgBP,SAAA,GAfuB,MAAA,GAAA,KAAA,GAAA,MAAA;AAAhB,UAiBK,iBAjBL,CAAA,gBAiBuC,SAjBvC,CAAA,CAAA;EAAe,MAAA,CAAA,EAkBhB,YAlBgB,CAkBH,OAlBG,CAAA;EAWtB,OAAA,CAAA,EAQO,SARK,CAQK,OARL,CAAA;EAAA;;;EACkB,OAA3B,CAAA,EAWI,YAXJ;EAAmB;AAAA;AAK3B;;EAAkC,SAAiB,CAAA,EAWrC,SAXqC;EAAS;;;EAE/B,WAAjB,CAAA,EAAA,OAAA;;;AASW;AA8IvB;AAA0B,iBAAV,UAAU,CAAA,gBAAiB,SAAjB,GAA6B,SAA7B,CAAA,CAAA,IAAA,CAAA,EAClB,iBADkB,CACA,OADA,CAAA,CAAA,EAEvB,QAFuB,CAEd,OAFc,CAAA"}
@@ -0,0 +1,58 @@
1
+ const require_chunk = require('./chunk-DWy1uDak.cjs');
2
+ const __trpc_server_observable = require_chunk.__toESM(require("@trpc/server/observable"));
3
+
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
+ });
23
+ }
24
+
25
+ //#endregion
26
+ //#region src/links/splitLink.ts
27
+ function asArray(value) {
28
+ return Array.isArray(value) ? value : [value];
29
+ }
30
+ function splitLink(opts) {
31
+ return (runtime) => {
32
+ const yes = asArray(opts.true).map((link) => link(runtime));
33
+ const no = asArray(opts.false).map((link) => link(runtime));
34
+ return (props) => {
35
+ return (0, __trpc_server_observable.observable)((observer) => {
36
+ const links = opts.condition(props.op) ? yes : no;
37
+ return createChain({
38
+ op: props.op,
39
+ links
40
+ }).subscribe(observer);
41
+ });
42
+ };
43
+ };
44
+ }
45
+
46
+ //#endregion
47
+ Object.defineProperty(exports, 'createChain', {
48
+ enumerable: true,
49
+ get: function () {
50
+ return createChain;
51
+ }
52
+ });
53
+ Object.defineProperty(exports, 'splitLink', {
54
+ enumerable: true,
55
+ get: function () {
56
+ return splitLink;
57
+ }
58
+ });
@@ -0,0 +1,47 @@
1
+ import { observable } from "@trpc/server/observable";
2
+
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
+ }
23
+
24
+ //#endregion
25
+ //#region src/links/splitLink.ts
26
+ function asArray(value) {
27
+ return Array.isArray(value) ? value : [value];
28
+ }
29
+ function splitLink(opts) {
30
+ return (runtime) => {
31
+ const yes = asArray(opts.true).map((link) => link(runtime));
32
+ const no = asArray(opts.false).map((link) => link(runtime));
33
+ return (props) => {
34
+ return observable((observer) => {
35
+ const links = opts.condition(props.op) ? yes : no;
36
+ return createChain({
37
+ op: props.op,
38
+ links
39
+ }).subscribe(observer);
40
+ });
41
+ };
42
+ };
43
+ }
44
+
45
+ //#endregion
46
+ export { createChain, splitLink };
47
+ //# sourceMappingURL=splitLink-BVblHq4n.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splitLink-BVblHq4n.mjs","names":["opts: {\n links: OperationLink<TRouter, TInput, TOutput>[];\n op: Operation<TInput>;\n}","value: TType | TType[]","opts: {\n condition: (op: Operation) => boolean;\n /**\n * The link to execute next if the test function returns `true`.\n */\n true: TRPCLink<TRouter> | TRPCLink<TRouter>[];\n /**\n * The link to execute next if the test function returns `false`.\n */\n false: TRPCLink<TRouter> | TRPCLink<TRouter>[];\n}"],"sources":["../src/links/internals/createChain.ts","../src/links/splitLink.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","import { observable } from '@trpc/server/observable';\nimport type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';\nimport { createChain } from './internals/createChain';\nimport type { Operation, TRPCLink } from './types';\n\nfunction asArray<TType>(value: TType | TType[]) {\n return Array.isArray(value) ? value : [value];\n}\nexport function splitLink<TRouter extends AnyRouter = AnyRouter>(opts: {\n condition: (op: Operation) => boolean;\n /**\n * The link to execute next if the test function returns `true`.\n */\n true: TRPCLink<TRouter> | TRPCLink<TRouter>[];\n /**\n * The link to execute next if the test function returns `false`.\n */\n false: TRPCLink<TRouter> | TRPCLink<TRouter>[];\n}): TRPCLink<TRouter> {\n return (runtime) => {\n const yes = asArray(opts.true).map((link) => link(runtime));\n const no = asArray(opts.false).map((link) => link(runtime));\n return (props) => {\n return observable((observer) => {\n const links = opts.condition(props.op) ? yes : no;\n return createChain({ op: props.op, links }).subscribe(observer);\n });\n };\n };\n}\n"],"mappings":";;;;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;;;;AClCD,SAAS,QAAeC,OAAwB;AAC9C,QAAO,MAAM,QAAQ,MAAM,GAAG,QAAQ,CAAC,KAAM;AAC9C;AACD,SAAgB,UAAiDC,MAU3C;AACpB,QAAO,CAAC,YAAY;EAClB,MAAM,MAAM,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC;EAC3D,MAAM,KAAK,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC;AAC3D,SAAO,CAAC,UAAU;AAChB,UAAO,WAAW,CAAC,aAAa;IAC9B,MAAM,QAAQ,KAAK,UAAU,MAAM,GAAG,GAAG,MAAM;AAC/C,WAAO,YAAY;KAAE,IAAI,MAAM;KAAI;IAAO,EAAC,CAAC,UAAU,SAAS;GAChE,EAAC;EACH;CACF;AACF"}
@@ -0,0 +1,20 @@
1
+ import { Operation, TRPCLink } from "./types.d-DXbqQLCC.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-BAqgq0NG.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splitLink.d-BAqgq0NG.d.mts","names":[],"sources":["../src/links/splitLink.ts"],"sourcesContent":[],"mappings":";;;;iBAQgB,0BAA0B,YAAY;kBACpC;EADF;;;EAAmC,IAAG,EAK9C,QAL8C,CAKrC,OALqC,CAAA,GAK1B,QAL0B,CAKjB,OALiB,CAAA,EAAA;EAAS;;;EAK/C,KAAqB,EAI5B,QAJ4B,CAInB,OAJmB,CAAA,GAIR,QAJQ,CAIC,OAJD,CAAA,EAAA;CAAO,CAAA,EAKxC,QALwB,CAKf,OALe,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { Operation, TRPCLink } from "./types.d-DqGYG6S_.cjs";
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-GdevSkGW.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splitLink.d-GdevSkGW.d.cts","names":[],"sources":["../src/links/splitLink.ts"],"sourcesContent":[],"mappings":";;;;iBAQgB,0BAA0B,YAAY;kBACpC;EADF;;;EAAmC,IAAG,EAK9C,QAL8C,CAKrC,OALqC,CAAA,GAK1B,QAL0B,CAKjB,OALiB,CAAA,EAAA;EAAS;;;EAK/C,KAAqB,EAI5B,QAJ4B,CAInB,OAJmB,CAAA,GAIR,QAJQ,CAIC,OAJD,CAAA,EAAA;CAAO,CAAA,EAKxC,QALwB,CAKf,OALe,CAAA"}
@@ -0,0 +1,19 @@
1
+ //#region src/links/internals/subscriptions.d.ts
2
+ interface ConnectionStateBase<TError> {
3
+ type: 'state';
4
+ data?: never;
5
+ error: TError | null;
6
+ }
7
+ interface ConnectionIdleState extends ConnectionStateBase<null> {
8
+ state: 'idle';
9
+ }
10
+ interface ConnectionConnectingState<TError> extends ConnectionStateBase<TError | null> {
11
+ state: 'connecting';
12
+ }
13
+ interface ConnectionPendingState extends ConnectionStateBase<null> {
14
+ state: 'pending';
15
+ }
16
+ type TRPCConnectionState<TError> = ConnectionIdleState | ConnectionConnectingState<TError> | ConnectionPendingState;
17
+ //#endregion
18
+ export { TRPCConnectionState };
19
+ //# sourceMappingURL=subscriptions.d-Ciljg_dH.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.d-Ciljg_dH.d.cts","names":[],"sources":["../src/links/internals/subscriptions.ts"],"sourcesContent":[],"mappings":";UAAU;EAAA,IAAA,EAAA,OAAA;EAMA,IAAA,CAAA,EAAA,KAAA;EAIA,KAAA,EAPD,MAOC,GAAA,IAAA;;UAJA,mBAAA,SAA4B,mBAKR,CAAA,IAAA,CAAA,CAAA;EAAM,KAA1B,EAAA,MAAA;AAAmB;AAAA,UADnB,yBAKuB,CAAA,MAAQ,CAAA,SAJ/B,mBAIkD,CAJ9B,MAI8B,GAAA,IAAA,CAAA,CAAA;EAIhD,KAAA,EAAA,YAAA;;UAJF,sBAAA,SAA+B,mBAKrC,CAAA,IAAA,CAAA,CAAA;EAAmB,KACO,EAAA,SAAA;;AAC1B,KAHQ,mBAGR,CAAA,MAAA,CAAA,GAFA,mBAEA,GADA,yBACA,CAD0B,MAC1B,CAAA,GAAA,sBAAA"}
@@ -0,0 +1,19 @@
1
+ //#region src/links/internals/subscriptions.d.ts
2
+ interface ConnectionStateBase<TError> {
3
+ type: 'state';
4
+ data?: never;
5
+ error: TError | null;
6
+ }
7
+ interface ConnectionIdleState extends ConnectionStateBase<null> {
8
+ state: 'idle';
9
+ }
10
+ interface ConnectionConnectingState<TError> extends ConnectionStateBase<TError | null> {
11
+ state: 'connecting';
12
+ }
13
+ interface ConnectionPendingState extends ConnectionStateBase<null> {
14
+ state: 'pending';
15
+ }
16
+ type TRPCConnectionState<TError> = ConnectionIdleState | ConnectionConnectingState<TError> | ConnectionPendingState;
17
+ //#endregion
18
+ export { TRPCConnectionState };
19
+ //# sourceMappingURL=subscriptions.d-U92STdZl.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.d-U92STdZl.d.mts","names":[],"sources":["../src/links/internals/subscriptions.ts"],"sourcesContent":[],"mappings":";UAAU;EAAA,IAAA,EAAA,OAAA;EAMA,IAAA,CAAA,EAAA,KAAA;EAIA,KAAA,EAPD,MAOC,GAAA,IAAA;;UAJA,mBAAA,SAA4B,mBAKR,CAAA,IAAA,CAAA,CAAA;EAAM,KAA1B,EAAA,MAAA;AAAmB;AAAA,UADnB,yBAKuB,CAAA,MAAQ,CAAA,SAJ/B,mBAIkD,CAJ9B,MAI8B,GAAA,IAAA,CAAA,CAAA;EAIhD,KAAA,EAAA,YAAA;;UAJF,sBAAA,SAA+B,mBAKrC,CAAA,IAAA,CAAA,CAAA;EAAmB,KACO,EAAA,SAAA;;AAC1B,KAHQ,mBAGR,CAAA,MAAA,CAAA,GAFA,mBAEA,GADA,yBACA,CAD0B,MAC1B,CAAA,GAAA,sBAAA"}