@trpc/client 9.17.1 → 9.18.0

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 (25) hide show
  1. package/dist/declarations/src/internals/dataLoader.d.ts +3 -1
  2. package/dist/declarations/src/internals/dataLoader.d.ts.map +1 -1
  3. package/dist/declarations/src/internals/executeChain.d.ts +1 -2
  4. package/dist/declarations/src/internals/executeChain.d.ts.map +1 -1
  5. package/dist/declarations/src/internals/transformRPCResponse.d.ts +1 -9
  6. package/dist/declarations/src/internals/transformRPCResponse.d.ts.map +1 -1
  7. package/dist/declarations/src/links/httpBatchLink.d.ts +4 -1
  8. package/dist/declarations/src/links/httpBatchLink.d.ts.map +1 -1
  9. package/dist/declarations/src/links/wsLink.d.ts +1 -4
  10. package/dist/declarations/src/links/wsLink.d.ts.map +1 -1
  11. package/dist/{httpRequest-b7d20bb5.cjs.dev.js → transformRPCResponse-57e80136.cjs.dev.js} +19 -19
  12. package/dist/{httpRequest-7a404586.cjs.prod.js → transformRPCResponse-739c13d0.cjs.prod.js} +19 -19
  13. package/dist/{httpRequest-ec8da4ce.esm.js → transformRPCResponse-f7f8b0e1.esm.js} +19 -19
  14. package/dist/trpc-client.cjs.dev.js +2 -2
  15. package/dist/trpc-client.cjs.prod.js +2 -2
  16. package/dist/trpc-client.esm.js +1 -1
  17. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js +24 -12
  18. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js +24 -12
  19. package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.esm.js +21 -9
  20. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.dev.js +4 -4
  21. package/links/httpLink/dist/trpc-client-links-httpLink.cjs.prod.js +4 -4
  22. package/links/httpLink/dist/trpc-client-links-httpLink.esm.js +1 -1
  23. package/package.json +4 -4
  24. package/src/internals/dataLoader.ts +13 -1
  25. package/src/links/httpBatchLink.ts +24 -8
@@ -8,7 +8,9 @@ declare type BatchLoadFn<TKey, TValue> = (keys: TKey[]) => {
8
8
  * Less configuration, no caching, and allows you to cancel requests
9
9
  * When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
10
10
  */
11
- export declare function dataLoader<TKey, TValue>(fetchMany: BatchLoadFn<TKey, TValue>): {
11
+ export declare function dataLoader<TKey, TValue>(fetchMany: BatchLoadFn<TKey, TValue>, opts?: {
12
+ maxBatchSize?: number;
13
+ }): {
12
14
  load: (key: TKey) => PromiseAndCancel<TValue>;
13
15
  };
14
16
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"dataLoader.d.ts","sourceRoot":"../../../../src/internals","sources":["dataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAY3D,aAAK,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK;IACjD,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3B,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;gBA6BxD,IAAI,KAAG,iBAAiB,MAAM,CAAC;EAwCnD"}
1
+ {"version":3,"file":"dataLoader.d.ts","sourceRoot":"../../../../src/internals","sources":["dataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAY3D,aAAK,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK;IACjD,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3B,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EACrC,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EACpC,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;gBA8Bb,IAAI,KAAG,iBAAiB,MAAM,CAAC;EAiDnD"}
@@ -1,9 +1,8 @@
1
1
  import { AnyRouter } from '@trpc/server';
2
- import { TRPCResult } from '@trpc/server/rpc';
3
2
  import { TRPCClientError } from '../TRPCClientError';
4
3
  import { Operation, OperationLink } from '../links/core';
5
4
  export declare function executeChain<TRouter extends AnyRouter, TInput = unknown, TOutput = unknown>(opts: {
6
5
  links: OperationLink<TRouter, TInput, TOutput>[];
7
6
  op: Operation<TInput>;
8
- }): import("./observable").ObservableSubject<TRPCResult<TOutput> | null, TRPCClientError<TRouter>>;
7
+ }): import("./observable").ObservableSubject<any, TRPCClientError<TRouter>>;
9
8
  //# sourceMappingURL=executeChain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executeChain.d.ts","sourceRoot":"../../../../src/internals","sources":["executeChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,SAAS,EACT,aAAa,EAGd,MAAM,eAAe,CAAC;AAGvB,wBAAgB,YAAY,CAC1B,OAAO,SAAS,SAAS,EACzB,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EACjB,IAAI,EAAE;IACN,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACjD,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACvB,kGAgDA"}
1
+ {"version":3,"file":"executeChain.d.ts","sourceRoot":"../../../../src/internals","sources":["executeChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,SAAS,EACT,aAAa,EAGd,MAAM,eAAe,CAAC;AAGvB,wBAAgB,YAAY,CAC1B,OAAO,SAAS,SAAS,EACzB,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EACjB,IAAI,EAAE;IACN,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACjD,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACvB,2EAgDA"}
@@ -1,15 +1,7 @@
1
1
  import { TRPCResponse } from '@trpc/server/rpc';
2
- import { TRPCClientError } from '../TRPCClientError';
3
2
  import { LinkRuntimeOptions } from '../links/core';
4
3
  export declare function transformRPCResponse({ envelope, runtime, }: {
5
4
  envelope: TRPCResponse;
6
5
  runtime: LinkRuntimeOptions;
7
- }): {
8
- type: "started";
9
- } | {
10
- type: "stopped";
11
- } | TRPCClientError<import("@trpc/server").AnyRouter<any>> | {
12
- data: any;
13
- type: "data";
14
- };
6
+ }): any;
15
7
  //# sourceMappingURL=transformRPCResponse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformRPCResponse.d.ts","sourceRoot":"../../../../src/internals","sources":["transformRPCResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;;;;;;;EAcA"}
