@trpc/client 10.0.0-alpha.9 → 10.0.0-proxy-alpha.54

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 (177) hide show
  1. package/README.md +58 -1
  2. package/dist/TRPCClientError.d.ts +16 -20
  3. package/dist/TRPCClientError.d.ts.map +1 -1
  4. package/dist/createTRPCClient.d.ts +5 -3
  5. package/dist/createTRPCClient.d.ts.map +1 -1
  6. package/dist/createTRPCClientProxy.d.ts +37 -0
  7. package/dist/createTRPCClientProxy.d.ts.map +1 -0
  8. package/dist/httpUtils-44781613.mjs +76 -0
  9. package/dist/httpUtils-801112a6.js +79 -0
  10. package/dist/index.d.ts +2 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +262 -280
  13. package/dist/index.mjs +255 -271
  14. package/dist/internals/TRPCClient.d.ts +39 -21
  15. package/dist/internals/TRPCClient.d.ts.map +1 -1
  16. package/dist/internals/dataLoader.d.ts +7 -6
  17. package/dist/internals/dataLoader.d.ts.map +1 -1
  18. package/dist/internals/fetchHelpers.d.ts +1 -1
  19. package/dist/internals/fetchHelpers.d.ts.map +1 -1
  20. package/dist/internals/retryDelay.d.ts.map +1 -1
  21. package/dist/links/dedupeLink.d.ts.map +1 -1
  22. package/dist/links/httpBatchLink.d.ts +2 -2
  23. package/dist/links/httpBatchLink.d.ts.map +1 -1
  24. package/dist/links/httpBatchLink.js +189 -172
  25. package/dist/links/httpBatchLink.mjs +189 -172
  26. package/dist/links/httpLink.d.ts +1 -1
  27. package/dist/links/httpLink.d.ts.map +1 -1
  28. package/dist/links/httpLink.js +31 -35
  29. package/dist/links/httpLink.mjs +31 -35
  30. package/dist/links/index.d.ts +9 -0
  31. package/dist/links/index.d.ts.map +1 -0
  32. package/dist/links/internals/createChain.d.ts.map +1 -1
  33. package/dist/links/internals/httpUtils.d.ts +31 -0
  34. package/dist/links/internals/httpUtils.d.ts.map +1 -0
  35. package/dist/links/internals/transformResult.d.ts +28 -0
  36. package/dist/links/internals/transformResult.d.ts.map +1 -0
  37. package/dist/links/loggerLink.d.ts +3 -3
  38. package/dist/links/loggerLink.d.ts.map +1 -1
  39. package/dist/links/loggerLink.js +90 -96
  40. package/dist/links/loggerLink.mjs +90 -91
  41. package/dist/links/retryLink.d.ts.map +1 -1
  42. package/dist/links/splitLink.d.ts +1 -1
  43. package/dist/links/splitLink.d.ts.map +1 -1
  44. package/dist/links/splitLink.js +3 -25
  45. package/dist/links/splitLink.mjs +2 -28
  46. package/dist/links/types.d.ts +13 -12
  47. package/dist/links/types.d.ts.map +1 -1
  48. package/dist/links/wsLink.d.ts +12 -5
  49. package/dist/links/wsLink.d.ts.map +1 -1
  50. package/dist/links/wsLink.js +250 -358
  51. package/dist/links/wsLink.mjs +250 -348
  52. package/dist/splitLink-695ae288.js +48 -0
  53. package/dist/splitLink-ad44a55d.mjs +45 -0
  54. package/dist/transformResult-106791d7.mjs +62 -0
  55. package/dist/transformResult-e15ccdf6.js +65 -0
  56. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js +15 -13
  57. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js +15 -13
  58. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.esm.js +12 -10
  59. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.dev.js +4 -4
  60. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.prod.js +4 -4
  61. package/links/httpLink/dist/trpc-client-links-httpLink.esm.js +1 -1
  62. package/links/wsLink/dist/trpc-client-links-wsLink.cjs.dev.js +3 -1
  63. package/links/wsLink/dist/trpc-client-links-wsLink.cjs.prod.js +3 -1
  64. package/links/wsLink/dist/trpc-client-links-wsLink.esm.js +3 -1
  65. package/package.json +23 -34
  66. package/src/TRPCClientError.ts +38 -28
  67. package/src/createTRPCClient.ts +11 -3
  68. package/src/createTRPCClientProxy.ts +113 -0
  69. package/src/index.ts +2 -1
  70. package/src/internals/TRPCClient.ts +118 -77
  71. package/src/internals/dataLoader.ts +116 -53
  72. package/src/internals/fetchHelpers.ts +2 -2
  73. package/src/links/dedupeLink.test.ts +9 -15
  74. package/src/links/dedupeLink.ts +6 -7
  75. package/src/links/httpBatchLink.ts +73 -36
  76. package/src/links/httpLink.ts +18 -6
  77. package/src/links/index.ts +8 -0
  78. package/src/links/internals/createChain.test.ts +23 -38
  79. package/src/links/internals/createChain.ts +8 -3
  80. package/src/links/internals/httpUtils.ts +117 -0
  81. package/src/links/internals/transformResult.ts +40 -0
  82. package/src/links/loggerLink.ts +6 -7
  83. package/src/links/retryLink.ts +2 -3
  84. package/src/links/splitLink.test.ts +3 -3
  85. package/src/links/splitLink.ts +5 -5
  86. package/src/links/types.ts +15 -12
  87. package/src/links/wsLink.ts +57 -23
  88. package/dist/TRPCClientError-17b117e1.mjs +0 -81
  89. package/dist/TRPCClientError-ec6bd2ca.js +0 -94
  90. package/dist/createChain-389cc116.mjs +0 -25
  91. package/dist/createChain-864dbb30.js +0 -27
  92. package/dist/httpUtils-1f9e4e3c.js +0 -97
  93. package/dist/httpUtils-c09d7b79.mjs +0 -91
  94. package/dist/index.ts.js +0 -1
  95. package/dist/links/httpBatchLink.ts.js +0 -1
  96. package/dist/links/httpLink.ts.js +0 -1
  97. package/dist/links/httpUtils.d.ts +0 -22
  98. package/dist/links/httpUtils.d.ts.map +0 -1
  99. package/dist/links/internals/transformOperationResult.d.ts +0 -16
  100. package/dist/links/internals/transformOperationResult.d.ts.map +0 -1
  101. package/dist/links/loggerLink.ts.js +0 -1
  102. package/dist/links/splitLink.ts.js +0 -1
  103. package/dist/links/transformerLink.d.ts +0 -4
  104. package/dist/links/transformerLink.d.ts.map +0 -1
  105. package/dist/links/transformerLink.js +0 -75
  106. package/dist/links/transformerLink.mjs +0 -67
  107. package/dist/links/transformerLink.ts.js +0 -1
  108. package/dist/links/wsLink.ts.js +0 -1
  109. package/dist/observable-7e66cb56.mjs +0 -102
  110. package/dist/observable-85669100.js +0 -104
  111. package/dist/rx/index.d.ts +0 -3
  112. package/dist/rx/index.d.ts.map +0 -1
  113. package/dist/rx/index.js +0 -9
  114. package/dist/rx/index.mjs +0 -1
  115. package/dist/rx/index.ts.js +0 -1
  116. package/dist/rx/observable.d.ts +0 -4
  117. package/dist/rx/observable.d.ts.map +0 -1
  118. package/dist/rx/operators/index.d.ts +0 -4
  119. package/dist/rx/operators/index.d.ts.map +0 -1
  120. package/dist/rx/operators/index.js +0 -38
  121. package/dist/rx/operators/index.mjs +0 -32
  122. package/dist/rx/operators/index.ts.js +0 -1
  123. package/dist/rx/operators/map.d.ts +0 -3
  124. package/dist/rx/operators/map.d.ts.map +0 -1
  125. package/dist/rx/operators/share.d.ts +0 -6
  126. package/dist/rx/operators/share.d.ts.map +0 -1
  127. package/dist/rx/operators/tap.d.ts +0 -3
  128. package/dist/rx/operators/tap.d.ts.map +0 -1
  129. package/dist/rx/types.d.ts +0 -29
  130. package/dist/rx/types.d.ts.map +0 -1
  131. package/dist/rx/util/identity.d.ts +0 -2
  132. package/dist/rx/util/identity.d.ts.map +0 -1
  133. package/dist/rx/util/observableToPromise.d.ts +0 -10
  134. package/dist/rx/util/observableToPromise.d.ts.map +0 -1
  135. package/dist/rx/util/pipe.d.ts +0 -4
  136. package/dist/rx/util/pipe.d.ts.map +0 -1
  137. package/dist/share-4d79dc49.js +0 -110
  138. package/dist/share-671b63fa.mjs +0 -108
  139. package/dist/tap-538fa07f.mjs +0 -30
  140. package/dist/tap-799a2d33.js +0 -32
  141. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.d.ts +0 -1
  142. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.dev.js +0 -67
  143. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.js +0 -7
  144. package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.prod.js +0 -67
  145. package/links/transformerLink/dist/trpc-client-links-transformerLink.esm.js +0 -63
  146. package/links/transformerLink/index.d.ts +0 -1
  147. package/links/transformerLink/index.js +0 -1
  148. package/rx/dist/trpc-client-rx.cjs.d.ts +0 -1
  149. package/rx/dist/trpc-client-rx.cjs.dev.js +0 -9
  150. package/rx/dist/trpc-client-rx.cjs.js +0 -7
  151. package/rx/dist/trpc-client-rx.cjs.prod.js +0 -9
  152. package/rx/dist/trpc-client-rx.esm.js +0 -1
  153. package/rx/index.d.ts +0 -1
  154. package/rx/index.js +0 -1
  155. package/rx/operators/dist/trpc-client-rx-operators.cjs.d.ts +0 -1
  156. package/rx/operators/dist/trpc-client-rx-operators.cjs.dev.js +0 -39
  157. package/rx/operators/dist/trpc-client-rx-operators.cjs.js +0 -7
  158. package/rx/operators/dist/trpc-client-rx-operators.cjs.prod.js +0 -39
  159. package/rx/operators/dist/trpc-client-rx-operators.esm.js +0 -33
  160. package/rx/operators/index.d.ts +0 -1
  161. package/rx/operators/index.js +0 -1
  162. package/src/links/httpUtils.ts +0 -94
  163. package/src/links/internals/transformOperationResult.ts +0 -25
  164. package/src/links/transformerLink.ts +0 -70
  165. package/src/rx/index.ts +0 -2
  166. package/src/rx/observable.test.ts +0 -83
  167. package/src/rx/observable.ts +0 -70
  168. package/src/rx/operators/index.ts +0 -3
  169. package/src/rx/operators/map.test.ts +0 -92
  170. package/src/rx/operators/map.ts +0 -25
  171. package/src/rx/operators/share.test.ts +0 -60
  172. package/src/rx/operators/share.ts +0 -67
  173. package/src/rx/operators/tap.ts +0 -26
  174. package/src/rx/types.ts +0 -69
  175. package/src/rx/util/identity.ts +0 -3
  176. package/src/rx/util/observableToPromise.ts +0 -49
  177. package/src/rx/util/pipe.ts +0 -22
