@trpc/client 10.0.0-alpha.21 → 10.0.0-alpha.22

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 (87) hide show
  1. package/dist/index.js +313 -270
  2. package/dist/index.mjs +301 -257
  3. package/dist/internals/TRPCClient.d.ts +12 -7
  4. package/dist/internals/TRPCClient.d.ts.map +1 -1
  5. package/dist/internals/dataLoader.d.ts +7 -6
  6. package/dist/internals/dataLoader.d.ts.map +1 -1
  7. package/dist/links/dedupeLink.d.ts.map +1 -1
  8. package/dist/links/httpBatchLink.d.ts +1 -1
  9. package/dist/links/httpBatchLink.d.ts.map +1 -1
  10. package/dist/links/index.d.ts +0 -2
  11. package/dist/links/index.d.ts.map +1 -1
  12. package/dist/links/internals/httpUtils.d.ts +15 -7
  13. package/dist/links/internals/httpUtils.d.ts.map +1 -1
  14. package/dist/links/internals/transformOperationResult.d.ts +17 -3
  15. package/dist/links/internals/transformOperationResult.d.ts.map +1 -1
  16. package/dist/links/loggerLink.d.ts.map +1 -1
  17. package/dist/links/retryLink.d.ts.map +1 -1
  18. package/dist/links/types.d.ts +10 -7
  19. package/dist/links/types.d.ts.map +1 -1
  20. package/dist/links/wsLink.d.ts +1 -1
  21. package/dist/links/wsLink.d.ts.map +1 -1
  22. package/package.json +5 -11
  23. package/src/internals/TRPCClient.ts +48 -24
  24. package/src/internals/dataLoader.ts +116 -54
  25. package/src/links/dedupeLink.test.ts +1 -1
  26. package/src/links/dedupeLink.ts +1 -2
  27. package/src/links/httpBatchLink.ts +54 -31
  28. package/src/links/httpLink.ts +3 -3
  29. package/src/links/index.ts +0 -2
  30. package/src/links/internals/createChain.test.ts +1 -1
  31. package/src/links/internals/createChain.ts +1 -1
  32. package/src/links/internals/httpUtils.ts +52 -31
  33. package/src/links/internals/transformOperationResult.ts +40 -12
  34. package/src/links/loggerLink.ts +1 -1
  35. package/src/links/retryLink.ts +1 -2
  36. package/src/links/splitLink.test.ts +1 -1
  37. package/src/links/splitLink.ts +4 -4
  38. package/src/links/types.ts +12 -7
  39. package/src/links/wsLink.ts +11 -10
  40. package/dist/links/transformerLink.d.ts +0 -4
  41. package/dist/links/transformerLink.d.ts.map +0 -1
  42. package/dist/observable/index.d.ts +0 -4
  43. package/dist/observable/index.d.ts.map +0 -1
  44. package/dist/observable/index.js +0 -38
  45. package/dist/observable/index.mjs +0 -31
  46. package/dist/observable/index.ts.js +0 -1
  47. package/dist/observable/internals/identity.d.ts +0 -2
  48. package/dist/observable/internals/identity.d.ts.map +0 -1
  49. package/dist/observable/internals/observableToPromise.d.ts +0 -10
  50. package/dist/observable/internals/observableToPromise.d.ts.map +0 -1
  51. package/dist/observable/internals/pipe.d.ts +0 -4
  52. package/dist/observable/internals/pipe.d.ts.map +0 -1
  53. package/dist/observable/observable.d.ts +0 -4
  54. package/dist/observable/observable.d.ts.map +0 -1
  55. package/dist/observable/operators/index.d.ts +0 -4
  56. package/dist/observable/operators/index.d.ts.map +0 -1
  57. package/dist/observable/operators/map.d.ts +0 -3
  58. package/dist/observable/operators/map.d.ts.map +0 -1
  59. package/dist/observable/operators/share.d.ts +0 -6
  60. package/dist/observable/operators/share.d.ts.map +0 -1
  61. package/dist/observable/operators/tap.d.ts +0 -3
  62. package/dist/observable/operators/tap.d.ts.map +0 -1
  63. package/dist/observable/types.d.ts +0 -29
  64. package/dist/observable/types.d.ts.map +0 -1
  65. package/dist/tap-0dcdee86.js +0 -243
  66. package/dist/tap-136a9a90.mjs +0 -239
  67. package/observable/dist/trpc-client-rx.cjs.d.ts +0 -1
  68. package/observable/dist/trpc-client-rx.cjs.dev.js +0 -9
  69. package/observable/dist/trpc-client-rx.cjs.js +0 -7
  70. package/observable/dist/trpc-client-rx.cjs.prod.js +0 -9
  71. package/observable/dist/trpc-client-rx.esm.js +0 -1
  72. package/observable/index.d.ts +0 -1
  73. package/observable/index.js +0 -1
  74. package/src/links/transformerLink.ts +0 -74
  75. package/src/observable/index.ts +0 -3
  76. package/src/observable/internals/identity.ts +0 -3
  77. package/src/observable/internals/observableToPromise.ts +0 -49
  78. package/src/observable/internals/pipe.ts +0 -22
  79. package/src/observable/observable.test.ts +0 -101
  80. package/src/observable/observable.ts +0 -70
  81. package/src/observable/operators/index.ts +0 -3
  82. package/src/observable/operators/map.test.ts +0 -92
  83. package/src/observable/operators/map.ts +0 -25
  84. package/src/observable/operators/share.test.ts +0 -60
  85. package/src/observable/operators/share.ts +0 -67
  86. package/src/observable/operators/tap.ts +0 -26
  87. package/src/observable/types.ts +0 -69
