@trpc/client 10.0.0-alpha.41 → 10.0.0-alpha.44

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 (58) hide show
  1. package/dist/TRPCClientError.d.ts +13 -10
  2. package/dist/TRPCClientError.d.ts.map +1 -1
  3. package/dist/createTRPCClient.d.ts +1 -1
  4. package/dist/createTRPCClient.d.ts.map +1 -1
  5. package/dist/createTRPCClientProxy.d.ts +20 -7
  6. package/dist/createTRPCClientProxy.d.ts.map +1 -1
  7. package/dist/index.js +38 -91
  8. package/dist/index.mjs +35 -88
  9. package/dist/internals/TRPCClient.d.ts +28 -6
  10. package/dist/internals/TRPCClient.d.ts.map +1 -1
  11. package/dist/links/httpBatchLink.d.ts.map +1 -1
  12. package/dist/links/httpBatchLink.js +18 -1
  13. package/dist/links/httpBatchLink.mjs +18 -1
  14. package/dist/links/httpLink.d.ts.map +1 -1
  15. package/dist/links/httpLink.js +21 -2
  16. package/dist/links/httpLink.mjs +21 -2
  17. package/dist/links/internals/httpUtils.d.ts +4 -3
  18. package/dist/links/internals/httpUtils.d.ts.map +1 -1
  19. package/dist/links/internals/transformResult.d.ts +28 -0
  20. package/dist/links/internals/transformResult.d.ts.map +1 -0
  21. package/dist/links/loggerLink.d.ts +3 -3
  22. package/dist/links/loggerLink.d.ts.map +1 -1
  23. package/dist/links/loggerLink.js +1 -1
  24. package/dist/links/loggerLink.mjs +1 -1
  25. package/dist/links/types.d.ts +6 -8
  26. package/dist/links/types.d.ts.map +1 -1
  27. package/dist/links/wsLink.d.ts +11 -4
  28. package/dist/links/wsLink.d.ts.map +1 -1
  29. package/dist/links/wsLink.js +400 -12
  30. package/dist/links/wsLink.mjs +391 -10
  31. package/dist/transformResult-06bec648.mjs +108 -0
  32. package/dist/transformResult-3ccc74ea.js +122 -0
  33. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js +4 -4
  34. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js +4 -4
  35. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.esm.js +1 -1
  36. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.dev.js +4 -4
  37. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.prod.js +4 -4
  38. package/links/httpLink/dist/trpc-client-links-httpLink.esm.js +1 -1
  39. package/package.json +4 -4
  40. package/src/TRPCClientError.ts +29 -17
  41. package/src/createTRPCClient.ts +1 -0
  42. package/src/createTRPCClientProxy.ts +64 -10
  43. package/src/internals/TRPCClient.ts +58 -38
  44. package/src/links/dedupeLink.test.ts +8 -14
  45. package/src/links/httpBatchLink.ts +17 -7
  46. package/src/links/httpLink.ts +14 -2
  47. package/src/links/internals/createChain.test.ts +18 -33
  48. package/src/links/internals/httpUtils.ts +6 -5
  49. package/src/links/internals/transformResult.ts +40 -0
  50. package/src/links/loggerLink.ts +5 -5
  51. package/src/links/retryLink.ts +1 -1
  52. package/src/links/types.ts +8 -10
  53. package/src/links/wsLink.ts +41 -8
  54. package/dist/links/internals/transformOperationResult.d.ts +0 -30
  55. package/dist/links/internals/transformOperationResult.d.ts.map +0 -1
  56. package/dist/wsLink-11ee4922.mjs +0 -439
  57. package/dist/wsLink-807f4ad9.js +0 -455
  58. package/src/links/internals/transformOperationResult.ts +0 -53
@@ -3,8 +3,16 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var observable = require('@trpc/server/observable');
6
+ var transformResult = require('../transformResult-3ccc74ea.js');
6
7
  var httpUtils = require('../httpUtils-a0169eef.js');
7
8
  require('@babel/runtime/helpers/defineProperty');
