@trpc/client 10.0.0-alpha.2 → 10.0.0-alpha.20

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 (196) hide show
  1. package/dist/{declarations/src/TRPCClientError.d.ts → TRPCClientError.d.ts} +21 -29
  2. package/dist/TRPCClientError.d.ts.map +1 -0
  3. package/dist/{declarations/src/createTRPCClient.d.ts → createTRPCClient.d.ts} +5 -5
  4. package/dist/createTRPCClient.d.ts.map +1 -0
  5. package/dist/{declarations/src/getFetch.d.ts → getFetch.d.ts} +1 -1
  6. package/dist/getFetch.d.ts.map +1 -0
  7. package/dist/{declarations/src/index.d.ts → index.d.ts} +4 -4
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +1373 -0
  10. package/dist/index.mjs +1346 -0
  11. package/dist/index.ts.js +1 -0
  12. package/dist/{declarations/src/internals → internals}/TRPCClient.d.ts +56 -64
  13. package/dist/internals/TRPCClient.d.ts.map +1 -0
  14. package/dist/{declarations/src/internals → internals}/dataLoader.d.ts +16 -14
  15. package/dist/internals/dataLoader.d.ts.map +1 -0
  16. package/dist/{declarations/src/internals → internals}/fetchHelpers.d.ts +2 -2
  17. package/dist/internals/fetchHelpers.d.ts.map +1 -0
  18. package/dist/{declarations/src/internals → internals}/retryDelay.d.ts +1 -1
  19. package/dist/internals/retryDelay.d.ts.map +1 -0
  20. package/dist/links/dedupeLink.d.ts +4 -0
  21. package/dist/links/dedupeLink.d.ts.map +1 -0
  22. package/dist/links/httpBatchLink.d.ts +8 -0
  23. package/dist/links/httpBatchLink.d.ts.map +1 -0
  24. package/dist/{declarations/src/links → links}/httpLink.d.ts +4 -4
  25. package/dist/links/httpLink.d.ts.map +1 -0
  26. package/dist/links/index.d.ts +11 -0
  27. package/dist/links/index.d.ts.map +1 -0
  28. package/dist/{declarations/src/links → links}/internals/createChain.d.ts +7 -7
  29. package/dist/links/internals/createChain.d.ts.map +1 -0
  30. package/dist/{declarations/src/links → links/internals}/httpUtils.d.ts +21 -21
  31. package/dist/links/internals/httpUtils.d.ts.map +1 -0
  32. package/dist/{declarations/src/links → links}/internals/transformOperationResult.d.ts +15 -15
  33. package/dist/links/internals/transformOperationResult.d.ts.map +1 -0
  34. package/dist/{declarations/src/links → links}/loggerLink.d.ts +38 -38
  35. package/dist/links/loggerLink.d.ts.map +1 -0
  36. package/dist/links/retryLink.d.ts +6 -0
  37. package/dist/links/retryLink.d.ts.map +1 -0
  38. package/dist/{declarations/src/links → links}/splitLink.d.ts +13 -13
  39. package/dist/links/splitLink.d.ts.map +1 -0
  40. package/dist/{declarations/src/links → links}/transformerLink.d.ts +3 -3
  41. package/dist/links/transformerLink.d.ts.map +1 -0
  42. package/dist/{declarations/src/links → links}/types.d.ts +39 -39
  43. package/dist/links/types.d.ts.map +1 -0
  44. package/dist/{declarations/src/links → links}/wsLink.d.ts +19 -19
  45. package/dist/links/wsLink.d.ts.map +1 -0
  46. package/dist/observable/index.d.ts +4 -0
  47. package/dist/observable/index.d.ts.map +1 -0
  48. package/{rx/operators/dist/trpc-client-rx-operators.cjs.dev.js → dist/observable/index.js} +3 -4
  49. package/{rx/operators/dist/trpc-client-rx-operators.esm.js → dist/observable/index.mjs} +1 -3
  50. package/dist/observable/index.ts.js +1 -0
  51. package/dist/{declarations/src/rx/util → observable/internals}/identity.d.ts +1 -1
  52. package/dist/observable/internals/identity.d.ts.map +1 -0
  53. package/dist/{declarations/src/rx/util → observable/internals}/observableToPromise.d.ts +9 -9
  54. package/dist/observable/internals/observableToPromise.d.ts.map +1 -0
  55. package/dist/{declarations/src/rx/util → observable/internals}/pipe.d.ts +3 -3
  56. package/dist/observable/internals/pipe.d.ts.map +1 -0
  57. package/dist/{declarations/src/rx → observable}/observable.d.ts +3 -3
  58. package/dist/observable/observable.d.ts.map +1 -0
  59. package/dist/{declarations/src/rx → observable}/operators/index.d.ts +3 -3
  60. package/dist/observable/operators/index.d.ts.map +1 -0
  61. package/dist/{declarations/src/rx → observable}/operators/map.d.ts +2 -2
  62. package/dist/observable/operators/map.d.ts.map +1 -0
  63. package/dist/{declarations/src/rx → observable}/operators/share.d.ts +5 -5
  64. package/dist/observable/operators/share.d.ts.map +1 -0
  65. package/dist/{declarations/src/rx → observable}/operators/tap.d.ts +2 -2
  66. package/dist/observable/operators/tap.d.ts.map +1 -0
  67. package/dist/{declarations/src/rx → observable}/types.d.ts +28 -28
  68. package/dist/observable/types.d.ts.map +1 -0
  69. package/dist/tap-0dcdee86.js +243 -0
  70. package/dist/tap-136a9a90.mjs +239 -0
  71. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js +68 -38
  72. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js +68 -38
  73. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.esm.js +67 -37
  74. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.dev.js +52 -29
  75. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.prod.js +52 -29
  76. package/links/httpLink/dist/trpc-client-links-httpLink.esm.js +52 -29
  77. package/links/loggerLink/dist/trpc-client-links-loggerLink.cjs.dev.js +19 -31
  78. package/links/loggerLink/dist/trpc-client-links-loggerLink.cjs.prod.js +19 -31
  79. package/links/loggerLink/dist/trpc-client-links-loggerLink.esm.js +19 -31
  80. package/links/splitLink/dist/trpc-client-links-splitLink.cjs.dev.js +7 -20
  81. package/links/splitLink/dist/trpc-client-links-splitLink.cjs.prod.js +7 -20
  82. package/links/splitLink/dist/trpc-client-links-splitLink.esm.js +7 -20
  83. package/links/wsLink/dist/trpc-client-links-wsLink.cjs.dev.js +84 -60
  84. package/links/wsLink/dist/trpc-client-links-wsLink.cjs.prod.js +84 -60
  85. package/links/wsLink/dist/trpc-client-links-wsLink.esm.js +84 -60
  86. package/{rx → observable}/dist/trpc-client-rx.cjs.d.ts +0 -0
  87. package/{rx → observable}/dist/trpc-client-rx.cjs.dev.js +0 -0
  88. package/{rx → observable}/dist/trpc-client-rx.cjs.js +0 -0
  89. package/{rx → observable}/dist/trpc-client-rx.cjs.prod.js +0 -0
  90. package/{rx → observable}/dist/trpc-client-rx.esm.js +0 -0
  91. package/observable/index.d.ts +1 -0
  92. package/observable/index.js +1 -0
  93. package/package.json +22 -21
  94. package/src/TRPCClientError.ts +3 -11
  95. package/src/createTRPCClient.ts +1 -1
  96. package/src/index.ts +1 -1
  97. package/src/internals/TRPCClient.ts +11 -19
  98. package/src/internals/dataLoader.ts +13 -1
  99. package/src/links/dedupeLink.test.ts +1 -1
  100. package/src/links/dedupeLink.ts +4 -5
  101. package/src/links/httpBatchLink.ts +15 -5
  102. package/src/links/httpLink.ts +2 -2
  103. package/src/links/index.ts +10 -0
  104. package/src/links/internals/createChain.test.ts +5 -5
  105. package/src/links/internals/createChain.ts +3 -3
  106. package/src/links/{httpUtils.ts → internals/httpUtils.ts} +2 -1
  107. package/src/links/loggerLink.ts +1 -2
  108. package/src/links/retryLink.ts +2 -2
  109. package/src/links/splitLink.test.ts +3 -3
  110. package/src/links/splitLink.ts +2 -2
  111. package/src/links/transformerLink.ts +9 -5
  112. package/src/links/types.ts +3 -3
  113. package/src/links/wsLink.ts +2 -3
  114. package/src/{rx → observable}/index.ts +1 -0
  115. package/src/{rx/util → observable/internals}/identity.ts +0 -0
  116. package/src/{rx/util → observable/internals}/observableToPromise.ts +0 -0
  117. package/src/{rx/util → observable/internals}/pipe.ts +1 -1
  118. package/src/{rx → observable}/observable.test.ts +22 -4
  119. package/src/{rx → observable}/observable.ts +1 -1
  120. package/src/{rx → observable}/operators/index.ts +0 -0
  121. package/src/{rx → observable}/operators/map.test.ts +2 -2
  122. package/src/{rx → observable}/operators/map.ts +0 -0
  123. package/src/{rx → observable}/operators/share.test.ts +0 -0
  124. package/src/{rx → observable}/operators/share.ts +0 -0
  125. package/src/{rx → observable}/operators/tap.ts +0 -0
  126. package/src/{rx → observable}/types.ts +0 -0
  127. package/dist/TRPCClientError-a5312a5f.cjs.dev.js +0 -74
  128. package/dist/TRPCClientError-e1da1ef0.esm.js +0 -72
  129. package/dist/TRPCClientError-ea7d89b2.cjs.prod.js +0 -74
  130. package/dist/createChain-93a38e1c.cjs.dev.js +0 -27
  131. package/dist/createChain-e45e052a.cjs.prod.js +0 -27
  132. package/dist/createChain-e45e6cf2.esm.js +0 -25
  133. package/dist/declarations/src/TRPCClientError.d.ts.map +0 -1
  134. package/dist/declarations/src/createTRPCClient.d.ts.map +0 -1
  135. package/dist/declarations/src/getFetch.d.ts.map +0 -1
  136. package/dist/declarations/src/index.d.ts.map +0 -1
  137. package/dist/declarations/src/internals/TRPCClient.d.ts.map +0 -1
  138. package/dist/declarations/src/internals/dataLoader.d.ts.map +0 -1
  139. package/dist/declarations/src/internals/fetchHelpers.d.ts.map +0 -1
  140. package/dist/declarations/src/internals/retryDelay.d.ts.map +0 -1
  141. package/dist/declarations/src/links/httpBatchLink.d.ts +0 -5
  142. package/dist/declarations/src/links/httpBatchLink.d.ts.map +0 -1
  143. package/dist/declarations/src/links/httpLink.d.ts.map +0 -1
  144. package/dist/declarations/src/links/httpUtils.d.ts.map +0 -1
  145. package/dist/declarations/src/links/internals/createChain.d.ts.map +0 -1
  146. package/dist/declarations/src/links/internals/transformOperationResult.d.ts.map +0 -1
  147. package/dist/declarations/src/links/loggerLink.d.ts.map +0 -1
  148. package/dist/declarations/src/links/splitLink.d.ts.map +0 -1
  149. package/dist/declarations/src/links/transformerLink.d.ts.map +0 -1
  150. package/dist/declarations/src/links/types.d.ts.map +0 -1
  151. package/dist/declarations/src/links/wsLink.d.ts.map +0 -1
  152. package/dist/declarations/src/rx/index.d.ts +0 -3
  153. package/dist/declarations/src/rx/index.d.ts.map +0 -1
  154. package/dist/declarations/src/rx/observable.d.ts.map +0 -1
  155. package/dist/declarations/src/rx/operators/index.d.ts.map +0 -1
  156. package/dist/declarations/src/rx/operators/map.d.ts.map +0 -1
  157. package/dist/declarations/src/rx/operators/share.d.ts.map +0 -1
  158. package/dist/declarations/src/rx/operators/tap.d.ts.map +0 -1
  159. package/dist/declarations/src/rx/types.d.ts.map +0 -1
  160. package/dist/declarations/src/rx/util/identity.d.ts.map +0 -1
  161. package/dist/declarations/src/rx/util/observableToPromise.d.ts.map +0 -1
  162. package/dist/declarations/src/rx/util/pipe.d.ts.map +0 -1
  163. package/dist/httpUtils-299a66f6.cjs.prod.js +0 -89
  164. package/dist/httpUtils-a1426e14.cjs.dev.js +0 -89
  165. package/dist/httpUtils-e45c9056.esm.js +0 -87
  166. package/dist/observable-01534ea8.esm.js +0 -102
  167. package/dist/observable-9aad8c3e.cjs.dev.js +0 -104
  168. package/dist/observable-ccb54234.cjs.prod.js +0 -104
  169. package/dist/share-5a8c2543.cjs.prod.js +0 -106
  170. package/dist/share-ca585761.esm.js +0 -104
  171. package/dist/share-f2ac9332.cjs.dev.js +0 -106
  172. package/dist/tap-2d565250.cjs.dev.js +0 -32
  173. package/dist/tap-606957cb.esm.js +0 -30
  174. package/dist/tap-d907998d.cjs.prod.js +0 -32
  175. package/dist/trpc-client.cjs.d.ts +0 -1
  176. package/dist/trpc-client.cjs.dev.js +0 -300
  177. package/dist/trpc-client.cjs.js +0 -7
  178. package/dist/trpc-client.cjs.prod.js +0 -300
  179. package/dist/trpc-client.esm.js +0 -295
  180. package/links/httpBatchLink/package.json +0 -4
  181. package/links/httpLink/package.json +0 -4
  182. package/links/loggerLink/package.json +0 -4
  183. package/links/splitLink/package.json +0 -4
  184. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.d.ts +0 -1
  185. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.dev.js +0 -67
  186. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.js +0 -7
  187. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.prod.js +0 -67
  188. package/links/transformerLink/dist/trpc-client-links-transformerLink.esm.js +0 -63
  189. package/links/transformerLink/package.json +0 -4
  190. package/links/wsLink/package.json +0 -4
  191. package/rx/operators/dist/trpc-client-rx-operators.cjs.d.ts +0 -1
  192. package/rx/operators/dist/trpc-client-rx-operators.cjs.js +0 -7
  193. package/rx/operators/dist/trpc-client-rx-operators.cjs.prod.js +0 -39
  194. package/rx/operators/package.json +0 -4
  195. package/rx/package.json +0 -4
  196. package/src/internals/transformRPCResponse.ts +0 -25