1
+ {"version":3,"file":"transformRPCResponse.d.ts","sourceRoot":"../../../../src/internals","sources":["transformRPCResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;CAC7B,OAcA"}
@@ -1,4 +1,7 @@
1
1
  import { AnyRouter } from '@trpc/server';
2
2
  import { HTTPLinkOptions, TRPCLink } from './core';
3
- export declare function httpBatchLink<TRouter extends AnyRouter>(opts: HTTPLinkOptions): TRPCLink<TRouter>;
3
+ export interface HttpBatchLinkOptions extends HTTPLinkOptions {
4
+ maxBatchSize?: number;
5
+ }
6
+ export declare function httpBatchLink<TRouter extends AnyRouter>(opts: HttpBatchLinkOptions): TRPCLink<TRouter>;
4
7
  //# sourceMappingURL=httpBatchLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpBatchLink.d.ts","sourceRoot":"../../../../src/links","sources":["httpBatchLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAMxD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGnD,wBAAgB,aAAa,CAAC,OAAO,SAAS,SAAS,EACrD,IAAI,EAAE,eAAe,GACpB,QAAQ,CAAC,OAAO,CAAC,CAyDnB"}
1
+ {"version":3,"file":"httpBatchLink.d.ts","sourceRoot":"../../../../src/links","sources":["httpBatchLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAOxD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEnD,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,OAAO,SAAS,SAAS,EACrD,IAAI,EAAE,oBAAoB,GACzB,QAAQ,CAAC,OAAO,CAAC,CAqEnB"}
@@ -1,9 +1,6 @@
1
1
  import { AnyRouter, ProcedureType } from '@trpc/server';
2
- import { TRPCResult } from '@trpc/server/rpc';
3
- import { TRPCErrorResponse } from '@trpc/server/rpc';
4
2
  import { ObservableCallbacks, UnsubscribeFn } from '../internals/observable';
5
3
  import { retryDelay } from '../internals/retryDelay';
6
- import { TRPCClientError } from '../TRPCClientError';
7
4
  import { TRPCLink } from './core';
8
5
  declare type Operation = {
9
6
  id: number | string;
@@ -18,7 +15,7 @@ export interface WebSocketClientOptions {
18
15
  }
19
16
  export declare function createWSClient(opts: WebSocketClientOptions): {
20
17
  close: () => void;
21
- request: (op: Operation, callbacks: ObservableCallbacks<TRPCResult<unknown>, TRPCClientError<AnyRouter<any>> | TRPCErrorResponse<import("@trpc/server/rpc").TRPCErrorShape<import("@trpc/server/rpc").TRPC_ERROR_CODE_NUMBER, Record<string, unknown>>>>) => UnsubscribeFn;
18
+ request: (op: Operation, callbacks: ObservableCallbacks<any, any>) => UnsubscribeFn;
22
19
  getConnection(): WebSocket;
23
20
  };
24
21
  export declare type TRPCWebSocketClient = ReturnType<typeof createWSClient>;
@@ -1 +1 @@
1
- {"version":3,"file":"wsLink.d.ts","sourceRoot":"../../../../src/links","sources":["wsLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAKL,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,aAAK,SAAS,GAAG;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,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;;kBAiMpC,SAAS,sOAA0B,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,CA6DnB"}
1
+ {"version":3,"file":"wsLink.d.ts","sourceRoot":"../../../../src/links","sources":["wsLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AASxD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,aAAK,SAAS,GAAG;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,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;;kBAiMpC,SAAS,+CAA0B,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,CA6DnB"}
@@ -28,25 +28,6 @@ var TRPCAbortError = /*#__PURE__*/function (_Error) {
28
28
  return _createClass(TRPCAbortError);
29
29
  }( /*#__PURE__*/_wrapNativeSuper(Error));
30
30
 
31
- function transformRPCResponse(_ref) {
32
- var envelope = _ref.envelope,
33
- runtime = _ref.runtime;
34
-
35
- if ('error' in envelope) {
36
- return TRPCClientError.TRPCClientError.from(_objectSpread(_objectSpread({}, envelope), {}, {
37
- error: runtime.transformer.deserialize(envelope.error)
38
- }));
39
- }
40
-
41
- if (envelope.result.type === 'data') {
42
- return _objectSpread(_objectSpread({}, envelope.result), {}, {
43
- data: runtime.transformer.deserialize(envelope.result.data)
44
- });
45
- }
46
-
47
- return envelope.result;
48
- }
49
-
50
31
  // https://github.com/trpc/trpc/pull/669
51
32
  function arrayToDict(array) {
52
33
  var dict = {};
@@ -128,6 +109,25 @@ function httpRequest(props) {
128
109
  };
129
110
  }
130
111
 
112
+ function transformRPCResponse(_ref) {
113
+ var envelope = _ref.envelope,
114
+ runtime = _ref.runtime;
115
+
116
+ if ('error' in envelope) {
117
+ return TRPCClientError.TRPCClientError.from(_objectSpread(_objectSpread({}, envelope), {}, {
118
+ error: runtime.transformer.deserialize(envelope.error)
119
+ }));
120
+ }
121
+
122
+ if (envelope.result.type === 'data') {
123
+ return _objectSpread(_objectSpread({}, envelope.result), {}, {
124
+ data: runtime.transformer.deserialize(envelope.result.data)
125
+ });
126
+ }
127
+
128
+ return envelope.result;
129
+ }
130
+
131
131
  exports.TRPCAbortError = TRPCAbortError;
132
132
  exports.httpRequest = httpRequest;
133
133
  exports.transformRPCResponse = transformRPCResponse;
@@ -28,25 +28,6 @@ var TRPCAbortError = /*#__PURE__*/function (_Error) {
28
28
  return _createClass(TRPCAbortError);
29
29
  }( /*#__PURE__*/_wrapNativeSuper(Error));
30
30
 
31
- function transformRPCResponse(_ref) {
32
- var envelope = _ref.envelope,
33
- runtime = _ref.runtime;
34
-
35
- if ('error' in envelope) {
36
- return TRPCClientError.TRPCClientError.from(_objectSpread(_objectSpread({}, envelope), {}, {
37
- error: runtime.transformer.deserialize(envelope.error)
38
- }));
39
- }
40
-
41
- if (envelope.result.type === 'data') {
42
- return _objectSpread(_objectSpread({}, envelope.result), {}, {
43
- data: runtime.transformer.deserialize(envelope.result.data)
44
- });
45
- }
46
-
47
- return envelope.result;
48
- }
49
-
50
31
  // https://github.com/trpc/trpc/pull/669
51
32
  function arrayToDict(array) {
52
33
  var dict = {};
@@ -128,6 +109,25 @@ function httpRequest(props) {
128
109
  };
129
110
  }
130
111
 
112
+ function transformRPCResponse(_ref) {
113
+ var envelope = _ref.envelope,
114
+ runtime = _ref.runtime;
115
+
116
+ if ('error' in envelope) {
117
+ return TRPCClientError.TRPCClientError.from(_objectSpread(_objectSpread({}, envelope), {}, {
118
+ error: runtime.transformer.deserialize(envelope.error)
119
+ }));
120
+ }
121
+
122
+ if (envelope.result.type === 'data') {
123
+ return _objectSpread(_objectSpread({}, envelope.result), {}, {
124
+ data: runtime.transformer.deserialize(envelope.result.data)
125
+ });
126
+ }
127
+
128
+ return envelope.result;
129
+ }
130
+
131
131
  exports.TRPCAbortError = TRPCAbortError;
132
132
  exports.httpRequest = httpRequest;
133
133
  exports.transformRPCResponse = transformRPCResponse;
@@ -26,25 +26,6 @@ var TRPCAbortError = /*#__PURE__*/function (_Error) {
26
26
  return _createClass(TRPCAbortError);
27
27
  }( /*#__PURE__*/_wrapNativeSuper(Error));
28
28
 
29
- function transformRPCResponse(_ref) {
30
- var envelope = _ref.envelope,
31
- runtime = _ref.runtime;
32
-
33
- if ('error' in envelope) {
34
- return TRPCClientError.from(_objectSpread(_objectSpread({}, envelope), {}, {
35
- error: runtime.transformer.deserialize(envelope.error)
36
- }));
37
- }
38
-
39
- if (envelope.result.type === 'data') {
40
- return _objectSpread(_objectSpread({}, envelope.result), {}, {
41
- data: runtime.transformer.deserialize(envelope.result.data)
42
- });
43
- }
44
-
45
- return envelope.result;
46
- }
47
-
48
29
  // https://github.com/trpc/trpc/pull/669
49
30
  function arrayToDict(array) {
50
31
  var dict = {};
@@ -126,4 +107,23 @@ function httpRequest(props) {
126
107
  };
127
108
  }
128
109
 
110
+ function transformRPCResponse(_ref) {
111
+ var envelope = _ref.envelope,
112
+ runtime = _ref.runtime;
113
+
114
+ if ('error' in envelope) {
115
+ return TRPCClientError.from(_objectSpread(_objectSpread({}, envelope), {}, {
116
+ error: runtime.transformer.deserialize(envelope.error)
117
+ }));
118
+ }
119
+
120
+ if (envelope.result.type === 'data') {
121
+ return _objectSpread(_objectSpread({}, envelope.result), {}, {
122
+ data: runtime.transformer.deserialize(envelope.result.data)
123
+ });
124
+ }
125
+
126
+ return envelope.result;
127
+ }
128
+
129
129
  export { TRPCAbortError as T, httpRequest as h, transformRPCResponse as t };
@@ -6,7 +6,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
6
6
  var _createClass = require('@babel/runtime/helpers/createClass');
7
7
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
8
8
  var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
9
- var httpRequest = require('./httpRequest-b7d20bb5.cjs.dev.js');
9
+ var transformRPCResponse = require('./transformRPCResponse-57e80136.cjs.dev.js');
10
10
  var links_httpBatchLink_dist_trpcClientLinksHttpBatchLink = require('../links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js');
11
11
  var TRPCClientError = require('./TRPCClientError-bfee2bf5.cjs.dev.js');
12
12
  require('@babel/runtime/helpers/assertThisInitialized');
@@ -299,7 +299,7 @@ var TRPCClient = /*#__PURE__*/function () {
299
299
  $result.done();
300
300
  },
301
301
  onDone: function onDone() {
302
- reject(TRPCClientError.TRPCClientError.from(new httpRequest.TRPCAbortError()));
302
+ reject(TRPCClientError.TRPCClientError.from(new transformRPCResponse.TRPCAbortError()));
303
303
  }
304
304
  });
305
305
  });
@@ -6,7 +6,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
6
6
  var _createClass = require('@babel/runtime/helpers/createClass');
7
7
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
8
8
  var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
9
- var httpRequest = require('./httpRequest-7a404586.cjs.prod.js');
9
+ var transformRPCResponse = require('./transformRPCResponse-739c13d0.cjs.prod.js');
10
10
  var links_httpBatchLink_dist_trpcClientLinksHttpBatchLink = require('../links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js');
11
11
  var TRPCClientError = require('./TRPCClientError-e9bf96e9.cjs.prod.js');
12
12
  require('@babel/runtime/helpers/assertThisInitialized');
@@ -299,7 +299,7 @@ var TRPCClient = /*#__PURE__*/function () {
299
299
  $result.done();
300
300
  },
301
301
  onDone: function onDone() {
302
- reject(TRPCClientError.TRPCClientError.from(new httpRequest.TRPCAbortError()));
302
+ reject(TRPCClientError.TRPCClientError.from(new transformRPCResponse.TRPCAbortError()));
303
303
  }
304
304
  });