9
+ require('@babel/runtime/helpers/classCallCheck');
10
+ require('@babel/runtime/helpers/createClass');
11
+ require('@babel/runtime/helpers/assertThisInitialized');
12
+ require('@babel/runtime/helpers/inherits');
13
+ require('@babel/runtime/helpers/possibleConstructorReturn');
14
+ require('@babel/runtime/helpers/getPrototypeOf');
15
+ require('@babel/runtime/helpers/wrapNativeSuper');
8
16
 
9
17
  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; } } }; }
10
18
 
@@ -298,9 +306,18 @@ function httpBatchLink(opts) {
298
306
  cancel = _loader$load.cancel;
299
307
 
300
308
  promise.then(function (res) {
309
+ var transformed = transformResult.transformResult(res.json, runtime);
310
+
311
+ if (!transformed.ok) {
312
+ observer.error(transformResult.TRPCClientError.from(transformed.error, {
313
+ meta: res.meta
314
+ }));
315
+ return;
316
+ }
317
+
301
318
  observer.next({
302
319
  context: res.meta,
303
- data: res.json
320
+ result: transformed.result
304
321
  });
305
322
  observer.complete();
306
323
  }).catch(function (err) {
@@ -1,6 +1,14 @@
1
1
  import { observable } from '@trpc/server/observable';
2
+ import { t as transformResult, T as TRPCClientError } from '../transformResult-06bec648.mjs';
2
3
  import { g as getUrl, h as httpRequest } from '../httpUtils-089853f6.mjs';
3
4
  import '@babel/runtime/helpers/defineProperty';
5
+ import '@babel/runtime/helpers/classCallCheck';
6
+ import '@babel/runtime/helpers/createClass';
7
+ import '@babel/runtime/helpers/assertThisInitialized';
8
+ import '@babel/runtime/helpers/inherits';
9
+ import '@babel/runtime/helpers/possibleConstructorReturn';
10
+ import '@babel/runtime/helpers/getPrototypeOf';
11
+ import '@babel/runtime/helpers/wrapNativeSuper';
4
12
 
5
13
  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; } } }; }
6
14
 
