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

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 (179) hide show
  1. package/dist/{TRPCClientError-e1da1ef0.esm.js → TRPCClientError-17b117e1.mjs} +16 -7
  2. package/dist/TRPCClientError-ec6bd2ca.js +94 -0
  3. package/dist/{declarations/src/TRPCClientError.d.ts → TRPCClientError.d.ts} +29 -29
  4. package/dist/TRPCClientError.d.ts.map +1 -0
  5. package/dist/{createChain-e45e6cf2.esm.js → createChain-389cc116.mjs} +1 -1
  6. package/dist/{createChain-93a38e1c.cjs.dev.js → createChain-864dbb30.js} +1 -1
  7. package/dist/{declarations/src/createTRPCClient.d.ts → createTRPCClient.d.ts} +5 -5
  8. package/dist/createTRPCClient.d.ts.map +1 -0
  9. package/dist/{declarations/src/getFetch.d.ts → getFetch.d.ts} +1 -1
  10. package/dist/getFetch.d.ts.map +1 -0
  11. package/dist/{httpUtils-a1426e14.cjs.dev.js → httpUtils-1f9e4e3c.js} +9 -1
  12. package/dist/{httpUtils-e45c9056.esm.js → httpUtils-c09d7b79.mjs} +5 -1
  13. package/dist/{declarations/src/index.d.ts → index.d.ts} +4 -4
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/{trpc-client.cjs.prod.js → index.js} +30 -16
  16. package/dist/{trpc-client.esm.js → index.mjs} +19 -15
  17. package/dist/index.ts.js +1 -0
  18. package/dist/{declarations/src/internals → internals}/TRPCClient.d.ts +64 -64
  19. package/dist/internals/TRPCClient.d.ts.map +1 -0
  20. package/dist/{declarations/src/internals → internals}/dataLoader.d.ts +14 -14
  21. package/dist/internals/dataLoader.d.ts.map +1 -0
  22. package/dist/{declarations/src/internals → internals}/fetchHelpers.d.ts +2 -2
  23. package/dist/internals/fetchHelpers.d.ts.map +1 -0
  24. package/dist/{declarations/src/internals → internals}/retryDelay.d.ts +1 -1
  25. package/dist/internals/retryDelay.d.ts.map +1 -0
  26. package/dist/internals/transformRPCResponse.d.ts +15 -0
  27. package/dist/internals/transformRPCResponse.d.ts.map +1 -0
  28. package/dist/links/dedupeLink.d.ts +4 -0
  29. package/dist/links/dedupeLink.d.ts.map +1 -0
  30. package/dist/{declarations/src/links → links}/httpBatchLink.d.ts +4 -4
  31. package/dist/links/httpBatchLink.d.ts.map +1 -0
  32. package/dist/links/httpBatchLink.js +189 -0
  33. package/dist/links/httpBatchLink.mjs +185 -0
  34. package/dist/links/httpBatchLink.ts.js +1 -0
  35. package/dist/{declarations/src/links → links}/httpLink.d.ts +4 -4
  36. package/dist/links/httpLink.d.ts.map +1 -0
  37. package/dist/links/httpLink.js +44 -0
  38. package/dist/links/httpLink.mjs +40 -0
  39. package/dist/links/httpLink.ts.js +1 -0
  40. package/dist/{declarations/src/links → links}/httpUtils.d.ts +21 -21
  41. package/dist/links/httpUtils.d.ts.map +1 -0
  42. package/dist/{declarations/src/links → links}/internals/createChain.d.ts +7 -7
  43. package/dist/links/internals/createChain.d.ts.map +1 -0
  44. package/dist/{declarations/src/links → links}/internals/transformOperationResult.d.ts +15 -15
  45. package/dist/links/internals/transformOperationResult.d.ts.map +1 -0
  46. package/dist/{declarations/src/links → links}/loggerLink.d.ts +38 -38
  47. package/dist/links/loggerLink.d.ts.map +1 -0
  48. package/dist/links/loggerLink.js +108 -0
  49. package/dist/links/loggerLink.mjs +99 -0
  50. package/dist/links/loggerLink.ts.js +1 -0
  51. package/dist/links/retryLink.d.ts +6 -0
  52. package/dist/links/retryLink.d.ts.map +1 -0
  53. package/dist/{declarations/src/links → links}/splitLink.d.ts +13 -13
  54. package/dist/links/splitLink.d.ts.map +1 -0
  55. package/dist/links/splitLink.js +32 -0
  56. package/dist/links/splitLink.mjs +28 -0
  57. package/dist/links/splitLink.ts.js +1 -0
  58. package/dist/{declarations/src/links → links}/transformerLink.d.ts +3 -3
  59. package/dist/links/transformerLink.d.ts.map +1 -0
  60. package/dist/links/transformerLink.js +75 -0
  61. package/dist/links/transformerLink.mjs +67 -0
  62. package/dist/links/transformerLink.ts.js +1 -0
  63. package/dist/{declarations/src/links → links}/types.d.ts +39 -39
  64. package/dist/links/types.d.ts.map +1 -0
  65. package/dist/{declarations/src/links → links}/wsLink.d.ts +19 -19
  66. package/dist/links/wsLink.d.ts.map +1 -0
  67. package/dist/links/wsLink.js +384 -0
  68. package/dist/links/wsLink.mjs +370 -0
  69. package/dist/links/wsLink.ts.js +1 -0
  70. package/dist/{observable-01534ea8.esm.js → observable-7e66cb56.mjs} +0 -0
  71. package/dist/{observable-9aad8c3e.cjs.dev.js → observable-85669100.js} +0 -0
  72. package/dist/{declarations/src/rx → rx}/index.d.ts +2 -2
  73. package/dist/rx/index.d.ts.map +1 -0
  74. package/dist/rx/index.js +9 -0
  75. package/dist/rx/index.mjs +1 -0
  76. package/dist/rx/index.ts.js +1 -0
  77. package/dist/{declarations/src/rx → rx}/observable.d.ts +3 -3
  78. package/dist/rx/observable.d.ts.map +1 -0
  79. package/dist/{declarations/src/rx → rx}/operators/index.d.ts +3 -3
  80. package/dist/rx/operators/index.d.ts.map +1 -0
  81. package/dist/rx/operators/index.js +38 -0
  82. package/dist/rx/operators/index.mjs +32 -0
  83. package/dist/rx/operators/index.ts.js +1 -0
  84. package/dist/{declarations/src/rx → rx}/operators/map.d.ts +2 -2
  85. package/dist/rx/operators/map.d.ts.map +1 -0
  86. package/dist/{declarations/src/rx → rx}/operators/share.d.ts +5 -5
  87. package/dist/rx/operators/share.d.ts.map +1 -0
  88. package/dist/{declarations/src/rx → rx}/operators/tap.d.ts +2 -2
  89. package/dist/rx/operators/tap.d.ts.map +1 -0
  90. package/dist/{declarations/src/rx → rx}/types.d.ts +28 -28
  91. package/dist/rx/types.d.ts.map +1 -0
  92. package/dist/{declarations/src/rx → rx}/util/identity.d.ts +1 -1
  93. package/dist/rx/util/identity.d.ts.map +1 -0
  94. package/dist/{declarations/src/rx → rx}/util/observableToPromise.d.ts +9 -9
  95. package/dist/rx/util/observableToPromise.d.ts.map +1 -0
  96. package/dist/{declarations/src/rx → rx}/util/pipe.d.ts +3 -3
  97. package/dist/rx/util/pipe.d.ts.map +1 -0
  98. package/dist/{share-f2ac9332.cjs.dev.js → share-4d79dc49.js} +5 -1
  99. package/dist/{share-ca585761.esm.js → share-671b63fa.mjs} +5 -1
  100. package/dist/{tap-606957cb.esm.js → tap-538fa07f.mjs} +0 -0
  101. package/dist/{tap-2d565250.cjs.dev.js → tap-799a2d33.js} +0 -0
  102. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js +68 -38
  103. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js +68 -38
  104. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.esm.js +67 -37
  105. package/links/httpBatchLink/index.d.ts +1 -0
  106. package/links/httpBatchLink/index.js +1 -0
  107. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.dev.js +52 -29
  108. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.prod.js +52 -29
  109. package/links/httpLink/dist/trpc-client-links-httpLink.esm.js +52 -29
  110. package/links/httpLink/index.d.ts +1 -0
  111. package/links/httpLink/index.js +1 -0
  112. package/links/loggerLink/dist/trpc-client-links-loggerLink.cjs.dev.js +19 -31
  113. package/links/loggerLink/dist/trpc-client-links-loggerLink.cjs.prod.js +19 -31
  114. package/links/loggerLink/dist/trpc-client-links-loggerLink.esm.js +19 -31
  115. package/links/loggerLink/index.d.ts +1 -0
  116. package/links/loggerLink/index.js +1 -0
  117. package/links/splitLink/dist/trpc-client-links-splitLink.cjs.dev.js +7 -20
  118. package/links/splitLink/dist/trpc-client-links-splitLink.cjs.prod.js +7 -20
  119. package/links/splitLink/dist/trpc-client-links-splitLink.esm.js +7 -20
  120. package/links/splitLink/index.d.ts +1 -0
  121. package/links/splitLink/index.js +1 -0
  122. package/links/transformerLink/index.d.ts +1 -0
  123. package/links/transformerLink/index.js +1 -0
  124. package/links/wsLink/dist/trpc-client-links-wsLink.cjs.dev.js +84 -60
  125. package/links/wsLink/dist/trpc-client-links-wsLink.cjs.prod.js +84 -60
  126. package/links/wsLink/dist/trpc-client-links-wsLink.esm.js +84 -60
  127. package/links/wsLink/index.d.ts +1 -0
  128. package/links/wsLink/index.js +1 -0
  129. package/package.json +56 -20
  130. package/rx/index.d.ts +1 -0
  131. package/rx/index.js +1 -0
  132. package/rx/operators/index.d.ts +1 -0
  133. package/rx/operators/index.js +1 -0
  134. package/dist/TRPCClientError-a5312a5f.cjs.dev.js +0 -74
  135. package/dist/TRPCClientError-ea7d89b2.cjs.prod.js +0 -74
  136. package/dist/createChain-e45e052a.cjs.prod.js +0 -27
  137. package/dist/declarations/src/TRPCClientError.d.ts.map +0 -1
  138. package/dist/declarations/src/createTRPCClient.d.ts.map +0 -1
  139. package/dist/declarations/src/getFetch.d.ts.map +0 -1
  140. package/dist/declarations/src/index.d.ts.map +0 -1
  141. package/dist/declarations/src/internals/TRPCClient.d.ts.map +0 -1
  142. package/dist/declarations/src/internals/dataLoader.d.ts.map +0 -1
  143. package/dist/declarations/src/internals/fetchHelpers.d.ts.map +0 -1
  144. package/dist/declarations/src/internals/retryDelay.d.ts.map +0 -1
  145. package/dist/declarations/src/links/httpBatchLink.d.ts.map +0 -1
  146. package/dist/declarations/src/links/httpLink.d.ts.map +0 -1
  147. package/dist/declarations/src/links/httpUtils.d.ts.map +0 -1
  148. package/dist/declarations/src/links/internals/createChain.d.ts.map +0 -1
  149. package/dist/declarations/src/links/internals/transformOperationResult.d.ts.map +0 -1
  150. package/dist/declarations/src/links/loggerLink.d.ts.map +0 -1
  151. package/dist/declarations/src/links/splitLink.d.ts.map +0 -1
  152. package/dist/declarations/src/links/transformerLink.d.ts.map +0 -1
  153. package/dist/declarations/src/links/types.d.ts.map +0 -1
  154. package/dist/declarations/src/links/wsLink.d.ts.map +0 -1
  155. package/dist/declarations/src/rx/index.d.ts.map +0 -1
  156. package/dist/declarations/src/rx/observable.d.ts.map +0 -1
  157. package/dist/declarations/src/rx/operators/index.d.ts.map +0 -1
  158. package/dist/declarations/src/rx/operators/map.d.ts.map +0 -1
  159. package/dist/declarations/src/rx/operators/share.d.ts.map +0 -1
  160. package/dist/declarations/src/rx/operators/tap.d.ts.map +0 -1
  161. package/dist/declarations/src/rx/types.d.ts.map +0 -1
  162. package/dist/declarations/src/rx/util/identity.d.ts.map +0 -1
  163. package/dist/declarations/src/rx/util/observableToPromise.d.ts.map +0 -1
  164. package/dist/declarations/src/rx/util/pipe.d.ts.map +0 -1
  165. package/dist/httpUtils-299a66f6.cjs.prod.js +0 -89
  166. package/dist/observable-ccb54234.cjs.prod.js +0 -104
  167. package/dist/share-5a8c2543.cjs.prod.js +0 -106
  168. package/dist/tap-d907998d.cjs.prod.js +0 -32
  169. package/dist/trpc-client.cjs.d.ts +0 -1
  170. package/dist/trpc-client.cjs.dev.js +0 -300
  171. package/dist/trpc-client.cjs.js +0 -7
  172. package/links/httpBatchLink/package.json +0 -4
  173. package/links/httpLink/package.json +0 -4
  174. package/links/loggerLink/package.json +0 -4
  175. package/links/splitLink/package.json +0 -4
  176. package/links/transformerLink/package.json +0 -4
  177. package/links/wsLink/package.json +0 -4
  178. package/rx/operators/package.json +0 -4
  179. package/rx/package.json +0 -4