305
305
  });
@@ -2,7 +2,7 @@ import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/esm/createClass';
3
3
  import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';
4
4
  import _createForOfIteratorHelper from '@babel/runtime/helpers/esm/createForOfIteratorHelper';
5
- import { T as TRPCAbortError } from './httpRequest-ec8da4ce.esm.js';
5
+ import { T as TRPCAbortError } from './transformRPCResponse-f7f8b0e1.esm.js';
6
6
  import { httpBatchLink } from '../links/httpBatchLink/dist/trpc-client-links-httpBatchLink.esm.js';
7
7
  import { T as TRPCClientError } from './TRPCClientError-09b8a26b.esm.js';
8
8
  export { T as TRPCClientError } from './TRPCClientError-09b8a26b.esm.js';
@@ -2,23 +2,23 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var TRPCClientError = require('../../../dist/TRPCClientError-bfee2bf5.cjs.dev.js');
6
5
  var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
7
- var httpRequest = require('../../../dist/httpRequest-b7d20bb5.cjs.dev.js');
8
- require('@babel/runtime/helpers/objectSpread2');
9
- require('@babel/runtime/helpers/classCallCheck');
6
+ var transformRPCResponse = require('../../../dist/transformRPCResponse-57e80136.cjs.dev.js');
7
+ var TRPCClientError = require('../../../dist/TRPCClientError-bfee2bf5.cjs.dev.js');
10
8
  require('@babel/runtime/helpers/createClass');
