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

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 (183) 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 +1417 -0
  10. package/dist/index.mjs +1391 -0
  11. package/dist/index.ts.js +1 -0
  12. package/dist/{declarations/src/internals → internals}/TRPCClient.d.ts +61 -64
  13. package/dist/internals/TRPCClient.d.ts.map +1 -0
  14. package/dist/{declarations/src/internals → internals}/dataLoader.d.ts +17 -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 +9 -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/links/internals/httpUtils.d.ts +30 -0
  31. package/dist/links/internals/httpUtils.d.ts.map +1 -0
  32. package/dist/links/internals/transformOperationResult.d.ts +30 -0
  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}/types.d.ts +42 -39
  41. package/dist/links/types.d.ts.map +1 -0
  42. package/dist/{declarations/src/links → links}/wsLink.d.ts +19 -19
  43. package/dist/links/wsLink.d.ts.map +1 -0
  44. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js +68 -38
  45. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js +68 -38
  46. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.esm.js +67 -37
  47. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.dev.js +52 -29
  48. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.prod.js +52 -29
  49. package/links/httpLink/dist/trpc-client-links-httpLink.esm.js +52 -29
  50. package/links/loggerLink/dist/trpc-client-links-loggerLink.cjs.dev.js +19 -31
  51. package/links/loggerLink/dist/trpc-client-links-loggerLink.cjs.prod.js +19 -31
  52. package/links/loggerLink/dist/trpc-client-links-loggerLink.esm.js +19 -31
  53. package/links/splitLink/dist/trpc-client-links-splitLink.cjs.dev.js +7 -20
  54. package/links/splitLink/dist/trpc-client-links-splitLink.cjs.prod.js +7 -20
  55. package/links/splitLink/dist/trpc-client-links-splitLink.esm.js +7 -20
  56. package/links/wsLink/dist/trpc-client-links-wsLink.cjs.dev.js +84 -60
  57. package/links/wsLink/dist/trpc-client-links-wsLink.cjs.prod.js +84 -60
  58. package/links/wsLink/dist/trpc-client-links-wsLink.esm.js +84 -60
  59. package/package.json +26 -23
  60. package/src/TRPCClientError.ts +3 -11
  61. package/src/createTRPCClient.ts +1 -1
  62. package/src/index.ts +1 -1
  63. package/src/internals/TRPCClient.ts +52 -36
  64. package/src/internals/dataLoader.ts +120 -45
  65. package/src/links/dedupeLink.test.ts +1 -1
  66. package/src/links/dedupeLink.ts +3 -5
  67. package/src/links/httpBatchLink.ts +64 -31
  68. package/src/links/httpLink.ts +4 -4
  69. package/src/links/index.ts +8 -0
  70. package/src/links/internals/createChain.test.ts +5 -5
  71. package/src/links/internals/createChain.ts +3 -3
  72. package/src/links/internals/httpUtils.ts +116 -0
  73. package/src/links/internals/transformOperationResult.ts +40 -12
  74. package/src/links/loggerLink.ts +1 -2
  75. package/src/links/retryLink.ts +1 -2
  76. package/src/links/splitLink.test.ts +3 -3
  77. package/src/links/splitLink.ts +5 -5
  78. package/src/links/types.ts +13 -8
  79. package/src/links/wsLink.ts +12 -12
  80. package/dist/TRPCClientError-a5312a5f.cjs.dev.js +0 -74
  81. package/dist/TRPCClientError-e1da1ef0.esm.js +0 -72
  82. package/dist/TRPCClientError-ea7d89b2.cjs.prod.js +0 -74
  83. package/dist/createChain-93a38e1c.cjs.dev.js +0 -27
  84. package/dist/createChain-e45e052a.cjs.prod.js +0 -27
  85. package/dist/createChain-e45e6cf2.esm.js +0 -25
  86. package/dist/declarations/src/TRPCClientError.d.ts.map +0 -1
  87. package/dist/declarations/src/createTRPCClient.d.ts.map +0 -1
  88. package/dist/declarations/src/getFetch.d.ts.map +0 -1
  89. package/dist/declarations/src/index.d.ts.map +0 -1
  90. package/dist/declarations/src/internals/TRPCClient.d.ts.map +0 -1
  91. package/dist/declarations/src/internals/dataLoader.d.ts.map +0 -1
  92. package/dist/declarations/src/internals/fetchHelpers.d.ts.map +0 -1
  93. package/dist/declarations/src/internals/retryDelay.d.ts.map +0 -1
  94. package/dist/declarations/src/links/httpBatchLink.d.ts +0 -5
  95. package/dist/declarations/src/links/httpBatchLink.d.ts.map +0 -1
  96. package/dist/declarations/src/links/httpLink.d.ts.map +0 -1
  97. package/dist/declarations/src/links/httpUtils.d.ts +0 -22
  98. package/dist/declarations/src/links/httpUtils.d.ts.map +0 -1
  99. package/dist/declarations/src/links/internals/createChain.d.ts.map +0 -1
  100. package/dist/declarations/src/links/internals/transformOperationResult.d.ts +0 -16
  101. package/dist/declarations/src/links/internals/transformOperationResult.d.ts.map +0 -1
  102. package/dist/declarations/src/links/loggerLink.d.ts.map +0 -1
  103. package/dist/declarations/src/links/splitLink.d.ts.map +0 -1
  104. package/dist/declarations/src/links/transformerLink.d.ts +0 -4
  105. package/dist/declarations/src/links/transformerLink.d.ts.map +0 -1
  106. package/dist/declarations/src/links/types.d.ts.map +0 -1
  107. package/dist/declarations/src/links/wsLink.d.ts.map +0 -1
  108. package/dist/declarations/src/rx/index.d.ts +0 -3
  109. package/dist/declarations/src/rx/index.d.ts.map +0 -1
  110. package/dist/declarations/src/rx/observable.d.ts +0 -4
  111. package/dist/declarations/src/rx/observable.d.ts.map +0 -1
  112. package/dist/declarations/src/rx/operators/index.d.ts +0 -4
  113. package/dist/declarations/src/rx/operators/index.d.ts.map +0 -1
  114. package/dist/declarations/src/rx/operators/map.d.ts +0 -3
  115. package/dist/declarations/src/rx/operators/map.d.ts.map +0 -1
  116. package/dist/declarations/src/rx/operators/share.d.ts +0 -6
  117. package/dist/declarations/src/rx/operators/share.d.ts.map +0 -1
  118. package/dist/declarations/src/rx/operators/tap.d.ts +0 -3
  119. package/dist/declarations/src/rx/operators/tap.d.ts.map +0 -1
  120. package/dist/declarations/src/rx/types.d.ts +0 -29
  121. package/dist/declarations/src/rx/types.d.ts.map +0 -1
  122. package/dist/declarations/src/rx/util/identity.d.ts +0 -2
  123. package/dist/declarations/src/rx/util/identity.d.ts.map +0 -1
  124. package/dist/declarations/src/rx/util/observableToPromise.d.ts +0 -10
  125. package/dist/declarations/src/rx/util/observableToPromise.d.ts.map +0 -1
  126. package/dist/declarations/src/rx/util/pipe.d.ts +0 -4
  127. package/dist/declarations/src/rx/util/pipe.d.ts.map +0 -1
  128. package/dist/httpUtils-299a66f6.cjs.prod.js +0 -89
  129. package/dist/httpUtils-a1426e14.cjs.dev.js +0 -89
  130. package/dist/httpUtils-e45c9056.esm.js +0 -87
  131. package/dist/observable-01534ea8.esm.js +0 -102
  132. package/dist/observable-9aad8c3e.cjs.dev.js +0 -104
  133. package/dist/observable-ccb54234.cjs.prod.js +0 -104
  134. package/dist/share-5a8c2543.cjs.prod.js +0 -106
  135. package/dist/share-ca585761.esm.js +0 -104
  136. package/dist/share-f2ac9332.cjs.dev.js +0 -106
  137. package/dist/tap-2d565250.cjs.dev.js +0 -32
  138. package/dist/tap-606957cb.esm.js +0 -30
  139. package/dist/tap-d907998d.cjs.prod.js +0 -32
  140. package/dist/trpc-client.cjs.d.ts +0 -1
  141. package/dist/trpc-client.cjs.dev.js +0 -300
  142. package/dist/trpc-client.cjs.js +0 -7
  143. package/dist/trpc-client.cjs.prod.js +0 -300
  144. package/dist/trpc-client.esm.js +0 -295
  145. package/links/httpBatchLink/package.json +0 -4
  146. package/links/httpLink/package.json +0 -4
  147. package/links/loggerLink/package.json +0 -4
  148. package/links/splitLink/package.json +0 -4
  149. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.d.ts +0 -1
  150. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.dev.js +0 -67
  151. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.js +0 -7
  152. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.prod.js +0 -67
  153. package/links/transformerLink/dist/trpc-client-links-transformerLink.esm.js +0 -63
  154. package/links/transformerLink/package.json +0 -4
  155. package/links/wsLink/package.json +0 -4
  156. package/rx/dist/trpc-client-rx.cjs.d.ts +0 -1
  157. package/rx/dist/trpc-client-rx.cjs.dev.js +0 -9
  158. package/rx/dist/trpc-client-rx.cjs.js +0 -7
  159. package/rx/dist/trpc-client-rx.cjs.prod.js +0 -9
  160. package/rx/dist/trpc-client-rx.esm.js +0 -1
  161. package/rx/operators/dist/trpc-client-rx-operators.cjs.d.ts +0 -1
  162. package/rx/operators/dist/trpc-client-rx-operators.cjs.dev.js +0 -39
  163. package/rx/operators/dist/trpc-client-rx-operators.cjs.js +0 -7
  164. package/rx/operators/dist/trpc-client-rx-operators.cjs.prod.js +0 -39
  165. package/rx/operators/dist/trpc-client-rx-operators.esm.js +0 -33
  166. package/rx/operators/package.json +0 -4
  167. package/rx/package.json +0 -4
  168. package/src/internals/transformRPCResponse.ts +0 -25
  169. package/src/links/httpUtils.ts +0 -94
  170. package/src/links/transformerLink.ts +0 -70
  171. package/src/rx/index.ts +0 -2
  172. package/src/rx/observable.test.ts +0 -83
  173. package/src/rx/observable.ts +0 -70
  174. package/src/rx/operators/index.ts +0 -3
  175. package/src/rx/operators/map.test.ts +0 -92
  176. package/src/rx/operators/map.ts +0 -25
  177. package/src/rx/operators/share.test.ts +0 -60
  178. package/src/rx/operators/share.ts +0 -67
  179. package/src/rx/operators/tap.ts +0 -26
  180. package/src/rx/types.ts +0 -69
  181. package/src/rx/util/identity.ts +0 -3
  182. package/src/rx/util/observableToPromise.ts +0 -49
  183. package/src/rx/util/pipe.ts +0 -22