@@ -2,15 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
6
+ var _createClass = require('@babel/runtime/helpers/createClass');
5
7
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
6
8
  var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');
7
9
  var _inherits = require('@babel/runtime/helpers/inherits');
8
10
  var _createSuper = require('@babel/runtime/helpers/createSuper');
9
11
  var _wrapNativeSuper = require('@babel/runtime/helpers/wrapNativeSuper');
10
- var observable = require('../../../dist/observable-9aad8c3e.cjs.dev.js');
11
- var TRPCClientError = require('../../../dist/TRPCClientError-a5312a5f.cjs.dev.js');
12
- require('@babel/runtime/helpers/objectSpread2');
13
- require('@babel/runtime/helpers/createClass');
12
+ var TRPCClientError = require('../../../dist/TRPCClientError-bfee2bf5.cjs.dev.js');
14
13
 
15
14
  /* istanbul ignore next */
16
15
  var retryDelay = function retryDelay(attemptIndex) {
@@ -149,19 +148,24 @@ function createWSClient(opts) {
149
148
  }
150
149
  };
151
150
 
152
- var handleIncomingResponse = function handleIncomingResponse(data) {
153
- var _req$callbacks$next, _req$callbacks;
151
+ var handleIncomingResponse = function handleIncomingResponse(res) {
152
+ var _req$callbacks$onNext, _req$callbacks2;
154
153
 
155
- var req = data.id !== null && pendingRequests[data.id];
154
+ var req = res.id !== null && pendingRequests[res.id];
156
155
 
157
156
  if (!req) {
158
157
  // do something?
159
158
  return;
160
159
  }
161
160
 
162
- (_req$callbacks$next = (_req$callbacks = req.callbacks).next) === null || _req$callbacks$next === void 0 ? void 0 : _req$callbacks$next.call(_req$callbacks, {
163
- data: data
164
- });
161
+ if ('error' in res) {
162
+ var _req$callbacks$onErro, _req$callbacks;
163
+
164
+ (_req$callbacks$onErro = (_req$callbacks = req.callbacks).onError) === null || _req$callbacks$onErro === void 0 ? void 0 : _req$callbacks$onErro.call(_req$callbacks, res);
165
+ return;
166
+ }
167
+
168
+ (_req$callbacks$onNext = (_req$callbacks2 = req.callbacks).onNext) === null || _req$callbacks$onNext === void 0 ? void 0 : _req$callbacks$onNext.call(_req$callbacks2, res.result);
165
169
 
166
170
  if (req.ws !== activeConnection && conn === activeConnection) {
167
171
  var oldWs = req.ws; // gracefully replace old connection with this
@@ -170,8 +174,10 @@ function createWSClient(opts) {
170
174
  closeIfNoPending(oldWs);
171
175
  }
172
176
 
173
- if ('result' in data && data.result.type === 'stopped' && conn === activeConnection) {
174
- req.callbacks.complete();
177
+ if (res.result.type === 'stopped' && conn === activeConnection) {
178
+ var _req$callbacks$onDone, _req$callbacks3;
179
+
180
+ (_req$callbacks$onDone = (_req$callbacks3 = req.callbacks).onDone) === null || _req$callbacks$onDone === void 0 ? void 0 : _req$callbacks$onDone.call(_req$callbacks3);
175
181
  }
176
182
  };
177
183
 
@@ -197,7 +203,7 @@ function createWSClient(opts) {
197
203
  }
198
204
 
199
205
  for (var key in pendingRequests) {
200
- var _req$callbacks$error, _req$callbacks2;
206
+ var _req$callbacks$onErro2, _req$callbacks4;
201
207
 
202
208
  var req = pendingRequests[key];
203
209
 
@@ -205,13 +211,13 @@ function createWSClient(opts) {
205
211
  continue;
206
212
  }
207
213
 
208
- (_req$callbacks$error = (_req$callbacks2 = req.callbacks).error) === null || _req$callbacks$error === void 0 ? void 0 : _req$callbacks$error.call(_req$callbacks2, TRPCClientError.TRPCClientError.from(new TRPCWebSocketClosedError('WebSocket closed prematurely')));
214
+ (_req$callbacks$onErro2 = (_req$callbacks4 = req.callbacks).onError) === null || _req$callbacks$onErro2 === void 0 ? void 0 : _req$callbacks$onErro2.call(_req$callbacks4, TRPCClientError.TRPCClientError.from(new TRPCWebSocketClosedError('WebSocket closed prematurely')));
209
215
 
210
216
  if (req.type !== 'subscription') {
211
- var _req$callbacks$comple, _req$callbacks3;
217
+ var _req$callbacks$onDone2, _req$callbacks5;
212
218
 
213
219
  delete pendingRequests[key];
214
- (_req$callbacks$comple = (_req$callbacks3 = req.callbacks).complete) === null || _req$callbacks$comple === void 0 ? void 0 : _req$callbacks$comple.call(_req$callbacks3);
220
+ (_req$callbacks$onDone2 = (_req$callbacks5 = req.callbacks).onDone) === null || _req$callbacks$onDone2 === void 0 ? void 0 : _req$callbacks$onDone2.call(_req$callbacks5);
215
221
  } else if (state !== 'closed') {
216
222
  // request restart of sub with next connection
217
223
  resumeSubscriptionOnReconnect(req);
@@ -245,14 +251,14 @@ function createWSClient(opts) {
245
251
  outgoing.push(envelope);
246
252
  dispatch();
247
253
  return function () {
248
- var _pendingRequests$id, _callbacks$complete;
254
+ var _pendingRequests$id, _callbacks$onDone;
249
255
 
250
256
  var callbacks = (_pendingRequests$id = pendingRequests[id]) === null || _pendingRequests$id === void 0 ? void 0 : _pendingRequests$id.callbacks;
251
257
  delete pendingRequests[id];
252
258
  outgoing = outgoing.filter(function (msg) {
253
259
  return msg.id !== id;
254
260
  });
255
- callbacks === null || callbacks === void 0 ? void 0 : (_callbacks$complete = callbacks.complete) === null || _callbacks$complete === void 0 ? void 0 : _callbacks$complete.call(callbacks);
261
+ callbacks === null || callbacks === void 0 ? void 0 : (_callbacks$onDone = callbacks.onDone) === null || _callbacks$onDone === void 0 ? void 0 : _callbacks$onDone.call(callbacks);
256
262
 
257
263
  if (op.type === 'subscription') {
258
264
  outgoing.push({
@@ -293,7 +299,7 @@ var TRPCWebSocketClosedError = /*#__PURE__*/function (_Error) {
293
299
  return _this;
294
300
  }
295
301
 
296
- return TRPCWebSocketClosedError;
302
+ return _createClass(TRPCWebSocketClosedError);
297
303
  }( /*#__PURE__*/_wrapNativeSuper(Error));
298
304
 
299
305
  var TRPCSubscriptionEndedError = /*#__PURE__*/function (_Error2) {
@@ -312,56 +318,74 @@ var TRPCSubscriptionEndedError = /*#__PURE__*/function (_Error2) {
312
318
  return _this2;
313
319
  }
314
320
 
315
- return TRPCSubscriptionEndedError;
321
+ return _createClass(TRPCSubscriptionEndedError);
316
322
  }( /*#__PURE__*/_wrapNativeSuper(Error));
317
323
 
318
324
  function wsLink(opts) {
319
- return function () {
325
+ // initialized config
326
+ return function (rt) {
320
327
  var client = opts.client;
321
328
  return function (_ref2) {
322
- var op = _ref2.op;
323
- return observable.observable(function (observer) {
324
- var type = op.type,
325
- input = op.input,
326
- path = op.path,
327
- id = op.id,
328
- context = op.context;
329
- var isDone = false;
330
- var unsub = client.request({
331
- type: type,
332
- path: path,
333
- input: input,
334
- id: id,
335
- context: context
336
- }, {
337
- error: function error(err) {
329
+ var op = _ref2.op,
330
+ prev = _ref2.prev,
331
+ onDestroy = _ref2.onDestroy;
332
+ var type = op.type,
333
+ rawInput = op.input,
334
+ path = op.path,
335
+ id = op.id;
336
+ var input = rt.transformer.serialize(rawInput);
337
+ var isDone = false;
338
+ var unsub = client.request({
339
+ type: type,
340
+ path: path,
341
+ input: input,
342
+ id: id
343
+ }, {
344
+ onNext: function onNext(result) {
345
+ if (isDone) {
346
+ return;
347
+ }
348
+
349
+ if ('data' in result) {
350
+ var data = rt.transformer.deserialize(result.data);
351
+ prev({
352
+ type: 'data',
353
+ data: data
354
+ });
355
+ } else {
356
+ prev(result);
357
+ }
358
+
359
+ if (op.type !== 'subscription') {
360
+ // if it isn't a subscription we don't care about next response
338
361
  isDone = true;
339
- observer.error(err);
340
362
  unsub();
341
- },
342
- complete: function complete() {
343
- if (!isDone) {
344
- isDone = true;
345
- observer.error(TRPCClientError.TRPCClientError.from(new TRPCSubscriptionEndedError('Operation ended prematurely')));
346
- } else {
347
- observer.complete();
348
- }
349
- },
350
- next: function next(result) {
351
- observer.next(result);
352
-
353
- if (op.type !== 'subscription') {
354
- // if it isn't a subscription we don't care about next response
355
- isDone = true;
356
- unsub();
357
- observer.complete();
358
- }
359
363
  }
360
- });
361
- return function () {
364
+ },
365
+ onError: function onError(err) {
366
+ if (isDone) {
367
+ return;
368
+ }
369
+
370
+ prev(err instanceof Error ? err : TRPCClientError.TRPCClientError.from(_objectSpread(_objectSpread({}, err), {}, {
371
+ error: rt.transformer.deserialize(err.error)
372
+ })));
373
+ },
374
+ onDone: function onDone() {
375
+ if (isDone) {
376
+ return;
377
+ }
378
+
379
+ var result = new TRPCSubscriptionEndedError('Operation ended prematurely');
380
+ prev(TRPCClientError.TRPCClientError.from(result, {
381
+ isDone: true
382
+ }));
362
383
  isDone = true;
363
- unsub();
364
- };
384
+ }
385
+ });
386
+ onDestroy(function () {
387
+ isDone = true;
388
+ unsub();
365
389
  });
366
390
  };
367
391
  };
@@ -2,15 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
6
+ var _createClass = require('@babel/runtime/helpers/createClass');
5
7
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
6
8
  var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');
7
9
  var _inherits = require('@babel/runtime/helpers/inherits');
8
10
  var _createSuper = require('@babel/runtime/helpers/createSuper');
9
11
  var _wrapNativeSuper = require('@babel/runtime/helpers/wrapNativeSuper');
10
- var observable = require('../../../dist/observable-ccb54234.cjs.prod.js');
11
- var TRPCClientError = require('../../../dist/TRPCClientError-ea7d89b2.cjs.prod.js');
12
- require('@babel/runtime/helpers/objectSpread2');
13
- require('@babel/runtime/helpers/createClass');
12
+ var TRPCClientError = require('../../../dist/TRPCClientError-e9bf96e9.cjs.prod.js');
14
13
 
15
14
  /* istanbul ignore next */
16
15
  var retryDelay = function retryDelay(attemptIndex) {
@@ -149,19 +148,24 @@ function createWSClient(opts) {
149
148
  }
150
149
  };
151
150
 
152
- var handleIncomingResponse = function handleIncomingResponse(data) {
153
- var _req$callbacks$next, _req$callbacks;
151
+ var handleIncomingResponse = function handleIncomingResponse(res) {
152
+ var _req$callbacks$onNext, _req$callbacks2;
154
153
 
155
- var req = data.id !== null && pendingRequests[data.id];
154
+ var req = res.id !== null && pendingRequests[res.id];
156
155
 
157
156
  if (!req) {
158
157
  // do something?
159
158
  return;
160
159
  }
161
160
 
162
- (_req$callbacks$next = (_req$callbacks = req.callbacks).next) === null || _req$callbacks$next === void 0 ? void 0 : _req$callbacks$next.call(_req$callbacks, {
163
- data: data
164
- });
161
+ if ('error' in res) {
162
+ var _req$callbacks$onErro, _req$callbacks;
163
+
164
+ (_req$callbacks$onErro = (_req$callbacks = req.callbacks).onError) === null || _req$callbacks$onErro === void 0 ? void 0 : _req$callbacks$onErro.call(_req$callbacks, res);
165
+ return;
166
+ }
167
+
168
+ (_req$callbacks$onNext = (_req$callbacks2 = req.callbacks).onNext) === null || _req$callbacks$onNext === void 0 ? void 0 : _req$callbacks$onNext.call(_req$callbacks2, res.result);
165
169
 
166
170
  if (req.ws !== activeConnection && conn === activeConnection) {
167
171
  var oldWs = req.ws; // gracefully replace old connection with this
@@ -170,8 +174,10 @@ function createWSClient(opts) {
170
174
  closeIfNoPending(oldWs);
171
175
  }
172
176
 
173
- if ('result' in data && data.result.type === 'stopped' && conn === activeConnection) {
174
- req.callbacks.complete();
177
+ if (res.result.type === 'stopped' && conn === activeConnection) {
178
+ var _req$callbacks$onDone, _req$callbacks3;
179
+
180
+ (_req$callbacks$onDone = (_req$callbacks3 = req.callbacks).onDone) === null || _req$callbacks$onDone === void 0 ? void 0 : _req$callbacks$onDone.call(_req$callbacks3);
175
181
  }
176
182
  };
177
183
 
@@ -197,7 +203,7 @@ function createWSClient(opts) {
197
203
  }
198
204
 
199
205
  for (var key in pendingRequests) {
200
- var _req$callbacks$error, _req$callbacks2;
206
+ var _req$callbacks$onErro2, _req$callbacks4;
201
207
 
202
208
  var req = pendingRequests[key];
203
209
 
@@ -205,13 +211,13 @@ function createWSClient(opts) {
205
211
  continue;
206
212
  }
207
213
 
208
- (_req$callbacks$error = (_req$callbacks2 = req.callbacks).error) === null || _req$callbacks$error === void 0 ? void 0 : _req$callbacks$error.call(_req$callbacks2, TRPCClientError.TRPCClientError.from(new TRPCWebSocketClosedError('WebSocket closed prematurely')));
214
+ (_req$callbacks$onErro2 = (_req$callbacks4 = req.callbacks).onError) === null || _req$callbacks$onErro2 === void 0 ? void 0 : _req$callbacks$onErro2.call(_req$callbacks4, TRPCClientError.TRPCClientError.from(new TRPCWebSocketClosedError('WebSocket closed prematurely')));
209
215
 
210
216
  if (req.type !== 'subscription') {
211
- var _req$callbacks$comple, _req$callbacks3;
217
+ var _req$callbacks$onDone2, _req$callbacks5;
212
218
 
213
219
  delete pendingRequests[key];
214
- (_req$callbacks$comple = (_req$callbacks3 = req.callbacks).complete) === null || _req$callbacks$comple === void 0 ? void 0 : _req$callbacks$comple.call(_req$callbacks3);
220
+ (_req$callbacks$onDone2 = (_req$callbacks5 = req.callbacks).onDone) === null || _req$callbacks$onDone2 === void 0 ? void 0 : _req$callbacks$onDone2.call(_req$callbacks5);
215
221
  } else if (state !== 'closed') {
216
222
  // request restart of sub with next connection
217
223
  resumeSubscriptionOnReconnect(req);
@@ -245,14 +251,14 @@ function createWSClient(opts) {
245
251
  outgoing.push(envelope);
246
252
  dispatch();
247
253
  return function () {
248
- var _pendingRequests$id, _callbacks$complete;
254
+ var _pendingRequests$id, _callbacks$onDone;
249
255
 
250
256
  var callbacks = (_pendingRequests$id = pendingRequests[id]) === null || _pendingRequests$id === void 0 ? void 0 : _pendingRequests$id.callbacks;
251
257
  delete pendingRequests[id];
252
258
  outgoing = outgoing.filter(function (msg) {
253
259
  return msg.id !== id;
254
260
  });
255
- callbacks === null || callbacks === void 0 ? void 0 : (_callbacks$complete = callbacks.complete) === null || _callbacks$complete === void 0 ? void 0 : _callbacks$complete.call(callbacks);
261
+ callbacks === null || callbacks === void 0 ? void 0 : (_callbacks$onDone = callbacks.onDone) === null || _callbacks$onDone === void 0 ? void 0 : _callbacks$onDone.call(callbacks);
256
262
 
257
263
  if (op.type === 'subscription') {
258
264
  outgoing.push({
@@ -293,7 +299,7 @@ var TRPCWebSocketClosedError = /*#__PURE__*/function (_Error) {
293
299
  return _this;
294
300
  }
295
301
 
296
- return TRPCWebSocketClosedError;
302
+ return _createClass(TRPCWebSocketClosedError);
297
303
  }( /*#__PURE__*/_wrapNativeSuper(Error));
298
304
 
299
305
  var TRPCSubscriptionEndedError = /*#__PURE__*/function (_Error2) {
@@ -312,56 +318,74 @@ var TRPCSubscriptionEndedError = /*#__PURE__*/function (_Error2) {
312
318
  return _this2;
313
319
  }
314
320
 
315
- return TRPCSubscriptionEndedError;
321
+ return _createClass(TRPCSubscriptionEndedError);
316
322
  }( /*#__PURE__*/_wrapNativeSuper(Error));
317
323
 
318
324
  function wsLink(opts) {
319
- return function () {
325
+ // initialized config
326
+ return function (rt) {
320
327
  var client = opts.client;
321
328
  return function (_ref2) {
322
- var op = _ref2.op;
323
- return observable.observable(function (observer) {
324
- var type = op.type,
325
- input = op.input,
326
- path = op.path,
327
- id = op.id,
328
- context = op.context;
329
- var isDone = false;
330
- var unsub = client.request({
331
- type: type,
332
- path: path,
333
- input: input,
334
- id: id,
335
- context: context
336
- }, {
337
- error: function error(err) {
329
+ var op = _ref2.op,
330
+ prev = _ref2.prev,
331
+ onDestroy = _ref2.onDestroy;
332
+ var type = op.type,
333
+ rawInput = op.input,
334
+ path = op.path,
335
+ id = op.id;
336
+ var input = rt.transformer.serialize(rawInput);
337
+ var isDone = false;
338
+ var unsub = client.request({
339
+ type: type,
340
+ path: path,
341
+ input: input,
342
+ id: id
343
+ }, {
344
+ onNext: function onNext(result) {
345
+ if (isDone) {
346
+ return;
347
+ }
348
+
349
+ if ('data' in result) {
350
+ var data = rt.transformer.deserialize(result.data);
351
+ prev({
352
+ type: 'data',
353
+ data: data
354
+ });
355
+ } else {
356
+ prev(result);
357
+ }
358
+
359
+ if (op.type !== 'subscription') {
360
+ // if it isn't a subscription we don't care about next response
338
361
  isDone = true;
339
- observer.error(err);
340
362
  unsub();
341
- },
342
- complete: function complete() {
343
- if (!isDone) {
344
- isDone = true;
345
- observer.error(TRPCClientError.TRPCClientError.from(new TRPCSubscriptionEndedError('Operation ended prematurely')));
346
- } else {
347
- observer.complete();
348
- }
349
- },
350
- next: function next(result) {
351
- observer.next(result);
352
-
353
- if (op.type !== 'subscription') {
354
- // if it isn't a subscription we don't care about next response
355
- isDone = true;
356
- unsub();
357
- observer.complete();
358
- }
359
363
  }
360
- });
361
- return function () {
364
+ },
365
+ onError: function onError(err) {
366
+ if (isDone) {
367
+ return;
368
+ }
369
+
370
+ prev(err instanceof Error ? err : TRPCClientError.TRPCClientError.from(_objectSpread(_objectSpread({}, err), {}, {
371
+ error: rt.transformer.deserialize(err.error)
372
+ })));
373
+ },
374
+ onDone: function onDone() {
375
+ if (isDone) {
376
+ return;
377
+ }
378
+
379
+ var result = new TRPCSubscriptionEndedError('Operation ended prematurely');
380
+ prev(TRPCClientError.TRPCClientError.from(result, {
381
+ isDone: true
382
+ }));
362
383
  isDone = true;
363
- unsub();
364
- };
384
+ }
385
+ });
386
+ onDestroy(function () {
387
+ isDone = true;
388
+ unsub();
365
389
  });
366
390
  };
367
391
  };