@trpc/client 9.18.0 → 10.0.0-alpha.3
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/TRPCClientError-17b117e1.mjs +81 -0
- package/dist/TRPCClientError-ec6bd2ca.js +94 -0
- package/dist/{declarations/src/TRPCClientError.d.ts → TRPCClientError.d.ts} +29 -33
- package/dist/TRPCClientError.d.ts.map +1 -0
- package/dist/createChain-389cc116.mjs +25 -0
- package/dist/createChain-864dbb30.js +27 -0
- package/dist/{declarations/src/createTRPCClient.d.ts → createTRPCClient.d.ts} +5 -6
- package/dist/createTRPCClient.d.ts.map +1 -0
- package/dist/{declarations/src/getFetch.d.ts → getFetch.d.ts} +1 -1
- package/dist/getFetch.d.ts.map +1 -0
- package/dist/httpUtils-1f9e4e3c.js +97 -0
- package/dist/httpUtils-c09d7b79.mjs +91 -0
- package/dist/{declarations/src/index.d.ts → index.d.ts} +4 -4
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +314 -0
- package/dist/index.mjs +299 -0
- package/dist/index.ts.js +1 -0
- package/dist/{declarations/src/internals → internals}/TRPCClient.d.ts +64 -61
- package/dist/internals/TRPCClient.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/dataLoader.d.ts +14 -16
- package/dist/internals/dataLoader.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/fetchHelpers.d.ts +2 -2
- package/dist/internals/fetchHelpers.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/retryDelay.d.ts +1 -1
- package/dist/internals/retryDelay.d.ts.map +1 -0
- package/dist/internals/transformRPCResponse.d.ts +15 -0
- package/dist/internals/transformRPCResponse.d.ts.map +1 -0
- package/dist/links/dedupeLink.d.ts +4 -0
- package/dist/links/dedupeLink.d.ts.map +1 -0
- package/dist/links/httpBatchLink.d.ts +5 -0
- package/dist/links/httpBatchLink.d.ts.map +1 -0
- package/dist/links/httpBatchLink.js +189 -0
- package/dist/links/httpBatchLink.mjs +185 -0
- package/dist/links/httpBatchLink.ts.js +1 -0
- package/dist/{declarations/src/links → links}/httpLink.d.ts +4 -3
- package/dist/links/httpLink.d.ts.map +1 -0
- package/dist/links/httpLink.js +44 -0
- package/dist/links/httpLink.mjs +40 -0
- package/dist/links/httpLink.ts.js +1 -0
- package/dist/links/httpUtils.d.ts +22 -0
- package/dist/links/httpUtils.d.ts.map +1 -0
- package/dist/links/internals/createChain.d.ts +8 -0
- package/dist/links/internals/createChain.d.ts.map +1 -0
- package/dist/links/internals/transformOperationResult.d.ts +16 -0
- package/dist/links/internals/transformOperationResult.d.ts.map +1 -0
- package/dist/{declarations/src/links → links}/loggerLink.d.ts +38 -37
- package/dist/links/loggerLink.d.ts.map +1 -0
- package/dist/links/loggerLink.js +108 -0
- package/dist/links/loggerLink.mjs +99 -0
- package/dist/links/loggerLink.ts.js +1 -0
- package/dist/links/retryLink.d.ts +6 -0
- package/dist/links/retryLink.d.ts.map +1 -0
- package/dist/links/splitLink.d.ts +14 -0
- package/dist/links/splitLink.d.ts.map +1 -0
- package/dist/links/splitLink.js +32 -0
- package/dist/links/splitLink.mjs +28 -0
- package/dist/links/splitLink.ts.js +1 -0
- package/dist/links/transformerLink.d.ts +4 -0
- package/dist/links/transformerLink.d.ts.map +1 -0
- package/dist/links/transformerLink.js +75 -0
- package/dist/links/transformerLink.mjs +67 -0
- package/dist/links/transformerLink.ts.js +1 -0
- package/dist/links/types.d.ts +40 -0
- package/dist/links/types.d.ts.map +1 -0
- package/dist/{declarations/src/links → links}/wsLink.d.ts +19 -26
- package/dist/links/wsLink.d.ts.map +1 -0
- package/dist/links/wsLink.js +384 -0
- package/dist/links/wsLink.mjs +370 -0
- package/dist/links/wsLink.ts.js +1 -0
- package/dist/observable-7e66cb56.mjs +102 -0
- package/dist/observable-85669100.js +104 -0
- package/dist/rx/index.d.ts +3 -0
- package/dist/rx/index.d.ts.map +1 -0
- package/dist/rx/index.js +9 -0
- package/dist/rx/index.mjs +1 -0
- package/dist/rx/index.ts.js +1 -0
- package/dist/rx/observable.d.ts +4 -0
- package/dist/rx/observable.d.ts.map +1 -0
- package/dist/rx/operators/index.d.ts +4 -0
- package/dist/rx/operators/index.d.ts.map +1 -0
- package/dist/rx/operators/index.js +38 -0
- package/dist/rx/operators/index.mjs +32 -0
- package/dist/rx/operators/index.ts.js +1 -0
- package/dist/rx/operators/map.d.ts +3 -0
- package/dist/rx/operators/map.d.ts.map +1 -0
- package/dist/rx/operators/share.d.ts +6 -0
- package/dist/rx/operators/share.d.ts.map +1 -0
- package/dist/rx/operators/tap.d.ts +3 -0
- package/dist/rx/operators/tap.d.ts.map +1 -0
- package/dist/rx/types.d.ts +29 -0
- package/dist/rx/types.d.ts.map +1 -0
- package/dist/rx/util/identity.d.ts +2 -0
- package/dist/rx/util/identity.d.ts.map +1 -0
- package/dist/rx/util/observableToPromise.d.ts +10 -0
- package/dist/rx/util/observableToPromise.d.ts.map +1 -0
- package/dist/rx/util/pipe.d.ts +4 -0
- package/dist/rx/util/pipe.d.ts.map +1 -0
- package/dist/share-4d79dc49.js +110 -0
- package/dist/share-671b63fa.mjs +108 -0
- package/dist/tap-538fa07f.mjs +30 -0
- package/dist/tap-799a2d33.js +32 -0
- package/links/httpBatchLink/index.d.ts +1 -0
- package/links/httpBatchLink/index.js +1 -0
- package/links/httpLink/index.d.ts +1 -0
- package/links/httpLink/index.js +1 -0
- package/links/loggerLink/index.d.ts +1 -0
- package/links/loggerLink/index.js +1 -0
- package/links/splitLink/index.d.ts +1 -0
- package/links/splitLink/index.js +1 -0
- package/links/transformerLink/index.d.ts +1 -0
- package/links/transformerLink/index.js +1 -0
- package/links/wsLink/index.d.ts +1 -0
- package/links/wsLink/index.js +1 -0
- package/package.json +58 -18
- package/rx/dist/trpc-client-rx.cjs.d.ts +1 -0
- package/rx/dist/trpc-client-rx.cjs.dev.js +9 -0
- package/rx/dist/trpc-client-rx.cjs.js +7 -0
- package/rx/dist/trpc-client-rx.cjs.prod.js +9 -0
- package/rx/dist/trpc-client-rx.esm.js +1 -0
- package/rx/index.d.ts +1 -0
- package/rx/index.js +1 -0
- package/rx/operators/dist/trpc-client-rx-operators.cjs.d.ts +1 -0
- package/rx/operators/dist/trpc-client-rx-operators.cjs.dev.js +39 -0
- package/rx/operators/dist/trpc-client-rx-operators.cjs.js +7 -0
- package/rx/operators/dist/trpc-client-rx-operators.cjs.prod.js +39 -0
- package/rx/operators/dist/trpc-client-rx-operators.esm.js +33 -0
- package/rx/operators/index.d.ts +1 -0
- package/rx/operators/index.js +1 -0
- package/src/TRPCClientError.ts +17 -21
- package/src/createTRPCClient.ts +4 -3
- package/src/index.ts +1 -1
- package/src/internals/TRPCClient.ts +80 -88
- package/src/internals/dataLoader.ts +2 -14
- package/src/internals/transformRPCResponse.ts +2 -2
- package/src/links/dedupeLink.test.ts +134 -0
- package/src/links/dedupeLink.ts +53 -0
- package/src/links/httpBatchLink.ts +36 -52
- package/src/links/httpLink.ts +26 -37
- package/src/{internals/httpRequest.ts → links/httpUtils.ts} +30 -21
- package/src/links/internals/createChain.test.ts +132 -0
- package/src/links/internals/createChain.ts +31 -0
- package/src/links/internals/transformOperationResult.ts +25 -0
- package/src/links/loggerLink.ts +40 -22
- package/src/links/retryLink.ts +45 -14
- package/src/links/splitLink.test.ts +56 -0
- package/src/links/splitLink.ts +23 -38
- package/src/links/transformerLink.ts +70 -0
- package/src/links/{core.ts → types.ts} +40 -46
- package/src/links/wsLink.ts +56 -77
- package/src/rx/index.ts +2 -0
- package/src/rx/observable.test.ts +83 -0
- package/src/rx/observable.ts +70 -0
- package/src/rx/operators/index.ts +3 -0
- package/src/rx/operators/map.test.ts +92 -0
- package/src/rx/operators/map.ts +25 -0
- package/src/rx/operators/share.test.ts +60 -0
- package/src/rx/operators/share.ts +67 -0
- package/src/rx/operators/tap.ts +26 -0
- package/src/rx/types.ts +69 -0
- package/src/rx/util/identity.ts +3 -0
- package/src/rx/util/observableToPromise.ts +49 -0
- package/src/rx/util/pipe.ts +22 -0
- package/dist/TRPCClientError-09b8a26b.esm.js +0 -77
- package/dist/TRPCClientError-bfee2bf5.cjs.dev.js +0 -79
- package/dist/TRPCClientError-e9bf96e9.cjs.prod.js +0 -79
- package/dist/declarations/src/TRPCClientError.d.ts.map +0 -1
- package/dist/declarations/src/createTRPCClient.d.ts.map +0 -1
- package/dist/declarations/src/getFetch.d.ts.map +0 -1
- package/dist/declarations/src/index.d.ts.map +0 -1
- package/dist/declarations/src/internals/TRPCAbortError.d.ts +0 -4
- package/dist/declarations/src/internals/TRPCAbortError.d.ts.map +0 -1
- package/dist/declarations/src/internals/TRPCClient.d.ts.map +0 -1
- package/dist/declarations/src/internals/dataLoader.d.ts.map +0 -1
- package/dist/declarations/src/internals/executeChain.d.ts +0 -8
- package/dist/declarations/src/internals/executeChain.d.ts.map +0 -1
- package/dist/declarations/src/internals/fetchHelpers.d.ts.map +0 -1
- package/dist/declarations/src/internals/httpRequest.d.ts +0 -14
- package/dist/declarations/src/internals/httpRequest.d.ts.map +0 -1
- package/dist/declarations/src/internals/observable.d.ts +0 -18
- package/dist/declarations/src/internals/observable.d.ts.map +0 -1
- package/dist/declarations/src/internals/retryDelay.d.ts.map +0 -1
- package/dist/declarations/src/internals/transformRPCResponse.d.ts +0 -7
- package/dist/declarations/src/internals/transformRPCResponse.d.ts.map +0 -1
- package/dist/declarations/src/links/core.d.ts +0 -45
- package/dist/declarations/src/links/core.d.ts.map +0 -1
- package/dist/declarations/src/links/httpBatchLink.d.ts +0 -7
- package/dist/declarations/src/links/httpBatchLink.d.ts.map +0 -1
- package/dist/declarations/src/links/httpLink.d.ts.map +0 -1
- package/dist/declarations/src/links/loggerLink.d.ts.map +0 -1
- package/dist/declarations/src/links/splitLink.d.ts +0 -24
- package/dist/declarations/src/links/splitLink.d.ts.map +0 -1
- package/dist/declarations/src/links/wsLink.d.ts.map +0 -1
- package/dist/transformRPCResponse-57e80136.cjs.dev.js +0 -133
- package/dist/transformRPCResponse-739c13d0.cjs.prod.js +0 -133
- package/dist/transformRPCResponse-f7f8b0e1.esm.js +0 -129
- package/dist/trpc-client.cjs.d.ts +0 -1
- package/dist/trpc-client.cjs.dev.js +0 -379
- package/dist/trpc-client.cjs.js +0 -7
- package/dist/trpc-client.cjs.prod.js +0 -379
- package/dist/trpc-client.esm.js +0 -374
- package/links/httpBatchLink/package.json +0 -4
- package/links/httpLink/package.json +0 -4
- package/links/loggerLink/package.json +0 -4
- package/links/splitLink/package.json +0 -4
- package/links/wsLink/package.json +0 -4
- package/src/internals/TRPCAbortError.ts +0 -7
- package/src/internals/executeChain.ts +0 -67
- package/src/internals/observable.ts +0 -89
|
@@ -1,62 +1,65 @@
|
|
|
1
|
-
import { AnyRouter,
|
|
2
|
-
import { TRPCResult } from '@trpc/server/rpc';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
private
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
1
|
+
import { AnyRouter, inferHandlerInput, inferProcedureInput, inferSubscriptionOutput } from '@trpc/server';
|
|
2
|
+
import { TRPCResult } from '@trpc/server/rpc';
|
|
3
|
+
import { CancelFn } from '..';
|
|
4
|
+
import { HTTPHeaders, LinkRuntime, OperationContext, TRPCLink } from '../links/types';
|
|
5
|
+
import { UnsubscribeFn } from '../rx';
|
|
6
|
+
import { Observer } from '../rx/types';
|
|
7
|
+
import { TRPCClientError } from '../TRPCClientError';
|
|
8
|
+
declare type CancellablePromise<T = unknown> = Promise<T> & {
|
|
9
|
+
cancel: CancelFn;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated no longer used
|
|
13
|
+
*/
|
|
14
|
+
export interface FetchOptions {
|
|
15
|
+
fetch?: typeof fetch;
|
|
16
|
+
AbortController?: typeof AbortController;
|
|
17
|
+
}
|
|
18
|
+
interface CreateTRPCClientBaseOptions {
|
|
19
|
+
/**
|
|
20
|
+
* Add ponyfill for fetch
|
|
21
|
+
*/
|
|
22
|
+
fetch?: typeof fetch;
|
|
23
|
+
/**
|
|
24
|
+
* add ponyfill for AbortController
|
|
25
|
+
*/
|
|
26
|
+
AbortController?: typeof AbortController;
|
|
27
|
+
/**
|
|
28
|
+
* headers to be set on outgoing requests / callback that of said headers
|
|
29
|
+
*/
|
|
30
|
+
headers?: HTTPHeaders | (() => HTTPHeaders | Promise<HTTPHeaders>);
|
|
31
|
+
}
|
|
32
|
+
/** @internal */
|
|
33
|
+
export interface CreateTRPCClientWithURLOptions extends CreateTRPCClientBaseOptions {
|
|
34
|
+
/**
|
|
35
|
+
* HTTP URL of API
|
|
36
|
+
**/
|
|
37
|
+
url: string;
|
|
38
|
+
}
|
|
39
|
+
/** @internal */
|
|
40
|
+
export interface CreateTRPCClientWithLinksOptions<TRouter extends AnyRouter> extends CreateTRPCClientBaseOptions {
|
|
41
|
+
/**
|
|
42
|
+
* @link http://localhost:3000/docs/links
|
|
43
|
+
**/
|
|
44
|
+
links: TRPCLink<TRouter>[];
|
|
45
|
+
}
|
|
46
|
+
export interface TRPCRequestOptions {
|
|
47
|
+
/**
|
|
48
|
+
* Pass additional context to links
|
|
49
|
+
*/
|
|
50
|
+
context?: OperationContext;
|
|
51
|
+
}
|
|
52
|
+
/** @internal */
|
|
53
|
+
export declare type CreateTRPCClientOptions<TRouter extends AnyRouter> = CreateTRPCClientWithLinksOptions<TRouter> | CreateTRPCClientWithURLOptions;
|
|
54
|
+
export declare class TRPCClient<TRouter extends AnyRouter> {
|
|
55
|
+
private readonly links;
|
|
56
|
+
readonly runtime: LinkRuntime;
|
|
57
|
+
constructor(opts: CreateTRPCClientOptions<TRouter>);
|
|
58
|
+
private $request;
|
|
59
|
+
private requestAsPromise;
|
|
60
|
+
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"]>>>;
|
|
61
|
+
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"]>>>;
|
|
62
|
+
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>>>): UnsubscribeFn;
|
|
63
|
+
}
|
|
64
|
+
export {};
|
|
62
65
|
//# sourceMappingURL=TRPCClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TRPCClient.d.ts","sourceRoot":"","sources":["../../src/internals/TRPCClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import { CancelFn, PromiseAndCancel } from '../links/
|
|
2
|
-
declare type BatchLoadFn<TKey, TValue> = (keys: TKey[]) => {
|
|
3
|
-
promise: Promise<TValue[]>;
|
|
4
|
-
cancel: CancelFn;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Dataloader that's very inspired by https://github.com/graphql/dataloader
|
|
8
|
-
* Less configuration, no caching, and allows you to cancel requests
|
|
9
|
-
* When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
|
|
10
|
-
*/
|
|
11
|
-
export declare function dataLoader<TKey, TValue>(fetchMany: BatchLoadFn<TKey, TValue
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
export {};
|
|
1
|
+
import { CancelFn, PromiseAndCancel } from '../links/types';
|
|
2
|
+
declare type BatchLoadFn<TKey, TValue> = (keys: TKey[]) => {
|
|
3
|
+
promise: Promise<TValue[]>;
|
|
4
|
+
cancel: CancelFn;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Dataloader that's very inspired by https://github.com/graphql/dataloader
|
|
8
|
+
* Less configuration, no caching, and allows you to cancel requests
|
|
9
|
+
* When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
|
|
10
|
+
*/
|
|
11
|
+
export declare function dataLoader<TKey, TValue>(fetchMany: BatchLoadFn<TKey, TValue>): {
|
|
12
|
+
load: (key: TKey) => PromiseAndCancel<TValue>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
17
15
|
//# sourceMappingURL=dataLoader.d.ts.map
|
|
@@ -0,0 +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,EAAE,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;gBA6BxD,IAAI,KAAG,iBAAiB,MAAM,CAAC;EAwCnD"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function getWindow(): typeof globalThis;
|
|
2
|
-
export declare function getAbortController(ac?: typeof AbortController): typeof AbortController | null;
|
|
1
|
+
export declare function getWindow(): typeof globalThis;
|
|
2
|
+
export declare function getAbortController(ac?: typeof AbortController): typeof AbortController | null;
|
|
3
3
|
//# sourceMappingURL=fetchHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchHelpers.d.ts","sourceRoot":"","sources":["../../src/internals/fetchHelpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,sBAKxB;AACD,wBAAgB,kBAAkB,CAChC,EAAE,CAAC,EAAE,OAAO,eAAe,GAC1B,OAAO,eAAe,GAAG,IAAI,CAG/B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const retryDelay: (attemptIndex: number) => number;
|
|
1
|
+
export declare const retryDelay: (attemptIndex: number) => number;
|
|
2
2
|
//# sourceMappingURL=retryDelay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retryDelay.d.ts","sourceRoot":"","sources":["../../src/internals/retryDelay.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,iBAAkB,MAAM,WACqB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TRPCResponse } from '@trpc/server/rpc';
|
|
2
|
+
import { TRPCClientError } from '../TRPCClientError';
|
|
3
|
+
import { LinkRuntime } from '../links/types';
|
|
4
|
+
export declare function transformRPCResponse({ envelope, runtime, }: {
|
|
5
|
+
envelope: TRPCResponse;
|
|
6
|
+
runtime: LinkRuntime;
|
|
7
|
+
}): {
|
|
8
|
+
type: "started";
|
|
9
|
+
} | {
|
|
10
|
+
type: "stopped";
|
|
11
|
+
} | TRPCClientError<import("@trpc/server").AnyRouter<any>> | {
|
|
12
|
+
data: any;
|
|
13
|
+
type: "data";
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=transformRPCResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformRPCResponse.d.ts","sourceRoot":"","sources":["../../src/internals/transformRPCResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;CACtB;;;;;;;EAcA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dedupeLink.d.ts","sourceRoot":"","sources":["../../src/links/dedupeLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,wBAAgB,UAAU,CACxB,OAAO,SAAS,SAAS,GAAG,SAAS,KAClC,QAAQ,CAAC,OAAO,CAAC,CA4CrB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AnyRouter } from '@trpc/server';
|
|
2
|
+
import { TRPCLink } from './types';
|
|
3
|
+
import { HTTPLinkOptions } from './httpUtils';
|
|
4
|
+
export declare function httpBatchLink<TRouter extends AnyRouter>(opts: HTTPLinkOptions): TRPCLink<TRouter>;
|
|
5
|
+
//# sourceMappingURL=httpBatchLink.d.ts.map
|
|
@@ -0,0 +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,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,eAAe,EAA8B,MAAM,aAAa,CAAC;AAE1E,wBAAgB,aAAa,CAAC,OAAO,SAAS,SAAS,EACrD,IAAI,EAAE,eAAe,GACpB,QAAQ,CAAC,OAAO,CAAC,CA4DnB"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var observable = require('../observable-85669100.js');
|
|
6
|
+
var httpUtils = require('../httpUtils-1f9e4e3c.js');
|
|
7
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
8
|
+
|
|
9
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
10
|
+
|
|
11
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
+
|
|
13
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Dataloader that's very inspired by https://github.com/graphql/dataloader
|
|
17
|
+
* Less configuration, no caching, and allows you to cancel requests
|
|
18
|
+
* When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
|
|
19
|
+
*/
|
|
20
|
+
function dataLoader(fetchMany) {
|
|
21
|
+
var batch = null;
|
|
22
|
+
var dispatchTimer = null;
|
|
23
|
+
|
|
24
|
+
var destroyTimerAndBatch = function destroyTimerAndBatch() {
|
|
25
|
+
clearTimeout(dispatchTimer);
|
|
26
|
+
dispatchTimer = null;
|
|
27
|
+
batch = null;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
function dispatch() {
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
32
|
+
var batchCopy = batch;
|
|
33
|
+
destroyTimerAndBatch();
|
|
34
|
+
|
|
35
|
+
var _fetchMany = fetchMany(batchCopy.items.map(function (v) {
|
|
36
|
+
return v.key;
|
|
37
|
+
})),
|
|
38
|
+
promise = _fetchMany.promise,
|
|
39
|
+
cancel = _fetchMany.cancel;
|
|
40
|
+
|
|
41
|
+
batchCopy.cancel = cancel;
|
|
42
|
+
promise.then(function (result) {
|
|
43
|
+
for (var i = 0; i < result.length; i++) {
|
|
44
|
+
var _value = result[i];
|
|
45
|
+
batchCopy.items[i].resolve(_value);
|
|
46
|
+
}
|
|
47
|
+
}).catch(function (cause) {
|
|
48
|
+
var _iterator = _createForOfIteratorHelper(batchCopy.items),
|
|
49
|
+
_step;
|
|
50
|
+
|
|
51
|
+
try {
|
|
52
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
53
|
+
var item = _step.value;
|
|
54
|
+
item.reject(cause);
|
|
55
|
+
}
|
|
56
|
+
} catch (err) {
|
|
57
|
+
_iterator.e(err);
|
|
58
|
+
} finally {
|
|
59
|
+
_iterator.f();
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function load(key) {
|
|
65
|
+
var batchItem = {
|
|
66
|
+
cancelled: false,
|
|
67
|
+
key: key
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
if (!batch) {
|
|
71
|
+
batch = {
|
|
72
|
+
items: [],
|
|
73
|
+
cancel: function cancel() {
|
|
74
|
+
destroyTimerAndBatch();
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
var thisBatch = batch;
|
|
80
|
+
var promise = new Promise(function (resolve, reject) {
|
|
81
|
+
var item = batchItem;
|
|
82
|
+
item.reject = reject;
|
|
83
|
+
item.resolve = resolve;
|
|
84
|
+
thisBatch.items.push(item);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
if (!dispatchTimer) {
|
|
88
|
+
dispatchTimer = setTimeout(dispatch);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
var cancel = function cancel() {
|
|
92
|
+
batchItem.cancelled = true;
|
|
93
|
+
|
|
94
|
+
if (thisBatch.items.some(function (item) {
|
|
95
|
+
return !item.cancelled;
|
|
96
|
+
})) {
|
|
97
|
+
// there are still things that can be resolved
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
thisBatch.cancel();
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
return {
|
|
105
|
+
promise: promise,
|
|
106
|
+
cancel: cancel
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return {
|
|
111
|
+
load: load
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function httpBatchLink(opts) {
|
|
116
|
+
var url = opts.url;
|
|
117
|
+
return function (runtime) {
|
|
118
|
+
var fetcher = function fetcher(type) {
|
|
119
|
+
return function (keyInputPairs) {
|
|
120
|
+
var path = keyInputPairs.map(function (op) {
|
|
121
|
+
return op.path;
|
|
122
|
+
}).join(',');
|
|
123
|
+
var inputs = keyInputPairs.map(function (op) {
|
|
124
|
+
return op.input;
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
var _httpRequest = httpUtils.httpRequest({
|
|
128
|
+
url: url,
|
|
129
|
+
inputs: inputs,
|
|
130
|
+
path: path,
|
|
131
|
+
runtime: runtime,
|
|
132
|
+
type: type
|
|
133
|
+
}),
|
|
134
|
+
promise = _httpRequest.promise,
|
|
135
|
+
cancel = _httpRequest.cancel;
|
|
136
|
+
|
|
137
|
+
return {
|
|
138
|
+
promise: promise.then(function (res) {
|
|
139
|
+
var resJSON = Array.isArray(res.json) ? res.json : keyInputPairs.map(function () {
|
|
140
|
+
return res.json;
|
|
141
|
+
});
|
|
142
|
+
var result = resJSON.map(function (item) {
|
|
143
|
+
return {
|
|
144
|
+
meta: res.meta,
|
|
145
|
+
json: item
|
|
146
|
+
};
|
|
147
|
+
});
|
|
148
|
+
return result;
|
|
149
|
+
}),
|
|
150
|
+
cancel: cancel
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
var query = dataLoader(fetcher('query'));
|
|
156
|
+
var mutation = dataLoader(fetcher('mutation'));
|
|
157
|
+
var subscription = dataLoader(fetcher('subscription'));
|
|
158
|
+
var loaders = {
|
|
159
|
+
query: query,
|
|
160
|
+
subscription: subscription,
|
|
161
|
+
mutation: mutation
|
|
162
|
+
};
|
|
163
|
+
return function (_ref) {
|
|
164
|
+
var op = _ref.op;
|
|
165
|
+
return observable.observable(function (observer) {
|
|
166
|
+
var loader = loaders[op.type];
|
|
167
|
+
|
|
168
|
+
var _loader$load = loader.load(op),
|
|
169
|
+
promise = _loader$load.promise,
|
|
170
|
+
cancel = _loader$load.cancel;
|
|
171
|
+
|
|
172
|
+
promise.then(function (res) {
|
|
173
|
+
observer.next({
|
|
174
|
+
context: res.meta,
|
|
175
|
+
data: res.json
|
|
176
|
+
});
|
|
177
|
+
observer.complete();
|
|
178
|
+
}).catch(function (err) {
|
|
179
|
+
return observer.error(err);
|
|
180
|
+
});
|
|
181
|
+
return function () {
|
|
182
|
+
cancel();
|
|
183
|
+
};
|
|
184
|
+
});
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
exports.httpBatchLink = httpBatchLink;
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { o as observable } from '../observable-7e66cb56.mjs';
|
|
2
|
+
import { h as httpRequest } from '../httpUtils-c09d7b79.mjs';
|
|
3
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
4
|
+
|
|
5
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
6
|
+
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
|
|
9
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Dataloader that's very inspired by https://github.com/graphql/dataloader
|
|
13
|
+
* Less configuration, no caching, and allows you to cancel requests
|
|
14
|
+
* When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
|
|
15
|
+
*/
|
|
16
|
+
function dataLoader(fetchMany) {
|
|
17
|
+
var batch = null;
|
|
18
|
+
var dispatchTimer = null;
|
|
19
|
+
|
|
20
|
+
var destroyTimerAndBatch = function destroyTimerAndBatch() {
|
|
21
|
+
clearTimeout(dispatchTimer);
|
|
22
|
+
dispatchTimer = null;
|
|
23
|
+
batch = null;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
function dispatch() {
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
28
|
+
var batchCopy = batch;
|
|
29
|
+
destroyTimerAndBatch();
|
|
30
|
+
|
|
31
|
+
var _fetchMany = fetchMany(batchCopy.items.map(function (v) {
|
|
32
|
+
return v.key;
|
|
33
|
+
})),
|
|
34
|
+
promise = _fetchMany.promise,
|
|
35
|
+
cancel = _fetchMany.cancel;
|
|
36
|
+
|
|
37
|
+
batchCopy.cancel = cancel;
|
|
38
|
+
promise.then(function (result) {
|
|
39
|
+
for (var i = 0; i < result.length; i++) {
|
|
40
|
+
var _value = result[i];
|
|
41
|
+
batchCopy.items[i].resolve(_value);
|
|
42
|
+
}
|
|
43
|
+
}).catch(function (cause) {
|
|
44
|
+
var _iterator = _createForOfIteratorHelper(batchCopy.items),
|
|
45
|
+
_step;
|
|
46
|
+
|
|
47
|
+
try {
|
|
48
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
49
|
+
var item = _step.value;
|
|
50
|
+
item.reject(cause);
|
|
51
|
+
}
|
|
52
|
+
} catch (err) {
|
|
53
|
+
_iterator.e(err);
|
|
54
|
+
} finally {
|
|
55
|
+
_iterator.f();
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function load(key) {
|
|
61
|
+
var batchItem = {
|
|
62
|
+
cancelled: false,
|
|
63
|
+
key: key
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
if (!batch) {
|
|
67
|
+
batch = {
|
|
68
|
+
items: [],
|
|
69
|
+
cancel: function cancel() {
|
|
70
|
+
destroyTimerAndBatch();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
var thisBatch = batch;
|
|
76
|
+
var promise = new Promise(function (resolve, reject) {
|
|
77
|
+
var item = batchItem;
|
|
78
|
+
item.reject = reject;
|
|
79
|
+
item.resolve = resolve;
|
|
80
|
+
thisBatch.items.push(item);
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
if (!dispatchTimer) {
|
|
84
|
+
dispatchTimer = setTimeout(dispatch);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
var cancel = function cancel() {
|
|
88
|
+
batchItem.cancelled = true;
|
|
89
|
+
|
|
90
|
+
if (thisBatch.items.some(function (item) {
|
|
91
|
+
return !item.cancelled;
|
|
92
|
+
})) {
|
|
93
|
+
// there are still things that can be resolved
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
thisBatch.cancel();
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
return {
|
|
101
|
+
promise: promise,
|
|
102
|
+
cancel: cancel
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return {
|
|
107
|
+
load: load
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function httpBatchLink(opts) {
|
|
112
|
+
var url = opts.url;
|
|
113
|
+
return function (runtime) {
|
|
114
|
+
var fetcher = function fetcher(type) {
|
|
115
|
+
return function (keyInputPairs) {
|
|
116
|
+
var path = keyInputPairs.map(function (op) {
|
|
117
|
+
return op.path;
|
|
118
|
+
}).join(',');
|
|
119
|
+
var inputs = keyInputPairs.map(function (op) {
|
|
120
|
+
return op.input;
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
var _httpRequest = httpRequest({
|
|
124
|
+
url: url,
|
|
125
|
+
inputs: inputs,
|
|
126
|
+
path: path,
|
|
127
|
+
runtime: runtime,
|
|
128
|
+
type: type
|
|
129
|
+
}),
|
|
130
|
+
promise = _httpRequest.promise,
|
|
131
|
+
cancel = _httpRequest.cancel;
|
|
132
|
+
|
|
133
|
+
return {
|
|
134
|
+
promise: promise.then(function (res) {
|
|
135
|
+
var resJSON = Array.isArray(res.json) ? res.json : keyInputPairs.map(function () {
|
|
136
|
+
return res.json;
|
|
137
|
+
});
|
|
138
|
+
var result = resJSON.map(function (item) {
|
|
139
|
+
return {
|
|
140
|
+
meta: res.meta,
|
|
141
|
+
json: item
|
|
142
|
+
};
|
|
143
|
+
});
|
|
144
|
+
return result;
|
|
145
|
+
}),
|
|
146
|
+
cancel: cancel
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
var query = dataLoader(fetcher('query'));
|
|
152
|
+
var mutation = dataLoader(fetcher('mutation'));
|
|
153
|
+
var subscription = dataLoader(fetcher('subscription'));
|
|
154
|
+
var loaders = {
|
|
155
|
+
query: query,
|
|
156
|
+
subscription: subscription,
|
|
157
|
+
mutation: mutation
|
|
158
|
+
};
|
|
159
|
+
return function (_ref) {
|
|
160
|
+
var op = _ref.op;
|
|
161
|
+
return observable(function (observer) {
|
|
162
|
+
var loader = loaders[op.type];
|
|
163
|
+
|
|
164
|
+
var _loader$load = loader.load(op),
|
|
165
|
+
promise = _loader$load.promise,
|
|
166
|
+
cancel = _loader$load.cancel;
|
|
167
|
+
|
|
168
|
+
promise.then(function (res) {
|
|
169
|
+
observer.next({
|
|
170
|
+
context: res.meta,
|
|
171
|
+
data: res.json
|
|
172
|
+
});
|
|
173
|
+
observer.complete();
|
|
174
|
+
}).catch(function (err) {
|
|
175
|
+
return observer.error(err);
|
|
176
|
+
});
|
|
177
|
+
return function () {
|
|
178
|
+
cancel();
|
|
179
|
+
};
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export { httpBatchLink };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { AnyRouter } from '@trpc/server';
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { AnyRouter } from '@trpc/server';
|
|
2
|
+
import { TRPCLink } from './types';
|
|
3
|
+
import { HTTPLinkOptions } from './httpUtils';
|
|
4
|
+
export declare function httpLink<TRouter extends AnyRouter>(opts: HTTPLinkOptions): TRPCLink<TRouter>;
|
|
4
5
|
//# sourceMappingURL=httpLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpLink.d.ts","sourceRoot":"","sources":["../../src/links/httpLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,eAAe,EAAe,MAAM,aAAa,CAAC;AAE3D,wBAAgB,QAAQ,CAAC,OAAO,SAAS,SAAS,EAChD,IAAI,EAAE,eAAe,GACpB,QAAQ,CAAC,OAAO,CAAC,CA2BnB"}
|