@trpc/client 9.20.1 → 10.0.0-alpha.10
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-3b458753.js +27 -0
- package/dist/createChain-b7cb1f5a.mjs +25 -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 +243 -0
- package/dist/index.mjs +233 -0
- package/dist/index.ts.js +1 -0
- package/dist/{declarations/src/internals → internals}/TRPCClient.d.ts +62 -61
- package/dist/internals/TRPCClient.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/dataLoader.d.ts +16 -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/links/dedupeLink.d.ts +4 -0
- package/dist/links/dedupeLink.d.ts.map +1 -0
- package/dist/{declarations/src/links → links}/httpBatchLink.d.ts +7 -6
- package/dist/links/httpBatchLink.d.ts.map +1 -0
- package/dist/links/httpBatchLink.js +195 -0
- package/dist/links/httpBatchLink.mjs +191 -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 +107 -0
- package/dist/links/loggerLink.mjs +98 -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 +79 -0
- package/dist/links/transformerLink.mjs +71 -0
- package/dist/links/transformerLink.ts.js +1 -0
- package/dist/links/types.d.ts +39 -0
- package/dist/links/types.d.ts.map +1 -0
- package/dist/links/wsLink.d.ts +21 -0
- package/dist/links/wsLink.d.ts.map +1 -0
- package/dist/links/wsLink.js +385 -0
- package/dist/links/wsLink.mjs +370 -0
- package/dist/links/wsLink.ts.js +1 -0
- package/dist/rx.d.ts +11 -0
- package/dist/rx.d.ts.map +1 -0
- package/dist/rx.js +88 -0
- package/dist/rx.mjs +73 -0
- package/dist/rx.ts.js +1 -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 +53 -18
- package/src/TRPCClientError.ts +17 -21
- package/src/createTRPCClient.ts +4 -3
- package/src/index.ts +1 -1
- package/src/internals/TRPCClient.ts +78 -92
- package/src/internals/dataLoader.ts +1 -1
- package/src/links/dedupeLink.test.ts +134 -0
- package/src/links/dedupeLink.ts +54 -0
- package/src/links/httpBatchLink.ts +36 -46
- 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 +39 -22
- package/src/links/retryLink.ts +44 -14
- package/src/links/splitLink.test.ts +56 -0
- package/src/links/splitLink.ts +23 -38
- package/src/links/transformerLink.ts +74 -0
- package/src/links/types.ts +64 -0
- package/src/links/wsLink.ts +57 -77
- package/src/rx.ts +50 -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 -9
- 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 -15
- 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.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 +0 -30
- 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
- package/src/internals/transformRPCResponse.ts +0 -25
- package/src/links/core.ts +0 -71
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
7
|
+
var rxjs = require('rxjs');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
+
|
|
11
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
12
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
13
|
+
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
+
var palette = {
|
|
18
|
+
query: ['72e3ff', '3fb0d8'],
|
|
19
|
+
mutation: ['c5a3fc', '904dfc'],
|
|
20
|
+
subscription: ['ff49e1', 'd83fbe']
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// maybe this should be moved to it's own package
|
|
24
|
+
var defaultLogger = function defaultLogger() {
|
|
25
|
+
var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : console;
|
|
26
|
+
return function (props) {
|
|
27
|
+
var direction = props.direction,
|
|
28
|
+
input = props.input,
|
|
29
|
+
type = props.type,
|
|
30
|
+
path = props.path,
|
|
31
|
+
context = props.context,
|
|
32
|
+
id = props.id;
|
|
33
|
+
|
|
34
|
+
var _palette$type = _slicedToArray__default["default"](palette[type], 2),
|
|
35
|
+
light = _palette$type[0],
|
|
36
|
+
dark = _palette$type[1];
|
|
37
|
+
|
|
38
|
+
var css = "\n background-color: #".concat(direction === 'up' ? light : dark, "; \n color: ").concat(direction === 'up' ? 'black' : 'white', ";\n padding: 2px;\n ");
|
|
39
|
+
var parts = ['%c', direction === 'up' ? '>>' : '<<', type, "#".concat(id), "%c".concat(path, "%c"), '%O'];
|
|
40
|
+
var args = [css, "".concat(css, "; font-weight: bold;"), "".concat(css, "; font-weight: normal;")];
|
|
41
|
+
|
|
42
|
+
if (props.direction === 'up') {
|
|
43
|
+
args.push({
|
|
44
|
+
input: input,
|
|
45
|
+
context: context
|
|
46
|
+
});
|
|
47
|
+
} else {
|
|
48
|
+
args.push({
|
|
49
|
+
input: input,
|
|
50
|
+
result: props.result,
|
|
51
|
+
elapsedMs: props.elapsedMs,
|
|
52
|
+
context: context
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
var fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.data) ? 'error' : 'log';
|
|
57
|
+
c[fn].apply(null, [parts.join(' ')].concat(args));
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
function loggerLink() {
|
|
62
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
63
|
+
var _opts$enabled = opts.enabled,
|
|
64
|
+
enabled = _opts$enabled === void 0 ? function () {
|
|
65
|
+
return true;
|
|
66
|
+
} : _opts$enabled;
|
|
67
|
+
var _opts$logger = opts.logger,
|
|
68
|
+
logger = _opts$logger === void 0 ? defaultLogger(opts.console) : _opts$logger;
|
|
69
|
+
return function () {
|
|
70
|
+
return function (_ref) {
|
|
71
|
+
var op = _ref.op,
|
|
72
|
+
next = _ref.next;
|
|
73
|
+
return new rxjs.Observable(function (observer) {
|
|
74
|
+
// ->
|
|
75
|
+
enabled(_objectSpread(_objectSpread({}, op), {}, {
|
|
76
|
+
direction: 'up'
|
|
77
|
+
})) && logger(_objectSpread(_objectSpread({}, op), {}, {
|
|
78
|
+
direction: 'up'
|
|
79
|
+
}));
|
|
80
|
+
var requestStartTime = Date.now();
|
|
81
|
+
|
|
82
|
+
function logResult(result) {
|
|
83
|
+
var elapsedMs = Date.now() - requestStartTime;
|
|
84
|
+
enabled(_objectSpread(_objectSpread({}, op), {}, {
|
|
85
|
+
direction: 'down',
|
|
86
|
+
result: result
|
|
87
|
+
})) && logger(_objectSpread(_objectSpread({}, op), {}, {
|
|
88
|
+
direction: 'down',
|
|
89
|
+
elapsedMs: elapsedMs,
|
|
90
|
+
result: result
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return next(op).pipe(rxjs.tap({
|
|
95
|
+
next: function next(result) {
|
|
96
|
+
logResult(result);
|
|
97
|
+
},
|
|
98
|
+
error: function error(result) {
|
|
99
|
+
logResult(result);
|
|
100
|
+
}
|
|
101
|
+
})).subscribe(observer);
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
exports.loggerLink = loggerLink;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
|
+
import { Observable, tap } from 'rxjs';
|
|
4
|
+
|
|
5
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6
|
+
|
|
7
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
8
|
+
var palette = {
|
|
9
|
+
query: ['72e3ff', '3fb0d8'],
|
|
10
|
+
mutation: ['c5a3fc', '904dfc'],
|
|
11
|
+
subscription: ['ff49e1', 'd83fbe']
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
// maybe this should be moved to it's own package
|
|
15
|
+
var defaultLogger = function defaultLogger() {
|
|
16
|
+
var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : console;
|
|
17
|
+
return function (props) {
|
|
18
|
+
var direction = props.direction,
|
|
19
|
+
input = props.input,
|
|
20
|
+
type = props.type,
|
|
21
|
+
path = props.path,
|
|
22
|
+
context = props.context,
|
|
23
|
+
id = props.id;
|
|
24
|
+
|
|
25
|
+
var _palette$type = _slicedToArray(palette[type], 2),
|
|
26
|
+
light = _palette$type[0],
|
|
27
|
+
dark = _palette$type[1];
|
|
28
|
+
|
|
29
|
+
var css = "\n background-color: #".concat(direction === 'up' ? light : dark, "; \n color: ").concat(direction === 'up' ? 'black' : 'white', ";\n padding: 2px;\n ");
|
|
30
|
+
var parts = ['%c', direction === 'up' ? '>>' : '<<', type, "#".concat(id), "%c".concat(path, "%c"), '%O'];
|
|
31
|
+
var args = [css, "".concat(css, "; font-weight: bold;"), "".concat(css, "; font-weight: normal;")];
|
|
32
|
+
|
|
33
|
+
if (props.direction === 'up') {
|
|
34
|
+
args.push({
|
|
35
|
+
input: input,
|
|
36
|
+
context: context
|
|
37
|
+
});
|
|
38
|
+
} else {
|
|
39
|
+
args.push({
|
|
40
|
+
input: input,
|
|
41
|
+
result: props.result,
|
|
42
|
+
elapsedMs: props.elapsedMs,
|
|
43
|
+
context: context
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
var fn = props.direction === 'down' && props.result && (props.result instanceof Error || 'error' in props.result.data) ? 'error' : 'log';
|
|
48
|
+
c[fn].apply(null, [parts.join(' ')].concat(args));
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
function loggerLink() {
|
|
53
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
54
|
+
var _opts$enabled = opts.enabled,
|
|
55
|
+
enabled = _opts$enabled === void 0 ? function () {
|
|
56
|
+
return true;
|
|
57
|
+
} : _opts$enabled;
|
|
58
|
+
var _opts$logger = opts.logger,
|
|
59
|
+
logger = _opts$logger === void 0 ? defaultLogger(opts.console) : _opts$logger;
|
|
60
|
+
return function () {
|
|
61
|
+
return function (_ref) {
|
|
62
|
+
var op = _ref.op,
|
|
63
|
+
next = _ref.next;
|
|
64
|
+
return new Observable(function (observer) {
|
|
65
|
+
// ->
|
|
66
|
+
enabled(_objectSpread(_objectSpread({}, op), {}, {
|
|
67
|
+
direction: 'up'
|
|
68
|
+
})) && logger(_objectSpread(_objectSpread({}, op), {}, {
|
|
69
|
+
direction: 'up'
|
|
70
|
+
}));
|
|
71
|
+
var requestStartTime = Date.now();
|
|
72
|
+
|
|
73
|
+
function logResult(result) {
|
|
74
|
+
var elapsedMs = Date.now() - requestStartTime;
|
|
75
|
+
enabled(_objectSpread(_objectSpread({}, op), {}, {
|
|
76
|
+
direction: 'down',
|
|
77
|
+
result: result
|
|
78
|
+
})) && logger(_objectSpread(_objectSpread({}, op), {}, {
|
|
79
|
+
direction: 'down',
|
|
80
|
+
elapsedMs: elapsedMs,
|
|
81
|
+
result: result
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return next(op).pipe(tap({
|
|
86
|
+
next: function next(result) {
|
|
87
|
+
logResult(result);
|
|
88
|
+
},
|
|
89
|
+
error: function error(result) {
|
|
90
|
+
logResult(result);
|
|
91
|
+
}
|
|
92
|
+
})).subscribe(observer);
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export { loggerLink };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AnyRouter } from '@trpc/server';
|
|
2
|
+
import { TRPCLink, Operation } from './types';
|
|
3
|
+
export declare function splitLink<TRouter extends AnyRouter = AnyRouter>(opts: {
|
|
4
|
+
condition: (op: Operation) => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* The link to execute next if the test function returns `true`.
|
|
7
|
+
*/
|
|
8
|
+
true: TRPCLink<TRouter> | TRPCLink<TRouter>[];
|
|
9
|
+
/**
|
|
10
|
+
* The link to execute next if the test function returns `false`.
|
|
11
|
+
*/
|
|
12
|
+
false: TRPCLink<TRouter> | TRPCLink<TRouter>[];
|
|
13
|
+
}): TRPCLink<TRouter>;
|
|
14
|
+
//# sourceMappingURL=splitLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splitLink.d.ts","sourceRoot":"","sources":["../../src/links/splitLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAM9C,wBAAgB,SAAS,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE;IACrE,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C;;OAEG;IACH,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;CAChD,GAAG,QAAQ,CAAC,OAAO,CAAC,CAWpB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var rxjs = require('rxjs');
|
|
6
|
+
var createChain = require('../createChain-3b458753.js');
|
|
7
|
+
|
|
8
|
+
function asArray(value) {
|
|
9
|
+
return Array.isArray(value) ? value : [value];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function splitLink(opts) {
|
|
13
|
+
return function (rt) {
|
|
14
|
+
var yes = asArray(opts.true).map(function (link) {
|
|
15
|
+
return link(rt);
|
|
16
|
+
});
|
|
17
|
+
var no = asArray(opts.false).map(function (link) {
|
|
18
|
+
return link(rt);
|
|
19
|
+
});
|
|
20
|
+
return function (props) {
|
|
21
|
+
return new rxjs.Observable(function (observer) {
|
|
22
|
+
var links = opts.condition(props.op) ? yes : no;
|
|
23
|
+
return createChain.createChain({
|
|
24
|
+
op: props.op,
|
|
25
|
+
links: links
|
|
26
|
+
}).subscribe(observer);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
exports.splitLink = splitLink;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { c as createChain } from '../createChain-b7cb1f5a.mjs';
|
|
3
|
+
|
|
4
|
+
function asArray(value) {
|
|
5
|
+
return Array.isArray(value) ? value : [value];
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
function splitLink(opts) {
|
|
9
|
+
return function (rt) {
|
|
10
|
+
var yes = asArray(opts.true).map(function (link) {
|
|
11
|
+
return link(rt);
|
|
12
|
+
});
|
|
13
|
+
var no = asArray(opts.false).map(function (link) {
|
|
14
|
+
return link(rt);
|
|
15
|
+
});
|
|
16
|
+
return function (props) {
|
|
17
|
+
return new Observable(function (observer) {
|
|
18
|
+
var links = opts.condition(props.op) ? yes : no;
|
|
19
|
+
return createChain({
|
|
20
|
+
op: props.op,
|
|
21
|
+
links: links
|
|
22
|
+
}).subscribe(observer);
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { splitLink };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AnyRouter, ClientDataTransformerOptions } from '@trpc/server';
|
|
2
|
+
import { TRPCLink } from './types';
|
|
3
|
+
export declare function transformerLink<TRouter extends AnyRouter = AnyRouter>(transformer: ClientDataTransformerOptions): TRPCLink<TRouter>;
|
|
4
|
+
//# sourceMappingURL=transformerLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformerLink.d.ts","sourceRoot":"","sources":["../../src/links/transformerLink.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,4BAA4B,EAE7B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAmB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAgCpD,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EACnE,WAAW,EAAE,4BAA4B,GACxC,QAAQ,CAAC,OAAO,CAAC,CAiCnB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
var rxjs = require('rxjs');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
+
|
|
10
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
11
|
+
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
function transformOperationResult(result, transformer) {
|
|
20
|
+
if ('error' in result.data) {
|
|
21
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
22
|
+
data: _objectSpread(_objectSpread({}, result.data), {}, {
|
|
23
|
+
error: transformer.deserialize(result.data.error)
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (result.data.result.type !== 'data') {
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
33
|
+
data: _objectSpread(_objectSpread({}, result.data), {}, {
|
|
34
|
+
result: _objectSpread(_objectSpread({}, result.data.result), {}, {
|
|
35
|
+
data: transformer.deserialize(result.data.result.data)
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function transformerLink(transformer) {
|
|
42
|
+
var _transformer = transformer ? 'input' in transformer ? {
|
|
43
|
+
serialize: transformer.input.serialize,
|
|
44
|
+
deserialize: transformer.output.deserialize
|
|
45
|
+
} : transformer : {
|
|
46
|
+
serialize: function serialize(data) {
|
|
47
|
+
return data;
|
|
48
|
+
},
|
|
49
|
+
deserialize: function deserialize(data) {
|
|
50
|
+
return data;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
return function () {
|
|
55
|
+
return function (props) {
|
|
56
|
+
var input = _transformer.serialize(props.op.input);
|
|
57
|
+
|
|
58
|
+
return new rxjs.Observable(function (observer) {
|
|
59
|
+
var subscription = props.next(_objectSpread(_objectSpread({}, props.op), {}, {
|
|
60
|
+
input: input
|
|
61
|
+
})).subscribe({
|
|
62
|
+
next: function next(value) {
|
|
63
|
+
var transformed = transformOperationResult(value, _transformer);
|
|
64
|
+
observer.next(transformed);
|
|
65
|
+
},
|
|
66
|
+
error: function error(err) {
|
|
67
|
+
observer.error(err);
|
|
68
|
+
},
|
|
69
|
+
complete: function complete() {
|
|
70
|
+
observer.complete();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return subscription;
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
exports.transformerLink = transformerLink;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
|
|
4
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
+
|
|
6
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
function transformOperationResult(result, transformer) {
|
|
12
|
+
if ('error' in result.data) {
|
|
13
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
14
|
+
data: _objectSpread(_objectSpread({}, result.data), {}, {
|
|
15
|
+
error: transformer.deserialize(result.data.error)
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (result.data.result.type !== 'data') {
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
25
|
+
data: _objectSpread(_objectSpread({}, result.data), {}, {
|
|
26
|
+
result: _objectSpread(_objectSpread({}, result.data.result), {}, {
|
|
27
|
+
data: transformer.deserialize(result.data.result.data)
|
|
28
|
+
})
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function transformerLink(transformer) {
|
|
34
|
+
var _transformer = transformer ? 'input' in transformer ? {
|
|
35
|
+
serialize: transformer.input.serialize,
|
|
36
|
+
deserialize: transformer.output.deserialize
|
|
37
|
+
} : transformer : {
|
|
38
|
+
serialize: function serialize(data) {
|
|
39
|
+
return data;
|
|
40
|
+
},
|
|
41
|
+
deserialize: function deserialize(data) {
|
|
42
|
+
return data;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
return function () {
|
|
47
|
+
return function (props) {
|
|
48
|
+
var input = _transformer.serialize(props.op.input);
|
|
49
|
+
|
|
50
|
+
return new Observable(function (observer) {
|
|
51
|
+
var subscription = props.next(_objectSpread(_objectSpread({}, props.op), {}, {
|
|
52
|
+
input: input
|
|
53
|
+
})).subscribe({
|
|
54
|
+
next: function next(value) {
|
|
55
|
+
var transformed = transformOperationResult(value, _transformer);
|
|
56
|
+
observer.next(transformed);
|
|
57
|
+
},
|
|
58
|
+
error: function error(err) {
|
|
59
|
+
observer.error(err);
|
|
60
|
+
},
|
|
61
|
+
complete: function complete() {
|
|
62
|
+
observer.complete();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return subscription;
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export { transformerLink };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { AnyRouter, inferRouterError, Dict } from '@trpc/server';
|
|
2
|
+
import { TRPCResponse } from '@trpc/server/rpc';
|
|
3
|
+
import { Observable, Observer } from 'rxjs';
|
|
4
|
+
export declare type CancelFn = () => void;
|
|
5
|
+
export declare type PromiseAndCancel<TValue> = {
|
|
6
|
+
promise: Promise<TValue>;
|
|
7
|
+
cancel: CancelFn;
|
|
8
|
+
};
|
|
9
|
+
export declare type OperationContext = Record<string, unknown>;
|
|
10
|
+
export declare type Operation<TInput = unknown> = {
|
|
11
|
+
id: number;
|
|
12
|
+
type: 'query' | 'mutation' | 'subscription';
|
|
13
|
+
input: TInput;
|
|
14
|
+
path: string;
|
|
15
|
+
context?: OperationContext;
|
|
16
|
+
};
|
|
17
|
+
export declare type HTTPHeaders = Dict<string | string[]>;
|
|
18
|
+
/**
|
|
19
|
+
* The default `fetch` implementation has an overloaded signature. By convention this library
|
|
20
|
+
* only uses the overload taking a string and options object.
|
|
21
|
+
*/
|
|
22
|
+
export declare type TRPCFetch = (url: string, options?: RequestInit) => Promise<Response>;
|
|
23
|
+
export interface LinkRuntime {
|
|
24
|
+
headers: () => HTTPHeaders | Promise<HTTPHeaders>;
|
|
25
|
+
fetch: TRPCFetch;
|
|
26
|
+
AbortController?: typeof AbortController;
|
|
27
|
+
}
|
|
28
|
+
export interface OperationResult<TRouter extends AnyRouter, TOutput> {
|
|
29
|
+
data: TRPCResponse<TOutput, inferRouterError<TRouter>>;
|
|
30
|
+
context?: OperationContext;
|
|
31
|
+
}
|
|
32
|
+
export declare type OperationResultObservable<TRouter extends AnyRouter, TOutput> = Observable<OperationResult<TRouter, TOutput>>;
|
|
33
|
+
export declare type OperationResultObserver<TRouter extends AnyRouter, TOutput> = Observer<OperationResult<TRouter, TOutput>>;
|
|
34
|
+
export declare type OperationLink<TRouter extends AnyRouter, TInput = unknown, TOutput = unknown> = (opts: {
|
|
35
|
+
op: Operation<TInput>;
|
|
36
|
+
next: (op: Operation<TInput>) => OperationResultObservable<TRouter, TOutput>;
|
|
37
|
+
}) => OperationResultObservable<TRouter, TOutput>;
|
|
38
|
+
export declare type TRPCLink<TRouter extends AnyRouter> = (opts: LinkRuntime) => OperationLink<TRouter>;
|
|
39
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/links/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAE5C,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,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAElD;;;GAGG;AACH,oBAAY,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClD,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO;IACjE,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,oBAAY,yBAAyB,CACnC,OAAO,SAAS,SAAS,EACzB,OAAO,IACL,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAElD,oBAAY,uBAAuB,CACjC,OAAO,SAAS,SAAS,EACzB,OAAO,IACL,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEhD,oBAAY,aAAa,CACvB,OAAO,SAAS,SAAS,EACzB,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,IACf,CAAC,IAAI,EAAE;IACT,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CAC9E,KAAK,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAElD,oBAAY,QAAQ,CAAC,OAAO,SAAS,SAAS,IAAI,CAChD,IAAI,EAAE,WAAW,KACd,aAAa,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AnyRouter } from '@trpc/server';
|
|
2
|
+
import { retryDelay } from '../internals/retryDelay';
|
|
3
|
+
import { Operation, OperationResultObserver, TRPCLink } from './types';
|
|
4
|
+
declare type UnsubscribeFn = () => void;
|
|
5
|
+
export interface WebSocketClientOptions {
|
|
6
|
+
url: string;
|
|
7
|
+
WebSocket?: WebSocket;
|
|
8
|
+
retryDelayMs?: typeof retryDelay;
|
|
9
|
+
}
|
|
10
|
+
export declare function createWSClient(opts: WebSocketClientOptions): {
|
|
11
|
+
close: () => void;
|
|
12
|
+
request: (op: Operation, callbacks: OperationResultObserver<AnyRouter<any>, unknown>) => UnsubscribeFn;
|
|
13
|
+
getConnection(): WebSocket;
|
|
14
|
+
};
|
|
15
|
+
export declare type TRPCWebSocketClient = ReturnType<typeof createWSClient>;
|
|
16
|
+
export interface WebSocketLinkOptions {
|
|
17
|
+
client: TRPCWebSocketClient;
|
|
18
|
+
}
|
|
19
|
+
export declare function wsLink<TRouter extends AnyRouter>(opts: WebSocketLinkOptions): TRPCLink<TRouter>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=wsLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wsLink.d.ts","sourceRoot":"","sources":["../../src/links/wsLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAOxD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvE,aAAK,aAAa,GAAG,MAAM,IAAI,CAAC;AAChC,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,UAAU,CAAC;CAClC;AACD,wBAAgB,cAAc,CAAC,IAAI,EAAE,sBAAsB;;kBA8LpC,SAAS,kEAA0B,aAAa;;EAgDtE;AACD,oBAAY,mBAAmB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAiBD,wBAAgB,MAAM,CAAC,OAAO,SAAS,SAAS,EAC9C,IAAI,EAAE,oBAAoB,GACzB,QAAQ,CAAC,OAAO,CAAC,CAkDnB"}
|