@trpc/client 10.0.0-alpha.20 → 10.0.0-alpha.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +329 -275
- package/dist/index.mjs +317 -262
- package/dist/internals/TRPCClient.d.ts +12 -7
- package/dist/internals/TRPCClient.d.ts.map +1 -1
- package/dist/internals/dataLoader.d.ts +7 -6
- package/dist/internals/dataLoader.d.ts.map +1 -1
- package/dist/links/dedupeLink.d.ts.map +1 -1
- package/dist/links/httpBatchLink.d.ts +1 -1
- package/dist/links/httpBatchLink.d.ts.map +1 -1
- package/dist/links/index.d.ts +0 -2
- package/dist/links/index.d.ts.map +1 -1
- package/dist/links/internals/httpUtils.d.ts +15 -7
- package/dist/links/internals/httpUtils.d.ts.map +1 -1
- package/dist/links/internals/transformOperationResult.d.ts +17 -3
- package/dist/links/internals/transformOperationResult.d.ts.map +1 -1
- package/dist/links/loggerLink.d.ts.map +1 -1
- package/dist/links/retryLink.d.ts.map +1 -1
- package/dist/links/types.d.ts +10 -7
- package/dist/links/types.d.ts.map +1 -1
- package/dist/links/wsLink.d.ts +1 -1
- package/dist/links/wsLink.d.ts.map +1 -1
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.dev.js +4 -4
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.cjs.prod.js +4 -4
- package/links/httpBatchLink/dist/trpc-client-links-httpBatchLink.esm.js +4 -4
- package/links/wsLink/dist/trpc-client-links-wsLink.cjs.dev.js +2 -0
- package/links/wsLink/dist/trpc-client-links-wsLink.cjs.prod.js +2 -0
- package/links/wsLink/dist/trpc-client-links-wsLink.esm.js +2 -0
- package/package.json +13 -11
- package/src/internals/TRPCClient.ts +48 -24
- package/src/internals/dataLoader.ts +116 -53
- package/src/links/dedupeLink.test.ts +1 -1
- package/src/links/dedupeLink.ts +1 -2
- package/src/links/httpBatchLink.ts +54 -31
- package/src/links/httpLink.ts +3 -3
- package/src/links/index.ts +0 -2
- package/src/links/internals/createChain.test.ts +1 -1
- package/src/links/internals/createChain.ts +1 -1
- package/src/links/internals/httpUtils.ts +52 -31
- package/src/links/internals/transformOperationResult.ts +40 -12
- package/src/links/loggerLink.ts +1 -1
- package/src/links/retryLink.ts +1 -2
- package/src/links/splitLink.test.ts +1 -1
- package/src/links/splitLink.ts +4 -4
- package/src/links/types.ts +12 -7
- package/src/links/wsLink.ts +13 -10
- package/dist/links/transformerLink.d.ts +0 -4
- package/dist/links/transformerLink.d.ts.map +0 -1
- package/dist/observable/index.d.ts +0 -4
- package/dist/observable/index.d.ts.map +0 -1
- package/dist/observable/index.js +0 -38
- package/dist/observable/index.mjs +0 -31
- package/dist/observable/index.ts.js +0 -1
- package/dist/observable/internals/identity.d.ts +0 -2
- package/dist/observable/internals/identity.d.ts.map +0 -1
- package/dist/observable/internals/observableToPromise.d.ts +0 -10
- package/dist/observable/internals/observableToPromise.d.ts.map +0 -1
- package/dist/observable/internals/pipe.d.ts +0 -4
- package/dist/observable/internals/pipe.d.ts.map +0 -1
- package/dist/observable/observable.d.ts +0 -4
- package/dist/observable/observable.d.ts.map +0 -1
- package/dist/observable/operators/index.d.ts +0 -4
- package/dist/observable/operators/index.d.ts.map +0 -1
- package/dist/observable/operators/map.d.ts +0 -3
- package/dist/observable/operators/map.d.ts.map +0 -1
- package/dist/observable/operators/share.d.ts +0 -6
- package/dist/observable/operators/share.d.ts.map +0 -1
- package/dist/observable/operators/tap.d.ts +0 -3
- package/dist/observable/operators/tap.d.ts.map +0 -1
- package/dist/observable/types.d.ts +0 -29
- package/dist/observable/types.d.ts.map +0 -1
- package/dist/tap-0dcdee86.js +0 -243
- package/dist/tap-136a9a90.mjs +0 -239
- package/observable/dist/trpc-client-rx.cjs.d.ts +0 -1
- package/observable/dist/trpc-client-rx.cjs.dev.js +0 -9
- package/observable/dist/trpc-client-rx.cjs.js +0 -7
- package/observable/dist/trpc-client-rx.cjs.prod.js +0 -9
- package/observable/dist/trpc-client-rx.esm.js +0 -1
- package/observable/index.d.ts +0 -1
- package/observable/index.js +0 -1
- package/src/links/transformerLink.ts +0 -74
- package/src/observable/index.ts +0 -3
- package/src/observable/internals/identity.ts +0 -3
- package/src/observable/internals/observableToPromise.ts +0 -49
- package/src/observable/internals/pipe.ts +0 -22
- package/src/observable/observable.test.ts +0 -101
- package/src/observable/observable.ts +0 -70
- package/src/observable/operators/index.ts +0 -3
- package/src/observable/operators/map.test.ts +0 -92
- package/src/observable/operators/map.ts +0 -25
- package/src/observable/operators/share.test.ts +0 -60
- package/src/observable/operators/share.ts +0 -67
- package/src/observable/operators/tap.ts +0 -26
- package/src/observable/types.ts +0 -69
package/dist/index.js
CHANGED
|
@@ -4,13 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
6
6
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
7
|
+
var observable = require('@trpc/server/observable');
|
|
7
8
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
8
9
|
var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');
|
|
9
10
|
var _inherits = require('@babel/runtime/helpers/inherits');
|
|
10
11
|
var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
|
|
11
12
|
var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
|
|
12
13
|
var _wrapNativeSuper = require('@babel/runtime/helpers/wrapNativeSuper');
|
|
13
|
-
var tap = require('./tap-0dcdee86.js');
|
|
14
14
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
15
15
|
|
|
16
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -29,14 +29,14 @@ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if
|
|
|
29
29
|
|
|
30
30
|
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
31
|
|
|
32
|
-
function _createSuper$
|
|
32
|
+
function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); 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); }; }
|
|
33
33
|
|
|
34
|
-
function _isNativeReflectConstruct$
|
|
34
|
+
function _isNativeReflectConstruct$1() { 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; } }
|
|
35
35
|
|
|
36
36
|
var TRPCClientError = /*#__PURE__*/function (_Error) {
|
|
37
37
|
_inherits__default["default"](TRPCClientError, _Error);
|
|
38
38
|
|
|
39
|
-
var _super = /*#__PURE__*/_createSuper$
|
|
39
|
+
var _super = /*#__PURE__*/_createSuper$1(TRPCClientError);
|
|
40
40
|
|
|
41
41
|
function TRPCClientError(message, opts) {
|
|
42
42
|
var _opts$result, _opts$result2;
|
|
@@ -137,12 +137,12 @@ function dedupeLink() {
|
|
|
137
137
|
|
|
138
138
|
if (pending[key]) {
|
|
139
139
|
// console.log('hooking into pending', { op });
|
|
140
|
-
return
|
|
140
|
+
return observable.observable(function (observer) {
|
|
141
141
|
return pending[key].subscribe(observer);
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
var shared$ =
|
|
145
|
+
var shared$ = observable.observable(function (observer) {
|
|
146
146
|
function reset() {
|
|
147
147
|
delete pending[key];
|
|
148
148
|
}
|
|
@@ -164,7 +164,7 @@ function dedupeLink() {
|
|
|
164
164
|
reset();
|
|
165
165
|
subscription.unsubscribe();
|
|
166
166
|
};
|
|
167
|
-
}).pipe(
|
|
167
|
+
}).pipe(observable.share());
|
|
168
168
|
pending[key] = shared$;
|
|
169
169
|
return shared$;
|
|
170
170
|
};
|
|
@@ -177,81 +177,174 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
177
177
|
|
|
178
178
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
179
179
|
|
|
180
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* A function that should never be called unless we messed something up.
|
|
184
|
+
*/
|
|
185
|
+
var throwFatalError = function throwFatalError() {
|
|
186
|
+
throw new Error('Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new');
|
|
187
|
+
};
|
|
180
188
|
/**
|
|
181
189
|
* Dataloader that's very inspired by https://github.com/graphql/dataloader
|
|
182
190
|
* Less configuration, no caching, and allows you to cancel requests
|
|
183
191
|
* When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled
|
|
184
192
|
*/
|
|
185
|
-
|
|
186
|
-
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
function dataLoader(batchLoader) {
|
|
196
|
+
var pendingItems = null;
|
|
187
197
|
var dispatchTimer = null;
|
|
188
198
|
|
|
189
|
-
var
|
|
199
|
+
var destroyTimerAndPendingItems = function destroyTimerAndPendingItems() {
|
|
190
200
|
clearTimeout(dispatchTimer);
|
|
191
201
|
dispatchTimer = null;
|
|
192
|
-
|
|
202
|
+
pendingItems = null;
|
|
193
203
|
};
|
|
204
|
+
/**
|
|
205
|
+
* Iterate through the items and split them into groups based on the `batchLoader`'s validate function
|
|
206
|
+
*/
|
|
194
207
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
var
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
batchCopy.cancel = cancel;
|
|
207
|
-
promise.then(function (result) {
|
|
208
|
-
for (var i = 0; i < result.length; i++) {
|
|
209
|
-
var _value = result[i];
|
|
210
|
-
batchCopy.items[i].resolve(_value);
|
|
208
|
+
|
|
209
|
+
function groupItems(items) {
|
|
210
|
+
var groupedItems = [[]];
|
|
211
|
+
var index = 0;
|
|
212
|
+
|
|
213
|
+
while (true) {
|
|
214
|
+
var item = items[index];
|
|
215
|
+
|
|
216
|
+
if (!item) {
|
|
217
|
+
// we're done
|
|
218
|
+
break;
|
|
211
219
|
}
|
|
212
|
-
|
|
213
|
-
var
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}
|
|
221
|
-
} catch (err) {
|
|
222
|
-
_iterator.e(err);
|
|
223
|
-
} finally {
|
|
224
|
-
_iterator.f();
|
|
220
|
+
|
|
221
|
+
var lastGroup = groupedItems[groupedItems.length - 1];
|
|
222
|
+
|
|
223
|
+
if (item.aborted) {
|
|
224
|
+
// Item was aborted before it was dispatched
|
|
225
|
+
item.reject(new Error('Aborted'));
|
|
226
|
+
index++;
|
|
227
|
+
continue;
|
|
225
228
|
}
|
|
226
|
-
|
|
229
|
+
|
|
230
|
+
var isValid = batchLoader.validate(lastGroup.concat(item).map(function (it) {
|
|
231
|
+
return it.key;
|
|
232
|
+
}));
|
|
233
|
+
|
|
234
|
+
if (isValid) {
|
|
235
|
+
lastGroup.push(item);
|
|
236
|
+
index++;
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
if (lastGroup.length === 0) {
|
|
241
|
+
item.reject(new Error('Input is too big for a single dispatch'));
|
|
242
|
+
index++;
|
|
243
|
+
continue;
|
|
244
|
+
} // Create new group, next iteration will try to add the item to that
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
groupedItems.push([]);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return groupedItems;
|
|
227
251
|
}
|
|
228
252
|
|
|
229
|
-
function
|
|
230
|
-
var
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
253
|
+
function dispatch() {
|
|
254
|
+
var groupedItems = groupItems(pendingItems);
|
|
255
|
+
destroyTimerAndPendingItems(); // Create batches for each group of items
|
|
256
|
+
|
|
257
|
+
var _iterator = _createForOfIteratorHelper(groupedItems),
|
|
258
|
+
_step;
|
|
259
|
+
|
|
260
|
+
try {
|
|
261
|
+
var _loop = function _loop() {
|
|
262
|
+
var items = _step.value;
|
|
263
|
+
|
|
264
|
+
if (!items.length) {
|
|
265
|
+
return "continue";
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
var batch = {
|
|
269
|
+
items: items,
|
|
270
|
+
cancel: throwFatalError
|
|
271
|
+
};
|
|
234
272
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
273
|
+
var _iterator2 = _createForOfIteratorHelper(items),
|
|
274
|
+
_step2;
|
|
275
|
+
|
|
276
|
+
try {
|
|
277
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
278
|
+
var item = _step2.value;
|
|
279
|
+
item.batch = batch;
|
|
280
|
+
}
|
|
281
|
+
} catch (err) {
|
|
282
|
+
_iterator2.e(err);
|
|
283
|
+
} finally {
|
|
284
|
+
_iterator2.f();
|
|
240
285
|
}
|
|
286
|
+
|
|
287
|
+
var _batchLoader$fetch = batchLoader.fetch(batch.items.map(function (_item) {
|
|
288
|
+
return _item.key;
|
|
289
|
+
})),
|
|
290
|
+
promise = _batchLoader$fetch.promise,
|
|
291
|
+
cancel = _batchLoader$fetch.cancel;
|
|
292
|
+
|
|
293
|
+
batch.cancel = cancel;
|
|
294
|
+
promise.then(function (result) {
|
|
295
|
+
for (var i = 0; i < result.length; i++) {
|
|
296
|
+
var _value = result[i];
|
|
297
|
+
var item = batch.items[i];
|
|
298
|
+
item.resolve(_value);
|
|
299
|
+
item.batch = null;
|
|
300
|
+
}
|
|
301
|
+
}).catch(function (cause) {
|
|
302
|
+
var _iterator3 = _createForOfIteratorHelper(batch.items),
|
|
303
|
+
_step3;
|
|
304
|
+
|
|
305
|
+
try {
|
|
306
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
307
|
+
var item = _step3.value;
|
|
308
|
+
item.reject(cause);
|
|
309
|
+
item.batch = null;
|
|
310
|
+
}
|
|
311
|
+
} catch (err) {
|
|
312
|
+
_iterator3.e(err);
|
|
313
|
+
} finally {
|
|
314
|
+
_iterator3.f();
|
|
315
|
+
}
|
|
316
|
+
});
|
|
241
317
|
};
|
|
318
|
+
|
|
319
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
320
|
+
var _ret = _loop();
|
|
321
|
+
|
|
322
|
+
if (_ret === "continue") continue;
|
|
323
|
+
}
|
|
324
|
+
} catch (err) {
|
|
325
|
+
_iterator.e(err);
|
|
326
|
+
} finally {
|
|
327
|
+
_iterator.f();
|
|
242
328
|
}
|
|
329
|
+
}
|
|
243
330
|
|
|
244
|
-
|
|
331
|
+
function load(key) {
|
|
332
|
+
var item = {
|
|
333
|
+
aborted: false,
|
|
334
|
+
key: key,
|
|
335
|
+
batch: null,
|
|
336
|
+
resolve: throwFatalError,
|
|
337
|
+
reject: throwFatalError
|
|
338
|
+
};
|
|
245
339
|
var promise = new Promise(function (resolve, reject) {
|
|
246
|
-
var item = batchItem;
|
|
247
340
|
item.reject = reject;
|
|
248
341
|
item.resolve = resolve;
|
|
249
|
-
thisBatch.items.push(item);
|
|
250
342
|
|
|
251
|
-
if (
|
|
252
|
-
|
|
253
|
-
return;
|
|
343
|
+
if (!pendingItems) {
|
|
344
|
+
pendingItems = [];
|
|
254
345
|
}
|
|
346
|
+
|
|
347
|
+
pendingItems.push(item);
|
|
255
348
|
});
|
|
256
349
|
|
|
257
350
|
if (!dispatchTimer) {
|
|
@@ -259,16 +352,17 @@ function dataLoader(fetchMany, opts) {
|
|
|
259
352
|
}
|
|
260
353
|
|
|
261
354
|
var cancel = function cancel() {
|
|
262
|
-
|
|
355
|
+
var _item$batch;
|
|
263
356
|
|
|
264
|
-
|
|
265
|
-
|
|
357
|
+
item.aborted = true;
|
|
358
|
+
|
|
359
|
+
if ((_item$batch = item.batch) !== null && _item$batch !== void 0 && _item$batch.items.every(function (item) {
|
|
360
|
+
return item.aborted;
|
|
266
361
|
})) {
|
|
267
|
-
//
|
|
268
|
-
|
|
362
|
+
// All items in the batch have been cancelled
|
|
363
|
+
item.batch.cancel();
|
|
364
|
+
item.batch = null;
|
|
269
365
|
}
|
|
270
|
-
|
|
271
|
-
thisBatch.cancel();
|
|
272
366
|
};
|
|
273
367
|
|
|
274
368
|
return {
|
|
@@ -303,48 +397,56 @@ var METHOD = {
|
|
|
303
397
|
mutation: 'POST',
|
|
304
398
|
subscription: 'PATCH'
|
|
305
399
|
};
|
|
306
|
-
function httpRequest(props) {
|
|
307
|
-
var type = props.type,
|
|
308
|
-
rt = props.runtime,
|
|
309
|
-
path = props.path;
|
|
310
|
-
var ac = rt.AbortController ? new rt.AbortController() : null;
|
|
311
|
-
var input = 'input' in props ? props.input : arrayToDict(props.inputs);
|
|
312
|
-
|
|
313
|
-
function getUrl() {
|
|
314
|
-
var url = props.url + '/' + path;
|
|
315
|
-
var queryParts = [];
|
|
316
|
-
|
|
317
|
-
if ('inputs' in props) {
|
|
318
|
-
queryParts.push('batch=1');
|
|
319
|
-
}
|
|
320
400
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
401
|
+
function getInput(opts) {
|
|
402
|
+
return 'input' in opts ? opts.runtime.transformer.serialize(opts.input) : arrayToDict(opts.inputs.map(function (_input) {
|
|
403
|
+
return opts.runtime.transformer.serialize(_input);
|
|
404
|
+
}));
|
|
405
|
+
}
|
|
324
406
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
407
|
+
function getUrl(opts) {
|
|
408
|
+
var url = opts.url + '/' + opts.path;
|
|
409
|
+
var queryParts = [];
|
|
328
410
|
|
|
329
|
-
|
|
411
|
+
if ('inputs' in opts) {
|
|
412
|
+
queryParts.push('batch=1');
|
|
330
413
|
}
|
|
331
414
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
415
|
+
if (opts.type === 'query') {
|
|
416
|
+
var input = getInput(opts);
|
|
417
|
+
|
|
418
|
+
if (input !== undefined) {
|
|
419
|
+
queryParts.push("input=".concat(encodeURIComponent(JSON.stringify(input))));
|
|
335
420
|
}
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
if (queryParts.length) {
|
|
424
|
+
url += '?' + queryParts.join('&');
|
|
425
|
+
}
|
|
336
426
|
|
|
337
|
-
|
|
427
|
+
return url;
|
|
428
|
+
}
|
|
429
|
+
function getBody(opts) {
|
|
430
|
+
if (opts.type === 'query') {
|
|
431
|
+
return undefined;
|
|
338
432
|
}
|
|
339
433
|
|
|
434
|
+
var input = getInput(opts);
|
|
435
|
+
return input !== undefined ? JSON.stringify(input) : undefined;
|
|
436
|
+
}
|
|
437
|
+
function httpRequest(opts) {
|
|
438
|
+
var type = opts.type,
|
|
439
|
+
runtime = opts.runtime;
|
|
440
|
+
var ac = runtime.AbortController ? new runtime.AbortController() : null;
|
|
340
441
|
var promise = new Promise(function (resolve, reject) {
|
|
341
|
-
var url = getUrl();
|
|
442
|
+
var url = getUrl(opts);
|
|
443
|
+
var body = getBody(opts);
|
|
342
444
|
var meta = {};
|
|
343
|
-
Promise.resolve(
|
|
344
|
-
return
|
|
445
|
+
Promise.resolve(runtime.headers()).then(function (headers) {
|
|
446
|
+
return runtime.fetch(url, {
|
|
345
447
|
method: METHOD[type],
|
|
346
448
|
signal: ac === null || ac === void 0 ? void 0 : ac.signal,
|
|
347
|
-
body:
|
|
449
|
+
body: body,
|
|
348
450
|
headers: _objectSpread$2({
|
|
349
451
|
'content-type': 'application/json'
|
|
350
452
|
}, headers)
|
|
@@ -371,31 +473,54 @@ function httpRequest(props) {
|
|
|
371
473
|
}
|
|
372
474
|
|
|
373
475
|
function httpBatchLink(opts) {
|
|
374
|
-
|
|
375
|
-
|
|
476
|
+
// initialized config
|
|
376
477
|
return function (runtime) {
|
|
377
|
-
var
|
|
378
|
-
|
|
379
|
-
|
|
478
|
+
var maxURLLength = opts.maxURLLength || Infinity;
|
|
479
|
+
|
|
480
|
+
var batchLoader = function batchLoader(type) {
|
|
481
|
+
var validate = function validate(batchOps) {
|
|
482
|
+
if (maxURLLength === Infinity) {
|
|
483
|
+
// escape hatch for quick calcs
|
|
484
|
+
return true;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
var path = batchOps.map(function (op) {
|
|
488
|
+
return op.path;
|
|
489
|
+
}).join(',');
|
|
490
|
+
var inputs = batchOps.map(function (op) {
|
|
491
|
+
return op.input;
|
|
492
|
+
});
|
|
493
|
+
var url = getUrl({
|
|
494
|
+
url: opts.url,
|
|
495
|
+
runtime: runtime,
|
|
496
|
+
type: type,
|
|
497
|
+
path: path,
|
|
498
|
+
inputs: inputs
|
|
499
|
+
});
|
|
500
|
+
return url.length <= maxURLLength;
|
|
501
|
+
};
|
|
502
|
+
|
|
503
|
+
var fetch = function fetch(batchOps) {
|
|
504
|
+
var path = batchOps.map(function (op) {
|
|
380
505
|
return op.path;
|
|
381
506
|
}).join(',');
|
|
382
|
-
var inputs =
|
|
507
|
+
var inputs = batchOps.map(function (op) {
|
|
383
508
|
return op.input;
|
|
384
509
|
});
|
|
385
510
|
|
|
386
511
|
var _httpRequest = httpRequest({
|
|
387
|
-
url: url,
|
|
388
|
-
inputs: inputs,
|
|
389
|
-
path: path,
|
|
512
|
+
url: opts.url,
|
|
390
513
|
runtime: runtime,
|
|
391
|
-
type: type
|
|
514
|
+
type: type,
|
|
515
|
+
path: path,
|
|
516
|
+
inputs: inputs
|
|
392
517
|
}),
|
|
393
518
|
promise = _httpRequest.promise,
|
|
394
519
|
cancel = _httpRequest.cancel;
|
|
395
520
|
|
|
396
521
|
return {
|
|
397
522
|
promise: promise.then(function (res) {
|
|
398
|
-
var resJSON = Array.isArray(res.json) ? res.json :
|
|
523
|
+
var resJSON = Array.isArray(res.json) ? res.json : batchOps.map(function () {
|
|
399
524
|
return res.json;
|
|
400
525
|
});
|
|
401
526
|
var result = resJSON.map(function (item) {
|
|
@@ -409,11 +534,16 @@ function httpBatchLink(opts) {
|
|
|
409
534
|
cancel: cancel
|
|
410
535
|
};
|
|
411
536
|
};
|
|
537
|
+
|
|
538
|
+
return {
|
|
539
|
+
validate: validate,
|
|
540
|
+
fetch: fetch
|
|
541
|
+
};
|
|
412
542
|
};
|
|
413
543
|
|
|
414
|
-
var query = dataLoader(
|
|
415
|
-
var mutation = dataLoader(
|
|
416
|
-
var subscription = dataLoader(
|
|
544
|
+
var query = dataLoader(batchLoader('query'));
|
|
545
|
+
var mutation = dataLoader(batchLoader('mutation'));
|
|
546
|
+
var subscription = dataLoader(batchLoader('subscription'));
|
|
417
547
|
var loaders = {
|
|
418
548
|
query: query,
|
|
419
549
|
subscription: subscription,
|
|
@@ -421,7 +551,7 @@ function httpBatchLink(opts) {
|
|
|
421
551
|
};
|
|
422
552
|
return function (_ref) {
|
|
423
553
|
var op = _ref.op;
|
|
424
|
-
return
|
|
554
|
+
return observable.observable(function (observer) {
|
|
425
555
|
var loader = loaders[op.type];
|
|
426
556
|
|
|
427
557
|
var _loader$load = loader.load(op),
|
|
@@ -450,17 +580,17 @@ function httpLink(opts) {
|
|
|
450
580
|
return function (runtime) {
|
|
451
581
|
return function (_ref) {
|
|
452
582
|
var op = _ref.op;
|
|
453
|
-
return
|
|
583
|
+
return observable.observable(function (observer) {
|
|
454
584
|
var path = op.path,
|
|
455
585
|
input = op.input,
|
|
456
586
|
type = op.type;
|
|
457
587
|
|
|
458
588
|
var _httpRequest = httpRequest({
|
|
589
|
+
url: url,
|
|
459
590
|
runtime: runtime,
|
|
460
|
-
path: path,
|
|
461
|
-
input: input,
|
|
462
591
|
type: type,
|
|
463
|
-
|
|
592
|
+
path: path,
|
|
593
|
+
input: input
|
|
464
594
|
}),
|
|
465
595
|
promise = _httpRequest.promise,
|
|
466
596
|
cancel = _httpRequest.cancel;
|
|
@@ -539,7 +669,7 @@ function loggerLink() {
|
|
|
539
669
|
return function (_ref) {
|
|
540
670
|
var op = _ref.op,
|
|
541
671
|
next = _ref.next;
|
|
542
|
-
return
|
|
672
|
+
return observable.observable(function (observer) {
|
|
543
673
|
// ->
|
|
544
674
|
enabled(_objectSpread$1(_objectSpread$1({}, op), {}, {
|
|
545
675
|
direction: 'up'
|
|
@@ -560,7 +690,7 @@ function loggerLink() {
|
|
|
560
690
|
}));
|
|
561
691
|
}
|
|
562
692
|
|
|
563
|
-
return next(op).pipe(
|
|
693
|
+
return next(op).pipe(observable.tap({
|
|
564
694
|
next: function next(result) {
|
|
565
695
|
logResult(result);
|
|
566
696
|
},
|
|
@@ -581,7 +711,7 @@ function retryLink(opts) {
|
|
|
581
711
|
var op = _ref.op,
|
|
582
712
|
next = _ref.next;
|
|
583
713
|
// initialized for request
|
|
584
|
-
return
|
|
714
|
+
return observable.observable(function (observer) {
|
|
585
715
|
var next$ = null;
|
|
586
716
|
var attempts = 0;
|
|
587
717
|
var isDone = false;
|
|
@@ -637,7 +767,7 @@ function retryLink(opts) {
|
|
|
637
767
|
|
|
638
768
|
/** @internal */
|
|
639
769
|
function createChain(opts) {
|
|
640
|
-
return
|
|
770
|
+
return observable.observable(function (observer) {
|
|
641
771
|
function execute() {
|
|
642
772
|
var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
643
773
|
var op = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : opts.op;
|
|
@@ -662,15 +792,15 @@ function asArray(value) {
|
|
|
662
792
|
}
|
|
663
793
|
|
|
664
794
|
function splitLink(opts) {
|
|
665
|
-
return function (
|
|
795
|
+
return function (runtime) {
|
|
666
796
|
var yes = asArray(opts.true).map(function (link) {
|
|
667
|
-
return link(
|
|
797
|
+
return link(runtime);
|
|
668
798
|
});
|
|
669
799
|
var no = asArray(opts.false).map(function (link) {
|
|
670
|
-
return link(
|
|
800
|
+
return link(runtime);
|
|
671
801
|
});
|
|
672
802
|
return function (props) {
|
|
673
|
-
return
|
|
803
|
+
return observable.observable(function (observer) {
|
|
674
804
|
var links = opts.condition(props.op) ? yes : no;
|
|
675
805
|
return createChain({
|
|
676
806
|
op: props.op,
|
|
@@ -681,81 +811,14 @@ function splitLink(opts) {
|
|
|
681
811
|
};
|
|
682
812
|
}
|
|
683
813
|
|
|
684
|
-
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; }
|
|
685
|
-
|
|
686
|
-
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; }
|
|
687
|
-
|
|
688
|
-
/**
|
|
689
|
-
* @internal
|
|
690
|
-
*/
|
|
691
|
-
function transformOperationResult$1(result, transformer) {
|
|
692
|
-
if ('error' in result.data) {
|
|
693
|
-
return _objectSpread(_objectSpread({}, result), {}, {
|
|
694
|
-
data: _objectSpread(_objectSpread({}, result.data), {}, {
|
|
695
|
-
error: transformer.deserialize(result.data.error)
|
|
696
|
-
})
|
|
697
|
-
});
|
|
698
|
-
}
|
|
699
|
-
|
|
700
|
-
if (result.data.result.type !== 'data') {
|
|
701
|
-
return result;
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
return _objectSpread(_objectSpread({}, result), {}, {
|
|
705
|
-
data: _objectSpread(_objectSpread({}, result.data), {}, {
|
|
706
|
-
result: _objectSpread(_objectSpread({}, result.data.result), {}, {
|
|
707
|
-
data: transformer.deserialize(result.data.result.data)
|
|
708
|
-
})
|
|
709
|
-
})
|
|
710
|
-
});
|
|
711
|
-
}
|
|
712
|
-
|
|
713
|
-
function transformerLink(transformer) {
|
|
714
|
-
var _transformer = transformer ? 'input' in transformer ? {
|
|
715
|
-
serialize: transformer.input.serialize,
|
|
716
|
-
deserialize: transformer.output.deserialize
|
|
717
|
-
} : transformer : {
|
|
718
|
-
serialize: function serialize(data) {
|
|
719
|
-
return data;
|
|
720
|
-
},
|
|
721
|
-
deserialize: function deserialize(data) {
|
|
722
|
-
return data;
|
|
723
|
-
}
|
|
724
|
-
};
|
|
725
|
-
|
|
726
|
-
return function () {
|
|
727
|
-
return function (props) {
|
|
728
|
-
var input = _transformer.serialize(props.op.input);
|
|
729
|
-
|
|
730
|
-
return tap.observable(function (observer) {
|
|
731
|
-
var subscription = props.next(_objectSpread(_objectSpread({}, props.op), {}, {
|
|
732
|
-
input: input
|
|
733
|
-
})).subscribe({
|
|
734
|
-
next: function next(value) {
|
|
735
|
-
var transformed = transformOperationResult$1(value, _transformer);
|
|
736
|
-
observer.next(transformed);
|
|
737
|
-
},
|
|
738
|
-
error: function error(err) {
|
|
739
|
-
observer.error(err);
|
|
740
|
-
},
|
|
741
|
-
complete: function complete() {
|
|
742
|
-
observer.complete();
|
|
743
|
-
}
|
|
744
|
-
});
|
|
745
|
-
return subscription;
|
|
746
|
-
});
|
|
747
|
-
};
|
|
748
|
-
};
|
|
749
|
-
}
|
|
750
|
-
|
|
751
814
|
/* istanbul ignore next */
|
|
752
815
|
var retryDelay = function retryDelay(attemptIndex) {
|
|
753
816
|
return attemptIndex === 0 ? 0 : Math.min(1000 * Math.pow(2, attemptIndex), 30000);
|
|
754
817
|
};
|
|
755
818
|
|
|
756
|
-
function _createSuper
|
|
819
|
+
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); }; }
|
|
757
820
|
|
|
758
|
-
function _isNativeReflectConstruct
|
|
821
|
+
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; } }
|
|
759
822
|
function createWSClient(opts) {
|
|
760
823
|
var url = opts.url,
|
|
761
824
|
_opts$WebSocket = opts.WebSocket,
|
|
@@ -967,7 +1030,6 @@ function createWSClient(opts) {
|
|
|
967
1030
|
id = op.id;
|
|
968
1031
|
var envelope = {
|
|
969
1032
|
id: id,
|
|
970
|
-
jsonrpc: '2.0',
|
|
971
1033
|
method: type,
|
|
972
1034
|
params: {
|
|
973
1035
|
input: input,
|
|
@@ -996,8 +1058,7 @@ function createWSClient(opts) {
|
|
|
996
1058
|
if (op.type === 'subscription') {
|
|
997
1059
|
outgoing.push({
|
|
998
1060
|
id: id,
|
|
999
|
-
method: 'subscription.stop'
|
|
1000
|
-
params: undefined
|
|
1061
|
+
method: 'subscription.stop'
|
|
1001
1062
|
});
|
|
1002
1063
|
dispatch();
|
|
1003
1064
|
}
|
|
@@ -1008,6 +1069,8 @@ function createWSClient(opts) {
|
|
|
1008
1069
|
close: function close() {
|
|
1009
1070
|
state = 'closed';
|
|
1010
1071
|
closeIfNoPending(activeConnection);
|
|
1072
|
+
clearTimeout(connectTimer);
|
|
1073
|
+
connectTimer = null;
|
|
1011
1074
|
},
|
|
1012
1075
|
request: request,
|
|
1013
1076
|
getConnection: function getConnection() {
|
|
@@ -1019,7 +1082,7 @@ function createWSClient(opts) {
|
|
|
1019
1082
|
var TRPCWebSocketClosedError = /*#__PURE__*/function (_Error) {
|
|
1020
1083
|
_inherits__default["default"](TRPCWebSocketClosedError, _Error);
|
|
1021
1084
|
|
|
1022
|
-
var _super = /*#__PURE__*/_createSuper
|
|
1085
|
+
var _super = /*#__PURE__*/_createSuper(TRPCWebSocketClosedError);
|
|
1023
1086
|
|
|
1024
1087
|
function TRPCWebSocketClosedError(message) {
|
|
1025
1088
|
var _this;
|
|
@@ -1038,7 +1101,7 @@ var TRPCWebSocketClosedError = /*#__PURE__*/function (_Error) {
|
|
|
1038
1101
|
var TRPCSubscriptionEndedError = /*#__PURE__*/function (_Error2) {
|
|
1039
1102
|
_inherits__default["default"](TRPCSubscriptionEndedError, _Error2);
|
|
1040
1103
|
|
|
1041
|
-
var _super2 = /*#__PURE__*/_createSuper
|
|
1104
|
+
var _super2 = /*#__PURE__*/_createSuper(TRPCSubscriptionEndedError);
|
|
1042
1105
|
|
|
1043
1106
|
function TRPCSubscriptionEndedError(message) {
|
|
1044
1107
|
var _this2;
|
|
@@ -1055,16 +1118,16 @@ var TRPCSubscriptionEndedError = /*#__PURE__*/function (_Error2) {
|
|
|
1055
1118
|
}( /*#__PURE__*/_wrapNativeSuper__default["default"](Error));
|
|
1056
1119
|
|
|
1057
1120
|
function wsLink(opts) {
|
|
1058
|
-
return function () {
|
|
1121
|
+
return function (runtime) {
|
|
1059
1122
|
var client = opts.client;
|
|
1060
1123
|
return function (_ref2) {
|
|
1061
1124
|
var op = _ref2.op;
|
|
1062
|
-
return
|
|
1125
|
+
return observable.observable(function (observer) {
|
|
1063
1126
|
var type = op.type,
|
|
1064
|
-
input = op.input,
|
|
1065
1127
|
path = op.path,
|
|
1066
1128
|
id = op.id,
|
|
1067
1129
|
context = op.context;
|
|
1130
|
+
var input = runtime.transformer.serialize(op.input);
|
|
1068
1131
|
var isDone = false;
|
|
1069
1132
|
var unsub = client.request({
|
|
1070
1133
|
type: type,
|
|
@@ -1106,12 +1169,18 @@ function wsLink(opts) {
|
|
|
1106
1169
|
};
|
|
1107
1170
|
}
|
|
1108
1171
|
|
|
1172
|
+
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; }
|
|
1173
|
+
|
|
1174
|
+
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; }
|
|
1175
|
+
|
|
1109
1176
|
/** @internal */
|
|
1110
|
-
function transformOperationResult(result) {
|
|
1177
|
+
function transformOperationResult(result, runtime) {
|
|
1111
1178
|
var context = result.context;
|
|
1112
1179
|
|
|
1113
1180
|
if ('error' in result.data) {
|
|
1114
|
-
var error = TRPCClientError.from(result.data)
|
|
1181
|
+
var error = TRPCClientError.from(_objectSpread(_objectSpread({}, result.data), {}, {
|
|
1182
|
+
error: runtime.transformer.deserialize(result.data.error)
|
|
1183
|
+
}));
|
|
1115
1184
|
return {
|
|
1116
1185
|
ok: false,
|
|
1117
1186
|
error: error,
|
|
@@ -1119,75 +1188,39 @@ function transformOperationResult(result) {
|
|
|
1119
1188
|
};
|
|
1120
1189
|
}
|
|
1121
1190
|
|
|
1122
|
-
var data = result.data.result.data;
|
|
1191
|
+
var data = runtime.transformer.deserialize(result.data.result.data);
|
|
1123
1192
|
return {
|
|
1124
1193
|
ok: true,
|
|
1125
1194
|
data: data,
|
|
1126
1195
|
context: context
|
|
1127
1196
|
};
|
|
1128
1197
|
}
|
|
1129
|
-
|
|
1130
|
-
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); }; }
|
|
1131
|
-
|
|
1132
|
-
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; } }
|
|
1133
|
-
|
|
1134
|
-
var ObservableAbortError = /*#__PURE__*/function (_Error) {
|
|
1135
|
-
_inherits__default["default"](ObservableAbortError, _Error);
|
|
1136
|
-
|
|
1137
|
-
var _super = /*#__PURE__*/_createSuper(ObservableAbortError);
|
|
1138
|
-
|
|
1139
|
-
function ObservableAbortError(message) {
|
|
1140
|
-
var _this;
|
|
1141
|
-
|
|
1142
|
-
_classCallCheck__default["default"](this, ObservableAbortError);
|
|
1143
|
-
|
|
1144
|
-
_this = _super.call(this, message);
|
|
1145
|
-
_this.name = 'ObservableAbortError';
|
|
1146
|
-
Object.setPrototypeOf(_assertThisInitialized__default["default"](_this), ObservableAbortError.prototype);
|
|
1147
|
-
return _this;
|
|
1148
|
-
}
|
|
1149
|
-
|
|
1150
|
-
return _createClass__default["default"](ObservableAbortError);
|
|
1151
|
-
}( /*#__PURE__*/_wrapNativeSuper__default["default"](Error));
|
|
1152
1198
|
/** @internal */
|
|
1153
1199
|
|
|
1154
|
-
function
|
|
1155
|
-
var
|
|
1156
|
-
var promise = new Promise(function (resolve, reject) {
|
|
1157
|
-
var isDone = false;
|
|
1158
|
-
|
|
1159
|
-
function onDone() {
|
|
1160
|
-
if (isDone) {
|
|
1161
|
-
return;
|
|
1162
|
-
}
|
|
1163
|
-
|
|
1164
|
-
isDone = true;
|
|
1165
|
-
reject(new ObservableAbortError('This operation was cancelled.'));
|
|
1166
|
-
obs$.unsubscribe();
|
|
1167
|
-
}
|
|
1200
|
+
function transformSubscriptionOperationResult(result, runtime) {
|
|
1201
|
+
var context = result.context;
|
|
1168
1202
|
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
},
|
|
1175
|
-
error: function error(data) {
|
|
1176
|
-
isDone = true;
|
|
1177
|
-
reject(data);
|
|
1178
|
-
onDone();
|
|
1179
|
-
},
|
|
1180
|
-
complete: function complete() {
|
|
1181
|
-
isDone = true;
|
|
1182
|
-
onDone();
|
|
1183
|
-
}
|
|
1203
|
+
if ('error' in result.data) {
|
|
1204
|
+
var error = TRPCClientError.from(_objectSpread(_objectSpread({}, result.data), {}, {
|
|
1205
|
+
error: runtime.transformer.deserialize(result.data.error)
|
|
1206
|
+
}), {
|
|
1207
|
+
meta: context
|
|
1184
1208
|
});
|
|
1185
|
-
|
|
1209
|
+
return {
|
|
1210
|
+
ok: false,
|
|
1211
|
+
error: error,
|
|
1212
|
+
context: context
|
|
1213
|
+
};
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1216
|
+
var data = _objectSpread(_objectSpread({}, result.data.result), result.data.result.type === 'data' && {
|
|
1217
|
+
data: runtime.transformer.deserialize(result.data.result.data)
|
|
1186
1218
|
});
|
|
1219
|
+
|
|
1187
1220
|
return {
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1221
|
+
ok: true,
|
|
1222
|
+
data: data,
|
|
1223
|
+
context: context
|
|
1191
1224
|
};
|
|
1192
1225
|
}
|
|
1193
1226
|
|
|
@@ -1223,10 +1256,22 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
1223
1256
|
};
|
|
1224
1257
|
}
|
|
1225
1258
|
|
|
1259
|
+
var transformer = opts.transformer ? 'input' in opts.transformer ? {
|
|
1260
|
+
serialize: opts.transformer.input.serialize,
|
|
1261
|
+
deserialize: opts.transformer.output.deserialize
|
|
1262
|
+
} : opts.transformer : {
|
|
1263
|
+
serialize: function serialize(data) {
|
|
1264
|
+
return data;
|
|
1265
|
+
},
|
|
1266
|
+
deserialize: function deserialize(data) {
|
|
1267
|
+
return data;
|
|
1268
|
+
}
|
|
1269
|
+
};
|
|
1226
1270
|
this.runtime = {
|
|
1227
1271
|
AbortController: AC,
|
|
1228
1272
|
fetch: _fetch,
|
|
1229
|
-
headers: getHeadersFn()
|
|
1273
|
+
headers: getHeadersFn(),
|
|
1274
|
+
transformer: transformer
|
|
1230
1275
|
};
|
|
1231
1276
|
|
|
1232
1277
|
if ('links' in opts) {
|
|
@@ -1258,20 +1303,22 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
1258
1303
|
context: context
|
|
1259
1304
|
}
|
|
1260
1305
|
});
|
|
1261
|
-
return chain$.pipe(
|
|
1306
|
+
return chain$.pipe(observable.share());
|
|
1262
1307
|
}
|
|
1263
1308
|
}, {
|
|
1264
1309
|
key: "requestAsPromise",
|
|
1265
1310
|
value: function requestAsPromise(opts) {
|
|
1311
|
+
var _this2 = this;
|
|
1312
|
+
|
|
1266
1313
|
var req$ = this.$request(opts);
|
|
1267
1314
|
|
|
1268
|
-
var _observableToPromise = observableToPromise(req$),
|
|
1315
|
+
var _observableToPromise = observable.observableToPromise(req$),
|
|
1269
1316
|
promise = _observableToPromise.promise,
|
|
1270
1317
|
abort = _observableToPromise.abort;
|
|
1271
1318
|
|
|
1272
1319
|
var cancellablePromise = new Promise(function (resolve, reject) {
|
|
1273
1320
|
promise.then(function (result) {
|
|
1274
|
-
var transformed = transformOperationResult(result);
|
|
1321
|
+
var transformed = transformOperationResult(result, _this2.runtime);
|
|
1275
1322
|
|
|
1276
1323
|
if (transformed.ok) {
|
|
1277
1324
|
resolve(transformed.data);
|
|
@@ -1289,26 +1336,34 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
1289
1336
|
}, {
|
|
1290
1337
|
key: "query",
|
|
1291
1338
|
value: function query(path) {
|
|
1292
|
-
var
|
|
1339
|
+
var _args$;
|
|
1340
|
+
|
|
1341
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
1342
|
+
args[_key - 1] = arguments[_key];
|
|
1343
|
+
}
|
|
1293
1344
|
|
|
1294
|
-
var context = (
|
|
1345
|
+
var context = (_args$ = args[1]) === null || _args$ === void 0 ? void 0 : _args$.context;
|
|
1295
1346
|
return this.requestAsPromise({
|
|
1296
1347
|
type: 'query',
|
|
1297
1348
|
path: path,
|
|
1298
|
-
input:
|
|
1349
|
+
input: args[0],
|
|
1299
1350
|
context: context
|
|
1300
1351
|
});
|
|
1301
1352
|
}
|
|
1302
1353
|
}, {
|
|
1303
1354
|
key: "mutation",
|
|
1304
1355
|
value: function mutation(path) {
|
|
1305
|
-
var
|
|
1356
|
+
var _args$2;
|
|
1357
|
+
|
|
1358
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
1359
|
+
args[_key2 - 1] = arguments[_key2];
|
|
1360
|
+
}
|
|
1306
1361
|
|
|
1307
|
-
var context = (
|
|
1362
|
+
var context = (_args$2 = args[1]) === null || _args$2 === void 0 ? void 0 : _args$2.context;
|
|
1308
1363
|
return this.requestAsPromise({
|
|
1309
1364
|
type: 'mutation',
|
|
1310
1365
|
path: path,
|
|
1311
|
-
input:
|
|
1366
|
+
input: args[0],
|
|
1312
1367
|
context: context
|
|
1313
1368
|
});
|
|
1314
1369
|
}
|
|
@@ -1321,21 +1376,21 @@ var TRPCClient = /*#__PURE__*/function () {
|
|
|
1321
1376
|
input: input,
|
|
1322
1377
|
context: opts.context
|
|
1323
1378
|
});
|
|
1379
|
+
var runtime = this.runtime;
|
|
1324
1380
|
return observable$.subscribe({
|
|
1325
1381
|
next: function next(result) {
|
|
1326
|
-
var _opts$
|
|
1382
|
+
var _opts$error;
|
|
1327
1383
|
|
|
1328
|
-
|
|
1329
|
-
var _opts$error;
|
|
1384
|
+
var transformed = transformSubscriptionOperationResult(result, runtime);
|
|
1330
1385
|
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
(_opts$
|
|
1386
|
+
if (transformed.ok) {
|
|
1387
|
+
var _opts$next;
|
|
1388
|
+
|
|
1389
|
+
(_opts$next = opts.next) === null || _opts$next === void 0 ? void 0 : _opts$next.call(opts, transformed.data);
|
|
1335
1390
|
return;
|
|
1336
1391
|
}
|
|
1337
1392
|
|
|
1338
|
-
(_opts$
|
|
1393
|
+
(_opts$error = opts.error) === null || _opts$error === void 0 ? void 0 : _opts$error.call(opts, transformed.error);
|
|
1339
1394
|
},
|
|
1340
1395
|
error: function error(err) {
|
|
1341
1396
|
var _opts$error2;
|
|
@@ -1369,5 +1424,4 @@ exports.httpLink = httpLink;
|
|
|
1369
1424
|
exports.loggerLink = loggerLink;
|
|
1370
1425
|
exports.retryLink = retryLink;
|
|
1371
1426
|
exports.splitLink = splitLink;
|
|
1372
|
-
exports.transformerLink = transformerLink;
|
|
1373
1427
|
exports.wsLink = wsLink;
|