9
+ require('@babel/runtime/helpers/classCallCheck');
11
10
  require('@babel/runtime/helpers/assertThisInitialized');
12
11
  require('@babel/runtime/helpers/inherits');
13
12
  require('@babel/runtime/helpers/createSuper');
14
13
  require('@babel/runtime/helpers/wrapNativeSuper');
14
+ require('@babel/runtime/helpers/objectSpread2');
15
15
 
16
16
  /**
17
17
  * Dataloader that's very inspired by https://github.com/graphql/dataloader
18
18
  * Less configuration, no caching, and allows you to cancel requests
19
19
  * When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
20
20
  */
21
- function dataLoader(fetchMany) {
21
+ function dataLoader(fetchMany, opts) {
22
22
  var batch = null;
23
23
  var dispatchTimer = null;
24
24
 
@@ -83,6 +83,11 @@ function dataLoader(fetchMany) {
83
83
  item.reject = reject;
84
84
  item.resolve = resolve;
85
85
  thisBatch.items.push(item);
86
+
87
+ if (typeof (opts === null || opts === void 0 ? void 0 : opts.maxBatchSize) !== 'undefined' && thisBatch.items.length >= opts.maxBatchSize) {
88
+ dispatch();
89
+ return;
90
+ }
86
91
  });
87
92
 
88
93
  if (!dispatchTimer) {
@@ -114,7 +119,8 @@ function dataLoader(fetchMany) {
114
119
  }
115
120
 
116
121
  function httpBatchLink(opts) {
117
- var url = opts.url; // initialized config
122
+ var url = opts.url,
123
+ maxBatchSize = opts.maxBatchSize; // initialized config
118
124
 
119
125
  return function (runtime) {
120
126
  // initialized in app
@@ -127,7 +133,7 @@ function httpBatchLink(opts) {
127
133
  return op.input;
128
134
  });
129
135
 
130
- var _httpRequest = httpRequest.httpRequest({
136
+ var _httpRequest = transformRPCResponse.httpRequest({
131
137
  url: url,
132
138
  inputs: inputs,
133
139
  path: path,
@@ -152,9 +158,15 @@ function httpBatchLink(opts) {
152
158
  };
153
159
  };
154
160
 
155
- var query = dataLoader(fetcher('query'));
156
- var mutation = dataLoader(fetcher('mutation'));
157
- var subscription = dataLoader(fetcher('subscription'));
161
+ var query = dataLoader(fetcher('query'), {
162
+ maxBatchSize: maxBatchSize
163
+ });
164
+ var mutation = dataLoader(fetcher('mutation'), {
165
+ maxBatchSize: maxBatchSize
166
+ });
167
+ var subscription = dataLoader(fetcher('subscription'), {
168
+ maxBatchSize: maxBatchSize
169
+ });
158
170
  var loaders = {
159
171
  query: query,
160
172
  subscription: subscription,
@@ -182,13 +194,13 @@ function httpBatchLink(opts) {
182
194
  };
183
195
 
184
196
  onDestroy(function () {
185
- prevOnce(TRPCClientError.TRPCClientError.from(new httpRequest.TRPCAbortError(), {
197
+ prevOnce(TRPCClientError.TRPCClientError.from(new transformRPCResponse.TRPCAbortError(), {
186
198
  isDone: true
187
199
  }));
188
200
  cancel();
189
201
  });
190
202
  promise.then(function (envelope) {
191
- prevOnce(httpRequest.transformRPCResponse({
203
+ prevOnce(transformRPCResponse.transformRPCResponse({
192
204
  envelope: envelope,
193
205
  runtime: runtime
194
206
  }));
@@ -2,23 +2,23 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var TRPCClientError = require('../../../dist/TRPCClientError-e9bf96e9.cjs.prod.js');
6
5
  var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
7
- var httpRequest = require('../../../dist/httpRequest-7a404586.cjs.prod.js');
8
- require('@babel/runtime/helpers/objectSpread2');
9
- require('@babel/runtime/helpers/classCallCheck');
6
+ var transformRPCResponse = require('../../../dist/transformRPCResponse-739c13d0.cjs.prod.js');
7
+ var TRPCClientError = require('../../../dist/TRPCClientError-e9bf96e9.cjs.prod.js');
10
8
  require('@babel/runtime/helpers/createClass');
9
+ require('@babel/runtime/helpers/classCallCheck');
11
10
  require('@babel/runtime/helpers/assertThisInitialized');
12
11
  require('@babel/runtime/helpers/inherits');
13
12
  require('@babel/runtime/helpers/createSuper');
14
13
  require('@babel/runtime/helpers/wrapNativeSuper');
14
+ require('@babel/runtime/helpers/objectSpread2');
15
15
 
16
16
  /**
17
17
  * Dataloader that's very inspired by https://github.com/graphql/dataloader
18
18
  * Less configuration, no caching, and allows you to cancel requests
19
19
  * When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
20
20
  */
21
- function dataLoader(fetchMany) {
21
+ function dataLoader(fetchMany, opts) {
22
22
  var batch = null;
23
23
  var dispatchTimer = null;
24
24
 
@@ -83,6 +83,11 @@ function dataLoader(fetchMany) {
83
83
  item.reject = reject;
84
84
  item.resolve = resolve;
85
85
  thisBatch.items.push(item);
86
+
87
+ if (typeof (opts === null || opts === void 0 ? void 0 : opts.maxBatchSize) !== 'undefined' && thisBatch.items.length >= opts.maxBatchSize) {
88
+ dispatch();
89
+ return;
90
+ }
86
91
  });
87
92
 
88
93
  if (!dispatchTimer) {
@@ -114,7 +119,8 @@ function dataLoader(fetchMany) {
114
119
  }
115
120
 
116
121
  function httpBatchLink(opts) {
117
- var url = opts.url; // initialized config
122
+ var url = opts.url,
123
+ maxBatchSize = opts.maxBatchSize; // initialized config
118
124
 
119
125
  return function (runtime) {
120
126
  // initialized in app
@@ -127,7 +133,7 @@ function httpBatchLink(opts) {
127
133
  return op.input;
128
134
  });
129
135
 
130
- var _httpRequest = httpRequest.httpRequest({
136
+ var _httpRequest = transformRPCResponse.httpRequest({
131
137
  url: url,
132
138
  inputs: inputs,
133
139
  path: path,
@@ -152,9 +158,15 @@ function httpBatchLink(opts) {
152
158
  };
153
159
  };
154
160
 
155
- var query = dataLoader(fetcher('query'));
156
- var mutation = dataLoader(fetcher('mutation'));
157
- var subscription = dataLoader(fetcher('subscription'));
161
+ var query = dataLoader(fetcher('query'), {
162
+ maxBatchSize: maxBatchSize
163
+ });
164
+ var mutation = dataLoader(fetcher('mutation'), {
165
+ maxBatchSize: maxBatchSize
166
+ });
167
+ var subscription = dataLoader(fetcher('subscription'), {
168
+ maxBatchSize: maxBatchSize
169
+ });
158
170
  var loaders = {
159
171
  query: query,
160
172
  subscription: subscription,
@@ -182,13 +194,13 @@ function httpBatchLink(opts) {
182
194
  };
183
195
 
184
196
  onDestroy(function () {
185
- prevOnce(TRPCClientError.TRPCClientError.from(new httpRequest.TRPCAbortError(), {
197
+ prevOnce(TRPCClientError.TRPCClientError.from(new transformRPCResponse.TRPCAbortError(), {
186
198
  isDone: true
187
199
  }));
188
200
  cancel();
189
201
  });
190
202
  promise.then(function (envelope) {
191
- prevOnce(httpRequest.transformRPCResponse({
203
+ prevOnce(transformRPCResponse.transformRPCResponse({
192
204
  envelope: envelope,
193
205
  runtime: runtime
194
206
  }));
@@ -1,20 +1,20 @@
1
- import { T as TRPCClientError } from '../../../dist/TRPCClientError-09b8a26b.esm.js';
2
1
  import _createForOfIteratorHelper from '@babel/runtime/helpers/esm/createForOfIteratorHelper';
3
- import { T as TRPCAbortError, t as transformRPCResponse, h as httpRequest } from '../../../dist/httpRequest-ec8da4ce.esm.js';
4
- import '@babel/runtime/helpers/objectSpread2';
5
- import '@babel/runtime/helpers/classCallCheck';
2
+ import { T as TRPCAbortError, t as transformRPCResponse, h as httpRequest } from '../../../dist/transformRPCResponse-f7f8b0e1.esm.js';
3
+ import { T as TRPCClientError } from '../../../dist/TRPCClientError-09b8a26b.esm.js';
6
4
  import '@babel/runtime/helpers/createClass';
5
+ import '@babel/runtime/helpers/classCallCheck';
7
6
  import '@babel/runtime/helpers/assertThisInitialized';
8
7
  import '@babel/runtime/helpers/inherits';
9
8
  import '@babel/runtime/helpers/createSuper';
10
9
  import '@babel/runtime/helpers/wrapNativeSuper';
10
+ import '@babel/runtime/helpers/objectSpread2';
11
11
 
12
12
  /**
13
13
  * Dataloader that's very inspired by https://github.com/graphql/dataloader
14
14
  * Less configuration, no caching, and allows you to cancel requests
15
15
  * When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
16
16
  */
17
- function dataLoader(fetchMany) {
17
+ function dataLoader(fetchMany, opts) {
18
18
  var batch = null;
19
19
  var dispatchTimer = null;
20
20
 
@@ -79,6 +79,11 @@ function dataLoader(fetchMany) {
79
79
  item.reject = reject;
80
80
  item.resolve = resolve;
81
81
  thisBatch.items.push(item);
82
+
83
+ if (typeof (opts === null || opts === void 0 ? void 0 : opts.maxBatchSize) !== 'undefined' && thisBatch.items.length >= opts.maxBatchSize) {
84
+ dispatch();
85
+ return;
86
+ }
82
87
  });
83
88
 
84
89
  if (!dispatchTimer) {
@@ -110,7 +115,8 @@ function dataLoader(fetchMany) {
110
115
  }
111
116
 
112
117
  function httpBatchLink(opts) {
113
- var url = opts.url; // initialized config
118
+ var url = opts.url,
119
+ maxBatchSize = opts.maxBatchSize; // initialized config
114
120
 
115
121
  return function (runtime) {
116
122
  // initialized in app
@@ -148,9 +154,15 @@ function httpBatchLink(opts) {
148
154
  };
149
155
  };
150
156
 
151
- var query = dataLoader(fetcher('query'));
152
- var mutation = dataLoader(fetcher('mutation'));
153
- var subscription = dataLoader(fetcher('subscription'));
157
+ var query = dataLoader(fetcher('query'), {
158
+ maxBatchSize: maxBatchSize
159
+ });
160
+ var mutation = dataLoader(fetcher('mutation'), {
161
+ maxBatchSize: maxBatchSize
162
+ });
163
+ var subscription = dataLoader(fetcher('subscription'), {
164
+ maxBatchSize: maxBatchSize
165
+ });
154
166
  var loaders = {
155
167
  query: query,
156
168
  subscription: subscription,
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var TRPCClientError = require('../../../dist/TRPCClientError-bfee2bf5.cjs.dev.js');
6
- var httpRequest = require('../../../dist/httpRequest-b7d20bb5.cjs.dev.js');
6
+ var transformRPCResponse = require('../../../dist/transformRPCResponse-57e80136.cjs.dev.js');
7
7
  require('@babel/runtime/helpers/objectSpread2');
8
8
  require('@babel/runtime/helpers/classCallCheck');
9
9
  require('@babel/runtime/helpers/createClass');
@@ -25,7 +25,7 @@ function httpLink(opts) {
25
25
  input = op.input,
26
26
  type = op.type;
27
27
 
28
- var _httpRequest = httpRequest.httpRequest({
28
+ var _httpRequest = transformRPCResponse.httpRequest({
29
29
  runtime: runtime,
30
30
  type: type,
31
31
  input: input,
@@ -47,13 +47,13 @@ function httpLink(opts) {
47
47
  };
48
48
 
49
49
  onDestroy(function () {
50
- prevOnce(TRPCClientError.TRPCClientError.from(new httpRequest.TRPCAbortError(), {
50
+ prevOnce(TRPCClientError.TRPCClientError.from(new transformRPCResponse.TRPCAbortError(), {
51
51
  isDone: true
52
52
  }));
53
53
  cancel();
54
54
  });
55
55
  promise.then(function (envelope) {
56
- prevOnce(httpRequest.transformRPCResponse({
56
+ prevOnce(transformRPCResponse.transformRPCResponse({
57
57
  envelope: envelope,
58
58
  runtime: runtime
59
59
  }));
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var TRPCClientError = require('../../../dist/TRPCClientError-e9bf96e9.cjs.prod.js');
6
- var httpRequest = require('../../../dist/httpRequest-7a404586.cjs.prod.js');
6
+ var transformRPCResponse = require('../../../dist/transformRPCResponse-739c13d0.cjs.prod.js');
7
7
  require('@babel/runtime/helpers/objectSpread2');
8
8
  require('@babel/runtime/helpers/classCallCheck');
9
9
  require('@babel/runtime/helpers/createClass');
@@ -25,7 +25,7 @@ function httpLink(opts) {
25
25
  input = op.input,
26
26
  type = op.type;
27
27
 
28
- var _httpRequest = httpRequest.httpRequest({
28
+ var _httpRequest = transformRPCResponse.httpRequest({
29
29
  runtime: runtime,
30
30
  type: type,
31
31
  input: input,
@@ -47,13 +47,13 @@ function httpLink(opts) {
47
47
  };
48
48
 
49
49
  onDestroy(function () {
50
- prevOnce(TRPCClientError.TRPCClientError.from(new httpRequest.TRPCAbortError(), {
50
+ prevOnce(TRPCClientError.TRPCClientError.from(new transformRPCResponse.TRPCAbortError(), {
51
51
  isDone: true
52
52
  }));
53
53
  cancel();
54
54
  });
55
55
  promise.then(function (envelope) {
56
- prevOnce(httpRequest.transformRPCResponse({
56
+ prevOnce(transformRPCResponse.transformRPCResponse({
57
57
  envelope: envelope,
58
58
  runtime: runtime
59
59
  }));
@@ -1,5 +1,5 @@
1
1
  import { T as TRPCClientError } from '../../../dist/TRPCClientError-09b8a26b.esm.js';
2
- import { h as httpRequest, T as TRPCAbortError, t as transformRPCResponse } from '../../../dist/httpRequest-ec8da4ce.esm.js';
2
+ import { h as httpRequest, T as TRPCAbortError, t as transformRPCResponse } from '../../../dist/transformRPCResponse-f7f8b0e1.esm.js';
3
3
  import '@babel/runtime/helpers/objectSpread2';
4
4
  import '@babel/runtime/helpers/classCallCheck';
5
5
  import '@babel/runtime/helpers/createClass';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/client",
3
- "version": "9.17.1",
3
+ "version": "9.18.0",
4
4
  "description": "tRPC Client lib",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -34,13 +34,13 @@
34
34
  "@babel/runtime": "^7.9.0"
35
35
  },
36
36
  "peerDependencies": {
37
- "@trpc/server": "9.17.1"
37
+ "@trpc/server": "9.18.0"
38
38
  },
39
39
  "devDependencies": {
40
- "@trpc/server": "9.17.1"
40
+ "@trpc/server": "9.18.0"
41
41
  },
42
42
  "publishConfig": {
43
43
  "access": "public"
44
44
  },
45
- "gitHead": "d7b9442ba2979046417e49986ddcd58d54642347"
45
+ "gitHead": "e8468a50b289b0231cf1ee92d0f5195fe20c0d44"
46
46
  }
@@ -20,7 +20,10 @@ type BatchLoadFn<TKey, TValue> = (keys: TKey[]) => {
20
20
  * Less configuration, no caching, and allows you to cancel requests
21
21
  * When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
22
22
  */
23
- export function dataLoader<TKey, TValue>(fetchMany: BatchLoadFn<TKey, TValue>) {
23
+ export function dataLoader<TKey, TValue>(
24
+ fetchMany: BatchLoadFn<TKey, TValue>,
25
+ opts?: { maxBatchSize?: number },
26
+ ) {
24
27
  let batch: Batch<TKey, TValue> | null = null;
25
28
  let dispatchTimer: NodeJS.Timer | number | null = null;
26
29
 
@@ -69,7 +72,16 @@ export function dataLoader<TKey, TValue>(fetchMany: BatchLoadFn<TKey, TValue>) {
69
72
  item.reject = reject;
70
73
  item.resolve = resolve;
71
74
  thisBatch.items.push(item);
75
+
76
+ if (
77
+ typeof opts?.maxBatchSize !== 'undefined' &&
78
+ thisBatch.items.length >= opts.maxBatchSize
79
+ ) {
80
+ dispatch();
81
+ return;
82
+ }
72
83
  });
84
+
73
85
  if (!dispatchTimer) {
74
86
  dispatchTimer = setTimeout(dispatch);
75
87
  }
@@ -1,20 +1,25 @@
1
1
  import { AnyRouter, ProcedureType } from '@trpc/server';
2
2
  import { TRPCResponse } from '@trpc/server/rpc';
3
- import { TRPCClientError } from '../TRPCClientError';
4
3
  import { dataLoader } from '../internals/dataLoader';
5
- import { transformRPCResponse } from '../internals/transformRPCResponse';
6
4
  import { httpRequest } from '../internals/httpRequest';
7
- import { HTTPLinkOptions, TRPCLink } from './core';
5
+ import { transformRPCResponse } from '../internals/transformRPCResponse';
8
6
  import { TRPCAbortError } from '../internals/TRPCAbortError';
7
+ import { TRPCClientError } from '../TRPCClientError';
8
+ import { HTTPLinkOptions, TRPCLink } from './core';
9
+
10
+ export interface HttpBatchLinkOptions extends HTTPLinkOptions {
11
+ maxBatchSize?: number;
12
+ }
9
13
 
10
14
  export function httpBatchLink<TRouter extends AnyRouter>(
11
- opts: HTTPLinkOptions,
15
+ opts: HttpBatchLinkOptions,
12
16
  ): TRPCLink<TRouter> {
13
- const { url } = opts;
17
+ const { url, maxBatchSize } = opts;
14
18
  // initialized config
15
19
  return (runtime) => {
16
20
  // initialized in app
17
21
  type Key = { id: number; path: string; input: unknown };
22
+
18
23
  const fetcher = (type: ProcedureType) => (keyInputPairs: Key[]) => {
19
24
  const path = keyInputPairs.map((op) => op.path).join(',');
20
25
  const inputs = keyInputPairs.map((op) => op.input);
@@ -37,11 +42,22 @@ export function httpBatchLink<TRouter extends AnyRouter>(
37
42
  cancel,
38
43
  };
39
44
  };
40
- const query = dataLoader<Key, TRPCResponse>(fetcher('query'));
41
- const mutation = dataLoader<Key, TRPCResponse>(fetcher('mutation'));
42
- const subscription = dataLoader<Key, TRPCResponse>(fetcher('subscription'));
45
+
46
+ const query = dataLoader<Key, TRPCResponse>(fetcher('query'), {
47
+ maxBatchSize,
48
+ });
49
+
50
+ const mutation = dataLoader<Key, TRPCResponse>(fetcher('mutation'), {
51
+ maxBatchSize,
52
+ });
53
+
54
+ const subscription = dataLoader<Key, TRPCResponse>(
55
+ fetcher('subscription'),
56
+ { maxBatchSize },
57
+ );
43
58
 
44
59
  const loaders = { query, subscription, mutation };
60
+
45
61
  return ({ op, prev, onDestroy }) => {
46
62
  const loader = loaders[op.type];
47
63
  const { promise, cancel } = loader.load(op);