@@ -294,9 +302,18 @@ function httpBatchLink(opts) {
294
302
  cancel = _loader$load.cancel;
295
303
 
296
304
  promise.then(function (res) {
305
+ var transformed = transformResult(res.json, runtime);
306
+
307
+ if (!transformed.ok) {
308
+ observer.error(TRPCClientError.from(transformed.error, {
309
+ meta: res.meta
310
+ }));
311
+ return;
312
+ }
313
+
297
314
  observer.next({
298
315
  context: res.meta,
299
- data: res.json
316
+ result: transformed.result
300
317
  });
301
318
  observer.complete();
302
319
  }).catch(function (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"httpLink.d.ts","sourceRoot":"","sources":["../../src/links/httpLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAe,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,wBAAgB,QAAQ,CAAC,OAAO,SAAS,SAAS,EAChD,IAAI,EAAE,eAAe,GACpB,QAAQ,CAAC,OAAO,CAAC,CA2BnB"}
1
+ {"version":3,"file":"httpLink.d.ts","sourceRoot":"","sources":["../../src/links/httpLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAe,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,wBAAgB,QAAQ,CAAC,OAAO,SAAS,SAAS,EAChD,IAAI,EAAE,eAAe,GACpB,QAAQ,CAAC,OAAO,CAAC,CAqCnB"}
@@ -3,8 +3,16 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var observable = require('@trpc/server/observable');
6
+ var transformResult = require('../transformResult-3ccc74ea.js');
6
7
  var httpUtils = require('../httpUtils-a0169eef.js');
7
8
  require('@babel/runtime/helpers/defineProperty');
9
+ require('@babel/runtime/helpers/classCallCheck');
10
+ require('@babel/runtime/helpers/createClass');
11
+ require('@babel/runtime/helpers/assertThisInitialized');
12
+ require('@babel/runtime/helpers/inherits');
13
+ require('@babel/runtime/helpers/possibleConstructorReturn');
14
+ require('@babel/runtime/helpers/getPrototypeOf');
15
+ require('@babel/runtime/helpers/wrapNativeSuper');
8
16
 
9
17
  function httpLink(opts) {
10
18
  var url = opts.url;
@@ -27,12 +35,23 @@ function httpLink(opts) {
27
35
  cancel = _httpRequest.cancel;
28
36
 
29
37
  promise.then(function (res) {
38
+ var transformed = transformResult.transformResult(res.json, runtime);
39
+
40
+ if (!transformed.ok) {
41
+ observer.error(transformResult.TRPCClientError.from(transformed.error, {
42
+ meta: res.meta
43
+ }));
44
+ return;
45
+ }
46
+
30
47
  observer.next({
31
48
  context: res.meta,
32
- data: res.json
49
+ result: transformed.result
33
50
  });
34
51
  observer.complete();
35
- }).catch(observer.error);
52
+ }).catch(function (cause) {
53
+ return transformResult.TRPCClientError.from(cause);
54
+ });
36
55
  return function () {
37
56
  cancel();
38
57
  };
@@ -1,6 +1,14 @@
1
1
  import { observable } from '@trpc/server/observable';
2
+ import { t as transformResult, T as TRPCClientError } from '../transformResult-06bec648.mjs';
2
3
  import { h as httpRequest } from '../httpUtils-089853f6.mjs';
3
4
  import '@babel/runtime/helpers/defineProperty';
5
+ import '@babel/runtime/helpers/classCallCheck';
6
+ import '@babel/runtime/helpers/createClass';
7
+ import '@babel/runtime/helpers/assertThisInitialized';
8
+ import '@babel/runtime/helpers/inherits';
9
+ import '@babel/runtime/helpers/possibleConstructorReturn';
10
+ import '@babel/runtime/helpers/getPrototypeOf';
11
+ import '@babel/runtime/helpers/wrapNativeSuper';
4
12
 
5
13
  function httpLink(opts) {
6
14
  var url = opts.url;
@@ -23,12 +31,23 @@ function httpLink(opts) {
23
31
  cancel = _httpRequest.cancel;
24
32
 
25
33
  promise.then(function (res) {
34
+ var transformed = transformResult(res.json, runtime);
35
+
36
+ if (!transformed.ok) {
37
+ observer.error(TRPCClientError.from(transformed.error, {
38
+ meta: res.meta
39
+ }));
40
+ return;
41
+ }
42
+
26
43
  observer.next({
27
44
  context: res.meta,
28
- data: res.json
45
+ result: transformed.result
29
46
  });
30
47
  observer.complete();
31
- }).catch(observer.error);
48
+ }).catch(function (cause) {
49
+ return TRPCClientError.from(cause);
50
+ });
32
51
  return function () {
33
52
  cancel();
34
53
  };
@@ -1,10 +1,11 @@
1
1
  import { ProcedureType } from '@trpc/server';
2
+ import { TRPCResponse } from '@trpc/server/rpc';
2
3
  import { PromiseAndCancel, TRPCClientRuntime } from '../types';
3
4
  export interface HTTPLinkOptions {
4
5
  url: string;
5
6
  }
6
- export interface ResponseShape {
7
- json: unknown;
7
+ export interface HTTPResult {
8
+ json: TRPCResponse;
8
9
  meta: {
9
10
  response: Response;
10
11
  };
@@ -25,6 +26,6 @@ declare type GetBodyOptions = {
25
26
  type: ProcedureType;
26
27
  } & GetInputOptions;
27
28
  export declare function getBody(opts: GetBodyOptions): string | undefined;
28
- export declare function httpRequest(opts: HTTPRequestOptions): PromiseAndCancel<ResponseShape>;
29
+ export declare function httpRequest(opts: HTTPRequestOptions): PromiseAndCancel<HTTPResult>;
29
30
  export {};
30
31
  //# sourceMappingURL=httpUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpUtils.d.ts","sourceRoot":"","sources":["../../../src/links/internals/httpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb;AAkBD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QACJ,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC;CACH;AAED,aAAK,eAAe,GAAG;IACrB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,GAAG,CAAC;IAAE,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAUjD,oBAAY,kBAAkB,GAAG,eAAe,GAC9C,eAAe,GAAG;IAChB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,wBAAgB,MAAM,CAAC,IAAI,EAAE,kBAAkB,UAgB9C;AAED,aAAK,cAAc,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG,eAAe,CAAC;AAEhE,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,sBAM3C;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,kBAAkB,GACvB,gBAAgB,CAAC,aAAa,CAAC,CAqCjC"}
1
+ {"version":3,"file":"httpUtils.d.ts","sourceRoot":"","sources":["../../../src/links/internals/httpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb;AAkBD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE;QACJ,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC;CACH;AAED,aAAK,eAAe,GAAG;IACrB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,GAAG,CAAC;IAAE,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAUjD,oBAAY,kBAAkB,GAAG,eAAe,GAC9C,eAAe,GAAG;IAChB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,wBAAgB,MAAM,CAAC,IAAI,EAAE,kBAAkB,UAgB9C;AAED,aAAK,cAAc,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG,eAAe,CAAC;AAEhE,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,sBAM3C;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,kBAAkB,GACvB,gBAAgB,CAAC,UAAU,CAAC,CAqC9B"}
@@ -0,0 +1,28 @@
1
+ import { AnyRouter, inferRouterError } from '@trpc/server';
2
+ import { TRPCResponse, TRPCResponseMessage } from '@trpc/server/rpc';
3
+ import { TRPCClientRuntime } from '..';
4
+ /** @internal */
5
+ export declare function transformResult<TRouter extends AnyRouter, TOutput>(response: TRPCResponseMessage<TOutput, inferRouterError<TRouter>> | TRPCResponse<TOutput, inferRouterError<TRouter>>, runtime: TRPCClientRuntime): {
6
+ readonly ok: false;
7
+ readonly error: {
8
+ readonly error: inferRouterError<TRouter>;
9
+ readonly id?: import("@trpc/server/rpc").JSONRPC2.RequestId | undefined;
10
+ readonly jsonrpc?: "2.0" | undefined;
11
+ } | {
12
+ readonly error: inferRouterError<TRouter>;
13
+ readonly id: string | number | null;
14
+ readonly jsonrpc?: "2.0" | undefined;
15
+ };
16
+ readonly result?: undefined;
17
+ } | {
18
+ readonly ok: true;
19
+ readonly result: {
20
+ type: "started";
21
+ } | {
22
+ type: "stopped";
23
+ } | (import("@trpc/server/rpc").TRPCResult<TOutput> & {
24
+ type: "data";
25
+ });
26
+ readonly error?: undefined;
27
+ };
28
+ //# sourceMappingURL=transformResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformResult.d.ts","sourceRoot":"","sources":["../../../src/links/internals/transformResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,mBAAmB,EAEpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAKvC,gBAAgB;AAChB,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,EAChE,QAAQ,EACJ,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GACvD,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EACpD,OAAO,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;EAuB3B"}
@@ -1,6 +1,6 @@
1
1
  import { AnyRouter } from '@trpc/server';
2
2
  import { TRPCClientError } from '..';
3
- import { Operation, OperationResult, TRPCLink } from './types';
3
+ import { Operation, OperationResultEnvelope, TRPCLink } from './types';
4
4
  declare type ConsoleEsque = {
5
5
  log: (...args: any[]) => void;
6
6
  error: (...args: any[]) => void;
@@ -9,7 +9,7 @@ declare type EnableFnOptions<TRouter extends AnyRouter> = (Operation & {
9
9
  direction: 'up';
10
10
  }) | {
11
11
  direction: 'down';
12
- result: OperationResult<TRouter, unknown> | TRPCClientError<TRouter>;
12
+ result: OperationResultEnvelope<unknown> | TRPCClientError<TRouter>;
13
13
  };
14
14
  declare type EnabledFn<TRouter extends AnyRouter> = (opts: EnableFnOptions<TRouter>) => boolean;
15
15
  declare type LogFnOptions<TRouter extends AnyRouter> = Operation & ({
@@ -22,7 +22,7 @@ declare type LogFnOptions<TRouter extends AnyRouter> = Operation & ({
22
22
  * Request result
23
23
  */
24
24
  direction: 'down';
25
- result: OperationResult<TRouter, unknown> | TRPCClientError<TRouter>;
25
+ result: OperationResultEnvelope<unknown> | TRPCClientError<TRouter>;
26
26
  elapsedMs: number;
27
27
  });
28
28
  declare type LogFn<TRouter extends AnyRouter> = (opts: LogFnOptions<TRouter>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"loggerLink.d.ts","sourceRoot":"","sources":["../../src/links/loggerLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,aAAK,YAAY,GAAG;IAClB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,aAAK,eAAe,CAAC,OAAO,SAAS,SAAS,IAC1C,CAAC,SAAS,GAAG;IACX,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC,GACF;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;CACtE,CAAC;AACN,aAAK,SAAS,CAAC,OAAO,SAAS,SAAS,IAAI,CAC1C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,KAC3B,OAAO,CAAC;AAEb,aAAK,YAAY,CAAC,OAAO,SAAS,SAAS,IAAI,SAAS,GACtD,CACI;IACE;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;CACjB,GACD;IACE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACrE,SAAS,EAAE,MAAM,CAAC;CACnB,CACJ,CAAC;AACJ,aAAK,KAAK,CAAC,OAAO,SAAS,SAAS,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AAO9E,aAAK,iBAAiB,CAAC,OAAO,SAAS,SAAS,IAAI;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AA+CF,wBAAgB,UAAU,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAC9D,IAAI,GAAE,iBAAiB,CAAC,OAAO,CAAM,GACpC,QAAQ,CAAC,OAAO,CAAC,CA2CnB"}
1
+ {"version":3,"file":"loggerLink.d.ts","sourceRoot":"","sources":["../../src/links/loggerLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvE,aAAK,YAAY,GAAG;IAClB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,aAAK,eAAe,CAAC,OAAO,SAAS,SAAS,IAC1C,CAAC,SAAS,GAAG;IACX,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC,GACF;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;CACrE,CAAC;AACN,aAAK,SAAS,CAAC,OAAO,SAAS,SAAS,IAAI,CAC1C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,KAC3B,OAAO,CAAC;AAEb,aAAK,YAAY,CAAC,OAAO,SAAS,SAAS,IAAI,SAAS,GACtD,CACI;IACE;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;CACjB,GACD;IACE;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACpE,SAAS,EAAE,MAAM,CAAC;CACnB,CACJ,CAAC;AACJ,aAAK,KAAK,CAAC,OAAO,SAAS,SAAS,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AAO9E,aAAK,iBAAiB,CAAC,OAAO,SAAS,SAAS,IAAI;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AA+CF,wBAAgB,UAAU,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAC9D,IAAI,GAAE,iBAAiB,CAAC,OAAO,CAAM,GACpC,QAAQ,CAAC,OAAO,CAAC,CA2CnB"}
@@ -53,7 +53,7 @@ var defaultLogger = function defaultLogger() {
53
53
  });
54
54
  }
55
55
 
56
- var fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.data) ? 'error' : 'log';
56
+ var fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.result) ? 'error' : 'log';
57
57
  c[fn].apply(null, [parts.join(' ')].concat(args));
58
58
  };
59
59
  };
@@ -44,7 +44,7 @@ var defaultLogger = function defaultLogger() {
44
44
  });
45
45
  }
46
46
 
47
- var fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.data) ? 'error' : 'log';
47
+ var fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.result) ? 'error' : 'log';
48
48
  c[fn].apply(null, [parts.join(' ')].concat(args));
49
49
  };
50
50
  };
