@trpc/client 11.0.0-next.91 → 11.0.0-rc.329

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 (159) hide show
  1. package/README.md +4 -4
  2. package/dist/TRPCClientError.d.ts +8 -7
  3. package/dist/TRPCClientError.d.ts.map +1 -1
  4. package/dist/{TRPCClientError-e224e397.js → TRPCClientError.js} +3 -3
  5. package/dist/{TRPCClientError-0de4d231.mjs → TRPCClientError.mjs} +4 -4
  6. package/dist/bundle-analysis.json +126 -155
  7. package/dist/createTRPCClient.d.ts +27 -19
  8. package/dist/createTRPCClient.d.ts.map +1 -1
  9. package/dist/createTRPCClient.js +50 -0
  10. package/dist/createTRPCClient.mjs +45 -0
  11. package/dist/createTRPCUntypedClient.d.ts +3 -2
  12. package/dist/createTRPCUntypedClient.d.ts.map +1 -1
  13. package/dist/createTRPCUntypedClient.js +10 -0
  14. package/dist/createTRPCUntypedClient.mjs +7 -0
  15. package/dist/getFetch.d.ts +1 -1
  16. package/dist/getFetch.d.ts.map +1 -1
  17. package/dist/getFetch.js +17 -0
  18. package/dist/getFetch.mjs +15 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +32 -370
  21. package/dist/index.mjs +9 -354
  22. package/dist/internals/TRPCUntypedClient.d.ts +5 -30
  23. package/dist/internals/TRPCUntypedClient.d.ts.map +1 -1
  24. package/dist/internals/TRPCUntypedClient.js +85 -0
  25. package/dist/internals/TRPCUntypedClient.mjs +83 -0
  26. package/dist/internals/dataLoader.d.ts +1 -1
  27. package/dist/internals/dataLoader.d.ts.map +1 -1
  28. package/dist/{httpBatchLink-204206a5.mjs → internals/dataLoader.js} +2 -117
  29. package/dist/internals/dataLoader.mjs +131 -0
  30. package/dist/internals/getAbortController.d.ts +2 -2
  31. package/dist/internals/getAbortController.d.ts.map +1 -1
  32. package/dist/internals/getAbortController.js +18 -0
  33. package/dist/internals/getAbortController.mjs +16 -0
  34. package/dist/internals/transformer.d.ts +42 -0
  35. package/dist/internals/transformer.d.ts.map +1 -0
  36. package/dist/internals/transformer.js +30 -0
  37. package/dist/internals/transformer.mjs +28 -0
  38. package/dist/internals/types.d.ts +4 -2
  39. package/dist/internals/types.d.ts.map +1 -1
  40. package/dist/links/HTTPBatchLinkOptions.d.ts +6 -5
  41. package/dist/links/HTTPBatchLinkOptions.d.ts.map +1 -1
  42. package/dist/links/httpBatchLink.d.ts +2 -2
  43. package/dist/links/httpBatchLink.d.ts.map +1 -1
  44. package/dist/links/httpBatchLink.js +37 -9
  45. package/dist/links/httpBatchLink.mjs +39 -5
  46. package/dist/links/httpBatchStreamLink.d.ts +6 -5
  47. package/dist/links/httpBatchStreamLink.d.ts.map +1 -1
  48. package/dist/links/httpBatchStreamLink.js +43 -0
  49. package/dist/links/httpBatchStreamLink.mjs +41 -0
  50. package/dist/links/httpFormDataLink.d.ts +1 -1
  51. package/dist/links/httpFormDataLink.d.ts.map +1 -1
  52. package/dist/links/httpFormDataLink.js +31 -0
  53. package/dist/links/httpFormDataLink.mjs +29 -0
  54. package/dist/links/httpLink.d.ts +8 -8
  55. package/dist/links/httpLink.d.ts.map +1 -1
  56. package/dist/links/httpLink.js +6 -9
  57. package/dist/links/httpLink.mjs +6 -7
  58. package/dist/links/internals/createChain.d.ts +2 -2
  59. package/dist/links/internals/createChain.d.ts.map +1 -1
  60. package/dist/{splitLink-f29e84be.js → links/internals/createChain.js} +0 -22
  61. package/dist/{splitLink-4c75f7be.mjs → links/internals/createChain.mjs} +1 -22
  62. package/dist/links/internals/createHTTPBatchLink.d.ts +6 -6
  63. package/dist/links/internals/createHTTPBatchLink.d.ts.map +1 -1
  64. package/dist/links/internals/createHTTPBatchLink.js +85 -0
  65. package/dist/links/internals/createHTTPBatchLink.mjs +83 -0
  66. package/dist/links/internals/dedupeLink.d.ts +2 -2
  67. package/dist/links/internals/dedupeLink.d.ts.map +1 -1
  68. package/dist/links/internals/getTextDecoder.d.ts +1 -1
  69. package/dist/links/internals/getTextDecoder.d.ts.map +1 -1
  70. package/dist/links/internals/getTextDecoder.js +18 -0
  71. package/dist/links/internals/getTextDecoder.mjs +16 -0
  72. package/dist/links/internals/httpUtils.d.ts +19 -11
  73. package/dist/links/internals/httpUtils.d.ts.map +1 -1
  74. package/dist/{httpUtils-c0e7bf5a.js → links/internals/httpUtils.js} +20 -39
  75. package/dist/{httpUtils-f58ceda1.mjs → links/internals/httpUtils.mjs} +20 -38
  76. package/dist/links/internals/parseJSONStream.d.ts +5 -6
  77. package/dist/links/internals/parseJSONStream.d.ts.map +1 -1
  78. package/dist/links/internals/parseJSONStream.js +118 -0
  79. package/dist/links/internals/parseJSONStream.mjs +115 -0
  80. package/dist/links/internals/retryLink.d.ts +2 -2
  81. package/dist/links/internals/retryLink.d.ts.map +1 -1
  82. package/dist/links/loggerLink.d.ts +4 -4
  83. package/dist/links/loggerLink.d.ts.map +1 -1
  84. package/dist/links/loggerLink.js +6 -4
  85. package/dist/links/loggerLink.mjs +6 -2
  86. package/dist/links/splitLink.d.ts +2 -2
  87. package/dist/links/splitLink.d.ts.map +1 -1
  88. package/dist/links/splitLink.js +23 -6
  89. package/dist/links/splitLink.mjs +25 -2
  90. package/dist/links/types.d.ts +15 -14
  91. package/dist/links/types.d.ts.map +1 -1
  92. package/dist/links/wsLink.d.ts +44 -13
  93. package/dist/links/wsLink.d.ts.map +1 -1
  94. package/dist/links/wsLink.js +64 -24
  95. package/dist/links/wsLink.mjs +64 -22
  96. package/dist/links.d.ts +10 -0
  97. package/dist/links.d.ts.map +1 -0
  98. package/dist/unstable-internals.d.ts +2 -0
  99. package/dist/unstable-internals.d.ts.map +1 -0
  100. package/dist/unstable-internals.js +7 -0
  101. package/dist/unstable-internals.mjs +1 -0
  102. package/package.json +26 -28
  103. package/src/TRPCClientError.ts +24 -13
  104. package/src/createTRPCClient.ts +58 -51
  105. package/src/createTRPCUntypedClient.ts +3 -5
  106. package/src/getFetch.ts +1 -1
  107. package/src/index.ts +2 -0
  108. package/src/internals/TRPCUntypedClient.ts +14 -84
  109. package/src/internals/dataLoader.ts +1 -1
  110. package/src/internals/getAbortController.ts +2 -2
  111. package/src/internals/transformer.ts +76 -0
  112. package/src/internals/types.ts +8 -1
  113. package/src/links/HTTPBatchLinkOptions.ts +17 -15
  114. package/src/links/httpBatchLink.ts +9 -8
  115. package/src/links/httpBatchStreamLink.ts +17 -17
  116. package/src/links/httpFormDataLink.ts +11 -12
  117. package/src/links/httpLink.ts +27 -19
  118. package/src/links/internals/createChain.ts +6 -2
  119. package/src/links/internals/createHTTPBatchLink.ts +24 -16
  120. package/src/links/internals/dedupeLink.ts +4 -3
  121. package/src/links/internals/getTextDecoder.ts +1 -1
  122. package/src/links/internals/httpUtils.ts +42 -21
  123. package/src/links/internals/parseJSONStream.ts +12 -14
  124. package/src/links/internals/retryLink.ts +4 -3
  125. package/src/links/loggerLink.ts +5 -5
  126. package/src/links/splitLink.ts +2 -2
  127. package/src/links/types.ts +27 -22
  128. package/src/links/wsLink.ts +124 -36
  129. package/src/links.ts +14 -0
  130. package/src/unstable-internals.ts +1 -0
  131. package/unstable-internals/index.d.ts +1 -0
  132. package/unstable-internals/index.js +1 -0
  133. package/dist/TRPCClientError-23c8aa93.js +0 -61
  134. package/dist/httpBatchLink-64fceaac.js +0 -251
  135. package/dist/httpBatchLink-92dab48e.js +0 -247
  136. package/dist/httpUtils-35e50476.js +0 -145
  137. package/dist/internals/isObject.d.ts +0 -2
  138. package/dist/internals/isObject.d.ts.map +0 -1
  139. package/dist/internals/retryDelay.d.ts +0 -2
  140. package/dist/internals/retryDelay.d.ts.map +0 -1
  141. package/dist/links/index.d.ts +0 -10
  142. package/dist/links/index.d.ts.map +0 -1
  143. package/dist/shared/index.d.ts +0 -2
  144. package/dist/shared/index.d.ts.map +0 -1
  145. package/dist/shared/index.js +0 -9
  146. package/dist/shared/index.mjs +0 -1
  147. package/dist/shared/transformResult.d.ts +0 -34
  148. package/dist/shared/transformResult.d.ts.map +0 -1
  149. package/dist/splitLink-0df96fdc.js +0 -41
  150. package/dist/transformResult-ace864b8.mjs +0 -58
  151. package/dist/transformResult-c1422cb5.js +0 -60
  152. package/dist/transformResult-dfce8f15.js +0 -61
  153. package/shared/index.d.ts +0 -1
  154. package/shared/index.js +0 -1
  155. package/src/internals/isObject.ts +0 -4
  156. package/src/internals/retryDelay.ts +0 -3
  157. package/src/links/index.ts +0 -14
  158. package/src/shared/index.ts +0 -1
  159. package/src/shared/transformResult.ts +0 -79