@@ -0,0 +1,239 @@
1
+ function identity(x) {
2
+ return x;
3
+ }
4
+
5
+ /** @internal */
6
+
7
+ function pipeFromArray(fns) {
8
+ if (fns.length === 0) {
9
+ return identity;
10
+ }
11
+
12
+ if (fns.length === 1) {
13
+ return fns[0];
14
+ }
15
+
16
+ return function piped(input) {
17
+ return fns.reduce(function (prev, fn) {
18
+ return fn(prev);
19
+ }, input);
20
+ };
21
+ }
22
+
23
+ function observable(_subscribe) {
24
+ var self = {
25
+ subscribe: function subscribe(observer) {
26
+ var teardownRef = null;
27
+ var isDone = false;
28
+ var unsubscribed = false;
29
+ var teardownImmediately = false;
30
+
31
+ function unsubscribe() {
32
+ if (teardownRef === null) {
33
+ teardownImmediately = true;
34
+ return;
35
+ }
36
+
37
+ if (unsubscribed) {
38
+ return;
39
+ }
40
+
41
+ unsubscribed = true;
42
+
43
+ if (typeof teardownRef === 'function') {
44
+ teardownRef();
45
+ } else if (teardownRef) {
46
+ teardownRef.unsubscribe();
47
+ }
48
+ }
49
+
50
+ teardownRef = _subscribe({
51
+ next: function next(value) {
52
+ var _observer$next;
53
+
54
+ if (isDone) {
55
+ return;
56
+ }
57
+
58
+ (_observer$next = observer.next) === null || _observer$next === void 0 ? void 0 : _observer$next.call(observer, value);
59
+ },
60
+ error: function error(err) {
61
+ var _observer$error;
62
+
63
+ if (isDone) {
64
+ return;
65
+ }
66
+
67
+ isDone = true;
68
+ (_observer$error = observer.error) === null || _observer$error === void 0 ? void 0 : _observer$error.call(observer, err);
69
+ unsubscribe();
70
+ },
71
+ complete: function complete() {
72
+ var _observer$complete;
73
+
74
+ if (isDone) {
75
+ return;
76
+ }
77
+
78
+ isDone = true;
79
+ (_observer$complete = observer.complete) === null || _observer$complete === void 0 ? void 0 : _observer$complete.call(observer);
80
+ unsubscribe();
81
+ }
82
+ });
83
+
84
+ if (teardownImmediately) {
85
+ unsubscribe();
86
+ }
87
+
88
+ return {
89
+ unsubscribe: unsubscribe
90
+ };
91
+ },
92
+ pipe: function pipe() {
93
+ for (var _len = arguments.length, operations = new Array(_len), _key = 0; _key < _len; _key++) {
94
+ operations[_key] = arguments[_key];
95
+ }
96
+
97
+ return pipeFromArray(operations)(self);
98
+ }
99
+ };
100
+ return self;
101
+ }
102
+
103
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
104
+
105
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
106
+
107
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
108
+
109
+ /* eslint-disable @typescript-eslint/no-empty-interface */
110
+ function share( // eslint-disable-next-line @typescript-eslint/no-unused-vars
111
+ _opts) {
112
+ return function (originalObserver) {
113
+ var refCount = 0;
114
+ var subscription = null;
115
+ var observers = [];
116
+
117
+ function startIfNeeded() {
118
+ if (subscription) {
119
+ return;
120
+ }
121
+
122
+ subscription = originalObserver.subscribe({
123
+ next: function next(value) {
124
+ var _iterator = _createForOfIteratorHelper(observers),
125
+ _step;
126
+
127
+ try {
128
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
129
+ var _observer$next;
130
+
131
+ var observer = _step.value;
132
+ (_observer$next = observer.next) === null || _observer$next === void 0 ? void 0 : _observer$next.call(observer, value);
133
+ }
134
+ } catch (err) {
135
+ _iterator.e(err);
136
+ } finally {
137
+ _iterator.f();
138
+ }
139
+ },
140
+ error: function error(_error) {
141
+ var _iterator2 = _createForOfIteratorHelper(observers),
142
+ _step2;
143
+
144
+ try {
145
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
146
+ var _observer$error;
147
+
148
+ var observer = _step2.value;
149
+ (_observer$error = observer.error) === null || _observer$error === void 0 ? void 0 : _observer$error.call(observer, _error);
150
+ }
151
+ } catch (err) {
152
+ _iterator2.e(err);
153
+ } finally {
154
+ _iterator2.f();
155
+ }
156
+ },
157
+ complete: function complete() {
158
+ var _iterator3 = _createForOfIteratorHelper(observers),
159
+ _step3;
160
+
161
+ try {
162
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
163
+ var _observer$complete;
164
+
165
+ var observer = _step3.value;
166
+ (_observer$complete = observer.complete) === null || _observer$complete === void 0 ? void 0 : _observer$complete.call(observer);
167
+ }
168
+ } catch (err) {
169
+ _iterator3.e(err);
170
+ } finally {
171
+ _iterator3.f();
172
+ }
173
+ }
174
+ });
175
+ }
176
+
177
+ function resetIfNeeded() {
178
+ // "resetOnRefCountZero"
179
+ if (refCount === 0 && subscription) {
180
+ var _sub = subscription;
181
+ subscription = null;
182
+
183
+ _sub.unsubscribe();
184
+ }
185
+ }
186
+
187
+ return {
188
+ subscribe: function subscribe(observer) {
189
+ refCount++;
190
+ observers.push(observer);
191
+ startIfNeeded();
192
+ return {
193
+ unsubscribe: function unsubscribe() {
194
+ refCount--;
195
+ resetIfNeeded();
196
+ var index = observers.findIndex(function (v) {
197
+ return v === observer;
198
+ });
199
+
200
+ if (index > -1) {
201
+ observers.splice(index, 1);
202
+ }
203
+ }
204
+ };
205
+ }
206
+ };
207
+ };
208
+ }
209
+
210
+ function tap(observer) {
211
+ return function (originalObserver) {
212
+ return {
213
+ subscribe: function subscribe(observer2) {
214
+ return originalObserver.subscribe({
215
+ next: function next(v) {
216
+ var _observer$next, _observer2$next;
217
+
218
+ (_observer$next = observer.next) === null || _observer$next === void 0 ? void 0 : _observer$next.call(observer, v);
219
+ (_observer2$next = observer2.next) === null || _observer2$next === void 0 ? void 0 : _observer2$next.call(observer2, v);
220
+ },
221
+ error: function error(v) {
222
+ var _observer$error, _observer2$error;
223
+
224
+ (_observer$error = observer.error) === null || _observer$error === void 0 ? void 0 : _observer$error.call(observer, v);
225
+ (_observer2$error = observer2.error) === null || _observer2$error === void 0 ? void 0 : _observer2$error.call(observer2, v);
226
+ },
227
+ complete: function complete() {
228
+ var _observer$complete, _observer2$complete;
229
+
230
+ (_observer$complete = observer.complete) === null || _observer$complete === void 0 ? void 0 : _observer$complete.call(observer);
231
+ (_observer2$complete = observer2.complete) === null || _observer2$complete === void 0 ? void 0 : _observer2$complete.call(observer2);
232
+ }
233
+ });
234
+ }
235
+ };
236
+ };
237
+ }
238
+
239
+ export { observable as o, share as s, tap as t };
@@ -3,8 +3,14 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
6
- var observable = require('../../../dist/observable-9aad8c3e.cjs.dev.js');
7
- var httpUtils = require('../../../dist/httpUtils-a1426e14.cjs.dev.js');
6
+ var transformRPCResponse = require('../../../dist/transformRPCResponse-0ad3cc9f.cjs.dev.js');
7
+ var TRPCClientError = require('../../../dist/TRPCClientError-bfee2bf5.cjs.dev.js');
8
+ require('@babel/runtime/helpers/createClass');
9
+ require('@babel/runtime/helpers/classCallCheck');
10
+ require('@babel/runtime/helpers/assertThisInitialized');
11
+ require('@babel/runtime/helpers/inherits');
12
+ require('@babel/runtime/helpers/createSuper');
13
+ require('@babel/runtime/helpers/wrapNativeSuper');
8
14
  require('@babel/runtime/helpers/objectSpread2');