@@ -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;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAGrC,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":["../../../../packages/client/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"}
@@ -2,107 +2,101 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
- var observable = require('../observable-85669100.js');
8
- var tap = require('../tap-799a2d33.js');
5
+ var observable = require('@trpc/server/observable');
9
6
 
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
13
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
14
-
15
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
-
17
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
- var palette = {
19
- query: ['72e3ff', '3fb0d8'],
20
- mutation: ['c5a3fc', '904dfc'],
21
- subscription: ['ff49e1', 'd83fbe']
7
+ const palette = {
8
+ query: [
9
+ '72e3ff',
10
+ '3fb0d8'
11
+ ],
12
+ mutation: [
13
+ 'c5a3fc',
14
+ '904dfc'
15
+ ],
16
+ subscription: [
17
+ 'ff49e1',
18
+ 'd83fbe'
19
+ ]
22
20
  };
23
-
24
21
  // maybe this should be moved to it's own package
25
- var defaultLogger = function defaultLogger() {
26
- var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : console;
27
- return function (props) {
28
- var direction = props.direction,
29
- input = props.input,
30
- type = props.type,
31
- path = props.path,
32
- context = props.context,
33
- id = props.id;
34
-
35
- var _palette$type = _slicedToArray__default["default"](palette[type], 2),
36
- light = _palette$type[0],
37
- dark = _palette$type[1];
38
-
39
- var css = "\n background-color: #".concat(direction === 'up' ? light : dark, "; \n color: ").concat(direction === 'up' ? 'black' : 'white', ";\n padding: 2px;\n ");
40
- var parts = ['%c', direction === 'up' ? '>>' : '<<', type, "#".concat(id), "%c".concat(path, "%c"), '%O'];
41
- var args = [css, "".concat(css, "; font-weight: bold;"), "".concat(css, "; font-weight: normal;")];
42
-
43
- if (props.direction === 'up') {
44
- args.push({
45
- input: input,
46
- context: context
47
- });
48
- } else {
49
- args.push({
50
- input: input,
51
- result: props.result,
52
- elapsedMs: props.elapsedMs,
53
- context: context
54
- });
55
- }
56
-
57
- var fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.data) ? 'error' : 'log';
58
- c[fn].apply(null, [parts.join(' ')].concat(args));
59
- };
60
- };
61
-
62
- function loggerLink() {
63
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
64
- var _opts$enabled = opts.enabled,
65
- enabled = _opts$enabled === void 0 ? function () {
66
- return true;
67
- } : _opts$enabled;
68
- var _opts$logger = opts.logger,
69
- logger = _opts$logger === void 0 ? defaultLogger(opts.console) : _opts$logger;
70
- return function () {
71
- return function (_ref) {
72
- var op = _ref.op,
73
- next = _ref.next;
74
- return observable.observable(function (observer) {
75
- // ->
76
- enabled(_objectSpread(_objectSpread({}, op), {}, {
77
- direction: 'up'
78
- })) && logger(_objectSpread(_objectSpread({}, op), {}, {
79
- direction: 'up'
80
- }));
81
- var requestStartTime = Date.now();
82
-
83
- function logResult(result) {
84
- var elapsedMs = Date.now() - requestStartTime;
85
- enabled(_objectSpread(_objectSpread({}, op), {}, {
86
- direction: 'down',
87
- result: result
88
- })) && logger(_objectSpread(_objectSpread({}, op), {}, {
89
- direction: 'down',
90
- elapsedMs: elapsedMs,
91
- result: result
92
- }));
22
+ const defaultLogger = (c = console)=>(props)=>{
23
+ const { direction , input , type , path , context , id } = props;
24
+ const [light, dark] = palette[type];
25
+ const css = `
26
+ background-color: #${direction === 'up' ? light : dark};
27
+ color: ${direction === 'up' ? 'black' : 'white'};
28
+ padding: 2px;
29
+ `;
30
+ const parts = [
31
+ '%c',
32
+ direction === 'up' ? '>>' : '<<',
33
+ type,
34
+ `#${id}`,
35
+ `%c${path}%c`,
36
+ '%O',
37
+ ];
38
+ const args = [
39
+ css,
40
+ `${css}; font-weight: bold;`,
41
+ `${css}; font-weight: normal;`,
42
+ ];
43
+ if (props.direction === 'up') {
44
+ args.push({
45
+ input,
46
+ context: context
47
+ });
48
+ } else {
49
+ args.push({
50
+ input,
51
+ result: props.result,
52
+ elapsedMs: props.elapsedMs,
53
+ context
54
+ });
93
55
  }
94
-
95
- return next(op).pipe(tap.tap({
96
- next: function next(result) {
97
- logResult(result);
98
- },
99
- error: function error(result) {
100
- logResult(result);
101
- }
102
- })).subscribe(observer);
103
- });
56
+ const fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.result) ? 'error' : 'log';
57
+ c[fn].apply(null, [
58
+ parts.join(' ')
59
+ ].concat(args));
60
+ };
61
+ function loggerLink(opts = {}) {
62
+ const { enabled =()=>true } = opts;
63
+ const { logger =defaultLogger(opts.console) } = opts;
64
+ return ()=>{
65
+ return ({ op , next })=>{
66
+ return observable.observable((observer)=>{
67
+ // ->
68
+ enabled({
69
+ ...op,
70
+ direction: 'up'
71
+ }) && logger({
72
+ ...op,
73
+ direction: 'up'
74
+ });
75
+ const requestStartTime = Date.now();
76
+ function logResult(result) {
77
+ const elapsedMs = Date.now() - requestStartTime;
78
+ enabled({
79
+ ...op,
80
+ direction: 'down',
81
+ result
82
+ }) && logger({
83
+ ...op,
84
+ direction: 'down',
85
+ elapsedMs,
86
+ result
87
+ });
88
+ }
89
+ return next(op).pipe(observable.tap({
90
+ next (result) {
91
+ logResult(result);
92
+ },
93
+ error (result) {
94
+ logResult(result);
95
+ }
96
+ })).subscribe(observer);
97
+ });
98
+ };
104
99
  };
105
- };
106
100
  }
107
101
 
108
102
  exports.loggerLink = loggerLink;
@@ -1,99 +1,98 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import { o as observable } from '../observable-7e66cb56.mjs';
4
- import { t as tap } from '../tap-538fa07f.mjs';
1
+ import { observable, tap } from '@trpc/server/observable';
5
2
 
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
-
8
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
- var palette = {
10
- query: ['72e3ff', '3fb0d8'],
11
- mutation: ['c5a3fc', '904dfc'],
12
- subscription: ['ff49e1', 'd83fbe']
3
+ const palette = {
4
+ query: [
5
+ '72e3ff',
6
+ '3fb0d8'
7
+ ],
8
+ mutation: [
9
+ 'c5a3fc',
10
+ '904dfc'
11
+ ],
12
+ subscription: [
13
+ 'ff49e1',
14
+ 'd83fbe'
15
+ ]
13
16
  };
14
-
15
17
  // maybe this should be moved to it's own package
16
- var defaultLogger = function defaultLogger() {
17
- var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : console;
18
- return function (props) {
19
- var direction = props.direction,
20
- input = props.input,
21
- type = props.type,
22
- path = props.path,
23
- context = props.context,
24
- id = props.id;
25
-
26
- var _palette$type = _slicedToArray(palette[type], 2),
27
- light = _palette$type[0],
28
- dark = _palette$type[1];
29
-
30
- var css = "\n background-color: #".concat(direction === 'up' ? light : dark, "; \n color: ").concat(direction === 'up' ? 'black' : 'white', ";\n padding: 2px;\n ");
31
- var parts = ['%c', direction === 'up' ? '>>' : '<<', type, "#".concat(id), "%c".concat(path, "%c"), '%O'];
32
- var args = [css, "".concat(css, "; font-weight: bold;"), "".concat(css, "; font-weight: normal;")];
33
-
34
- if (props.direction === 'up') {
35
- args.push({
36
- input: input,
37
- context: context
38
- });
39
- } else {
40
- args.push({
41
- input: input,
42
- result: props.result,
43
- elapsedMs: props.elapsedMs,
44
- context: context
45
- });
46
- }
47
-
48
- var fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.data) ? 'error' : 'log';
49
- c[fn].apply(null, [parts.join(' ')].concat(args));
50
- };
51
- };
52
-
53
- function loggerLink() {
54
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55
- var _opts$enabled = opts.enabled,
56
- enabled = _opts$enabled === void 0 ? function () {
57
- return true;
58
- } : _opts$enabled;
59
- var _opts$logger = opts.logger,
60
- logger = _opts$logger === void 0 ? defaultLogger(opts.console) : _opts$logger;
61
- return function () {
62
- return function (_ref) {
63
- var op = _ref.op,
64
- next = _ref.next;
65
- return observable(function (observer) {
66
- // ->
67
- enabled(_objectSpread(_objectSpread({}, op), {}, {
68
- direction: 'up'
69
- })) && logger(_objectSpread(_objectSpread({}, op), {}, {
70
- direction: 'up'
71
- }));
72
- var requestStartTime = Date.now();
73
-
74
- function logResult(result) {
75
- var elapsedMs = Date.now() - requestStartTime;
76
- enabled(_objectSpread(_objectSpread({}, op), {}, {
77
- direction: 'down',
78
- result: result
79
- })) && logger(_objectSpread(_objectSpread({}, op), {}, {
80
- direction: 'down',
81
- elapsedMs: elapsedMs,
82
- result: result
83
- }));
18
+ const defaultLogger = (c = console)=>(props)=>{
19
+ const { direction , input , type , path , context , id } = props;
20
+ const [light, dark] = palette[type];
21
+ const css = `
22
+ background-color: #${direction === 'up' ? light : dark};
23
+ color: ${direction === 'up' ? 'black' : 'white'};
24
+ padding: 2px;
25
+ `;
26
+ const parts = [
27
+ '%c',
28
+ direction === 'up' ? '>>' : '<<',
29
+ type,
30
+ `#${id}`,
31
+ `%c${path}%c`,
32
+ '%O',
33
+ ];
34
+ const args = [
35
+ css,
36
+ `${css}; font-weight: bold;`,
37
+ `${css}; font-weight: normal;`,
38
+ ];
39
+ if (props.direction === 'up') {
40
+ args.push({
41
+ input,
42
+ context: context
43
+ });
44
+ } else {
45
+ args.push({
46
+ input,
47
+ result: props.result,
48
+ elapsedMs: props.elapsedMs,
49
+ context
50
+ });
84
51
  }
85
-
86
- return next(op).pipe(tap({
87
- next: function next(result) {
88
- logResult(result);
89
- },
90
- error: function error(result) {
91
- logResult(result);
92
- }
93
- })).subscribe(observer);
94
- });
52
+ const fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.result) ? 'error' : 'log';
53
+ c[fn].apply(null, [
54
+ parts.join(' ')
55
+ ].concat(args));
56
+ };
57
+ function loggerLink(opts = {}) {
58
+ const { enabled =()=>true } = opts;
59
+ const { logger =defaultLogger(opts.console) } = opts;
60
+ return ()=>{
61
+ return ({ op , next })=>{
62
+ return observable((observer)=>{
63
+ // ->
64
+ enabled({
65
+ ...op,
66
+ direction: 'up'
67
+ }) && logger({
68
+ ...op,
69
+ direction: 'up'
70
+ });
71
+ const requestStartTime = Date.now();
72
+ function logResult(result) {
73
+ const elapsedMs = Date.now() - requestStartTime;
74
+ enabled({
75
+ ...op,
76
+ direction: 'down',
77
+ result
78
+ }) && logger({
79
+ ...op,
80
+ direction: 'down',
81
+ elapsedMs,
82
+ result
83
+ });
84
+ }
85
+ return next(op).pipe(tap({
86
+ next (result) {
87
+ logResult(result);
88
+ },
89
+ error (result) {
90
+ logResult(result);
91
+ }
92
+ })).subscribe(observer);
93
+ });
94
+ };
95
95
  };
96
- };
97
96
  }
98
97
 
99
98
  export { loggerLink };
@@ -1 +1 @@
1
- {"version":3,"file":"retryLink.d.ts","sourceRoot":"","sources":["../../src/links/retryLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,wBAAgB,SAAS,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAiDpB"}
1
+ {"version":3,"file":"retryLink.d.ts","sourceRoot":"","sources":["../../../../packages/client/src/links/retryLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,wBAAgB,SAAS,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAiDpB"}
@@ -1,5 +1,5 @@
1
1
  import { AnyRouter } from '@trpc/server';
2
- import { TRPCLink, Operation } from './types';
2
+ import { Operation, TRPCLink } from './types';
3
3
  export declare function splitLink<TRouter extends AnyRouter = AnyRouter>(opts: {
4
4
  condition: (op: Operation) => boolean;
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"splitLink.d.ts","sourceRoot":"","sources":["../../src/links/splitLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAM9C,wBAAgB,SAAS,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE;IACrE,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C;;OAEG;IACH,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;CAChD,GAAG,QAAQ,CAAC,OAAO,CAAC,CAWpB"}
1
+ {"version":3,"file":"splitLink.d.ts","sourceRoot":"","sources":["../../../../packages/client/src/links/splitLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK9C,wBAAgB,SAAS,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE;IACrE,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C;;OAEG;IACH,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;CAChD,GAAG,QAAQ,CAAC,OAAO,CAAC,CAWpB"}
@@ -2,31 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var observable = require('../observable-85669100.js');
6
- var createChain = require('../createChain-864dbb30.js');
5
+ require('@trpc/server/observable');
6
+ var links_splitLink = require('../splitLink-695ae288.js');
7
7
 
8
- function asArray(value) {
9
- return Array.isArray(value) ? value : [value];
10
- }
11
8
 
12
- function splitLink(opts) {
13
- return function (rt) {
14
- var yes = asArray(opts.true).map(function (link) {
15
- return link(rt);
16
- });
17
- var no = asArray(opts.false).map(function (link) {
18
- return link(rt);
19
- });
20
- return function (props) {
21
- return observable.observable(function (observer) {
22
- var links = opts.condition(props.op) ? yes : no;
23
- return createChain.createChain({
24
- op: props.op,
25
- links: links
26
- }).subscribe(observer);
27
- });
28
- };
29
- };
30
- }
31
9
 
32
- exports.splitLink = splitLink;
10
+ exports.splitLink = links_splitLink.splitLink;
@@ -1,28 +1,2 @@
1
- import { o as observable } from '../observable-7e66cb56.mjs';
2
- import { c as createChain } from '../createChain-389cc116.mjs';
3
-
4
- function asArray(value) {
5
- return Array.isArray(value) ? value : [value];
6
- }
7
-
8
- function splitLink(opts) {
9
- return function (rt) {
10
- var yes = asArray(opts.true).map(function (link) {
11
- return link(rt);
12
- });
13
- var no = asArray(opts.false).map(function (link) {
14
- return link(rt);
15
- });
16
- return function (props) {
17
- return observable(function (observer) {
18
- var links = opts.condition(props.op) ? yes : no;
19
- return createChain({
20
- op: props.op,
21
- links: links
22
- }).subscribe(observer);
23
- });
24
- };
25
- };
26
- }
27
-
28
- export { splitLink };
1
+ import '@trpc/server/observable';
2
+ export { s as splitLink } from '../splitLink-ad44a55d.mjs';
@@ -1,6 +1,6 @@
1
- import { AnyRouter, inferRouterError, Dict } from '@trpc/server';
2
- import { TRPCResponse } from '@trpc/server/rpc';
3
- import { Observable, Observer } from '../rx/types';
1
+ import { AnyRouter, DataTransformer } from '@trpc/server';
2
+ import { Observable, Observer } from '@trpc/server/observable';
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> = {
@@ -13,28 +13,29 @@ export declare type Operation<TInput = unknown> = {
13
13
  type: 'query' | 'mutation' | 'subscription';
14
14
  input: TInput;
15
15
  path: string;
16
- context?: OperationContext;
16
+ context: OperationContext;
17
17
  };
18
- export declare type HTTPHeaders = Dict<string | string[]>;
18
+ export declare type HTTPHeaders = Record<string, string | string[]>;
19
19
  /**
20
20
  * The default `fetch` implementation has an overloaded signature. By convention this library
21
21
  * only uses the overload taking a string and options object.
22
22
  */
23
23
  export declare type TRPCFetch = (url: string, options?: RequestInit) => Promise<Response>;
24
- export interface LinkRuntime {
25
- headers: () => HTTPHeaders | Promise<HTTPHeaders>;
24
+ export interface TRPCClientRuntime {
26
25
  fetch: TRPCFetch;
27
26
  AbortController?: typeof AbortController;
27
+ headers: () => HTTPHeaders | Promise<HTTPHeaders>;
28
+ transformer: DataTransformer;
28
29
  }
29
- export interface OperationResult<TRouter extends AnyRouter, TOutput> {
30
- data: TRPCResponse<TOutput, inferRouterError<TRouter>>;
30
+ export interface OperationResultEnvelope<TOutput> {
31
+ result: TRPCSuccessResponse<TOutput>['result'] | TRPCResultMessage<TOutput>['result'];
31
32
  context?: OperationContext;
32
33
  }
33
- export declare type OperationResultObservable<TRouter extends AnyRouter, TOutput> = Observable<OperationResult<TRouter, TOutput>, TRPCClientError<TRouter>>;
34
- 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>>;
35
36
  export declare type OperationLink<TRouter extends AnyRouter, TInput = unknown, TOutput = unknown> = (opts: {
36
37
  op: Operation<TInput>;
37
38
  next: (op: Operation<TInput>) => OperationResultObservable<TRouter, TOutput>;
38
39
  }) => OperationResultObservable<TRouter, TOutput>;
39
- export declare type TRPCLink<TRouter extends AnyRouter> = (opts: LinkRuntime) => OperationLink<TRouter>;
40
+ export declare type TRPCLink<TRouter extends AnyRouter> = (opts: TRPCClientRuntime) => OperationLink<TRouter>;
40
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,gBAAgB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnD,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,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,oBAAY,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAElD;;;GAGG;AACH,oBAAY,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClD,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO;IACjE,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,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,WAAW,KACd,aAAa,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/client/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';
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';
2
5
  import { retryDelay } from '../internals/retryDelay';
3
- import { UnsubscribeFn } from '../rx';
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
- WebSocket?: WebSocket;
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<any>, 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;AAOxD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvE,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,UAAU,CAAC;CAClC;AACD,wBAAgB,cAAc,CAAC,IAAI,EAAE,sBAAsB;;kBA8LpC,SAAS,kEAA0B,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,CAkDnB"}
1
+ {"version":3,"file":"wsLink.d.ts","sourceRoot":"","sources":["../../../../packages/client/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"}