@@ -1,61 +0,0 @@
1
- 'use strict';
2
-
3
- function isObject(value) {
4
- // check that value is object
5
- return !!value && !Array.isArray(value) && typeof value === 'object';
6
- }
7
-
8
- // FIXME:
9
- // - the generics here are probably unnecessary
10
- // - the RPC-spec could probably be simplified to combine HTTP + WS
11
- /** @internal */ function transformResultInner(response, runtime) {
12
- if ('error' in response) {
13
- const error = runtime.transformer.deserialize(response.error);
14
- return {
15
- ok: false,
16
- error: {
17
- ...response,
18
- error
19
- }
20
- };
21
- }
22
- const result = {
23
- ...response.result,
24
- ...(!response.result.type || response.result.type === 'data') && {
25
- type: 'data',
26
- data: runtime.transformer.deserialize(response.result.data)
27
- }
28
- };
29
- return {
30
- ok: true,
31
- result
32
- };
33
- }
34
- class TransformResultError extends Error {
35
- constructor(){
36
- super('Unable to transform response from server');
37
- }
38
- }
39
- /**
40
- * Transforms and validates that the result is a valid TRPCResponse
41
- * @internal
42
- */ function transformResult(response, runtime) {
43
- let result;
44
- try {
45
- // Use the data transformers on the JSON-response
46
- result = transformResultInner(response, runtime);
47
- } catch (err) {
48
- throw new TransformResultError();
49
- }
50
- // check that output of the transformers is a valid TRPCResponse
51
- if (!result.ok && (!isObject(result.error.error) || typeof result.error.error.code !== 'number')) {
52
- throw new TransformResultError();
53
- }
54
- if (result.ok && !isObject(result.result)) {
55
- throw new TransformResultError();
56
- }
57
- return result;
58
- }
59
-
60
- exports.isObject = isObject;
61
- exports.transformResult = transformResult;
package/shared/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from '../dist/shared';
package/shared/index.js DELETED
@@ -1 +0,0 @@
1
- module.exports = require('../dist/shared');
@@ -1,4 +0,0 @@
1
- export function isObject(value: unknown): value is Record<string, unknown> {
2
- // check that value is object
3
- return !!value && !Array.isArray(value) && typeof value === 'object';
4
- }
@@ -1,3 +0,0 @@
1
- /* istanbul ignore next -- @preserve */
2
- export const retryDelay = (attemptIndex: number) =>
3
- attemptIndex === 0 ? 0 : Math.min(1000 * 2 ** attemptIndex, 30000);
@@ -1,14 +0,0 @@
1
- export * from './types';
2
-
3
- export * from './HTTPBatchLinkOptions';
4
- export * from './httpBatchLink';
5
- export * from './httpBatchStreamLink';
6
- export * from './httpLink';
7
- export * from './loggerLink';
8
- export * from './splitLink';
9
- export * from './wsLink';
10
- export * from './httpFormDataLink';
11
-
12
- // These are not public (yet) as we get this functionality from tanstack query
13
- // export * from './internals/retryLink';
14
- // export * from './internals/dedupeLink';
@@ -1 +0,0 @@
1
- export * from './transformResult';
@@ -1,79 +0,0 @@
1
- import type { AnyRouter, inferRouterError } from '@trpc/server';
2
- import type {
3
- TRPCResponse,
4
- TRPCResponseMessage,
5
- TRPCResultMessage,
6
- } from '@trpc/server/rpc';
7
- import { isObject } from '../internals/isObject';
8
- import type { TRPCClientRuntime } from '../links';
9
-
10
- // FIXME:
11
- // - the generics here are probably unnecessary
12
- // - the RPC-spec could probably be simplified to combine HTTP + WS
13
- /** @internal */
14
- function transformResultInner<TRouter extends AnyRouter, TOutput>(
15
- response:
16
- | TRPCResponse<TOutput, inferRouterError<TRouter>>
17
- | TRPCResponseMessage<TOutput, inferRouterError<TRouter>>,
18
- runtime: TRPCClientRuntime,
19
- ) {
20
- if ('error' in response) {
21
- const error = runtime.transformer.deserialize(
22
- response.error,
23
- ) as inferRouterError<TRouter>;
24
- return {
25
- ok: false,
26
- error: {
27
- ...response,
28
- error,
29
- },
30
- } as const;
31
- }
32
-
33
- const result = {
34
- ...response.result,
35
- ...((!response.result.type || response.result.type === 'data') && {
36
- type: 'data',
37
- data: runtime.transformer.deserialize(response.result.data),
38
- }),
39
- } as TRPCResultMessage<TOutput>['result'];
40
- return { ok: true, result } as const;
41
- }
42
-
43
- class TransformResultError extends Error {
44
- constructor() {
45
- super('Unable to transform response from server');
46
- }
47
- }
48
-
49
- /**
50
- * Transforms and validates that the result is a valid TRPCResponse
51
- * @internal
52
- */
53
- export function transformResult<TRouter extends AnyRouter, TOutput>(
54
- response:
55
- | TRPCResponse<TOutput, inferRouterError<TRouter>>
56
- | TRPCResponseMessage<TOutput, inferRouterError<TRouter>>,
57
- runtime: TRPCClientRuntime,
58
- ): ReturnType<typeof transformResultInner> {
59
- let result: ReturnType<typeof transformResultInner>;
60
- try {
61
- // Use the data transformers on the JSON-response
62
- result = transformResultInner(response, runtime);
63
- } catch (err) {
64
- throw new TransformResultError();
65
- }
66
-
67
- // check that output of the transformers is a valid TRPCResponse
68
- if (
69
- !result.ok &&
70
- (!isObject(result.error.error) ||
71
- typeof result.error.error.code !== 'number')
72
- ) {
73
- throw new TransformResultError();
74
- }
75
- if (result.ok && !isObject(result.result)) {
76
- throw new TransformResultError();
77
- }
78
- return result;
79
- }