@@ -1,9 +1,9 @@
1
- import { AnyRouter, inferHandlerInput, inferProcedureInput, inferSubscriptionOutput } from '@trpc/server';
2
- import { TRPCResult } from '@trpc/server/rpc';
1
+ import { AnyRouter, ClientDataTransformerOptions, inferHandlerInput, inferProcedureInput, inferSubscriptionOutput } from '@trpc/server';
2
+ import { Observer, Unsubscribable } from '@trpc/server/observable';
3
+ import { TRPCResultMessage } from '@trpc/server/rpc';
3
4
  import { CancelFn } from '..';
4
5
  import { TRPCClientError } from '../TRPCClientError';
5
- import { HTTPHeaders, LinkRuntime, OperationContext, TRPCLink } from '../links/types';
6
- import { Observer, Unsubscribable } from '../observable';
6
+ import { HTTPHeaders, OperationContext, TRPCClientRuntime, TRPCLink } from '../links/types';
7
7
  declare type CancellablePromise<T = unknown> = Promise<T> & {
8
8
  cancel: CancelFn;
9
9
  };
@@ -20,6 +20,11 @@ interface CreateTRPCClientBaseOptions {
20
20
  * headers to be set on outgoing requests / callback that of said headers
21
21
  */
22
22
  headers?: HTTPHeaders | (() => HTTPHeaders | Promise<HTTPHeaders>);
23
+ /**
24
+ * Data transformer
25
+ * @link https://trpc.io/docs/data-transformers
26
+ **/
27
+ transformer?: ClientDataTransformerOptions;
23
28
  }
24
29
  /** @internal */
