@trpc/client 10.0.0-alpha.21 → 10.0.0-alpha.24
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.
- package/dist/index.js +329 -276
- package/dist/index.mjs +317 -263
- package/dist/internals/TRPCClient.d.ts +12 -7
- package/dist/internals/TRPCClient.d.ts.map +1 -1
- package/dist/internals/dataLoader.d.ts +7 -6
- package/dist/internals/dataLoader.d.ts.map +1 -1
- package/dist/links/dedupeLink.d.ts.map +1 -1
- package/dist/links/httpBatchLink.d.ts +1 -1
- package/dist/links/httpBatchLink.d.ts.map +1 -1
- package/dist/links/index.d.ts +0 -2
- package/dist/links/index.d.ts.map +1 -1
- package/dist/links/internals/httpUtils.d.ts +15 -7
- package/dist/links/internals/httpUtils.d.ts.map +1 -1
- package/dist/links/internals/transformOperationResult.d.ts +17 -3
- package/dist/links/internals/transformOperationResult.d.ts.map +1 -1
- package/dist/links/loggerLink.d.ts.map +1 -1
- package/dist/links/retryLink.d.ts.map +1 -1
- package/dist/links/types.d.ts +10 -7
- package/dist/links/types.d.ts.map +1 -1
- package/dist/links/wsLink.d.ts +1 -1
- package/dist/links/wsLink.d.ts.map +1 -1
- package/links/wsLink/dist/trpc-client-links-wsLink.cjs.dev.js +2 -0
- package/links/wsLink/dist/trpc-client-links-wsLink.cjs.prod.js +2 -0
- package/links/wsLink/dist/trpc-client-links-wsLink.esm.js +2 -0
- package/package.json +5 -11
- package/src/internals/TRPCClient.ts +48 -24
- package/src/internals/dataLoader.ts +116 -54
- package/src/links/dedupeLink.test.ts +1 -1
- package/src/links/dedupeLink.ts +1 -2
- package/src/links/httpBatchLink.ts +54 -31
- package/src/links/httpLink.ts +3 -3
- package/src/links/index.ts +0 -2
- package/src/links/internals/createChain.test.ts +1 -1
- package/src/links/internals/createChain.ts +1 -1
- package/src/links/internals/httpUtils.ts +52 -31
- package/src/links/internals/transformOperationResult.ts +40 -12
- package/src/links/loggerLink.ts +1 -1
- package/src/links/retryLink.ts +1 -2
- package/src/links/splitLink.test.ts +1 -1
- package/src/links/splitLink.ts +4 -4
- package/src/links/types.ts +12 -7
- package/src/links/wsLink.ts +13 -10
- package/dist/links/transformerLink.d.ts +0 -4
- package/dist/links/transformerLink.d.ts.map +0 -1
- package/dist/observable/index.d.ts +0 -4
- package/dist/observable/index.d.ts.map +0 -1
- package/dist/observable/index.js +0 -38
- package/dist/observable/index.mjs +0 -31
- package/dist/observable/index.ts.js +0 -1
- package/dist/observable/internals/identity.d.ts +0 -2
- package/dist/observable/internals/identity.d.ts.map +0 -1
- package/dist/observable/internals/observableToPromise.d.ts +0 -10
- package/dist/observable/internals/observableToPromise.d.ts.map +0 -1
- package/dist/observable/internals/pipe.d.ts +0 -4
- package/dist/observable/internals/pipe.d.ts.map +0 -1
- package/dist/observable/observable.d.ts +0 -4
- package/dist/observable/observable.d.ts.map +0 -1
- package/dist/observable/operators/index.d.ts +0 -4
- package/dist/observable/operators/index.d.ts.map +0 -1
- package/dist/observable/operators/map.d.ts +0 -3
- package/dist/observable/operators/map.d.ts.map +0 -1
- package/dist/observable/operators/share.d.ts +0 -6
- package/dist/observable/operators/share.d.ts.map +0 -1
- package/dist/observable/operators/tap.d.ts +0 -3
- package/dist/observable/operators/tap.d.ts.map +0 -1
- package/dist/observable/types.d.ts +0 -29
- package/dist/observable/types.d.ts.map +0 -1
- package/dist/tap-0dcdee86.js +0 -243
- package/dist/tap-136a9a90.mjs +0 -239
- package/observable/dist/trpc-client-rx.cjs.d.ts +0 -1
- package/observable/dist/trpc-client-rx.cjs.dev.js +0 -9
- package/observable/dist/trpc-client-rx.cjs.js +0 -7
- package/observable/dist/trpc-client-rx.cjs.prod.js +0 -9
- package/observable/dist/trpc-client-rx.esm.js +0 -1
- package/observable/index.d.ts +0 -1
- package/observable/index.js +0 -1
- package/src/links/transformerLink.ts +0 -74
- package/src/observable/index.ts +0 -3
- package/src/observable/internals/identity.ts +0 -3
- package/src/observable/internals/observableToPromise.ts +0 -49
- package/src/observable/internals/pipe.ts +0 -22
- package/src/observable/observable.test.ts +0 -101
- package/src/observable/observable.ts +0 -70
- package/src/observable/operators/index.ts +0 -3
- package/src/observable/operators/map.test.ts +0 -92
- package/src/observable/operators/map.ts +0 -25
- package/src/observable/operators/share.test.ts +0 -60
- package/src/observable/operators/share.ts +0 -67
- package/src/observable/operators/tap.ts +0 -26
- package/src/observable/types.ts +0 -69
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AnyRouter, inferHandlerInput, inferProcedureInput, inferSubscriptionOutput } from '@trpc/server';
|
|
2
|
-
import {
|
|
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,
|
|
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
|
|
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:
|
|
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<
|
|
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":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EAEnB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TRPCClient.d.ts","sourceRoot":"","sources":["../../src/internals/TRPCClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { CancelFn, PromiseAndCancel } from '../links/types';
|
|
2
|
-
declare type
|
|
3
|
-
|
|
4
|
-
|
|
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>(
|
|
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":"
|
|
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;
|
|
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
|
-
|
|
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,
|
|
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"}
|
package/dist/links/index.d.ts
CHANGED
|
@@ -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,
|
|
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 {
|
|
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
|
-
|
|
13
|
-
runtime:
|
|
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
|
-
})
|
|
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,
|
|
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("
|
|
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("
|
|
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;;;;;;;;;;
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/links/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AnyRouter, inferRouterError } from '@trpc/server';
|
|
2
|
-
import {
|
|
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
|
|
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:
|
|
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:
|
|
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;
|
|
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"}
|
package/dist/links/wsLink.d.ts
CHANGED
|
@@ -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;
|
|
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;;EAgDtE;AACD,oBAAY,mBAAmB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAiBD,wBAAgB,MAAM,CAAC,OAAO,SAAS,SAAS,EAC9C,IAAI,EAAE,oBAAoB,GACzB,QAAQ,CAAC,OAAO,CAAC,CAoDnB"}
|
|
@@ -275,6 +275,8 @@ function createWSClient(opts) {
|
|
|
275
275
|
close: function close() {
|
|
276
276
|
state = 'closed';
|
|
277
277
|
closeIfNoPending(activeConnection);
|
|
278
|
+
clearTimeout(connectTimer);
|
|
279
|
+
connectTimer = null;
|
|
278
280
|
},
|
|
279
281
|
request: request,
|
|
280
282
|
getConnection: function getConnection() {
|
|
@@ -275,6 +275,8 @@ function createWSClient(opts) {
|
|
|
275
275
|
close: function close() {
|
|
276
276
|
state = 'closed';
|
|
277
277
|
closeIfNoPending(activeConnection);
|
|
278
|
+
clearTimeout(connectTimer);
|
|
279
|
+
connectTimer = null;
|
|
278
280
|
},
|
|
279
281
|
request: request,
|
|
280
282
|
getConnection: function getConnection() {
|
|
@@ -271,6 +271,8 @@ function createWSClient(opts) {
|
|
|
271
271
|
close: function close() {
|
|
272
272
|
state = 'closed';
|
|
273
273
|
closeIfNoPending(activeConnection);
|
|
274
|
+
clearTimeout(connectTimer);
|
|
275
|
+
connectTimer = null;
|
|
274
276
|
},
|
|
275
277
|
request: request,
|
|
276
278
|
getConnection: function getConnection() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/client",
|
|
3
|
-
"version": "10.0.0-alpha.
|
|
3
|
+
"version": "10.0.0-alpha.24",
|
|
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.
|
|
44
|
+
"@trpc/server": "10.0.0-alpha.24"
|
|
51
45
|
},
|
|
52
46
|
"devDependencies": {
|
|
53
|
-
"@trpc/server": "10.0.0-alpha.
|
|
47
|
+
"@trpc/server": "10.0.0-alpha.24"
|
|
54
48
|
},
|
|
55
49
|
"publishConfig": {
|
|
56
50
|
"access": "public"
|
|
57
51
|
},
|
|
58
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "a3ecf56d83dd9774aaf885e83e9ccfe363fbab48"
|
|
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 {
|
|
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 {
|
|
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
|
|
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:
|
|
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():
|
|
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
|
|
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<
|
|
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
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
opts.
|
|
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.
|
|
257
|
+
opts.error?.(transformed.error);
|
|
234
258
|
},
|
|
235
259
|
error(err) {
|
|
236
260
|
opts.error?.(err);
|