9
15
 
10
16
  /**
@@ -12,7 +18,7 @@ require('@babel/runtime/helpers/objectSpread2');
12
18
  * Less configuration, no caching, and allows you to cancel requests
13
19
  * When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
14
20
  */
15
- function dataLoader(fetchMany) {
21
+ function dataLoader(fetchMany, opts) {
16
22
  var batch = null;
17
23
  var dispatchTimer = null;
18
24
 
@@ -77,6 +83,11 @@ function dataLoader(fetchMany) {
77
83
  item.reject = reject;
78
84
  item.resolve = resolve;
79
85
  thisBatch.items.push(item);
86
+
87
+ if (typeof (opts === null || opts === void 0 ? void 0 : opts.maxBatchSize) !== 'undefined' && thisBatch.items.length >= opts.maxBatchSize) {
88
+ dispatch();
89
+ return;
90
+ }
80
91
  });
81
92
 
82
93
  if (!dispatchTimer) {
@@ -108,8 +119,11 @@ function dataLoader(fetchMany) {
108
119
  }
109
120
 
110
121
  function httpBatchLink(opts) {
111
- var url = opts.url;
122
+ var url = opts.url,
123
+ maxBatchSize = opts.maxBatchSize; // initialized config
124
+
112
125
  return function (runtime) {
126
+ // initialized in app
113
127
  var fetcher = function fetcher(type) {
114
128
  return function (keyInputPairs) {
115
129
  var path = keyInputPairs.map(function (op) {
@@ -119,7 +133,7 @@ function httpBatchLink(opts) {
119
133
  return op.input;
120
134
  });
121
135
 
122
- var _httpRequest = httpUtils.httpRequest({
136
+ var _httpRequest = transformRPCResponse.httpRequest({
123
137
  url: url,
124
138
  inputs: inputs,
125
139
  path: path,
@@ -131,51 +145,67 @@ function httpBatchLink(opts) {
131
145
 
132
146
  return {
133
147
  promise: promise.then(function (res) {
134
- var resJSON = Array.isArray(res.json) ? res.json : keyInputPairs.map(function () {
135
- return res.json;
136
- });
137
- var result = resJSON.map(function (item) {
138
- return {
139
- meta: res.meta,
140
- json: item
141
- };
142
- });
143
- return result;
148
+ if (!Array.isArray(res)) {
149
+ return keyInputPairs.map(function () {
150
+ return res;
151
+ });
152
+ }
153
+
154
+ return res;
144
155
  }),
145
156
  cancel: cancel
146
157
  };
147
158
  };
148
159
  };
149
160
 
150
- var query = dataLoader(fetcher('query'));
151
- var mutation = dataLoader(fetcher('mutation'));
152
- var subscription = dataLoader(fetcher('subscription'));
161
+ var query = dataLoader(fetcher('query'), {
162
+ maxBatchSize: maxBatchSize
163
+ });
164
+ var mutation = dataLoader(fetcher('mutation'), {
165
+ maxBatchSize: maxBatchSize
166
+ });
167
+ var subscription = dataLoader(fetcher('subscription'), {
168
+ maxBatchSize: maxBatchSize
169
+ });
153
170
  var loaders = {
154
171
  query: query,
155
172
  subscription: subscription,
156
173
  mutation: mutation
157
174
  };
158
175
  return function (_ref) {
159
- var op = _ref.op;
160
- return observable.observable(function (observer) {
161
- var loader = loaders[op.type];
162
-
163
- var _loader$load = loader.load(op),
164
- promise = _loader$load.promise,
165
- cancel = _loader$load.cancel;
166
-
167
- promise.then(function (res) {
168
- observer.next({
169
- context: res.meta,
170
- data: res.json
171
- });
172
- observer.complete();
173
- }).catch(function (err) {
174
- return observer.error(err);
175
- });
176
- return function () {
177
- cancel();
178
- };
176
+ var op = _ref.op,
177
+ prev = _ref.prev,
178
+ onDestroy = _ref.onDestroy;
179
+ var loader = loaders[op.type];
180
+
181
+ var _loader$load = loader.load(op),
182
+ promise = _loader$load.promise,
183
+ cancel = _loader$load.cancel;
184
+
185
+ var isDone = false;
186
+
187
+ var prevOnce = function prevOnce(result) {
188
+ if (isDone) {
189
+ return;
190
+ }
191
+
192
+ isDone = true;
193
+ prev(result);
194
+ };
195
+
196
+ onDestroy(function () {
197
+ prevOnce(TRPCClientError.TRPCClientError.from(new transformRPCResponse.TRPCAbortError(), {
198
+ isDone: true
199
+ }));
200
+ cancel();
201
+ });
202
+ promise.then(function (envelope) {
203
+ prevOnce(transformRPCResponse.transformRPCResponse({
204
+ envelope: envelope,
205
+ runtime: runtime
206
+ }));
207
+ }).catch(function (cause) {
208
+ prevOnce(TRPCClientError.TRPCClientError.from(cause));
179
209
  });
180
210
  };
181
211
  };
@@ -3,8 +3,14 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
6
- var observable = require('../../../dist/observable-ccb54234.cjs.prod.js');
7
- var httpUtils = require('../../../dist/httpUtils-299a66f6.cjs.prod.js');
6
+ var transformRPCResponse = require('../../../dist/transformRPCResponse-e6daeb02.cjs.prod.js');
7
+ var TRPCClientError = require('../../../dist/TRPCClientError-e9bf96e9.cjs.prod.js');
8
+ require('@babel/runtime/helpers/createClass');
9
+ require('@babel/runtime/helpers/classCallCheck');
10
+ require('@babel/runtime/helpers/assertThisInitialized');
11
+ require('@babel/runtime/helpers/inherits');
12
+ require('@babel/runtime/helpers/createSuper');
13
+ require('@babel/runtime/helpers/wrapNativeSuper');
8
14
  require('@babel/runtime/helpers/objectSpread2');
9
15
 
10
16
  /**
@@ -12,7 +18,7 @@ require('@babel/runtime/helpers/objectSpread2');
12
18
  * Less configuration, no caching, and allows you to cancel requests
13
19
  * When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
14
20
  */
15
- function dataLoader(fetchMany) {
21
+ function dataLoader(fetchMany, opts) {
16
22
  var batch = null;
17
23
  var dispatchTimer = null;
18
24
 
@@ -77,6 +83,11 @@ function dataLoader(fetchMany) {
77
83
  item.reject = reject;
78
84
  item.resolve = resolve;
79
85
  thisBatch.items.push(item);
86
+
87
+ if (typeof (opts === null || opts === void 0 ? void 0 : opts.maxBatchSize) !== 'undefined' && thisBatch.items.length >= opts.maxBatchSize) {
88
+ dispatch();
89
+ return;
90
+ }
80
91
  });
81
92
 
82
93
  if (!dispatchTimer) {
@@ -108,8 +119,11 @@ function dataLoader(fetchMany) {
108
119
  }
109
120
 
110
121
  function httpBatchLink(opts) {
111
- var url = opts.url;
122
+ var url = opts.url,
123
+ maxBatchSize = opts.maxBatchSize; // initialized config
124
+
112
125
  return function (runtime) {
126
+ // initialized in app
113
127
  var fetcher = function fetcher(type) {
114
128
  return function (keyInputPairs) {
115
129
  var path = keyInputPairs.map(function (op) {
@@ -119,7 +133,7 @@ function httpBatchLink(opts) {
119
133
  return op.input;
120
134
  });
121
135
 
122
- var _httpRequest = httpUtils.httpRequest({
136
+ var _httpRequest = transformRPCResponse.httpRequest({
123
137
  url: url,
124
138
  inputs: inputs,
125
139
  path: path,
@@ -131,51 +145,67 @@ function httpBatchLink(opts) {
131
145
 
132
146
  return {
133
147
  promise: promise.then(function (res) {
134
- var resJSON = Array.isArray(res.json) ? res.json : keyInputPairs.map(function () {
135
- return res.json;
136
- });
137
- var result = resJSON.map(function (item) {
138
- return {
139
- meta: res.meta,
140
- json: item
141
- };
142
- });
143
- return result;
148
+ if (!Array.isArray(res)) {
149
+ return keyInputPairs.map(function () {
150
+ return res;
151
+ });
152
+ }
153
+
154
+ return res;
144
155
  }),
145
156
  cancel: cancel
146
157
  };
147
158
  };
148
159
  };
149
160
 
150
- var query = dataLoader(fetcher('query'));
151
- var mutation = dataLoader(fetcher('mutation'));
152
- var subscription = dataLoader(fetcher('subscription'));
161
+ var query = dataLoader(fetcher('query'), {
162
+ maxBatchSize: maxBatchSize
163
+ });
164
+ var mutation = dataLoader(fetcher('mutation'), {
165
+ maxBatchSize: maxBatchSize
166
+ });
167
+ var subscription = dataLoader(fetcher('subscription'), {
168
+ maxBatchSize: maxBatchSize
169
+ });
153
170
  var loaders = {
154
171
  query: query,
155
172
  subscription: subscription,
156
173
  mutation: mutation
157
174
  };
158
175
  return function (_ref) {
159
- var op = _ref.op;
160
- return observable.observable(function (observer) {
161
- var loader = loaders[op.type];
162
-
163
- var _loader$load = loader.load(op),
164
- promise = _loader$load.promise,
165
- cancel = _loader$load.cancel;
166
-
167
- promise.then(function (res) {
168
- observer.next({
169
- context: res.meta,
170
- data: res.json
171
- });
172
- observer.complete();
173
- }).catch(function (err) {
174
- return observer.error(err);
175
- });
176
- return function () {
177
- cancel();
178
- };
176
+ var op = _ref.op,
177
+ prev = _ref.prev,
178
+ onDestroy = _ref.onDestroy;
179
+ var loader = loaders[op.type];
180
+
181
+ var _loader$load = loader.load(op),
182
+ promise = _loader$load.promise,
183
+ cancel = _loader$load.cancel;
184
+
185
+ var isDone = false;
186
+
187
+ var prevOnce = function prevOnce(result) {
188
+ if (isDone) {
189
+ return;
190
+ }
191
+
192
+ isDone = true;
193
+ prev(result);
194
+ };
195
+
196
+ onDestroy(function () {
197
+ prevOnce(TRPCClientError.TRPCClientError.from(new transformRPCResponse.TRPCAbortError(), {
198
+ isDone: true
199
+ }));
200
+ cancel();
201
+ });
202
+ promise.then(function (envelope) {
203
+ prevOnce(transformRPCResponse.transformRPCResponse({
204
+ envelope: envelope,
205
+ runtime: runtime
206
+ }));
207
+ }).catch(function (cause) {
208
+ prevOnce(TRPCClientError.TRPCClientError.from(cause));
179
209
  });
180
210
  };
181
211
  };