@trpc/client 10.0.0-alpha.12 → 10.0.0-alpha.15
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/{createChain-480b6341.mjs → createChain-389cc116.mjs} +3 -3
- package/dist/{createChain-e77be464.js → createChain-864dbb30.js} +3 -3
- package/dist/index.js +7 -4
- package/dist/index.mjs +7 -4
- package/dist/internals/TRPCClient.d.ts +3 -3
- package/dist/internals/TRPCClient.d.ts.map +1 -1
- package/dist/links/httpBatchLink.js +1 -1
- package/dist/links/httpBatchLink.mjs +1 -1
- package/dist/links/httpLink.js +1 -1
- package/dist/links/httpLink.mjs +1 -1
- package/dist/links/loggerLink.js +2 -2
- package/dist/links/loggerLink.mjs +2 -2
- package/dist/links/splitLink.js +2 -2
- package/dist/links/splitLink.mjs +2 -2
- package/dist/links/transformerLink.d.ts.map +1 -1
- package/dist/links/transformerLink.js +5 -9
- package/dist/links/transformerLink.mjs +5 -9
- package/dist/links/types.d.ts +1 -1
- 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/dist/links/wsLink.js +1 -1
- package/dist/links/wsLink.mjs +1 -1
- package/dist/{observable-16fde241.mjs → observable-7e66cb56.mjs} +0 -0
- package/dist/{observable-9aaca086.js → observable-85669100.js} +0 -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/{observable → rx}/index.ts.js +0 -0
- package/dist/{observable → rx}/observable.d.ts +0 -0
- package/dist/rx/observable.d.ts.map +1 -0
- package/dist/{observable → rx}/operators/index.d.ts +0 -0
- package/dist/rx/operators/index.d.ts.map +1 -0
- package/dist/{observable → rx/operators}/index.js +2 -4
- package/dist/{observable → rx/operators}/index.mjs +2 -3
- package/dist/rx/operators/index.ts.js +1 -0
- package/dist/{observable → rx}/operators/map.d.ts +0 -0
- package/dist/rx/operators/map.d.ts.map +1 -0
- package/dist/{observable → rx}/operators/share.d.ts +0 -0
- package/dist/rx/operators/share.d.ts.map +1 -0
- package/dist/{observable → rx}/operators/tap.d.ts +0 -0
- package/dist/rx/operators/tap.d.ts.map +1 -0
- package/dist/{observable → rx}/types.d.ts +0 -0
- package/dist/rx/types.d.ts.map +1 -0
- package/dist/{observable → rx}/util/identity.d.ts +0 -0
- package/dist/rx/util/identity.d.ts.map +1 -0
- package/dist/{observable → rx}/util/observableToPromise.d.ts +0 -0
- package/dist/rx/util/observableToPromise.d.ts.map +1 -0
- package/dist/{observable → rx}/util/pipe.d.ts +0 -0
- package/dist/rx/util/pipe.d.ts.map +1 -0
- package/dist/{share-4afc084f.js → share-4d79dc49.js} +0 -0
- package/dist/{share-9f12d26c.mjs → share-671b63fa.mjs} +0 -0
- package/dist/{tap-f567ea97.mjs → tap-538fa07f.mjs} +0 -0
- package/dist/{tap-aacf31bf.js → tap-799a2d33.js} +0 -0
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.d.ts +11 -1
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.js +15 -6
- package/links/httpLink/dist/trpc-client-links-httpLink.cjs.d.ts +11 -1
- package/links/httpLink/dist/trpc-client-links-httpLink.cjs.js +15 -6
- package/links/loggerLink/dist/trpc-client-links-loggerLink.cjs.d.ts +11 -1
- package/links/loggerLink/dist/trpc-client-links-loggerLink.cjs.js +15 -6
- package/links/splitLink/dist/trpc-client-links-splitLink.cjs.d.ts +11 -1
- package/links/splitLink/dist/trpc-client-links-splitLink.cjs.js +15 -6
- package/links/wsLink/dist/trpc-client-links-wsLink.cjs.d.ts +11 -1
- package/links/wsLink/dist/trpc-client-links-wsLink.cjs.js +15 -6
- package/package.json +13 -8
- package/rx/index.d.ts +1 -0
- package/rx/index.js +1 -0
- package/rx/operators/index.d.ts +1 -0
- package/rx/operators/index.js +1 -0
- package/src/internals/TRPCClient.ts +10 -7
- package/src/links/dedupeLink.test.ts +1 -1
- package/src/links/dedupeLink.ts +5 -5
- package/src/links/httpBatchLink.ts +1 -1
- package/src/links/httpLink.ts +1 -1
- package/src/links/internals/createChain.test.ts +5 -5
- package/src/links/internals/createChain.ts +3 -3
- package/src/links/loggerLink.ts +2 -2
- package/src/links/retryLink.ts +2 -2
- package/src/links/splitLink.test.ts +1 -1
- package/src/links/splitLink.ts +1 -1
- package/src/links/transformerLink.ts +5 -9
- package/src/links/types.ts +1 -1
- package/src/links/wsLink.ts +2 -2
- package/src/{observable → rx}/index.ts +0 -1
- package/src/{observable → rx}/observable.test.ts +1 -21
- package/src/{observable → rx}/observable.ts +0 -0
- package/src/{observable → rx}/operators/index.ts +0 -0
- package/src/{observable → rx}/operators/map.test.ts +0 -0
- package/src/{observable → rx}/operators/map.ts +0 -0
- package/src/{observable → rx}/operators/share.test.ts +0 -0
- package/src/{observable → rx}/operators/share.ts +0 -0
- package/src/{observable → rx}/operators/tap.ts +0 -0
- package/src/{observable → rx}/types.ts +0 -0
- package/src/{observable → rx}/util/identity.ts +0 -0
- package/src/{observable → rx}/util/observableToPromise.ts +0 -0
- package/src/{observable → rx}/util/pipe.ts +0 -0
- package/dist/observable/index.d.ts +0 -4
- package/dist/observable/index.d.ts.map +0 -1
- package/dist/observable/observable.d.ts.map +0 -1
- package/dist/observable/operators/index.d.ts.map +0 -1
- package/dist/observable/operators/map.d.ts.map +0 -1
- package/dist/observable/operators/share.d.ts.map +0 -1
- package/dist/observable/operators/tap.d.ts.map +0 -1
- package/dist/observable/types.d.ts.map +0 -1
- package/dist/observable/util/identity.d.ts.map +0 -1
- package/dist/observable/util/observableToPromise.d.ts.map +0 -1
- package/dist/observable/util/pipe.d.ts.map +0 -1
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js +0 -214
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js +0 -214
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.esm.js +0 -210
- package/links/httpLink/dist/trpc-client-links-httpLink.cjs.dev.js +0 -67
- package/links/httpLink/dist/trpc-client-links-httpLink.cjs.prod.js +0 -67
- package/links/httpLink/dist/trpc-client-links-httpLink.esm.js +0 -63
- package/links/loggerLink/dist/trpc-client-links-loggerLink.cjs.dev.js +0 -89
- package/links/loggerLink/dist/trpc-client-links-loggerLink.cjs.prod.js +0 -89
- package/links/loggerLink/dist/trpc-client-links-loggerLink.esm.js +0 -85
- package/links/splitLink/dist/trpc-client-links-splitLink.cjs.dev.js +0 -19
- package/links/splitLink/dist/trpc-client-links-splitLink.cjs.prod.js +0 -19
- package/links/splitLink/dist/trpc-client-links-splitLink.esm.js +0 -15
- package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.d.ts +0 -1
- package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.dev.js +0 -67
- package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.js +0 -7
- package/links/transformerLink/dist/trpc-client-links-transformerLink.cjs.prod.js +0 -67
- package/links/transformerLink/dist/trpc-client-links-transformerLink.esm.js +0 -63
- package/links/wsLink/dist/trpc-client-links-wsLink.cjs.dev.js +0 -395
- package/links/wsLink/dist/trpc-client-links-wsLink.cjs.prod.js +0 -395
- package/links/wsLink/dist/trpc-client-links-wsLink.esm.js +0 -390
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
// this file might look strange and you might be wondering what it's for
|
|
3
|
+
// it's lets you import your source files by importing this entrypoint
|
|
4
|
+
// as you would import it if it was built with preconstruct build
|
|
5
|
+
// this file is slightly different to some others though
|
|
6
|
+
// it has a require hook which compiles your code with Babel
|
|
7
|
+
// this means that you don't have to set up @babel/register or anything like that
|
|
8
|
+
// but you can still require this module and it'll be compiled
|
|
2
9
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
// this bit of code imports the require hook and registers it
|
|
11
|
+
let unregister = require("../../../../../node_modules/@preconstruct/hook").___internalHook(typeof __dirname === 'undefined' ? undefined : __dirname, "../../../../..", "../../..");
|
|
12
|
+
|
|
13
|
+
// this re-exports the source file
|
|
14
|
+
module.exports = require("../../../src/links/loggerLink.ts");
|
|
15
|
+
|
|
16
|
+
unregister();
|
|
@@ -1 +1,11 @@
|
|
|
1
|
-
export
|
|
1
|
+
// are you seeing an error that a default export doesn't exist but your source file has a default export?
|
|
2
|
+
// you should run `yarn` or `yarn preconstruct dev` if preconstruct dev isn't in your postinstall hook
|
|
3
|
+
|
|
4
|
+
// curious why you need to?
|
|
5
|
+
// this file exists so that you can import from the entrypoint normally
|
|
6
|
+
// except that it points to your source file and you don't need to run build constantly
|
|
7
|
+
// which means we need to re-export all of the modules from your source file
|
|
8
|
+
// and since export * doesn't include default exports, we need to read your source file
|
|
9
|
+
// to check for a default export and re-export it if it exists
|
|
10
|
+
// it's not ideal, but it works pretty well ¯\_(ツ)_/¯
|
|
11
|
+
export * from "../../../src/links/splitLink";
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
// this file might look strange and you might be wondering what it's for
|
|
3
|
+
// it's lets you import your source files by importing this entrypoint
|
|
4
|
+
// as you would import it if it was built with preconstruct build
|
|
5
|
+
// this file is slightly different to some others though
|
|
6
|
+
// it has a require hook which compiles your code with Babel
|
|
7
|
+
// this means that you don't have to set up @babel/register or anything like that
|
|
8
|
+
// but you can still require this module and it'll be compiled
|
|
2
9
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
// this bit of code imports the require hook and registers it
|
|
11
|
+
let unregister = require("../../../../../node_modules/@preconstruct/hook").___internalHook(typeof __dirname === 'undefined' ? undefined : __dirname, "../../../../..", "../../..");
|
|
12
|
+
|
|
13
|
+
// this re-exports the source file
|
|
14
|
+
module.exports = require("../../../src/links/splitLink.ts");
|
|
15
|
+
|
|
16
|
+
unregister();
|
|
@@ -1 +1,11 @@
|
|
|
1
|
-
export
|
|
1
|
+
// are you seeing an error that a default export doesn't exist but your source file has a default export?
|
|
2
|
+
// you should run `yarn` or `yarn preconstruct dev` if preconstruct dev isn't in your postinstall hook
|
|
3
|
+
|
|
4
|
+
// curious why you need to?
|
|
5
|
+
// this file exists so that you can import from the entrypoint normally
|
|
6
|
+
// except that it points to your source file and you don't need to run build constantly
|
|
7
|
+
// which means we need to re-export all of the modules from your source file
|
|
8
|
+
// and since export * doesn't include default exports, we need to read your source file
|
|
9
|
+
// to check for a default export and re-export it if it exists
|
|
10
|
+
// it's not ideal, but it works pretty well ¯\_(ツ)_/¯
|
|
11
|
+
export * from "../../../src/links/wsLink";
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
// this file might look strange and you might be wondering what it's for
|
|
3
|
+
// it's lets you import your source files by importing this entrypoint
|
|
4
|
+
// as you would import it if it was built with preconstruct build
|
|
5
|
+
// this file is slightly different to some others though
|
|
6
|
+
// it has a require hook which compiles your code with Babel
|
|
7
|
+
// this means that you don't have to set up @babel/register or anything like that
|
|
8
|
+
// but you can still require this module and it'll be compiled
|
|
2
9
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
// this bit of code imports the require hook and registers it
|
|
11
|
+
let unregister = require("../../../../../node_modules/@preconstruct/hook").___internalHook(typeof __dirname === 'undefined' ? undefined : __dirname, "../../../../..", "../../..");
|
|
12
|
+
|
|
13
|
+
// this re-exports the source file
|
|
14
|
+
module.exports = require("../../../src/links/wsLink.ts");
|
|
15
|
+
|
|
16
|
+
unregister();
|
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.15",
|
|
4
4
|
"description": "tRPC Client lib",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -49,10 +49,15 @@
|
|
|
49
49
|
"require": "./dist/links/wsLink.js",
|
|
50
50
|
"default": "./dist/links/wsLink.js"
|
|
51
51
|
},
|
|
52
|
-
"./
|
|
53
|
-
"import": "./dist/
|
|
54
|
-
"require": "./dist/
|
|
55
|
-
"default": "./dist/
|
|
52
|
+
"./rx": {
|
|
53
|
+
"import": "./dist/rx/index.mjs",
|
|
54
|
+
"require": "./dist/rx/index.js",
|
|
55
|
+
"default": "./dist/rx/index.js"
|
|
56
|
+
},
|
|
57
|
+
"./rx/operators": {
|
|
58
|
+
"import": "./dist/rx/operators/index.mjs",
|
|
59
|
+
"require": "./dist/rx/operators/index.js",
|
|
60
|
+
"default": "./dist/rx/operators/index.js"
|
|
56
61
|
}
|
|
57
62
|
},
|
|
58
63
|
"files": [
|
|
@@ -69,13 +74,13 @@
|
|
|
69
74
|
"@babel/runtime": "^7.9.0"
|
|
70
75
|
},
|
|
71
76
|
"peerDependencies": {
|
|
72
|
-
"@trpc/server": "10.0.0-alpha.
|
|
77
|
+
"@trpc/server": "10.0.0-alpha.15"
|
|
73
78
|
},
|
|
74
79
|
"devDependencies": {
|
|
75
|
-
"@trpc/server": "10.0.0-alpha.
|
|
80
|
+
"@trpc/server": "10.0.0-alpha.15"
|
|
76
81
|
},
|
|
77
82
|
"publishConfig": {
|
|
78
83
|
"access": "public"
|
|
79
84
|
},
|
|
80
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "a359c012913be9b2cc89bcc191900bd95b0e1130"
|
|
81
86
|
}
|
package/rx/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../dist/rx';
|
package/rx/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../dist/rx/index');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../../dist/rx/operators';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../dist/rx/operators/index');
|
|
@@ -18,11 +18,11 @@ import {
|
|
|
18
18
|
OperationLink,
|
|
19
19
|
TRPCLink,
|
|
20
20
|
} from '../links/types';
|
|
21
|
-
import {
|
|
22
|
-
import { inferObservableValue } from '../
|
|
23
|
-
import { share } from '../
|
|
24
|
-
import { Observer } from '../
|
|
25
|
-
import { observableToPromise } from '../
|
|
21
|
+
import { UnsubscribeFn } from '../rx';
|
|
22
|
+
import { inferObservableValue } from '../rx/observable';
|
|
23
|
+
import { share } from '../rx/operators';
|
|
24
|
+
import { Observer } from '../rx/types';
|
|
25
|
+
import { observableToPromise } from '../rx/util/observableToPromise';
|
|
26
26
|
import { TRPCClientError } from '../TRPCClientError';
|
|
27
27
|
import { getAbortController } from './fetchHelpers';
|
|
28
28
|
|
|
@@ -218,14 +218,14 @@ export class TRPCClient<TRouter extends AnyRouter> {
|
|
|
218
218
|
input: TInput,
|
|
219
219
|
opts: TRPCRequestOptions &
|
|
220
220
|
Partial<Observer<TRPCResult<TOutput>, TRPCClientError<TRouter>>>,
|
|
221
|
-
):
|
|
221
|
+
): UnsubscribeFn {
|
|
222
222
|
const observable$ = this.$request<TInput, TOutput>({
|
|
223
223
|
type: 'subscription',
|
|
224
224
|
path,
|
|
225
225
|
input,
|
|
226
226
|
context: opts.context,
|
|
227
227
|
});
|
|
228
|
-
|
|
228
|
+
const observer = observable$.subscribe({
|
|
229
229
|
next(result) {
|
|
230
230
|
if ('error' in result.data) {
|
|
231
231
|
const err = TRPCClientError.from(result.data, {
|
|
@@ -244,5 +244,8 @@ export class TRPCClient<TRouter extends AnyRouter> {
|
|
|
244
244
|
opts.complete?.();
|
|
245
245
|
},
|
|
246
246
|
});
|
|
247
|
+
return () => {
|
|
248
|
+
observer.unsubscribe();
|
|
249
|
+
};
|
|
247
250
|
}
|
|
248
251
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { waitFor } from '@testing-library/dom';
|
|
2
2
|
import { AnyRouter } from '@trpc/server';
|
|
3
3
|
import { OperationLink } from '..';
|
|
4
|
-
import { observable } from '../
|
|
4
|
+
import { observable } from '../rx/observable';
|
|
5
5
|
import { dedupeLink } from './dedupeLink';
|
|
6
6
|
import { createChain } from './internals/createChain';
|
|
7
7
|
|
package/src/links/dedupeLink.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AnyRouter } from '@trpc/server';
|
|
2
|
-
import { observable } from '../
|
|
3
|
-
import { share } from '../
|
|
4
|
-
import { Observable } from '../
|
|
2
|
+
import { observable } from '../rx/observable';
|
|
3
|
+
import { share } from '../rx/operators';
|
|
4
|
+
import { Observable } from '../rx/types';
|
|
5
5
|
import { TRPCLink } from './types';
|
|
6
6
|
|
|
7
7
|
export function dedupeLink<
|
|
@@ -28,7 +28,7 @@ export function dedupeLink<
|
|
|
28
28
|
function reset() {
|
|
29
29
|
delete pending[key];
|
|
30
30
|
}
|
|
31
|
-
const
|
|
31
|
+
const next$ = next(op).subscribe({
|
|
32
32
|
next(v) {
|
|
33
33
|
observer.next(v);
|
|
34
34
|
},
|
|
@@ -43,7 +43,7 @@ export function dedupeLink<
|
|
|
43
43
|
});
|
|
44
44
|
return () => {
|
|
45
45
|
reset();
|
|
46
|
-
|
|
46
|
+
next$.unsubscribe();
|
|
47
47
|
};
|
|
48
48
|
}).pipe(share());
|
|
49
49
|
pending[key] = shared$;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyRouter, ProcedureType } from '@trpc/server';
|
|
2
2
|
import { dataLoader } from '../internals/dataLoader';
|
|
3
|
-
import { observable } from '../
|
|
3
|
+
import { observable } from '../rx/observable';
|
|
4
4
|
import { TRPCLink } from './types';
|
|
5
5
|
import { HTTPLinkOptions, httpRequest, ResponseShape } from './httpUtils';
|
|
6
6
|
|
package/src/links/httpLink.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyRouter } from '@trpc/server/src';
|
|
2
2
|
import { createChain } from './createChain';
|
|
3
|
-
import { observable } from '../../
|
|
3
|
+
import { observable } from '../../rx/observable';
|
|
4
4
|
|
|
5
5
|
describe('chain', () => {
|
|
6
6
|
test('trivial', () => {
|
|
@@ -8,9 +8,9 @@ describe('chain', () => {
|
|
|
8
8
|
links: [
|
|
9
9
|
({ next, op }) => {
|
|
10
10
|
return observable((observer) => {
|
|
11
|
-
const
|
|
11
|
+
const next$ = next(op).subscribe(observer);
|
|
12
12
|
return () => {
|
|
13
|
-
|
|
13
|
+
next$.unsubscribe();
|
|
14
14
|
};
|
|
15
15
|
});
|
|
16
16
|
},
|
|
@@ -62,9 +62,9 @@ describe('chain', () => {
|
|
|
62
62
|
},
|
|
63
63
|
},
|
|
64
64
|
});
|
|
65
|
-
const
|
|
65
|
+
const next$ = next(op).subscribe(observer);
|
|
66
66
|
return () => {
|
|
67
|
-
|
|
67
|
+
next$.unsubscribe();
|
|
68
68
|
};
|
|
69
69
|
});
|
|
70
70
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnyRouter } from '@trpc/server';
|
|
2
|
-
import { observable } from '../../
|
|
2
|
+
import { observable } from '../../rx/observable';
|
|
3
3
|
import { Operation, OperationLink, OperationResultObservable } from '../types';
|
|
4
4
|
|
|
5
5
|
/** @internal */
|
|
@@ -14,7 +14,7 @@ export function createChain<
|
|
|
14
14
|
return observable((observer) => {
|
|
15
15
|
function execute(index = 0, op = opts.op) {
|
|
16
16
|
const next = opts.links[index];
|
|
17
|
-
const
|
|
17
|
+
const next$ = next({
|
|
18
18
|
op,
|
|
19
19
|
next(nextOp) {
|
|
20
20
|
const nextObserver = execute(index + 1, nextOp);
|
|
@@ -22,7 +22,7 @@ export function createChain<
|
|
|
22
22
|
return nextObserver;
|
|
23
23
|
},
|
|
24
24
|
});
|
|
25
|
-
return
|
|
25
|
+
return next$;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
const obs$ = execute();
|
package/src/links/loggerLink.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AnyRouter } from '@trpc/server';
|
|
2
2
|
import { TRPCClientError } from '..';
|
|
3
|
-
import { observable } from '../
|
|
4
|
-
import { tap } from '../
|
|
3
|
+
import { observable } from '../rx/observable';
|
|
4
|
+
import { tap } from '../rx/operators';
|
|
5
5
|
import { Operation, OperationResult, TRPCLink } from './types';
|
|
6
6
|
|
|
7
7
|
type ConsoleEsque = {
|
package/src/links/retryLink.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyRouter } from '@trpc/server';
|
|
2
|
-
import { observable } from '../
|
|
3
|
-
import { Unsubscribable } from '../
|
|
2
|
+
import { observable } from '../rx/observable';
|
|
3
|
+
import { Unsubscribable } from '../rx/types';
|
|
4
4
|
import { TRPCLink } from './types';
|
|
5
5
|
|
|
6
6
|
export function retryLink<TRouter extends AnyRouter = AnyRouter>(opts: {
|
|
@@ -3,7 +3,7 @@ import { AnyRouter } from '../../../server/src';
|
|
|
3
3
|
import { createChain } from '../links/internals/createChain';
|
|
4
4
|
import { splitLink } from '../links/splitLink';
|
|
5
5
|
import { OperationLink, TRPCLink } from '../links/types';
|
|
6
|
-
import { observable } from '../
|
|
6
|
+
import { observable } from '../rx';
|
|
7
7
|
|
|
8
8
|
test('splitLink', () => {
|
|
9
9
|
const wsLinkSpy = jest.fn();
|
package/src/links/splitLink.ts
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
ClientDataTransformerOptions,
|
|
4
4
|
DataTransformer,
|
|
5
5
|
} from '@trpc/server';
|
|
6
|
-
import { observable } from '../
|
|
6
|
+
import { observable } from '../rx/observable';
|
|
7
7
|
import { OperationResult, TRPCLink } from './types';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -55,19 +55,15 @@ export function transformerLink<TRouter extends AnyRouter = AnyRouter>(
|
|
|
55
55
|
return (props) => {
|
|
56
56
|
const input = _transformer.serialize(props.op.input);
|
|
57
57
|
return observable((observer) => {
|
|
58
|
-
const
|
|
58
|
+
const next$ = props.next({ ...props.op, input }).subscribe({
|
|
59
59
|
next(value) {
|
|
60
60
|
const transformed = transformOperationResult(value, _transformer);
|
|
61
61
|
observer.next(transformed);
|
|
62
62
|
},
|
|
63
|
-
error
|
|
64
|
-
|
|
65
|
-
},
|
|
66
|
-
complete() {
|
|
67
|
-
observer.complete();
|
|
68
|
-
},
|
|
63
|
+
error: observer.error,
|
|
64
|
+
complete: observer.complete,
|
|
69
65
|
});
|
|
70
|
-
return
|
|
66
|
+
return next$;
|
|
71
67
|
});
|
|
72
68
|
};
|
|
73
69
|
};
|
package/src/links/types.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyRouter, inferRouterError, Dict } from '@trpc/server';
|
|
2
2
|
import { TRPCResponse } from '@trpc/server/rpc';
|
|
3
|
-
import { Observable, Observer } from '../
|
|
3
|
+
import { Observable, Observer } from '../rx/types';
|
|
4
4
|
import { TRPCClientError } from '../TRPCClientError';
|
|
5
5
|
|
|
6
6
|
export type CancelFn = () => void;
|
package/src/links/wsLink.ts
CHANGED
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
TRPCResponse,
|
|
7
7
|
} from '@trpc/server/rpc';
|
|
8
8
|
import { retryDelay } from '../internals/retryDelay';
|
|
9
|
-
import { UnsubscribeFn } from '../
|
|
10
|
-
import { observable } from '../
|
|
9
|
+
import { UnsubscribeFn } from '../rx';
|
|
10
|
+
import { observable } from '../rx/observable';
|
|
11
11
|
import { TRPCClientError } from '../TRPCClientError';
|
|
12
12
|
import { Operation, OperationResultObserver, TRPCLink } from './types';
|
|
13
13
|
|
|
@@ -3,7 +3,7 @@ import { observable } from './observable';
|
|
|
3
3
|
import { tap } from './operators';
|
|
4
4
|
import { share } from './operators/share';
|
|
5
5
|
|
|
6
|
-
test('vanilla observable
|
|
6
|
+
test('vanilla observable', () => {
|
|
7
7
|
const obs = observable<number, Error>((observer) => {
|
|
8
8
|
observer.next(1);
|
|
9
9
|
observer.complete();
|
|
@@ -23,26 +23,6 @@ test('vanilla observable - complete()', () => {
|
|
|
23
23
|
expect(next.mock.calls[0][0]).toBe(1);
|
|
24
24
|
});
|
|
25
25
|
|
|
26
|
-
test('vanilla observable - unsubscribe()', () => {
|
|
27
|
-
const obs$ = observable<number, Error>((observer) => {
|
|
28
|
-
observer.next(1);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
const next = jest.fn();
|
|
32
|
-
const error = jest.fn();
|
|
33
|
-
const complete = jest.fn();
|
|
34
|
-
const sub = obs$.subscribe({
|
|
35
|
-
next,
|
|
36
|
-
error,
|
|
37
|
-
complete,
|
|
38
|
-
});
|
|
39
|
-
sub.unsubscribe();
|
|
40
|
-
expect(next.mock.calls).toHaveLength(1);
|
|
41
|
-
expect(complete.mock.calls).toHaveLength(0);
|
|
42
|
-
expect(error.mock.calls).toHaveLength(0);
|
|
43
|
-
expect(next.mock.calls[0][0]).toBe(1);
|
|
44
|
-
});
|
|
45
|
-
|
|
46
26
|
test('pipe - combine operators', () => {
|
|
47
27
|
const taps = {
|
|
48
28
|
next: jest.fn(),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observable/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observable.d.ts","sourceRoot":"","sources":["../../src/observable/observable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAoB,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhF,oBAAY,oBAAoB,CAAC,WAAW,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IACvE,WAAW,SAAS,UAAU,CAAC,MAAM,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAErE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EACjD,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,aAAa,GAC/D,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CA6D5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/observable/operators/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/observable/operators/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EACnD,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,GAC3D,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAoB7D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../../src/observable/operators/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAA4B,MAAM,UAAU,CAAC;AAG9E,UAAU,WAAW;CAAG;AACxB,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAElC,KAAK,CAAC,EAAE,WAAW,GAClB,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CA2D1C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../../src/observable/operators/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC1C,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAqB1C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/observable/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,WAAW,IAAI,IAAI,CAAC;CACrB;AACD,oBAAY,aAAa,GAAG,MAAM,IAAI,CAAC;AACvC,MAAM,WAAW,YAAY,CAAC,MAAM,EAAE,MAAM;IAC1C,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC;CACxE;AACD,MAAM,WAAW,UAAU,CAAC,MAAM,EAAE,MAAM,CACxC,SAAQ,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;IACpC,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,EAAE,EAAE,EACT,GAAG,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,GAC5C,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACjB,GAAG,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAC7C,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACpC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACzB,GAAG,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAC7C,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrC,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACpC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACjC,GAAG,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAC7C,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrC,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrC,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACpC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACzC,GAAG,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAC7C,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrC,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrC,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrC,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACpC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;CACvB;AACD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,WAAW,IAAI,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ,CAAC,MAAM,EAAE,MAAM;IACtC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,oBAAY,aAAa,GAEvB,cAAc,GAAG,aAAa,GAAG,IAAI,CAAC;AAExC,oBAAY,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;AAEnD,oBAAY,gBAAgB,CAC1B,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,IACT,aAAa,CACf,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,EACxC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CACvC,CAAC;AAEF,oBAAY,wBAAwB,CAAC,MAAM,EAAE,MAAM,IAAI,gBAAgB,CACrE,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,CACP,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/observable/util/identity.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAEnC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observableToPromise.d.ts","sourceRoot":"","sources":["../../../src/observable/util/observableToPromise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAK5B;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,MAAM,EACxC,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;;iBAEtB,IAAI;EAkCtB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../../src/observable/util/pipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,gBAAgB;AAChB,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAChC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC9B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAerB"}
|