@@ -1,6 +1,6 @@
1
- import { AnyRouter, DataTransformer, inferRouterError } from '@trpc/server';
1
+ import { AnyRouter, DataTransformer } from '@trpc/server';
2
2
  import { Observable, Observer } from '@trpc/server/observable';
3
- import { TRPCResponse, TRPCResponseMessage } from '@trpc/server/rpc';
3
+ import { TRPCResultMessage, TRPCSuccessResponse } from '@trpc/server/rpc';
4
4
  import { TRPCClientError } from '../TRPCClientError';
5
5
  export declare type CancelFn = () => void;
6
6
  export declare type PromiseAndCancel<TValue> = {
@@ -27,17 +27,15 @@ export interface TRPCClientRuntime {
27
27
  headers: () => HTTPHeaders | Promise<HTTPHeaders>;
28
28
  transformer: DataTransformer;
29
29
  }
30
- declare type OperationResultData<TRouter extends AnyRouter, TOutput> = TRPCResponse<TOutput, inferRouterError<TRouter>> | TRPCResponseMessage<TOutput, inferRouterError<TRouter>>;
31
- export interface OperationResult<TRouter extends AnyRouter, TOutput> {
32
- data: OperationResultData<TRouter, TOutput>;
30
+ export interface OperationResultEnvelope<TOutput> {
31
+ result: TRPCSuccessResponse<TOutput>['result'] | TRPCResultMessage<TOutput>['result'];
33
32
  context?: OperationContext;
34
33
  }
35
- export declare type OperationResultObservable<TRouter extends AnyRouter, TOutput> = Observable<OperationResult<TRouter, TOutput>, TRPCClientError<TRouter>>;
36
- export declare type OperationResultObserver<TRouter extends AnyRouter, TOutput> = Observer<OperationResult<TRouter, TOutput>, TRPCClientError<TRouter>>;
34
+ export declare type OperationResultObservable<TRouter extends AnyRouter, TOutput> = Observable<OperationResultEnvelope<TOutput>, TRPCClientError<TRouter>>;
35
+ export declare type OperationResultObserver<TRouter extends AnyRouter, TOutput> = Observer<OperationResultEnvelope<TOutput>, TRPCClientError<TRouter>>;
37
36
  export declare type OperationLink<TRouter extends AnyRouter, TInput = unknown, TOutput = unknown> = (opts: {
38
37
  op: Operation<TInput>;
39
38
  next: (op: Operation<TInput>) => OperationResultObservable<TRouter, TOutput>;
40
39
  }) => OperationResultObservable<TRouter, TOutput>;
41
40
  export declare type TRPCLink<TRouter extends AnyRouter> = (opts: TRPCClientRuntime) => OperationLink<TRouter>;
42
- export {};
43
41
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/links/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,oBAAY,QAAQ,GAAG,MAAM,IAAI,CAAC;AAElC,oBAAY,gBAAgB,CAAC,MAAM,IAAI;IACrC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,oBAAY,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvD,oBAAY,SAAS,CAAC,MAAM,GAAG,OAAO,IAAI;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAE5D;;;GAGG;AACH,oBAAY,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;IACzC,OAAO,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClD,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,aAAK,mBAAmB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IACvD,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAChD,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE5D,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO;IACjE,IAAI,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,oBAAY,yBAAyB,CACnC,OAAO,SAAS,SAAS,EACzB,OAAO,IACL,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAE5E,oBAAY,uBAAuB,CACjC,OAAO,SAAS,SAAS,EACzB,OAAO,IACL,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1E,oBAAY,aAAa,CACvB,OAAO,SAAS,SAAS,EACzB,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,IACf,CAAC,IAAI,EAAE;IACT,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CAC9E,KAAK,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAElD,oBAAY,QAAQ,CAAC,OAAO,SAAS,SAAS,IAAI,CAChD,IAAI,EAAE,iBAAiB,KACpB,aAAa,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/links/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,oBAAY,QAAQ,GAAG,MAAM,IAAI,CAAC;AAElC,oBAAY,gBAAgB,CAAC,MAAM,IAAI;IACrC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,oBAAY,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvD,oBAAY,SAAS,CAAC,MAAM,GAAG,OAAO,IAAI;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAE5D;;;GAGG;AACH,oBAAY,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;IACzC,OAAO,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClD,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB,CAAC,OAAO;IAC9C,MAAM,EACF,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GACtC,iBAAiB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,oBAAY,yBAAyB,CACnC,OAAO,SAAS,SAAS,EACzB,OAAO,IACL,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAE3E,oBAAY,uBAAuB,CACjC,OAAO,SAAS,SAAS,EACzB,OAAO,IACL,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAEzE,oBAAY,aAAa,CACvB,OAAO,SAAS,SAAS,EACzB,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,IACf,CAAC,IAAI,EAAE;IACT,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CAC9E,KAAK,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAElD,oBAAY,QAAQ,CAAC,OAAO,SAAS,SAAS,IAAI,CAChD,IAAI,EAAE,iBAAiB,KACpB,aAAa,CAAC,OAAO,CAAC,CAAC"}
@@ -1,15 +1,21 @@
1
- import { AnyRouter } from '@trpc/server';
2
- import { UnsubscribeFn } from '@trpc/server/observable';
1
+ import { AnyRouter, inferRouterError } from '@trpc/server';
2
+ import { Observer, UnsubscribeFn } from '@trpc/server/observable';
3
+ import { TRPCResponseMessage } from '@trpc/server/rpc';
4
+ import { TRPCClientError } from '../TRPCClientError';
3
5
  import { retryDelay } from '../internals/retryDelay';
4
- import { Operation, OperationResultObserver, TRPCLink } from './types';
6
+ import { Operation, TRPCLink } from './types';
7
+ declare type WSCallbackResult<TRouter extends AnyRouter, TOutput> = TRPCResponseMessage<TOutput, inferRouterError<TRouter>>;
8
+ declare type WSCallbackObserver<TRouter extends AnyRouter, TOutput> = Observer<WSCallbackResult<TRouter, TOutput>, TRPCClientError<TRouter>>;
5
9
  export interface WebSocketClientOptions {
6
10
  url: string;
7
11
  WebSocket?: typeof WebSocket;
8
12
  retryDelayMs?: typeof retryDelay;
13
+ onOpen?: () => void;
14
+ onClose?: () => void;
9
15
  }
10
16
  export declare function createWSClient(opts: WebSocketClientOptions): {
11
17
  close: () => void;
12
- request: (op: Operation, callbacks: OperationResultObserver<AnyRouter, unknown>) => UnsubscribeFn;
18
+ request: (op: Operation, callbacks: WSCallbackObserver<AnyRouter, unknown>) => UnsubscribeFn;
13
19
  getConnection(): WebSocket;
14
20
  };
15
21
  export declare type TRPCWebSocketClient = ReturnType<typeof createWSClient>;
@@ -17,4 +23,5 @@ export interface WebSocketLinkOptions {
17
23
  client: TRPCWebSocketClient;
18
24
  }
19
25
  export declare function wsLink<TRouter extends AnyRouter>(opts: WebSocketLinkOptions): TRPCLink<TRouter>;
26
+ export {};
20
27
  //# sourceMappingURL=wsLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wsLink.d.ts","sourceRoot":"","sources":["../../src/links/wsLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,aAAa,EAAc,MAAM,yBAAyB,CAAC;AASpE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvE,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,UAAU,CAAC;CAClC;AACD,wBAAgB,cAAc,CAAC,IAAI,EAAE,sBAAsB;;kBA6LpC,SAAS,6DAA0B,aAAa;;EAgDtE;AACD,oBAAY,mBAAmB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAiBD,wBAAgB,MAAM,CAAC,OAAO,SAAS,SAAS,EAC9C,IAAI,EAAE,oBAAoB,GACzB,QAAQ,CAAC,OAAO,CAAC,CAoDnB"}
1
+ {"version":3,"file":"wsLink.d.ts","sourceRoot":"","sources":["../../src/links/wsLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAc,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAKL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE9C,aAAK,gBAAgB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IAAI,mBAAmB,CAC7E,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,CAC1B,CAAC;AAEF,aAAK,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IAAI,QAAQ,CACpE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAClC,eAAe,CAAC,OAAO,CAAC,CACzB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,UAAU,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,sBAAsB;;kBAuMpC,SAAS,wDAA0B,aAAa;;EAiDtE;AACD,oBAAY,mBAAmB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAiBD,wBAAgB,MAAM,CAAC,OAAO,SAAS,SAAS,EAC9C,IAAI,EAAE,oBAAoB,GACzB,QAAQ,CAAC,OAAO,CAAC,CA4DnB"}