25
30
  export interface CreateTRPCClientWithURLOptions extends CreateTRPCClientBaseOptions {
@@ -31,7 +36,7 @@ export interface CreateTRPCClientWithURLOptions extends CreateTRPCClientBaseOpti
31
36
  /** @internal */
32
37
  export interface CreateTRPCClientWithLinksOptions<TRouter extends AnyRouter> extends CreateTRPCClientBaseOptions {
33
38
  /**
34
- * @link http://localhost:3000/docs/links
39
+ * @link https://trpc.io/docs/links
35
40
  **/
36
41
  links: TRPCLink<TRouter>[];
37
42
  }
@@ -45,13 +50,13 @@ export interface TRPCRequestOptions {
45
50
  export declare type CreateTRPCClientOptions<TRouter extends AnyRouter> = CreateTRPCClientWithLinksOptions<TRouter> | CreateTRPCClientWithURLOptions;
46
51
  export declare class TRPCClient<TRouter extends AnyRouter> {
47
52
  private readonly links;
48
- readonly runtime: LinkRuntime;
53
+ readonly runtime: TRPCClientRuntime;
49
54
  constructor(opts: CreateTRPCClientOptions<TRouter>);
50
55
  private $request;
51
56
  private requestAsPromise;
52
57
  query<TQueries extends TRouter['_def']['queries'], TPath extends string & keyof TQueries>(path: TPath, ...args: [...inferHandlerInput<TQueries[TPath]>, TRPCRequestOptions?]): CancellablePromise<import("@trpc/server").ThenArg<ReturnType<TQueries[TPath]["call"]>>>;
53
58
  mutation<TMutations extends TRouter['_def']['mutations'], TPath extends string & keyof TMutations>(path: TPath, ...args: [...inferHandlerInput<TMutations[TPath]>, TRPCRequestOptions?]): CancellablePromise<import("@trpc/server").ThenArg<ReturnType<TMutations[TPath]["call"]>>>;
54
- subscription<TSubscriptions extends TRouter['_def']['subscriptions'], TPath extends string & keyof TSubscriptions, TOutput extends inferSubscriptionOutput<TRouter, TPath>, TInput extends inferProcedureInput<TSubscriptions[TPath]>>(path: TPath, input: TInput, opts: TRPCRequestOptions & Partial<Observer<TRPCResult<TOutput>, TRPCClientError<TRouter>>>): Unsubscribable;
59
+ subscription<TSubscriptions extends TRouter['_def']['subscriptions'], TPath extends string & keyof TSubscriptions, TOutput extends inferSubscriptionOutput<TRouter, TPath>, TInput extends inferProcedureInput<TSubscriptions[TPath]>>(path: TPath, input: TInput, opts: TRPCRequestOptions & Partial<Observer<TRPCResultMessage<TOutput>, TRPCClientError<TRouter>>>): Unsubscribable;
55
60
  }
56
61
  export {};
57
62
  //# sourceMappingURL=TRPCClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TRPCClient.d.ts","sourceRoot":"","sources":["../../src/internals/TRPCClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TRPCClient.d.ts","sourceRoot":"","sources":["../../src/internals/TRPCClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,4BAA4B,EAE5B,iBAAiB,EACjB,mBAAmB,EAEnB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,QAAQ,EACR,cAAc,EAIf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQrD,OAAO,EACL,WAAW,EACX,gBAAgB,EAEhB,iBAAiB,EACjB,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAGxB,aAAK,kBAAkB,CAAC,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IAClD,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAMF,UAAU,2BAA2B;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;IACzC;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE;;;QAGI;IACJ,WAAW,CAAC,EAAE,4BAA4B,CAAC;CAC5C;AAED,gBAAgB;AAChB,MAAM,WAAW,8BACf,SAAQ,2BAA2B;IACnC;;QAEI;IACJ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,gBAAgB;AAChB,MAAM,WAAW,gCAAgC,CAAC,OAAO,SAAS,SAAS,CACzE,SAAQ,2BAA2B;IACnC;;QAEI;IACJ,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;CAC5B;AAGD,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,gBAAgB;AAChB,oBAAY,uBAAuB,CAAC,OAAO,SAAS,SAAS,IACzD,gCAAgC,CAAC,OAAO,CAAC,GACzC,8BAA8B,CAAC;AACnC,qBAAa,UAAU,CAAC,OAAO,SAAS,SAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,SAAgB,OAAO,EAAE,iBAAiB,CAAC;gBAE/B,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC;IA0ClD,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,gBAAgB;IA8BjB,KAAK,CACV,QAAQ,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAC3C,KAAK,SAAS,MAAM,GAAG,MAAM,QAAQ,EAErC,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAahE,QAAQ,CACb,UAAU,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,EAC/C,KAAK,SAAS,MAAM,GAAG,MAAM,UAAU,EAEvC,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAalE,YAAY,CACjB,cAAc,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EACvD,KAAK,SAAS,MAAM,GAAG,MAAM,cAAc,EAC3C,OAAO,SAAS,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,EACvD,MAAM,SAAS,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAEzD,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,kBAAkB,GACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,GACxE,cAAc;CA4BlB"}
@@ -1,16 +1,17 @@
1
1
  import { CancelFn, PromiseAndCancel } from '../links/types';
2
- declare type BatchLoadFn<TKey, TValue> = (keys: TKey[]) => {
3
- promise: Promise<TValue[]>;
4
- cancel: CancelFn;
2
+ declare type BatchLoader<TKey, TValue> = {
3
+ validate: (keys: TKey[]) => boolean;
4
+ fetch: (keys: TKey[]) => {
5
+ promise: Promise<TValue[]>;
6
+ cancel: CancelFn;
7
+ };
5
8
  };
6
9
  /**
7
10
  * Dataloader that's very inspired by https://github.com/graphql/dataloader
8
11
  * Less configuration, no caching, and allows you to cancel requests
9
12
  * When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
10
13
  */
11
- export declare function dataLoader<TKey, TValue>(fetchMany: BatchLoadFn<TKey, TValue>, opts?: {
12
- maxBatchSize?: number;
13
- }): {
14
+ export declare function dataLoader<TKey, TValue>(batchLoader: BatchLoader<TKey, TValue>): {
14
15
  load: (key: TKey) => PromiseAndCancel<TValue>;
15
16
  };
16
17
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"dataLoader.d.ts","sourceRoot":"","sources":["../../src/internals/dataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAY5D,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;gBA+Bb,IAAI,KAAG,iBAAiB,MAAM,CAAC;EAiDnD"}
1
+ {"version":3,"file":"dataLoader.d.ts","sourceRoot":"","sources":["../../src/internals/dataLoader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAa5D,aAAK,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI;IAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC;IACpC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK;QACvB,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3B,MAAM,EAAE,QAAQ,CAAC;KAClB,CAAC;CACH,CAAC;AAWF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EACrC,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;gBA2FnB,IAAI,KAAG,iBAAiB,MAAM,CAAC;EAsCnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"dedupeLink.d.ts","sourceRoot":"","sources":["../../src/links/dedupeLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,wBAAgB,UAAU,CACxB,OAAO,SAAS,SAAS,GAAG,SAAS,KAClC,QAAQ,CAAC,OAAO,CAAC,CA4CrB"}
1
+ {"version":3,"file":"dedupeLink.d.ts","sourceRoot":"","sources":["../../src/links/dedupeLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,wBAAgB,UAAU,CACxB,OAAO,SAAS,SAAS,GAAG,SAAS,KAClC,QAAQ,CAAC,OAAO,CAAC,CA4CrB"}
@@ -2,7 +2,7 @@ import { AnyRouter } from '@trpc/server';
2
2
  import { HTTPLinkOptions } from './internals/httpUtils';
3
3
  import { TRPCLink } from './types';
4
4
  export interface HttpBatchLinkOptions extends HTTPLinkOptions {
5
- maxBatchSize?: number;
5
+ maxURLLength?: number;
6
6
  }
7
7
  export declare function httpBatchLink<TRouter extends AnyRouter>(opts: HttpBatchLinkOptions): TRPCLink<TRouter>;
8
8
  //# sourceMappingURL=httpBatchLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpBatchLink.d.ts","sourceRoot":"","sources":["../../src/links/httpBatchLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAGxD,OAAO,EACL,eAAe,EAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,wBAAgB,aAAa,CAAC,OAAO,SAAS,SAAS,EACrD,IAAI,EAAE,oBAAoB,GACzB,QAAQ,CAAC,OAAO,CAAC,CA+DnB"}
1
+ {"version":3,"file":"httpBatchLink.d.ts","sourceRoot":"","sources":["../../src/links/httpBatchLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAGxD,OAAO,EACL,eAAe,EAIhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,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,CAoFnB"}
@@ -2,10 +2,8 @@ export * from './dedupeLink';
2
2
  export * from './httpBatchLink';
3
3
  export * from './httpLink';
4
4
  export * from './loggerLink';
5
- export * from './loggerLink';
6
5
  export * from './retryLink';
7
6
  export * from './splitLink';
8
- export * from './transformerLink';
9
7
  export * from './wsLink';
10
8
  export * from './types';
11
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/links/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/links/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ProcedureType } from '@trpc/server';
2
- import { LinkRuntime, PromiseAndCancel } from '../types';
2
+ import { PromiseAndCancel, TRPCClientRuntime } from '../types';
3
3
  export interface HTTPLinkOptions {
4
4
  url: string;
5
5
  }
@@ -9,14 +9,22 @@ export interface ResponseShape {
9
9
  response: Response;
10
10
  };
11
11
  }
12
- export declare function httpRequest(props: {
13
- runtime: LinkRuntime;
14
- type: ProcedureType;
15
- path: string;
16
- url: string;
12
+ declare type GetInputOptions = {
13
+ runtime: TRPCClientRuntime;
17
14
  } & ({
18
15
  inputs: unknown[];
19
16
  } | {
20
17
  input: unknown;
21
- })): PromiseAndCancel<ResponseShape>;
18
+ });
19
+ export declare type HTTPRequestOptions = HTTPLinkOptions & GetInputOptions & {
20
+ type: ProcedureType;
21
+ path: string;
22
+ };
23
+ export declare function getUrl(opts: HTTPRequestOptions): string;
24
+ declare type GetBodyOptions = {
25
+ type: ProcedureType;
26
+ } & GetInputOptions;
27
+ export declare function getBody(opts: GetBodyOptions): string | undefined;
28
+ export declare function httpRequest(opts: HTTPRequestOptions): PromiseAndCancel<ResponseShape>;
29
+ export {};
22
30
  //# 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,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb;AAiBD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QACJ,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC;CACH;AACD,wBAAgB,WAAW,CACzB,KAAK,EAAE;IACL,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,CAAC;IAAE,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,GAC/C,gBAAgB,CAAC,aAAa,CAAC,CA2DjC"}
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,16 +1,30 @@
1
1
  import { AnyRouter } from '@trpc/server';
2
+ import { TRPCResultMessage } from '@trpc/server/rpc';
3
+ import { TRPCClientRuntime } from '..';
2
4
  import { TRPCClientError } from '../../TRPCClientError';
3
5
  import { OperationResult } from '../types';
4
6
  /** @internal */
5
- export declare function transformOperationResult<TRouter extends AnyRouter, TOutput>(result: OperationResult<TRouter, TOutput>): {
7
+ export declare function transformOperationResult<TRouter extends AnyRouter, TOutput>(result: OperationResult<TRouter, TOutput>, runtime: TRPCClientRuntime): {
6
8
  readonly ok: false;
7
9
  readonly error: TRPCClientError<TRouter>;
8
- readonly context: import("../types").OperationContext | undefined;
10
+ readonly context: import("..").OperationContext | undefined;
9
11
  readonly data?: undefined;
10
12
  } | {
11
13
  readonly ok: true;
12
14
  readonly data: TOutput;
13
- readonly context: import("../types").OperationContext | undefined;
15
+ readonly context: import("..").OperationContext | undefined;
16
+ readonly error?: undefined;
17
+ };
18
+ /** @internal */
19
+ export declare function transformSubscriptionOperationResult<TRouter extends AnyRouter, TOutput>(result: OperationResult<TRouter, TOutput>, runtime: TRPCClientRuntime): {
20
+ readonly ok: false;
21
+ readonly error: TRPCClientError<TRouter>;
22
+ readonly context: import("..").OperationContext | undefined;
23
+ readonly data?: undefined;
24
+ } | {
25
+ readonly ok: true;
26
+ readonly data: TRPCResultMessage<TOutput>;
27
+ readonly context: import("..").OperationContext | undefined;
14
28
  readonly error?: undefined;
15
29
  };
16
30
  //# sourceMappingURL=transformOperationResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformOperationResult.d.ts","sourceRoot":"","sources":["../../../src/links/internals/transformOperationResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,gBAAgB;AAChB,wBAAgB,wBAAwB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,EACzE,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC;;;;;;;;;;EAkB1C"}
1
+ {"version":3,"file":"transformOperationResult.d.ts","sourceRoot":"","sources":["../../../src/links/internals/transformOperationResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,gBAAgB;AAChB,wBAAgB,wBAAwB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,EACzE,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EACzC,OAAO,EAAE,iBAAiB;;;;;;;;;;EAgB3B;AAED,gBAAgB;AAChB,wBAAgB,oCAAoC,CAClD,OAAO,SAAS,SAAS,EACzB,OAAO,EACP,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,iBAAiB;;;;;;;;;;EAqBtE"}
@@ -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;AAErC,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,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 +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":["../../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,7 +1,7 @@
1
- import { AnyRouter, inferRouterError } from '@trpc/server';
2
- import { TRPCResponse } from '@trpc/server/rpc';
1
+ import { AnyRouter, DataTransformer, inferRouterError } from '@trpc/server';
2
+ import { Observable, Observer } from '@trpc/server/observable';
3
+ import { TRPCResponse, TRPCResponseMessage } from '@trpc/server/rpc';
3
4
  import { TRPCClientError } from '../TRPCClientError';
4
- import { Observable, Observer } from '../observable/types';
5
5
  export declare type CancelFn = () => void;
6
6
  export declare type PromiseAndCancel<TValue> = {
7
7
  promise: Promise<TValue>;
@@ -21,13 +21,15 @@ export declare type HTTPHeaders = Record<string, string | string[]>;
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
  }
30
+ declare type OperationResultData<TRouter extends AnyRouter, TOutput> = TRPCResponse<TOutput, inferRouterError<TRouter>> | TRPCResponseMessage<TOutput, inferRouterError<TRouter>>;
29
31
  export interface OperationResult<TRouter extends AnyRouter, TOutput> {
30
- data: TRPCResponse<TOutput, inferRouterError<TRouter>>;
32
+ data: OperationResultData<TRouter, TOutput>;
31
33
  context?: OperationContext;
32
34
  }
33
35
  export declare type OperationResultObservable<TRouter extends AnyRouter, TOutput> = Observable<OperationResult<TRouter, TOutput>, TRPCClientError<TRouter>>;
@@ -36,5 +38,6 @@ export declare type OperationLink<TRouter extends AnyRouter, TInput = unknown, T
36
38
  op: Operation<TInput>;
37
39
  next: (op: Operation<TInput>) => OperationResultObservable<TRouter, TOutput>;
38
40
  }) => OperationResultObservable<TRouter, TOutput>;
39
- export declare type TRPCLink<TRouter extends AnyRouter> = (opts: LinkRuntime) => OperationLink<TRouter>;
41
+ export declare type TRPCLink<TRouter extends AnyRouter> = (opts: TRPCClientRuntime) => OperationLink<TRouter>;
42
+ export {};
40
43
  //# 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,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE3D,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,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,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":["../../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,CAAC,EAAE,gBAAgB,CAAC;CAC5B,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,6 +1,6 @@
1
1
  import { AnyRouter } from '@trpc/server';
2
+ import { UnsubscribeFn } from '@trpc/server/observable';
2
3
  import { retryDelay } from '../internals/retryDelay';
3
- import { UnsubscribeFn } from '../observable';
4
4
  import { Operation, OperationResultObserver, TRPCLink } from './types';
5
5
  export interface WebSocketClientOptions {
6
6
  url: string;
@@ -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;AAQxD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAc,MAAM,eAAe,CAAC;AAC1D,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":["../../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,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,UAAU,CAAC;CAClC;AACD,wBAAgB,cAAc,CAAC,IAAI,EAAE,sBAAsB;;kBA8LpC,SAAS,kEAA0B,aAAa;;EA8CtE;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/client",
3
- "version": "10.0.0-alpha.21",
3
+ "version": "10.0.0-alpha.22",
4
4
  "description": "tRPC Client lib",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -26,19 +26,13 @@
26
26
  "import": "./dist/index.mjs",
27
27
  "require": "./dist/index.js",
28
28
  "default": "./dist/index.js"
29
- },
30
- "./observable": {
31
- "import": "./dist/observable/index.mjs",
32
- "require": "./dist/observable/index.js",
33
- "default": "./dist/observable/index.js"
34
29
  }
35
30
  },
36
31
  "files": [
37
32
  "README.md",
38
33
  "dist",
39
34
  "links",
40
- "src",
41
- "observable"
35
+ "src"
42
36
  ],
43
37
  "scripts": {
44
38
  "build": "rollup -c"
@@ -47,13 +41,13 @@
47
41
  "@babel/runtime": "^7.9.0"
48
42
  },
49
43
  "peerDependencies": {
50
- "@trpc/server": "10.0.0-alpha.21"
44
+ "@trpc/server": "10.0.0-alpha.22"
51
45
  },
52
46
  "devDependencies": {
53
- "@trpc/server": "10.0.0-alpha.21"
47
+ "@trpc/server": "10.0.0-alpha.22"
54
48
  },
55
49
  "publishConfig": {
56
50
  "access": "public"
57
51
  },
58
- "gitHead": "0db16da18ee5fc1ea4b2149490c316a4a700d2ab"
52
+ "gitHead": "d720eb2215f0fad6e70f4172a1bf084225d4d6de"
59
53
  }
@@ -1,31 +1,36 @@
1
1
  import {
2
2
  AnyRouter,
3
+ ClientDataTransformerOptions,
4
+ DataTransformer,
3
5
  inferHandlerInput,
4
6
  inferProcedureInput,
5
7
  inferProcedureOutput,
6
8
  inferSubscriptionOutput,
7
9
  } from '@trpc/server';
8
- import { TRPCResult } from '@trpc/server/rpc';
10
+ import {
11
+ Observer,
12
+ Unsubscribable,
13
+ inferObservableValue,
14
+ observableToPromise,
15
+ share,
16
+ } from '@trpc/server/observable';
17
+ import { TRPCResultMessage } from '@trpc/server/rpc';
9
18
  import { CancelFn } from '..';
10
19
  import { TRPCClientError } from '../TRPCClientError';
11
20
  import { getFetch } from '../getFetch';
12
21
  import { httpBatchLink } from '../links';
13
22
  import { createChain } from '../links/internals/createChain';
14
- import { transformOperationResult } from '../links/internals/transformOperationResult';
23
+ import {
24
+ transformOperationResult,
25
+ transformSubscriptionOperationResult,
26
+ } from '../links/internals/transformOperationResult';
15
27
  import {
16
28
  HTTPHeaders,
17
- LinkRuntime,
18
29
  OperationContext,
19
30
  OperationLink,
31
+ TRPCClientRuntime,
20
32
  TRPCLink,
21
33
  } from '../links/types';
22
- import {
23
- Observer,
24
- Unsubscribable,
25
- inferObservableValue,
26
- share,
27
- } from '../observable';
28
- import { observableToPromise } from '../observable/internals/observableToPromise';
29
34
  import { getAbortController } from './fetchHelpers';
30
35
 
31
36
  type CancellablePromise<T = unknown> = Promise<T> & {
@@ -49,6 +54,11 @@ interface CreateTRPCClientBaseOptions {
49
54
  * headers to be set on outgoing requests / callback that of said headers
50
55
  */
51
56
  headers?: HTTPHeaders | (() => HTTPHeaders | Promise<HTTPHeaders>);
57
+ /**
58
+ * Data transformer
59
+ * @link https://trpc.io/docs/data-transformers
60
+ **/
61
+ transformer?: ClientDataTransformerOptions;
52
62
  }
53
63
 
54
64
  /** @internal */
@@ -64,7 +74,7 @@ export interface CreateTRPCClientWithURLOptions
64
74
  export interface CreateTRPCClientWithLinksOptions<TRouter extends AnyRouter>
65
75
  extends CreateTRPCClientBaseOptions {
66
76
  /**
67
- * @link http://localhost:3000/docs/links
77
+ * @link https://trpc.io/docs/links
68
78
  **/
69
79
  links: TRPCLink<TRouter>[];
70
80
  }
@@ -83,23 +93,37 @@ export type CreateTRPCClientOptions<TRouter extends AnyRouter> =
83
93
  | CreateTRPCClientWithURLOptions;
84
94
  export class TRPCClient<TRouter extends AnyRouter> {
85
95
  private readonly links: OperationLink<TRouter>[];
86
- public readonly runtime: LinkRuntime;
96
+ public readonly runtime: TRPCClientRuntime;
87
97
 
88
98
  constructor(opts: CreateTRPCClientOptions<TRouter>) {
89
99
  const _fetch = getFetch(opts?.fetch);
90
100
  const AC = getAbortController(opts?.AbortController);
91
101
 
92
- function getHeadersFn(): LinkRuntime['headers'] {
102
+ function getHeadersFn(): TRPCClientRuntime['headers'] {
93
103
  if (opts.headers) {
94
104
  const headers = opts.headers;
95
105
  return typeof headers === 'function' ? headers : () => headers;
96
106
  }
97
107
  return () => ({});
98
108
  }
109
+
110
+ const transformer: DataTransformer = opts.transformer
111
+ ? 'input' in opts.transformer
112
+ ? {
113
+ serialize: opts.transformer.input.serialize,
114
+ deserialize: opts.transformer.output.deserialize,
115
+ }
116
+ : opts.transformer
117
+ : {
118
+ serialize: (data) => data,
119
+ deserialize: (data) => data,
120
+ };
121
+
99
122
  this.runtime = {
100
123
  AbortController: AC as any,
101
124
  fetch: _fetch,
102
125
  headers: getHeadersFn(),
126
+ transformer,
103
127
  };
104
128
 
105
129
  if ('links' in opts) {
@@ -150,9 +174,9 @@ export class TRPCClient<TRouter extends AnyRouter> {
150
174
  (resolve, reject) => {
151
175
  promise
152
176
  .then((result) => {
153
- const transformed = transformOperationResult(result);
177
+ const transformed = transformOperationResult(result, this.runtime);
154
178
  if (transformed.ok) {
155
- resolve(transformed.data as any);
179
+ resolve(transformed.data);
156
180
  return;
157
181
  }
158
182
  reject(transformed.error);
@@ -184,7 +208,6 @@ export class TRPCClient<TRouter extends AnyRouter> {
184
208
  context,
185
209
  });
186
210
  }
187
-
188
211
  public mutation<
189
212
  TMutations extends TRouter['_def']['mutations'],
190
213
  TPath extends string & keyof TMutations,
@@ -212,7 +235,7 @@ export class TRPCClient<TRouter extends AnyRouter> {
212
235
  path: TPath,
213
236
  input: TInput,
214
237
  opts: TRPCRequestOptions &
215
- Partial<Observer<TRPCResult<TOutput>, TRPCClientError<TRouter>>>,
238
+ Partial<Observer<TRPCResultMessage<TOutput>, TRPCClientError<TRouter>>>,
216
239
  ): Unsubscribable {
217
240
  const observable$ = this.$request<TInput, TOutput>({
218
241
  type: 'subscription',
@@ -220,17 +243,18 @@ export class TRPCClient<TRouter extends AnyRouter> {
220
243
  input,
221
244
  context: opts.context,
222
245
  });
246
+ const runtime = this.runtime;
223
247
  return observable$.subscribe({
224
248
  next(result) {
225
- if ('error' in result.data) {
226
- const err = TRPCClientError.from(result.data, {
227
- meta: result.context,
228
- });
229
-
230
- opts.error?.(err);
249
+ const transformed = transformSubscriptionOperationResult(
250
+ result,
251
+ runtime,
252
+ );
253
+ if (transformed.ok) {
254
+ opts.next?.(transformed.data);
231
255
  return;
232
256
  }
233
- opts.next?.(result.data.result);
257
+ opts.error?.(transformed.error);
234
258
  },
235
259
  error(err) {
236
260
  opts.error?.(err);