@@ -1,300 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
6
- var _createClass = require('@babel/runtime/helpers/createClass');
7
- var links_httpBatchLink_dist_trpcClientLinksHttpBatchLink = require('../links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js');
8
- var createChain = require('./createChain-93a38e1c.cjs.dev.js');
9
- var TRPCClientError = require('./TRPCClientError-a5312a5f.cjs.dev.js');
10
- var share = require('./share-f2ac9332.cjs.dev.js');
11
- var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');
12
- var _inherits = require('@babel/runtime/helpers/inherits');
13
- var _createSuper = require('@babel/runtime/helpers/createSuper');
14
- var _wrapNativeSuper = require('@babel/runtime/helpers/wrapNativeSuper');
15
- require('@babel/runtime/helpers/createForOfIteratorHelper');
16
- require('./observable-9aad8c3e.cjs.dev.js');
17
- require('./httpUtils-a1426e14.cjs.dev.js');
18
- require('@babel/runtime/helpers/objectSpread2');
19
-
20
- function getWindow() {
21
- if (typeof window !== 'undefined') {
22
- return window;
23
- }
24
-
25
- return global;
26
- }
27
- function getAbortController(ac) {
28
- var win = getWindow();
29
- return ac || win.AbortController || null;
30
- }
31
-
32
- function getFetch(f) {
33
- if (f) {
34
- return f;
35
- }
36
-
37
- var win = getWindow();
38
-
39
- if (win.fetch) {
40
- return typeof win.fetch.bind === 'function' ? win.fetch.bind(win) : win.fetch;
41
- }
42
-
43
- throw new Error('No fetch implementation found');
44
- }
45
-
46
- /** @internal */
47
- function transformOperationResult(result) {
48
- var context = result.context;
49
-
50
- if ('error' in result.data) {
51
- var error = TRPCClientError.TRPCClientError.from(result.data);
52
- return {
53
- ok: false,
54
- error: error,
55
- context: context
56
- };
57
- }
58
-
59
- var data = result.data.result.data;
60
- return {
61
- ok: true,
62
- data: data,
63
- context: context
64
- };
65
- }
66
-
67
- var ObservableAbortError = /*#__PURE__*/function (_Error) {
68
- _inherits(ObservableAbortError, _Error);
69
-
70
- var _super = /*#__PURE__*/_createSuper(ObservableAbortError);
71
-
72
- function ObservableAbortError(message) {
73
- var _this;
74
-
75
- _classCallCheck(this, ObservableAbortError);
76
-
77
- _this = _super.call(this, message);
78
- _this.name = 'ObservableAbortError';
79
- Object.setPrototypeOf(_assertThisInitialized(_this), ObservableAbortError.prototype);
80
- return _this;
81
- }
82
-
83
- return ObservableAbortError;
84
- }( /*#__PURE__*/_wrapNativeSuper(Error));
85
- /** @internal */
86
-
87
- function observableToPromise(observable) {
88
- var abort;
89
- var promise = new Promise(function (resolve, reject) {
90
- var isDone = false;
91
-
92
- function onDone() {
93
- if (isDone) {
94
- return;
95
- }
96
-
97
- isDone = true;
98
- reject(new ObservableAbortError('This operation was cancelled.'));
99
- obs$.unsubscribe();
100
- }
101
-
102
- var obs$ = observable.subscribe({
103
- next: function next(data) {
104
- isDone = true;
105
- resolve(data);
106
- onDone();
107
- },
108
- error: function error(data) {
109
- isDone = true;
110
- reject(data);
111
- onDone();
112
- },
113
- complete: function complete() {
114
- isDone = true;
115
- onDone();
116
- }
117
- });
118
- abort = onDone;
119
- });
120
- return {
121
- promise: promise,
122
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
123
- abort: abort
124
- };
125
- }
126
-
127
- var idCounter = 0;
128
-
129
- function getRequestId() {
130
- return ++idCounter;
131
- }
132
-
133
- var TRPCClient = /*#__PURE__*/function () {
134
- function TRPCClient(opts) {
135
- var _this = this;
136
-
137
- _classCallCheck(this, TRPCClient);
138
-
139
- this.links = void 0;
140
- this.runtime = void 0;
141
-
142
- var _fetch = getFetch(opts === null || opts === void 0 ? void 0 : opts.fetch);
143
-
144
- var AC = getAbortController(opts === null || opts === void 0 ? void 0 : opts.AbortController);
145
-
146
- function getHeadersFn() {
147
- if (opts.headers) {
148
- var headers = opts.headers;
149
- return typeof headers === 'function' ? headers : function () {
150
- return headers;
151
- };
152
- }
153
-
154
- return function () {
155
- return {};
156
- };
157
- }
158
-
159
- this.runtime = {
160
- AbortController: AC,
161
- fetch: _fetch,
162
- headers: getHeadersFn()
163
- };
164
-
165
- if ('links' in opts) {
166
- this.links = opts.links.map(function (link) {
167
- return link(_this.runtime);
168
- });
169
- } else {
170
- this.links = [links_httpBatchLink_dist_trpcClientLinksHttpBatchLink.httpBatchLink({
171
- url: opts.url
172
- })(this.runtime)];
173
- }
174
- }
175
-
176
- _createClass(TRPCClient, [{
177
- key: "$request",
178
- value: function $request(_ref) {
179
- var type = _ref.type,
180
- input = _ref.input,
181
- path = _ref.path,
182
- _ref$context = _ref.context,
183
- context = _ref$context === void 0 ? {} : _ref$context;
184
- var chain$ = createChain.createChain({
185
- links: this.links,
186
- op: {
187
- id: getRequestId(),
188
- type: type,
189
- path: path,
190
- input: input,
191
- context: context
192
- }
193
- });
194
- return chain$.pipe(share.share());
195
- }
196
- }, {
197
- key: "requestAsPromise",
198
- value: function requestAsPromise(opts) {
199
- var req$ = this.$request(opts);
200
-
201
- var _observableToPromise = observableToPromise(req$),
202
- promise = _observableToPromise.promise,
203
- abort = _observableToPromise.abort;
204
-
205
- var cancellablePromise = new Promise(function (resolve, reject) {
206
- promise.then(function (result) {
207
- var transformed = transformOperationResult(result);
208
-
209
- if (transformed.ok) {
210
- resolve(transformed.data);
211
- return;
212
- }
213
-
214
- reject(transformed.error);
215
- }).catch(function (err) {
216
- reject(TRPCClientError.TRPCClientError.from(err));
217
- });
218
- });
219
- cancellablePromise.cancel = abort;
220
- return cancellablePromise;
221
- }
222
- }, {
223
- key: "query",
224
- value: function query(path) {
225
- var _ref2;
226
-
227
- var context = (_ref2 = arguments.length <= 2 ? undefined : arguments[2]) === null || _ref2 === void 0 ? void 0 : _ref2.context;
228
- return this.requestAsPromise({
229
- type: 'query',
230
- path: path,
231
- input: arguments.length <= 1 ? undefined : arguments[1],
232
- context: context
233
- });
234
- }
235
- }, {
236
- key: "mutation",
237
- value: function mutation(path) {
238
- var _ref3;
239
-
240
- var context = (_ref3 = arguments.length <= 2 ? undefined : arguments[2]) === null || _ref3 === void 0 ? void 0 : _ref3.context;
241
- return this.requestAsPromise({
242
- type: 'mutation',
243
- path: path,
244
- input: arguments.length <= 1 ? undefined : arguments[1],
245
- context: context
246
- });
247
- }
248
- }, {
249
- key: "subscription",
250
- value: function subscription(path, input, opts) {
251
- var observable$ = this.$request({
252
- type: 'subscription',
253
- path: path,
254
- input: input,
255
- context: opts.context
256
- });
257
- var observer = observable$.subscribe({
258
- next: function next(result) {
259
- var _opts$next;
260
-
261
- if ('error' in result.data) {
262
- var _opts$error;
263
-
264
- var err = TRPCClientError.TRPCClientError.from(result.data, {
265
- meta: result.context
266
- });
267
- (_opts$error = opts.error) === null || _opts$error === void 0 ? void 0 : _opts$error.call(opts, err);
268
- return;
269
- }
270
-
271
- (_opts$next = opts.next) === null || _opts$next === void 0 ? void 0 : _opts$next.call(opts, result.data.result);
272
- },
273
- error: function error(err) {
274
- var _opts$error2;
275
-
276
- (_opts$error2 = opts.error) === null || _opts$error2 === void 0 ? void 0 : _opts$error2.call(opts, err);
277
- },
278
- complete: function complete() {
279
- var _opts$complete;
280
-
281
- (_opts$complete = opts.complete) === null || _opts$complete === void 0 ? void 0 : _opts$complete.call(opts);
282
- }
283
- });
284
- return function () {
285
- observer.unsubscribe();
286
- };
287
- }
288
- }]);
289
-
290
- return TRPCClient;
291
- }();
292
-
293
- /* eslint-disable @typescript-eslint/no-explicit-any */
294
- function createTRPCClient(opts) {
295
- return new TRPCClient(opts);
296
- }
297
-
298
- exports.TRPCClientError = TRPCClientError.TRPCClientError;
299
- exports.createTRPCClient = createTRPCClient;
300
- exports.getFetch = getFetch;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === "production") {
4
- module.exports = require("./trpc-client.cjs.prod.js");
5
- } else {
6
- module.exports = require("./trpc-client.cjs.dev.js");
7
- }
@@ -1,300 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
6
- var _createClass = require('@babel/runtime/helpers/createClass');
7
- var links_httpBatchLink_dist_trpcClientLinksHttpBatchLink = require('../links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js');
8
- var createChain = require('./createChain-e45e052a.cjs.prod.js');
9
- var TRPCClientError = require('./TRPCClientError-ea7d89b2.cjs.prod.js');
10
- var share = require('./share-5a8c2543.cjs.prod.js');
11
- var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');
12
- var _inherits = require('@babel/runtime/helpers/inherits');
13
- var _createSuper = require('@babel/runtime/helpers/createSuper');
14
- var _wrapNativeSuper = require('@babel/runtime/helpers/wrapNativeSuper');
15
- require('@babel/runtime/helpers/createForOfIteratorHelper');
16
- require('./observable-ccb54234.cjs.prod.js');
17
- require('./httpUtils-299a66f6.cjs.prod.js');
18
- require('@babel/runtime/helpers/objectSpread2');
19
-
20
- function getWindow() {
21
- if (typeof window !== 'undefined') {
22
- return window;
23
- }
24
-
25
- return global;
26
- }
27
- function getAbortController(ac) {
28
- var win = getWindow();
29
- return ac || win.AbortController || null;
30
- }
31
-
32
- function getFetch(f) {
33
- if (f) {
34
- return f;
35
- }
36
-
37
- var win = getWindow();
38
-
39
- if (win.fetch) {
40
- return typeof win.fetch.bind === 'function' ? win.fetch.bind(win) : win.fetch;
41
- }
42
-
43
- throw new Error('No fetch implementation found');
44
- }
45
-
46
- /** @internal */
47
- function transformOperationResult(result) {
48
- var context = result.context;
49
-
50
- if ('error' in result.data) {
51
- var error = TRPCClientError.TRPCClientError.from(result.data);
52
- return {
53
- ok: false,
54
- error: error,
55
- context: context
56
- };
57
- }
58
-
59
- var data = result.data.result.data;
60
- return {
61
- ok: true,
62
- data: data,
63
- context: context
64
- };
65
- }
66
-
67
- var ObservableAbortError = /*#__PURE__*/function (_Error) {
68
- _inherits(ObservableAbortError, _Error);
69
-
70
- var _super = /*#__PURE__*/_createSuper(ObservableAbortError);
71
-
72
- function ObservableAbortError(message) {
73
- var _this;
74
-
75
- _classCallCheck(this, ObservableAbortError);
76
-
77
- _this = _super.call(this, message);
78
- _this.name = 'ObservableAbortError';
79
- Object.setPrototypeOf(_assertThisInitialized(_this), ObservableAbortError.prototype);
80
- return _this;
81
- }
82
-
83
- return ObservableAbortError;
84
- }( /*#__PURE__*/_wrapNativeSuper(Error));
85
- /** @internal */
86
-
87
- function observableToPromise(observable) {
88
- var abort;
89
- var promise = new Promise(function (resolve, reject) {
90
- var isDone = false;
91
-
92
- function onDone() {
93
- if (isDone) {
94
- return;
95
- }
96
-
97
- isDone = true;
98
- reject(new ObservableAbortError('This operation was cancelled.'));
99
- obs$.unsubscribe();
100
- }
101
-
102
- var obs$ = observable.subscribe({
103
- next: function next(data) {
104
- isDone = true;
105
- resolve(data);
106
- onDone();
107
- },
108
- error: function error(data) {
109
- isDone = true;
110
- reject(data);
111
- onDone();
112
- },
113
- complete: function complete() {
114
- isDone = true;
115
- onDone();
116
- }
117
- });
118
- abort = onDone;
119
- });
120
- return {
121
- promise: promise,
122
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
123
- abort: abort
124
- };
125
- }
126
-
127
- var idCounter = 0;
128
-
129
- function getRequestId() {
130
- return ++idCounter;
131
- }
132
-
133
- var TRPCClient = /*#__PURE__*/function () {
134
- function TRPCClient(opts) {
135
- var _this = this;
136
-
137
- _classCallCheck(this, TRPCClient);
138
-
139
- this.links = void 0;
140
- this.runtime = void 0;
141
-
142
- var _fetch = getFetch(opts === null || opts === void 0 ? void 0 : opts.fetch);
143
-
144
- var AC = getAbortController(opts === null || opts === void 0 ? void 0 : opts.AbortController);
145
-
146
- function getHeadersFn() {
147
- if (opts.headers) {
148
- var headers = opts.headers;
149
- return typeof headers === 'function' ? headers : function () {
150
- return headers;
151
- };
152
- }
153
-
154
- return function () {
155
- return {};
156
- };
157
- }
158
-
159
- this.runtime = {
160
- AbortController: AC,
161
- fetch: _fetch,
162
- headers: getHeadersFn()
163
- };
164
-
165
- if ('links' in opts) {
166
- this.links = opts.links.map(function (link) {
167
- return link(_this.runtime);
168
- });
169
- } else {
170
- this.links = [links_httpBatchLink_dist_trpcClientLinksHttpBatchLink.httpBatchLink({
171
- url: opts.url
172
- })(this.runtime)];
173
- }
174
- }
175
-
176
- _createClass(TRPCClient, [{
177
- key: "$request",
178
- value: function $request(_ref) {
179
- var type = _ref.type,
180
- input = _ref.input,
181
- path = _ref.path,
182
- _ref$context = _ref.context,
183
- context = _ref$context === void 0 ? {} : _ref$context;
184
- var chain$ = createChain.createChain({
185
- links: this.links,
186
- op: {
187
- id: getRequestId(),
188
- type: type,
189
- path: path,
190
- input: input,
191
- context: context
192
- }
193
- });
194
- return chain$.pipe(share.share());
195
- }
196
- }, {
197
- key: "requestAsPromise",
198
- value: function requestAsPromise(opts) {
199
- var req$ = this.$request(opts);
200
-
201
- var _observableToPromise = observableToPromise(req$),
202
- promise = _observableToPromise.promise,
203
- abort = _observableToPromise.abort;
204
-
205
- var cancellablePromise = new Promise(function (resolve, reject) {
206
- promise.then(function (result) {
207
- var transformed = transformOperationResult(result);
208
-
209
- if (transformed.ok) {
210
- resolve(transformed.data);
211
- return;
212
- }
213
-
214
- reject(transformed.error);
215
- }).catch(function (err) {
216
- reject(TRPCClientError.TRPCClientError.from(err));
217
- });
218
- });
219
- cancellablePromise.cancel = abort;
220
- return cancellablePromise;
221
- }
222
- }, {
223
- key: "query",
224
- value: function query(path) {
225
- var _ref2;
226
-
227
- var context = (_ref2 = arguments.length <= 2 ? undefined : arguments[2]) === null || _ref2 === void 0 ? void 0 : _ref2.context;
228
- return this.requestAsPromise({
229
- type: 'query',
230
- path: path,
231
- input: arguments.length <= 1 ? undefined : arguments[1],
232
- context: context
233
- });
234
- }
235
- }, {
236
- key: "mutation",
237
- value: function mutation(path) {
238
- var _ref3;
239
-
240
- var context = (_ref3 = arguments.length <= 2 ? undefined : arguments[2]) === null || _ref3 === void 0 ? void 0 : _ref3.context;
241
- return this.requestAsPromise({
242
- type: 'mutation',
243
- path: path,
244
- input: arguments.length <= 1 ? undefined : arguments[1],
245
- context: context
246
- });
247
- }
248
- }, {
249
- key: "subscription",
250
- value: function subscription(path, input, opts) {
251
- var observable$ = this.$request({
252
- type: 'subscription',
253
- path: path,
254
- input: input,
255
- context: opts.context
256
- });
257
- var observer = observable$.subscribe({
258
- next: function next(result) {
259
- var _opts$next;
260
-
261
- if ('error' in result.data) {
262
- var _opts$error;
263
-
264
- var err = TRPCClientError.TRPCClientError.from(result.data, {
265
- meta: result.context
266
- });
267
- (_opts$error = opts.error) === null || _opts$error === void 0 ? void 0 : _opts$error.call(opts, err);
268
- return;
269
- }
270
-
271
- (_opts$next = opts.next) === null || _opts$next === void 0 ? void 0 : _opts$next.call(opts, result.data.result);
272
- },
273
- error: function error(err) {
274
- var _opts$error2;
275
-
276
- (_opts$error2 = opts.error) === null || _opts$error2 === void 0 ? void 0 : _opts$error2.call(opts, err);
277
- },
278
- complete: function complete() {
279
- var _opts$complete;
280
-
281
- (_opts$complete = opts.complete) === null || _opts$complete === void 0 ? void 0 : _opts$complete.call(opts);
282
- }
283
- });
284
- return function () {
285
- observer.unsubscribe();
286
- };
287
- }
288
- }]);
289
-
290
- return TRPCClient;
291
- }();
292
-
293
- /* eslint-disable @typescript-eslint/no-explicit-any */
294
- function createTRPCClient(opts) {
295
- return new TRPCClient(opts);
296
- }
297
-
298
- exports.TRPCClientError = TRPCClientError.TRPCClientError;
299
- exports.createTRPCClient = createTRPCClient;
300
- exports.getFetch = getFetch;