@trpc/client 10.0.0-alpha.3 → 10.0.0-alpha.30
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.d.ts +3 -11
- package/dist/TRPCClientError.d.ts.map +1 -1
- package/dist/createTRPCClient.d.ts +7 -4
- package/dist/createTRPCClient.d.ts.map +1 -1
- package/dist/{httpUtils-c09d7b79.mjs → httpUtils-089853f6.mjs} +38 -30
- package/dist/{httpUtils-1f9e4e3c.js → httpUtils-a0169eef.js} +38 -29
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +257 -103
- package/dist/index.mjs +246 -95
- package/dist/internals/TRPCClient.d.ts +14 -17
- package/dist/internals/TRPCClient.d.ts.map +1 -1
- package/dist/internals/dataLoader.d.ts +7 -4
- package/dist/internals/dataLoader.d.ts.map +1 -1
- package/dist/links/dedupeLink.d.ts.map +1 -1
- package/dist/links/httpBatchLink.d.ts +5 -2
- package/dist/links/httpBatchLink.d.ts.map +1 -1
- package/dist/links/httpBatchLink.js +197 -69
- package/dist/links/httpBatchLink.mjs +197 -69
- package/dist/links/httpLink.d.ts +1 -1
- package/dist/links/httpLink.d.ts.map +1 -1
- package/dist/links/httpLink.js +5 -5
- package/dist/links/httpLink.mjs +5 -5
- package/dist/links/index.d.ts +9 -0
- package/dist/links/index.d.ts.map +1 -0
- package/dist/links/internals/httpUtils.d.ts +30 -0
- package/dist/links/internals/httpUtils.d.ts.map +1 -0
- package/dist/links/internals/transformOperationResult.d.ts +17 -3
- package/dist/links/internals/transformOperationResult.d.ts.map +1 -1
- package/dist/links/loggerLink.d.ts.map +1 -1
- package/dist/links/loggerLink.js +2 -3
- package/dist/links/loggerLink.mjs +1 -2
- package/dist/links/retryLink.d.ts.map +1 -1
- package/dist/links/splitLink.d.ts +1 -1
- package/dist/links/splitLink.d.ts.map +1 -1
- package/dist/links/splitLink.js +3 -25
- package/dist/links/splitLink.mjs +2 -28
- package/dist/links/types.d.ts +12 -9
- package/dist/links/types.d.ts.map +1 -1
- package/dist/links/wsLink.d.ts +3 -3
- package/dist/links/wsLink.d.ts.map +1 -1
- package/dist/links/wsLink.js +11 -376
- package/dist/links/wsLink.mjs +9 -369
- package/dist/splitLink-62ff9db0.mjs +49 -0
- package/dist/splitLink-8202386e.js +52 -0
- package/dist/wsLink-69f5adb8.js +451 -0
- package/dist/wsLink-9468a563.mjs +436 -0
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js +81 -15
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js +81 -15
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.esm.js +77 -15
- package/links/httpBatchLink/index.d.ts +1 -1
- package/links/httpBatchLink/index.js +1 -1
- package/links/httpLink/dist/trpc-client-links-httpLink.cjs.dev.js +76 -9
- package/links/httpLink/dist/trpc-client-links-httpLink.cjs.prod.js +76 -9
- package/links/httpLink/dist/trpc-client-links-httpLink.esm.js +72 -9
- package/links/httpLink/index.d.ts +1 -1
- package/links/httpLink/index.js +1 -1
- package/links/loggerLink/index.d.ts +1 -1
- package/links/loggerLink/index.js +1 -1
- package/links/splitLink/index.d.ts +1 -1
- package/links/splitLink/index.js +1 -1
- package/links/wsLink/dist/trpc-client-links-wsLink.cjs.dev.js +3 -1
- package/links/wsLink/dist/trpc-client-links-wsLink.cjs.prod.js +3 -1
- package/links/wsLink/dist/trpc-client-links-wsLink.esm.js +3 -1
- package/links/wsLink/index.d.ts +1 -1
- package/links/wsLink/index.js +1 -1
- package/package.json +23 -30
- package/src/TRPCClientError.ts +5 -13
- package/src/createTRPCClient.ts +57 -3
- package/src/index.ts +1 -1
- package/src/internals/TRPCClient.ts +52 -36
- package/src/internals/dataLoader.ts +120 -45
- package/src/links/dedupeLink.test.ts +1 -1
- package/src/links/dedupeLink.ts +3 -5
- package/src/links/httpBatchLink.ts +64 -31
- package/src/links/httpLink.ts +4 -4
- package/src/links/index.ts +8 -0
- package/src/links/internals/createChain.test.ts +5 -5
- package/src/links/internals/createChain.ts +3 -3
- package/src/links/internals/httpUtils.ts +116 -0
- package/src/links/internals/transformOperationResult.ts +40 -12
- package/src/links/loggerLink.ts +1 -2
- package/src/links/retryLink.ts +1 -2
- package/src/links/splitLink.test.ts +3 -3
- package/src/links/splitLink.ts +5 -5
- package/src/links/types.ts +14 -9
- package/src/links/wsLink.ts +16 -14
- package/dist/TRPCClientError-17b117e1.mjs +0 -81
- package/dist/TRPCClientError-ec6bd2ca.js +0 -94
- package/dist/createChain-389cc116.mjs +0 -25
- package/dist/createChain-864dbb30.js +0 -27
- package/dist/internals/transformRPCResponse.d.ts +0 -15
- package/dist/internals/transformRPCResponse.d.ts.map +0 -1
- package/dist/links/httpUtils.d.ts +0 -22
- package/dist/links/httpUtils.d.ts.map +0 -1
- package/dist/links/transformerLink.d.ts +0 -4
- package/dist/links/transformerLink.d.ts.map +0 -1
- package/dist/links/transformerLink.js +0 -75
- package/dist/links/transformerLink.mjs +0 -67
- package/dist/links/transformerLink.ts.js +0 -1
- package/dist/observable-7e66cb56.mjs +0 -102
- package/dist/observable-85669100.js +0 -104
- package/dist/rx/index.d.ts +0 -3
- package/dist/rx/index.d.ts.map +0 -1
- package/dist/rx/index.js +0 -9
- package/dist/rx/index.mjs +0 -1
- package/dist/rx/index.ts.js +0 -1
- package/dist/rx/observable.d.ts +0 -4
- package/dist/rx/observable.d.ts.map +0 -1
- package/dist/rx/operators/index.d.ts +0 -4
- package/dist/rx/operators/index.d.ts.map +0 -1
- package/dist/rx/operators/index.js +0 -38
- package/dist/rx/operators/index.mjs +0 -32
- package/dist/rx/operators/index.ts.js +0 -1
- package/dist/rx/operators/map.d.ts +0 -3
- package/dist/rx/operators/map.d.ts.map +0 -1
- package/dist/rx/operators/share.d.ts +0 -6
- package/dist/rx/operators/share.d.ts.map +0 -1
- package/dist/rx/operators/tap.d.ts +0 -3
- package/dist/rx/operators/tap.d.ts.map +0 -1
- package/dist/rx/types.d.ts +0 -29
- package/dist/rx/types.d.ts.map +0 -1
- package/dist/rx/util/identity.d.ts +0 -2
- package/dist/rx/util/identity.d.ts.map +0 -1
- package/dist/rx/util/observableToPromise.d.ts +0 -10
- package/dist/rx/util/observableToPromise.d.ts.map +0 -1
- package/dist/rx/util/pipe.d.ts +0 -4
- package/dist/rx/util/pipe.d.ts.map +0 -1
- package/dist/share-4d79dc49.js +0 -110
- package/dist/share-671b63fa.mjs +0 -108
- package/dist/tap-538fa07f.mjs +0 -30
- package/dist/tap-799a2d33.js +0 -32
- 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/transformerLink/index.d.ts +0 -1
- package/links/transformerLink/index.js +0 -1
- package/rx/dist/trpc-client-rx.cjs.d.ts +0 -1
- package/rx/dist/trpc-client-rx.cjs.dev.js +0 -9
- package/rx/dist/trpc-client-rx.cjs.js +0 -7
- package/rx/dist/trpc-client-rx.cjs.prod.js +0 -9
- package/rx/dist/trpc-client-rx.esm.js +0 -1
- package/rx/index.d.ts +0 -1
- package/rx/index.js +0 -1
- package/rx/operators/dist/trpc-client-rx-operators.cjs.d.ts +0 -1
- package/rx/operators/dist/trpc-client-rx-operators.cjs.dev.js +0 -39
- package/rx/operators/dist/trpc-client-rx-operators.cjs.js +0 -7
- package/rx/operators/dist/trpc-client-rx-operators.cjs.prod.js +0 -39
- package/rx/operators/dist/trpc-client-rx-operators.esm.js +0 -33
- package/rx/operators/index.d.ts +0 -1
- package/rx/operators/index.js +0 -1
- package/src/internals/transformRPCResponse.ts +0 -25
- package/src/links/httpUtils.ts +0 -94
- package/src/links/transformerLink.ts +0 -70
- package/src/rx/index.ts +0 -2
- package/src/rx/observable.test.ts +0 -83
- package/src/rx/observable.ts +0 -70
- package/src/rx/operators/index.ts +0 -3
- package/src/rx/operators/map.test.ts +0 -92
- package/src/rx/operators/map.ts +0 -25
- package/src/rx/operators/share.test.ts +0 -60
- package/src/rx/operators/share.ts +0 -67
- package/src/rx/operators/tap.ts +0 -26
- package/src/rx/types.ts +0 -69
- package/src/rx/util/identity.ts +0 -3
- package/src/rx/util/observableToPromise.ts +0 -49
- package/src/rx/util/pipe.ts +0 -22
package/dist/index.js
CHANGED
|
@@ -2,30 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
5
6
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
6
7
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
8
|
+
var observable = require('@trpc/server/observable');
|
|
9
|
+
var links_wsLink = require('./wsLink-69f5adb8.js');
|
|
7
10
|
var links_httpBatchLink = require('./links/httpBatchLink.js');
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
require('./
|
|
17
|
-
require('./
|
|
18
|
-
require('
|
|
11
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
12
|
+
require('@babel/runtime/helpers/slicedToArray');
|
|
13
|
+
var links_splitLink = require('./splitLink-8202386e.js');
|
|
14
|
+
require('@babel/runtime/helpers/assertThisInitialized');
|
|
15
|
+
require('@babel/runtime/helpers/inherits');
|
|
16
|
+
require('@babel/runtime/helpers/possibleConstructorReturn');
|
|
17
|
+
require('@babel/runtime/helpers/getPrototypeOf');
|
|
18
|
+
require('@babel/runtime/helpers/wrapNativeSuper');
|
|
19
|
+
var links_httpLink = require('./links/httpLink.js');
|
|
20
|
+
var links_loggerLink = require('./links/loggerLink.js');
|
|
21
|
+
require('./httpUtils-a0169eef.js');
|
|
19
22
|
|
|
20
23
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
24
|
|
|
25
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
22
26
|
var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
|
|
23
27
|
var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
|
|
24
|
-
var
|
|
25
|
-
var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
|
|
26
|
-
var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
|
|
27
|
-
var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
|
|
28
|
-
var _wrapNativeSuper__default = /*#__PURE__*/_interopDefaultLegacy(_wrapNativeSuper);
|
|
28
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
29
29
|
|
|
30
30
|
function getWindow() {
|
|
31
31
|
if (typeof window !== 'undefined') {
|
|
@@ -53,12 +53,133 @@ function getFetch(f) {
|
|
|
53
53
|
throw new Error('No fetch implementation found');
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
function dedupeLink() {
|
|
57
|
+
// initialized config
|
|
58
|
+
return function () {
|
|
59
|
+
// initialized in app
|
|
60
|
+
var pending = {};
|
|
61
|
+
return function (_ref) {
|
|
62
|
+
var op = _ref.op,
|
|
63
|
+
next = _ref.next;
|
|
64
|
+
|
|
65
|
+
// initialized for request
|
|
66
|
+
if (op.type !== 'query') {
|
|
67
|
+
// pass through
|
|
68
|
+
return next(op);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
var key = JSON.stringify([op.path, op.input]);
|
|
72
|
+
|
|
73
|
+
if (pending[key]) {
|
|
74
|
+
// console.log('hooking into pending', { op });
|
|
75
|
+
return observable.observable(function (observer) {
|
|
76
|
+
return pending[key].subscribe(observer);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
var shared$ = observable.observable(function (observer) {
|
|
81
|
+
function reset() {
|
|
82
|
+
delete pending[key];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
var subscription = next(op).subscribe({
|
|
86
|
+
next: function next(v) {
|
|
87
|
+
observer.next(v);
|
|
88
|
+
},
|
|
89
|
+
error: function error(e) {
|
|
90
|
+
reset();
|
|
91
|
+
observer.error(e);
|
|
92
|
+
},
|
|
93
|
+
complete: function complete() {
|
|
94
|
+
reset();
|
|
95
|
+
observer.complete();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
return function () {
|
|
99
|
+
reset();
|
|
100
|
+
subscription.unsubscribe();
|
|
101
|
+
};
|
|
102
|
+
}).pipe(observable.share());
|
|
103
|
+
pending[key] = shared$;
|
|
104
|
+
return shared$;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function retryLink(opts) {
|
|
110
|
+
// initialized config
|
|
111
|
+
return function () {
|
|
112
|
+
// initialized in app
|
|
113
|
+
return function (_ref) {
|
|
114
|
+
var op = _ref.op,
|
|
115
|
+
next = _ref.next;
|
|
116
|
+
// initialized for request
|
|
117
|
+
return observable.observable(function (observer) {
|
|
118
|
+
var next$ = null;
|
|
119
|
+
var attempts = 0;
|
|
120
|
+
var isDone = false;
|
|
121
|
+
|
|
122
|
+
function attempt() {
|
|
123
|
+
var _next$;
|
|
124
|
+
|
|
125
|
+
attempts++;
|
|
126
|
+
(_next$ = next$) === null || _next$ === void 0 ? void 0 : _next$.unsubscribe();
|
|
127
|
+
next$ = next(op).subscribe({
|
|
128
|
+
error: function error(_error) {
|
|
129
|
+
if (attempts >= opts.attempts) {
|
|
130
|
+
observer.error(_error);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
attempt();
|
|
135
|
+
},
|
|
136
|
+
next: function next(result) {
|
|
137
|
+
if ('result' in result.data) {
|
|
138
|
+
isDone = true;
|
|
139
|
+
observer.next(result);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (attempts >= opts.attempts) {
|
|
144
|
+
isDone = true;
|
|
145
|
+
observer.next(result);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
attempt();
|
|
150
|
+
},
|
|
151
|
+
complete: function complete() {
|
|
152
|
+
if (isDone) {
|
|
153
|
+
observer.complete();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
attempt();
|
|
160
|
+
return function () {
|
|
161
|
+
var _next$2;
|
|
162
|
+
|
|
163
|
+
isDone = true;
|
|
164
|
+
(_next$2 = next$) === null || _next$2 === void 0 ? void 0 : _next$2.unsubscribe();
|
|
165
|
+
};
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
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; }
|
|
172
|
+
|
|
173
|
+
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; }
|
|
174
|
+
|
|
56
175
|
/** @internal */
|
|
57
|
-
function transformOperationResult(result) {
|
|
176
|
+
function transformOperationResult(result, runtime) {
|
|
58
177
|
var context = result.context;
|
|
59
178
|
|
|
60
179
|
if ('error' in result.data) {
|
|
61
|
-
var error =
|
|
180
|
+
var error = links_wsLink.TRPCClientError.from(_objectSpread(_objectSpread({}, result.data), {}, {
|
|
181
|
+
error: runtime.transformer.deserialize(result.data.error)
|
|
182
|
+
}));
|
|
62
183
|
return {
|
|
63
184
|
ok: false,
|
|
64
185
|
error: error,
|
|
@@ -66,75 +187,39 @@ function transformOperationResult(result) {
|
|
|
66
187
|
};
|
|
67
188
|
}
|
|
68
189
|
|
|
69
|
-
var data = result.data.result.data;
|
|
190
|
+
var data = runtime.transformer.deserialize(result.data.result.data);
|
|
70
191
|
return {
|
|
71
192
|
ok: true,
|
|
72
193
|
data: data,
|
|
73
194
|
context: context
|
|
74
195
|
};
|
|
75
196
|
}
|
|
76
|
-
|
|
77
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
|
|
78
|
-
|
|
79
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
80
|
-
|
|
81
|
-
var ObservableAbortError = /*#__PURE__*/function (_Error) {
|
|
82
|
-
_inherits__default["default"](ObservableAbortError, _Error);
|
|
83
|
-
|
|
84
|
-
var _super = /*#__PURE__*/_createSuper(ObservableAbortError);
|
|
85
|
-
|
|
86
|
-
function ObservableAbortError(message) {
|
|
87
|
-
var _this;
|
|
88
|
-
|
|
89
|
-
_classCallCheck__default["default"](this, ObservableAbortError);
|
|
90
|
-
|
|
91
|
-
_this = _super.call(this, message);
|
|
92
|
-
_this.name = 'ObservableAbortError';
|
|
93
|
-
Object.setPrototypeOf(_assertThisInitialized__default["default"](_this), ObservableAbortError.prototype);
|
|
94
|
-
return _this;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return ObservableAbortError;
|
|
98
|
-
}( /*#__PURE__*/_wrapNativeSuper__default["default"](Error));
|
|
99
197
|
/** @internal */
|
|
100
198
|
|
|
101
|
-
function
|
|
102
|
-
var
|
|
103
|
-
var promise = new Promise(function (resolve, reject) {
|
|
104
|
-
var isDone = false;
|
|
105
|
-
|
|
106
|
-
function onDone() {
|
|
107
|
-
if (isDone) {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
isDone = true;
|
|
112
|
-
reject(new ObservableAbortError('This operation was cancelled.'));
|
|
113
|
-
obs$.unsubscribe();
|
|
114
|
-
}
|
|
199
|
+
function transformSubscriptionOperationResult(result, runtime) {
|
|
200
|
+
var context = result.context;
|
|
115
201
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
},
|
|
122
|
-
error: function error(data) {
|
|
123
|
-
isDone = true;
|
|
124
|
-
reject(data);
|
|
125
|
-
onDone();
|
|
126
|
-
},
|
|
127
|
-
complete: function complete() {
|
|
128
|
-
isDone = true;
|
|
129
|
-
onDone();
|
|
130
|
-
}
|
|
202
|
+
if ('error' in result.data) {
|
|
203
|
+
var error = links_wsLink.TRPCClientError.from(_objectSpread(_objectSpread({}, result.data), {}, {
|
|
204
|
+
error: runtime.transformer.deserialize(result.data.error)
|
|
205
|
+
}), {
|
|
206
|
+
meta: context
|
|
131
207
|
});
|
|
132
|
-
|
|
208
|
+
return {
|
|
209
|
+
ok: false,
|
|
210
|
+
error: error,
|
|
211
|
+
context: context
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
var data = _objectSpread(_objectSpread({}, result.data.result), result.data.result.type === 'data' && {
|
|
216
|
+
data: runtime.transformer.deserialize(result.data.result.data)
|
|
133
217
|
});
|
|
218
|
+
|
|
134
219
|
return {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
220
|
+
ok: true,
|
|
221
|
+
data: data,
|
|
222
|
+
context: context
|
|
138
223
|
};
|
|
139
224
|
}
|
|
140
225
|
|
|
@@ -170,10 +255,22 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
170
255
|
};
|
|
171
256
|
}
|
|
172
257
|
|
|
258
|
+
var transformer = opts.transformer ? 'input' in opts.transformer ? {
|
|
259
|
+
serialize: opts.transformer.input.serialize,
|
|
260
|
+
deserialize: opts.transformer.output.deserialize
|
|
261
|
+
} : opts.transformer : {
|
|
262
|
+
serialize: function serialize(data) {
|
|
263
|
+
return data;
|
|
264
|
+
},
|
|
265
|
+
deserialize: function deserialize(data) {
|
|
266
|
+
return data;
|
|
267
|
+
}
|
|
268
|
+
};
|
|
173
269
|
this.runtime = {
|
|
174
270
|
AbortController: AC,
|
|
175
271
|
fetch: _fetch,
|
|
176
|
-
headers: getHeadersFn()
|
|
272
|
+
headers: getHeadersFn(),
|
|
273
|
+
transformer: transformer
|
|
177
274
|
};
|
|
178
275
|
|
|
179
276
|
if ('links' in opts) {
|
|
@@ -195,7 +292,7 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
195
292
|
path = _ref.path,
|
|
196
293
|
_ref$context = _ref.context,
|
|
197
294
|
context = _ref$context === void 0 ? {} : _ref$context;
|
|
198
|
-
var chain$ =
|
|
295
|
+
var chain$ = links_splitLink.createChain({
|
|
199
296
|
links: this.links,
|
|
200
297
|
op: {
|
|
201
298
|
id: getRequestId(),
|
|
@@ -205,20 +302,22 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
205
302
|
context: context
|
|
206
303
|
}
|
|
207
304
|
});
|
|
208
|
-
return chain$.pipe(
|
|
305
|
+
return chain$.pipe(observable.share());
|
|
209
306
|
}
|
|
210
307
|
}, {
|
|
211
308
|
key: "requestAsPromise",
|
|
212
309
|
value: function requestAsPromise(opts) {
|
|
310
|
+
var _this2 = this;
|
|
311
|
+
|
|
213
312
|
var req$ = this.$request(opts);
|
|
214
313
|
|
|
215
|
-
var _observableToPromise = observableToPromise(req$),
|
|
314
|
+
var _observableToPromise = observable.observableToPromise(req$),
|
|
216
315
|
promise = _observableToPromise.promise,
|
|
217
316
|
abort = _observableToPromise.abort;
|
|
218
317
|
|
|
219
318
|
var cancellablePromise = new Promise(function (resolve, reject) {
|
|
220
319
|
promise.then(function (result) {
|
|
221
|
-
var transformed = transformOperationResult(result);
|
|
320
|
+
var transformed = transformOperationResult(result, _this2.runtime);
|
|
222
321
|
|
|
223
322
|
if (transformed.ok) {
|
|
224
323
|
resolve(transformed.data);
|
|
@@ -227,7 +326,7 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
227
326
|
|
|
228
327
|
reject(transformed.error);
|
|
229
328
|
}).catch(function (err) {
|
|
230
|
-
reject(
|
|
329
|
+
reject(links_wsLink.TRPCClientError.from(err));
|
|
231
330
|
});
|
|
232
331
|
});
|
|
233
332
|
cancellablePromise.cancel = abort;
|
|
@@ -236,26 +335,34 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
236
335
|
}, {
|
|
237
336
|
key: "query",
|
|
238
337
|
value: function query(path) {
|
|
239
|
-
var
|
|
338
|
+
var _args$;
|
|
240
339
|
|
|
241
|
-
var
|
|
340
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
341
|
+
args[_key - 1] = arguments[_key];
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
var context = (_args$ = args[1]) === null || _args$ === void 0 ? void 0 : _args$.context;
|
|
242
345
|
return this.requestAsPromise({
|
|
243
346
|
type: 'query',
|
|
244
347
|
path: path,
|
|
245
|
-
input:
|
|
348
|
+
input: args[0],
|
|
246
349
|
context: context
|
|
247
350
|
});
|
|
248
351
|
}
|
|
249
352
|
}, {
|
|
250
353
|
key: "mutation",
|
|
251
354
|
value: function mutation(path) {
|
|
252
|
-
var
|
|
355
|
+
var _args$2;
|
|
253
356
|
|
|
254
|
-
var
|
|
357
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
358
|
+
args[_key2 - 1] = arguments[_key2];
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
var context = (_args$2 = args[1]) === null || _args$2 === void 0 ? void 0 : _args$2.context;
|
|
255
362
|
return this.requestAsPromise({
|
|
256
363
|
type: 'mutation',
|
|
257
364
|
path: path,
|
|
258
|
-
input:
|
|
365
|
+
input: args[0],
|
|
259
366
|
context: context
|
|
260
367
|
});
|
|
261
368
|
}
|
|
@@ -268,21 +375,21 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
268
375
|
input: input,
|
|
269
376
|
context: opts.context
|
|
270
377
|
});
|
|
271
|
-
var
|
|
378
|
+
var runtime = this.runtime;
|
|
379
|
+
return observable$.subscribe({
|
|
272
380
|
next: function next(result) {
|
|
273
|
-
var _opts$
|
|
381
|
+
var _opts$error;
|
|
382
|
+
|
|
383
|
+
var transformed = transformSubscriptionOperationResult(result, runtime);
|
|
274
384
|
|
|
275
|
-
if (
|
|
276
|
-
var _opts$
|
|
385
|
+
if (transformed.ok) {
|
|
386
|
+
var _opts$next;
|
|
277
387
|
|
|
278
|
-
|
|
279
|
-
meta: result.context
|
|
280
|
-
});
|
|
281
|
-
(_opts$error = opts.error) === null || _opts$error === void 0 ? void 0 : _opts$error.call(opts, err);
|
|
388
|
+
(_opts$next = opts.next) === null || _opts$next === void 0 ? void 0 : _opts$next.call(opts, transformed.data);
|
|
282
389
|
return;
|
|
283
390
|
}
|
|
284
391
|
|
|
285
|
-
(_opts$
|
|
392
|
+
(_opts$error = opts.error) === null || _opts$error === void 0 ? void 0 : _opts$error.call(opts, transformed.error);
|
|
286
393
|
},
|
|
287
394
|
error: function error(err) {
|
|
288
395
|
var _opts$error2;
|
|
@@ -295,20 +402,67 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
295
402
|
(_opts$complete = opts.complete) === null || _opts$complete === void 0 ? void 0 : _opts$complete.call(opts);
|
|
296
403
|
}
|
|
297
404
|
});
|
|
298
|
-
return function () {
|
|
299
|
-
observer.unsubscribe();
|
|
300
|
-
};
|
|
301
405
|
}
|
|
302
406
|
}]);
|
|
303
407
|
|
|
304
408
|
return TRPCClient;
|
|
305
409
|
}();
|
|
306
410
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
411
|
+
function makeProxy(client) {
|
|
412
|
+
for (var _len = arguments.length, path = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
413
|
+
path[_key - 1] = arguments[_key];
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
var proxy = new Proxy(function () {// noop
|
|
417
|
+
}, {
|
|
418
|
+
get: function get(_obj, name) {
|
|
419
|
+
if (name in client && !path.length) {
|
|
420
|
+
return client[name];
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
if (typeof name === 'string') {
|
|
424
|
+
return makeProxy.apply(void 0, [client].concat(path, [name]));
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
return client;
|
|
428
|
+
},
|
|
429
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
430
|
+
apply: function apply(_1, _2, args) {
|
|
431
|
+
var _ref;
|
|
432
|
+
|
|
433
|
+
var pathCopy = [].concat(path);
|
|
434
|
+
var type = pathCopy.pop();
|
|
435
|
+
|
|
436
|
+
if (type === 'mutate') {
|
|
437
|
+
type = 'mutation';
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
var fullPath = pathCopy.join('.');
|
|
441
|
+
|
|
442
|
+
if (type.startsWith('use')) {
|
|
443
|
+
throw new Error("Invalid hook call");
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
return (_ref = client)[type].apply(_ref, [fullPath].concat(_toConsumableArray__default["default"](args)));
|
|
447
|
+
}
|
|
448
|
+
});
|
|
449
|
+
return proxy;
|
|
310
450
|
}
|
|
311
451
|
|
|
312
|
-
|
|
452
|
+
function createTRPCClient(opts) {
|
|
453
|
+
var client = new TRPCClient(opts); // Here we need to wrap the client in a Proxy to be able to call deep objects and translate them to `client.query`-calls
|
|
454
|
+
|
|
455
|
+
return makeProxy(client);
|
|
456
|
+
} // Also the client created above needs to somehow be like `TRPCClient<Router> & Omit<Router, 'createCaller' | 'createProcedure' | '_def' | 'transformer' | 'errorFormatter' | 'getErrorShape>`
|
|
457
|
+
|
|
458
|
+
exports.TRPCClientError = links_wsLink.TRPCClientError;
|
|
459
|
+
exports.createWSClient = links_wsLink.createWSClient;
|
|
460
|
+
exports.wsLink = links_wsLink.wsLink;
|
|
461
|
+
exports.httpBatchLink = links_httpBatchLink.httpBatchLink;
|
|
462
|
+
exports.splitLink = links_splitLink.splitLink;
|
|
463
|
+
exports.httpLink = links_httpLink.httpLink;
|
|
464
|
+
exports.loggerLink = links_loggerLink.loggerLink;
|
|
313
465
|
exports.createTRPCClient = createTRPCClient;
|
|
466
|
+
exports.dedupeLink = dedupeLink;
|
|
314
467
|
exports.getFetch = getFetch;
|
|
468
|
+
exports.retryLink = retryLink;
|