@trpc/client 9.18.0 → 10.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/TRPCClientError-17b117e1.mjs +81 -0
- package/dist/TRPCClientError-ec6bd2ca.js +94 -0
- package/dist/{declarations/src/TRPCClientError.d.ts → TRPCClientError.d.ts} +29 -33
- package/dist/TRPCClientError.d.ts.map +1 -0
- package/dist/createChain-389cc116.mjs +25 -0
- package/dist/createChain-864dbb30.js +27 -0
- package/dist/{declarations/src/createTRPCClient.d.ts → createTRPCClient.d.ts} +5 -6
- package/dist/createTRPCClient.d.ts.map +1 -0
- package/dist/{declarations/src/getFetch.d.ts → getFetch.d.ts} +1 -1
- package/dist/getFetch.d.ts.map +1 -0
- package/dist/httpUtils-1f9e4e3c.js +97 -0
- package/dist/httpUtils-c09d7b79.mjs +91 -0
- package/dist/{declarations/src/index.d.ts → index.d.ts} +4 -4
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +314 -0
- package/dist/index.mjs +299 -0
- package/dist/index.ts.js +1 -0
- package/dist/{declarations/src/internals → internals}/TRPCClient.d.ts +64 -61
- package/dist/internals/TRPCClient.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/dataLoader.d.ts +14 -16
- package/dist/internals/dataLoader.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/fetchHelpers.d.ts +2 -2
- package/dist/internals/fetchHelpers.d.ts.map +1 -0
- package/dist/{declarations/src/internals → internals}/retryDelay.d.ts +1 -1
- package/dist/internals/retryDelay.d.ts.map +1 -0
- package/dist/internals/transformRPCResponse.d.ts +15 -0
- package/dist/internals/transformRPCResponse.d.ts.map +1 -0
- package/dist/links/dedupeLink.d.ts +4 -0
- package/dist/links/dedupeLink.d.ts.map +1 -0
- package/dist/links/httpBatchLink.d.ts +5 -0
- package/dist/links/httpBatchLink.d.ts.map +1 -0
- package/dist/links/httpBatchLink.js +189 -0
- package/dist/links/httpBatchLink.mjs +185 -0
- package/dist/links/httpBatchLink.ts.js +1 -0
- package/dist/{declarations/src/links → links}/httpLink.d.ts +4 -3
- package/dist/links/httpLink.d.ts.map +1 -0
- package/dist/links/httpLink.js +44 -0
- package/dist/links/httpLink.mjs +40 -0
- package/dist/links/httpLink.ts.js +1 -0
- package/dist/links/httpUtils.d.ts +22 -0
- package/dist/links/httpUtils.d.ts.map +1 -0
- package/dist/links/internals/createChain.d.ts +8 -0
- package/dist/links/internals/createChain.d.ts.map +1 -0
- package/dist/links/internals/transformOperationResult.d.ts +16 -0
- package/dist/links/internals/transformOperationResult.d.ts.map +1 -0
- package/dist/{declarations/src/links → links}/loggerLink.d.ts +38 -37
- package/dist/links/loggerLink.d.ts.map +1 -0
- package/dist/links/loggerLink.js +108 -0
- package/dist/links/loggerLink.mjs +99 -0
- package/dist/links/loggerLink.ts.js +1 -0
- package/dist/links/retryLink.d.ts +6 -0
- package/dist/links/retryLink.d.ts.map +1 -0
- package/dist/links/splitLink.d.ts +14 -0
- package/dist/links/splitLink.d.ts.map +1 -0
- package/dist/links/splitLink.js +32 -0
- package/dist/links/splitLink.mjs +28 -0
- package/dist/links/splitLink.ts.js +1 -0
- package/dist/links/transformerLink.d.ts +4 -0
- package/dist/links/transformerLink.d.ts.map +1 -0
- package/dist/links/transformerLink.js +75 -0
- package/dist/links/transformerLink.mjs +67 -0
- package/dist/links/transformerLink.ts.js +1 -0
- package/dist/links/types.d.ts +40 -0
- package/dist/links/types.d.ts.map +1 -0
- package/dist/{declarations/src/links → links}/wsLink.d.ts +19 -26
- package/dist/links/wsLink.d.ts.map +1 -0
- package/dist/links/wsLink.js +384 -0
- package/dist/links/wsLink.mjs +370 -0
- package/dist/links/wsLink.ts.js +1 -0
- package/dist/observable-7e66cb56.mjs +102 -0
- package/dist/observable-85669100.js +104 -0
- package/dist/rx/index.d.ts +3 -0
- package/dist/rx/index.d.ts.map +1 -0
- package/dist/rx/index.js +9 -0
- package/dist/rx/index.mjs +1 -0
- package/dist/rx/index.ts.js +1 -0
- package/dist/rx/observable.d.ts +4 -0
- package/dist/rx/observable.d.ts.map +1 -0
- package/dist/rx/operators/index.d.ts +4 -0
- package/dist/rx/operators/index.d.ts.map +1 -0
- package/dist/rx/operators/index.js +38 -0
- package/dist/rx/operators/index.mjs +32 -0
- package/dist/rx/operators/index.ts.js +1 -0
- package/dist/rx/operators/map.d.ts +3 -0
- package/dist/rx/operators/map.d.ts.map +1 -0
- package/dist/rx/operators/share.d.ts +6 -0
- package/dist/rx/operators/share.d.ts.map +1 -0
- package/dist/rx/operators/tap.d.ts +3 -0
- package/dist/rx/operators/tap.d.ts.map +1 -0
- package/dist/rx/types.d.ts +29 -0
- package/dist/rx/types.d.ts.map +1 -0
- package/dist/rx/util/identity.d.ts +2 -0
- package/dist/rx/util/identity.d.ts.map +1 -0
- package/dist/rx/util/observableToPromise.d.ts +10 -0
- package/dist/rx/util/observableToPromise.d.ts.map +1 -0
- package/dist/rx/util/pipe.d.ts +4 -0
- package/dist/rx/util/pipe.d.ts.map +1 -0
- package/dist/share-4d79dc49.js +110 -0
- package/dist/share-671b63fa.mjs +108 -0
- package/dist/tap-538fa07f.mjs +30 -0
- package/dist/tap-799a2d33.js +32 -0
- package/links/httpBatchLink/index.d.ts +1 -0
- package/links/httpBatchLink/index.js +1 -0
- package/links/httpLink/index.d.ts +1 -0
- package/links/httpLink/index.js +1 -0
- package/links/loggerLink/index.d.ts +1 -0
- package/links/loggerLink/index.js +1 -0
- package/links/splitLink/index.d.ts +1 -0
- package/links/splitLink/index.js +1 -0
- package/links/transformerLink/index.d.ts +1 -0
- package/links/transformerLink/index.js +1 -0
- package/links/wsLink/index.d.ts +1 -0
- package/links/wsLink/index.js +1 -0
- package/package.json +58 -18
- package/rx/dist/trpc-client-rx.cjs.d.ts +1 -0
- package/rx/dist/trpc-client-rx.cjs.dev.js +9 -0
- package/rx/dist/trpc-client-rx.cjs.js +7 -0
- package/rx/dist/trpc-client-rx.cjs.prod.js +9 -0
- package/rx/dist/trpc-client-rx.esm.js +1 -0
- package/rx/index.d.ts +1 -0
- package/rx/index.js +1 -0
- package/rx/operators/dist/trpc-client-rx-operators.cjs.d.ts +1 -0
- package/rx/operators/dist/trpc-client-rx-operators.cjs.dev.js +39 -0
- package/rx/operators/dist/trpc-client-rx-operators.cjs.js +7 -0
- package/rx/operators/dist/trpc-client-rx-operators.cjs.prod.js +39 -0
- package/rx/operators/dist/trpc-client-rx-operators.esm.js +33 -0
- package/rx/operators/index.d.ts +1 -0
- package/rx/operators/index.js +1 -0
- package/src/TRPCClientError.ts +17 -21
- package/src/createTRPCClient.ts +4 -3
- package/src/index.ts +1 -1
- package/src/internals/TRPCClient.ts +80 -88
- package/src/internals/dataLoader.ts +2 -14
- package/src/internals/transformRPCResponse.ts +2 -2
- package/src/links/dedupeLink.test.ts +134 -0
- package/src/links/dedupeLink.ts +53 -0
- package/src/links/httpBatchLink.ts +36 -52
- package/src/links/httpLink.ts +26 -37
- package/src/{internals/httpRequest.ts → links/httpUtils.ts} +30 -21
- package/src/links/internals/createChain.test.ts +132 -0
- package/src/links/internals/createChain.ts +31 -0
- package/src/links/internals/transformOperationResult.ts +25 -0
- package/src/links/loggerLink.ts +40 -22
- package/src/links/retryLink.ts +45 -14
- package/src/links/splitLink.test.ts +56 -0
- package/src/links/splitLink.ts +23 -38
- package/src/links/transformerLink.ts +70 -0
- package/src/links/{core.ts → types.ts} +40 -46
- package/src/links/wsLink.ts +56 -77
- package/src/rx/index.ts +2 -0
- package/src/rx/observable.test.ts +83 -0
- package/src/rx/observable.ts +70 -0
- package/src/rx/operators/index.ts +3 -0
- package/src/rx/operators/map.test.ts +92 -0
- package/src/rx/operators/map.ts +25 -0
- package/src/rx/operators/share.test.ts +60 -0
- package/src/rx/operators/share.ts +67 -0
- package/src/rx/operators/tap.ts +26 -0
- package/src/rx/types.ts +69 -0
- package/src/rx/util/identity.ts +3 -0
- package/src/rx/util/observableToPromise.ts +49 -0
- package/src/rx/util/pipe.ts +22 -0
- package/dist/TRPCClientError-09b8a26b.esm.js +0 -77
- package/dist/TRPCClientError-bfee2bf5.cjs.dev.js +0 -79
- package/dist/TRPCClientError-e9bf96e9.cjs.prod.js +0 -79
- package/dist/declarations/src/TRPCClientError.d.ts.map +0 -1
- package/dist/declarations/src/createTRPCClient.d.ts.map +0 -1
- package/dist/declarations/src/getFetch.d.ts.map +0 -1
- package/dist/declarations/src/index.d.ts.map +0 -1
- package/dist/declarations/src/internals/TRPCAbortError.d.ts +0 -4
- package/dist/declarations/src/internals/TRPCAbortError.d.ts.map +0 -1
- package/dist/declarations/src/internals/TRPCClient.d.ts.map +0 -1
- package/dist/declarations/src/internals/dataLoader.d.ts.map +0 -1
- package/dist/declarations/src/internals/executeChain.d.ts +0 -8
- package/dist/declarations/src/internals/executeChain.d.ts.map +0 -1
- package/dist/declarations/src/internals/fetchHelpers.d.ts.map +0 -1
- package/dist/declarations/src/internals/httpRequest.d.ts +0 -14
- package/dist/declarations/src/internals/httpRequest.d.ts.map +0 -1
- package/dist/declarations/src/internals/observable.d.ts +0 -18
- package/dist/declarations/src/internals/observable.d.ts.map +0 -1
- package/dist/declarations/src/internals/retryDelay.d.ts.map +0 -1
- package/dist/declarations/src/internals/transformRPCResponse.d.ts +0 -7
- package/dist/declarations/src/internals/transformRPCResponse.d.ts.map +0 -1
- package/dist/declarations/src/links/core.d.ts +0 -45
- package/dist/declarations/src/links/core.d.ts.map +0 -1
- package/dist/declarations/src/links/httpBatchLink.d.ts +0 -7
- package/dist/declarations/src/links/httpBatchLink.d.ts.map +0 -1
- package/dist/declarations/src/links/httpLink.d.ts.map +0 -1
- package/dist/declarations/src/links/loggerLink.d.ts.map +0 -1
- package/dist/declarations/src/links/splitLink.d.ts +0 -24
- package/dist/declarations/src/links/splitLink.d.ts.map +0 -1
- package/dist/declarations/src/links/wsLink.d.ts.map +0 -1
- package/dist/transformRPCResponse-57e80136.cjs.dev.js +0 -133
- package/dist/transformRPCResponse-739c13d0.cjs.prod.js +0 -133
- package/dist/transformRPCResponse-f7f8b0e1.esm.js +0 -129
- package/dist/trpc-client.cjs.d.ts +0 -1
- package/dist/trpc-client.cjs.dev.js +0 -379
- package/dist/trpc-client.cjs.js +0 -7
- package/dist/trpc-client.cjs.prod.js +0 -379
- package/dist/trpc-client.esm.js +0 -374
- package/links/httpBatchLink/package.json +0 -4
- package/links/httpLink/package.json +0 -4
- package/links/loggerLink/package.json +0 -4
- package/links/splitLink/package.json +0 -4
- package/links/wsLink/package.json +0 -4
- package/src/internals/TRPCAbortError.ts +0 -7
- package/src/internals/executeChain.ts +0 -67
- package/src/internals/observable.ts +0 -89
package/dist/index.js
ADDED
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
6
|
+
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
7
|
+
var links_httpBatchLink = require('./links/httpBatchLink.js');
|
|
8
|
+
var createChain = require('./createChain-864dbb30.js');
|
|
9
|
+
var TRPCClientError = require('./TRPCClientError-ec6bd2ca.js');
|
|
10
|
+
var share = require('./share-4d79dc49.js');
|
|
11
|
+
var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');
|
|
12
|
+
var _inherits = require('@babel/runtime/helpers/inherits');
|
|
13
|
+
var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
|
|
14
|
+
var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
|
|
15
|
+
var _wrapNativeSuper = require('@babel/runtime/helpers/wrapNativeSuper');
|
|
16
|
+
require('./observable-85669100.js');
|
|
17
|
+
require('./httpUtils-1f9e4e3c.js');
|
|
18
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
19
|
+
|
|
20
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
|
+
|
|
22
|
+
var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
|
|
23
|
+
var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
|
|
24
|
+
var _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);
|
|
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);
|
|
29
|
+
|
|
30
|
+
function getWindow() {
|
|
31
|
+
if (typeof window !== 'undefined') {
|
|
32
|
+
return window;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return global;
|
|
36
|
+
}
|
|
37
|
+
function getAbortController(ac) {
|
|
38
|
+
var win = getWindow();
|
|
39
|
+
return ac || win.AbortController || null;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function getFetch(f) {
|
|
43
|
+
if (f) {
|
|
44
|
+
return f;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
var win = getWindow();
|
|
48
|
+
|
|
49
|
+
if (win.fetch) {
|
|
50
|
+
return typeof win.fetch.bind === 'function' ? win.fetch.bind(win) : win.fetch;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
throw new Error('No fetch implementation found');
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** @internal */
|
|
57
|
+
function transformOperationResult(result) {
|
|
58
|
+
var context = result.context;
|
|
59
|
+
|
|
60
|
+
if ('error' in result.data) {
|
|
61
|
+
var error = TRPCClientError.TRPCClientError.from(result.data);
|
|
62
|
+
return {
|
|
63
|
+
ok: false,
|
|
64
|
+
error: error,
|
|
65
|
+
context: context
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
var data = result.data.result.data;
|
|
70
|
+
return {
|
|
71
|
+
ok: true,
|
|
72
|
+
data: data,
|
|
73
|
+
context: context
|
|
74
|
+
};
|
|
75
|
+
}
|
|
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
|
+
/** @internal */
|
|
100
|
+
|
|
101
|
+
function observableToPromise(observable) {
|
|
102
|
+
var abort;
|
|
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
|
+
}
|
|
115
|
+
|
|
116
|
+
var obs$ = observable.subscribe({
|
|
117
|
+
next: function next(data) {
|
|
118
|
+
isDone = true;
|
|
119
|
+
resolve(data);
|
|
120
|
+
onDone();
|
|
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
|
+
}
|
|
131
|
+
});
|
|
132
|
+
abort = onDone;
|
|
133
|
+
});
|
|
134
|
+
return {
|
|
135
|
+
promise: promise,
|
|
136
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
137
|
+
abort: abort
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
var idCounter = 0;
|
|
142
|
+
|
|
143
|
+
function getRequestId() {
|
|
144
|
+
return ++idCounter;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
var TRPCClient = /*#__PURE__*/function () {
|
|
148
|
+
function TRPCClient(opts) {
|
|
149
|
+
var _this = this;
|
|
150
|
+
|
|
151
|
+
_classCallCheck__default["default"](this, TRPCClient);
|
|
152
|
+
|
|
153
|
+
this.links = void 0;
|
|
154
|
+
this.runtime = void 0;
|
|
155
|
+
|
|
156
|
+
var _fetch = getFetch(opts === null || opts === void 0 ? void 0 : opts.fetch);
|
|
157
|
+
|
|
158
|
+
var AC = getAbortController(opts === null || opts === void 0 ? void 0 : opts.AbortController);
|
|
159
|
+
|
|
160
|
+
function getHeadersFn() {
|
|
161
|
+
if (opts.headers) {
|
|
162
|
+
var headers = opts.headers;
|
|
163
|
+
return typeof headers === 'function' ? headers : function () {
|
|
164
|
+
return headers;
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return function () {
|
|
169
|
+
return {};
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
this.runtime = {
|
|
174
|
+
AbortController: AC,
|
|
175
|
+
fetch: _fetch,
|
|
176
|
+
headers: getHeadersFn()
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
if ('links' in opts) {
|
|
180
|
+
this.links = opts.links.map(function (link) {
|
|
181
|
+
return link(_this.runtime);
|
|
182
|
+
});
|
|
183
|
+
} else {
|
|
184
|
+
this.links = [links_httpBatchLink.httpBatchLink({
|
|
185
|
+
url: opts.url
|
|
186
|
+
})(this.runtime)];
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
_createClass__default["default"](TRPCClient, [{
|
|
191
|
+
key: "$request",
|
|
192
|
+
value: function $request(_ref) {
|
|
193
|
+
var type = _ref.type,
|
|
194
|
+
input = _ref.input,
|
|
195
|
+
path = _ref.path,
|
|
196
|
+
_ref$context = _ref.context,
|
|
197
|
+
context = _ref$context === void 0 ? {} : _ref$context;
|
|
198
|
+
var chain$ = createChain.createChain({
|
|
199
|
+
links: this.links,
|
|
200
|
+
op: {
|
|
201
|
+
id: getRequestId(),
|
|
202
|
+
type: type,
|
|
203
|
+
path: path,
|
|
204
|
+
input: input,
|
|
205
|
+
context: context
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
return chain$.pipe(share.share());
|
|
209
|
+
}
|
|
210
|
+
}, {
|
|
211
|
+
key: "requestAsPromise",
|
|
212
|
+
value: function requestAsPromise(opts) {
|
|
213
|
+
var req$ = this.$request(opts);
|
|
214
|
+
|
|
215
|
+
var _observableToPromise = observableToPromise(req$),
|
|
216
|
+
promise = _observableToPromise.promise,
|
|
217
|
+
abort = _observableToPromise.abort;
|
|
218
|
+
|
|
219
|
+
var cancellablePromise = new Promise(function (resolve, reject) {
|
|
220
|
+
promise.then(function (result) {
|
|
221
|
+
var transformed = transformOperationResult(result);
|
|
222
|
+
|
|
223
|
+
if (transformed.ok) {
|
|
224
|
+
resolve(transformed.data);
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
reject(transformed.error);
|
|
229
|
+
}).catch(function (err) {
|
|
230
|
+
reject(TRPCClientError.TRPCClientError.from(err));
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
cancellablePromise.cancel = abort;
|
|
234
|
+
return cancellablePromise;
|
|
235
|
+
}
|
|
236
|
+
}, {
|
|
237
|
+
key: "query",
|
|
238
|
+
value: function query(path) {
|
|
239
|
+
var _ref2;
|
|
240
|
+
|
|
241
|
+
var context = (_ref2 = arguments.length <= 2 ? undefined : arguments[2]) === null || _ref2 === void 0 ? void 0 : _ref2.context;
|
|
242
|
+
return this.requestAsPromise({
|
|
243
|
+
type: 'query',
|
|
244
|
+
path: path,
|
|
245
|
+
input: arguments.length <= 1 ? undefined : arguments[1],
|
|
246
|
+
context: context
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
}, {
|
|
250
|
+
key: "mutation",
|
|
251
|
+
value: function mutation(path) {
|
|
252
|
+
var _ref3;
|
|
253
|
+
|
|
254
|
+
var context = (_ref3 = arguments.length <= 2 ? undefined : arguments[2]) === null || _ref3 === void 0 ? void 0 : _ref3.context;
|
|
255
|
+
return this.requestAsPromise({
|
|
256
|
+
type: 'mutation',
|
|
257
|
+
path: path,
|
|
258
|
+
input: arguments.length <= 1 ? undefined : arguments[1],
|
|
259
|
+
context: context
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
}, {
|
|
263
|
+
key: "subscription",
|
|
264
|
+
value: function subscription(path, input, opts) {
|
|
265
|
+
var observable$ = this.$request({
|
|
266
|
+
type: 'subscription',
|
|
267
|
+
path: path,
|
|
268
|
+
input: input,
|
|
269
|
+
context: opts.context
|
|
270
|
+
});
|
|
271
|
+
var observer = observable$.subscribe({
|
|
272
|
+
next: function next(result) {
|
|
273
|
+
var _opts$next;
|
|
274
|
+
|
|
275
|
+
if ('error' in result.data) {
|
|
276
|
+
var _opts$error;
|
|
277
|
+
|
|
278
|
+
var err = TRPCClientError.TRPCClientError.from(result.data, {
|
|
279
|
+
meta: result.context
|
|
280
|
+
});
|
|
281
|
+
(_opts$error = opts.error) === null || _opts$error === void 0 ? void 0 : _opts$error.call(opts, err);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
(_opts$next = opts.next) === null || _opts$next === void 0 ? void 0 : _opts$next.call(opts, result.data.result);
|
|
286
|
+
},
|
|
287
|
+
error: function error(err) {
|
|
288
|
+
var _opts$error2;
|
|
289
|
+
|
|
290
|
+
(_opts$error2 = opts.error) === null || _opts$error2 === void 0 ? void 0 : _opts$error2.call(opts, err);
|
|
291
|
+
},
|
|
292
|
+
complete: function complete() {
|
|
293
|
+
var _opts$complete;
|
|
294
|
+
|
|
295
|
+
(_opts$complete = opts.complete) === null || _opts$complete === void 0 ? void 0 : _opts$complete.call(opts);
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
return function () {
|
|
299
|
+
observer.unsubscribe();
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
}]);
|
|
303
|
+
|
|
304
|
+
return TRPCClient;
|
|
305
|
+
}();
|
|
306
|
+
|
|
307
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
308
|
+
function createTRPCClient(opts) {
|
|
309
|
+
return new TRPCClient(opts);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
exports.TRPCClientError = TRPCClientError.TRPCClientError;
|
|
313
|
+
exports.createTRPCClient = createTRPCClient;
|
|
314
|
+
exports.getFetch = getFetch;
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
2
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
3
|
+
import { httpBatchLink } from './links/httpBatchLink.mjs';
|
|
4
|
+
import { c as createChain } from './createChain-389cc116.mjs';
|
|
5
|
+
import { T as TRPCClientError } from './TRPCClientError-17b117e1.mjs';
|
|
6
|
+
export { T as TRPCClientError } from './TRPCClientError-17b117e1.mjs';
|
|
7
|
+
import { s as share } from './share-671b63fa.mjs';
|
|
8
|
+
import _assertThisInitialized from '@babel/runtime/helpers/assertThisInitialized';
|
|
9
|
+
import _inherits from '@babel/runtime/helpers/inherits';
|
|
10
|
+
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
11
|
+
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
12
|
+
import _wrapNativeSuper from '@babel/runtime/helpers/wrapNativeSuper';
|
|
13
|
+
import './observable-7e66cb56.mjs';
|
|
14
|
+
import './httpUtils-c09d7b79.mjs';
|
|
15
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
16
|
+
|
|
17
|
+
function getWindow() {
|
|
18
|
+
if (typeof window !== 'undefined') {
|
|
19
|
+
return window;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return global;
|
|
23
|
+
}
|
|
24
|
+
function getAbortController(ac) {
|
|
25
|
+
var win = getWindow();
|
|
26
|
+
return ac || win.AbortController || null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function getFetch(f) {
|
|
30
|
+
if (f) {
|
|
31
|
+
return f;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
var win = getWindow();
|
|
35
|
+
|
|
36
|
+
if (win.fetch) {
|
|
37
|
+
return typeof win.fetch.bind === 'function' ? win.fetch.bind(win) : win.fetch;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
throw new Error('No fetch implementation found');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** @internal */
|
|
44
|
+
function transformOperationResult(result) {
|
|
45
|
+
var context = result.context;
|
|
46
|
+
|
|
47
|
+
if ('error' in result.data) {
|
|
48
|
+
var error = TRPCClientError.from(result.data);
|
|
49
|
+
return {
|
|
50
|
+
ok: false,
|
|
51
|
+
error: error,
|
|
52
|
+
context: context
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
var data = result.data.result.data;
|
|
57
|
+
return {
|
|
58
|
+
ok: true,
|
|
59
|
+
data: data,
|
|
60
|
+
context: context
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
65
|
+
|
|
66
|
+
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; } }
|
|
67
|
+
|
|
68
|
+
var ObservableAbortError = /*#__PURE__*/function (_Error) {
|
|
69
|
+
_inherits(ObservableAbortError, _Error);
|
|
70
|
+
|
|
71
|
+
var _super = /*#__PURE__*/_createSuper(ObservableAbortError);
|
|
72
|
+
|
|
73
|
+
function ObservableAbortError(message) {
|
|
74
|
+
var _this;
|
|
75
|
+
|
|
76
|
+
_classCallCheck(this, ObservableAbortError);
|
|
77
|
+
|
|
78
|
+
_this = _super.call(this, message);
|
|
79
|
+
_this.name = 'ObservableAbortError';
|
|
80
|
+
Object.setPrototypeOf(_assertThisInitialized(_this), ObservableAbortError.prototype);
|
|
81
|
+
return _this;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return ObservableAbortError;
|
|
85
|
+
}( /*#__PURE__*/_wrapNativeSuper(Error));
|
|
86
|
+
/** @internal */
|
|
87
|
+
|
|
88
|
+
function observableToPromise(observable) {
|
|
89
|
+
var abort;
|
|
90
|
+
var promise = new Promise(function (resolve, reject) {
|
|
91
|
+
var isDone = false;
|
|
92
|
+
|
|
93
|
+
function onDone() {
|
|
94
|
+
if (isDone) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
isDone = true;
|
|
99
|
+
reject(new ObservableAbortError('This operation was cancelled.'));
|
|
100
|
+
obs$.unsubscribe();
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
var obs$ = observable.subscribe({
|
|
104
|
+
next: function next(data) {
|
|
105
|
+
isDone = true;
|
|
106
|
+
resolve(data);
|
|
107
|
+
onDone();
|
|
108
|
+
},
|
|
109
|
+
error: function error(data) {
|
|
110
|
+
isDone = true;
|
|
111
|
+
reject(data);
|
|
112
|
+
onDone();
|
|
113
|
+
},
|
|
114
|
+
complete: function complete() {
|
|
115
|
+
isDone = true;
|
|
116
|
+
onDone();
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
abort = onDone;
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
promise: promise,
|
|
123
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
124
|
+
abort: abort
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
var idCounter = 0;
|
|
129
|
+
|
|
130
|
+
function getRequestId() {
|
|
131
|
+
return ++idCounter;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
var TRPCClient = /*#__PURE__*/function () {
|
|
135
|
+
function TRPCClient(opts) {
|
|
136
|
+
var _this = this;
|
|
137
|
+
|
|
138
|
+
_classCallCheck(this, TRPCClient);
|
|
139
|
+
|
|
140
|
+
this.links = void 0;
|
|
141
|
+
this.runtime = void 0;
|
|
142
|
+
|
|
143
|
+
var _fetch = getFetch(opts === null || opts === void 0 ? void 0 : opts.fetch);
|
|
144
|
+
|
|
145
|
+
var AC = getAbortController(opts === null || opts === void 0 ? void 0 : opts.AbortController);
|
|
146
|
+
|
|
147
|
+
function getHeadersFn() {
|
|
148
|
+
if (opts.headers) {
|
|
149
|
+
var headers = opts.headers;
|
|
150
|
+
return typeof headers === 'function' ? headers : function () {
|
|
151
|
+
return headers;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return function () {
|
|
156
|
+
return {};
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
this.runtime = {
|
|
161
|
+
AbortController: AC,
|
|
162
|
+
fetch: _fetch,
|
|
163
|
+
headers: getHeadersFn()
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
if ('links' in opts) {
|
|
167
|
+
this.links = opts.links.map(function (link) {
|
|
168
|
+
return link(_this.runtime);
|
|
169
|
+
});
|
|
170
|
+
} else {
|
|
171
|
+
this.links = [httpBatchLink({
|
|
172
|
+
url: opts.url
|
|
173
|
+
})(this.runtime)];
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
_createClass(TRPCClient, [{
|
|
178
|
+
key: "$request",
|
|
179
|
+
value: function $request(_ref) {
|
|
180
|
+
var type = _ref.type,
|
|
181
|
+
input = _ref.input,
|
|
182
|
+
path = _ref.path,
|
|
183
|
+
_ref$context = _ref.context,
|
|
184
|
+
context = _ref$context === void 0 ? {} : _ref$context;
|
|
185
|
+
var chain$ = createChain({
|
|
186
|
+
links: this.links,
|
|
187
|
+
op: {
|
|
188
|
+
id: getRequestId(),
|
|
189
|
+
type: type,
|
|
190
|
+
path: path,
|
|
191
|
+
input: input,
|
|
192
|
+
context: context
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
return chain$.pipe(share());
|
|
196
|
+
}
|
|
197
|
+
}, {
|
|
198
|
+
key: "requestAsPromise",
|
|
199
|
+
value: function requestAsPromise(opts) {
|
|
200
|
+
var req$ = this.$request(opts);
|
|
201
|
+
|
|
202
|
+
var _observableToPromise = observableToPromise(req$),
|
|
203
|
+
promise = _observableToPromise.promise,
|
|
204
|
+
abort = _observableToPromise.abort;
|
|
205
|
+
|
|
206
|
+
var cancellablePromise = new Promise(function (resolve, reject) {
|
|
207
|
+
promise.then(function (result) {
|
|
208
|
+
var transformed = transformOperationResult(result);
|
|
209
|
+
|
|
210
|
+
if (transformed.ok) {
|
|
211
|
+
resolve(transformed.data);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
reject(transformed.error);
|
|
216
|
+
}).catch(function (err) {
|
|
217
|
+
reject(TRPCClientError.from(err));
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
cancellablePromise.cancel = abort;
|
|
221
|
+
return cancellablePromise;
|
|
222
|
+
}
|
|
223
|
+
}, {
|
|
224
|
+
key: "query",
|
|
225
|
+
value: function query(path) {
|
|
226
|
+
var _ref2;
|
|
227
|
+
|
|
228
|
+
var context = (_ref2 = arguments.length <= 2 ? undefined : arguments[2]) === null || _ref2 === void 0 ? void 0 : _ref2.context;
|
|
229
|
+
return this.requestAsPromise({
|
|
230
|
+
type: 'query',
|
|
231
|
+
path: path,
|
|
232
|
+
input: arguments.length <= 1 ? undefined : arguments[1],
|
|
233
|
+
context: context
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
}, {
|
|
237
|
+
key: "mutation",
|
|
238
|
+
value: function mutation(path) {
|
|
239
|
+
var _ref3;
|
|
240
|
+
|
|
241
|
+
var context = (_ref3 = arguments.length <= 2 ? undefined : arguments[2]) === null || _ref3 === void 0 ? void 0 : _ref3.context;
|
|
242
|
+
return this.requestAsPromise({
|
|
243
|
+
type: 'mutation',
|
|
244
|
+
path: path,
|
|
245
|
+
input: arguments.length <= 1 ? undefined : arguments[1],
|
|
246
|
+
context: context
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
}, {
|
|
250
|
+
key: "subscription",
|
|
251
|
+
value: function subscription(path, input, opts) {
|
|
252
|
+
var observable$ = this.$request({
|
|
253
|
+
type: 'subscription',
|
|
254
|
+
path: path,
|
|
255
|
+
input: input,
|
|
256
|
+
context: opts.context
|
|
257
|
+
});
|
|
258
|
+
var observer = observable$.subscribe({
|
|
259
|
+
next: function next(result) {
|
|
260
|
+
var _opts$next;
|
|
261
|
+
|
|
262
|
+
if ('error' in result.data) {
|
|
263
|
+
var _opts$error;
|
|
264
|
+
|
|
265
|
+
var err = TRPCClientError.from(result.data, {
|
|
266
|
+
meta: result.context
|
|
267
|
+
});
|
|
268
|
+
(_opts$error = opts.error) === null || _opts$error === void 0 ? void 0 : _opts$error.call(opts, err);
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
(_opts$next = opts.next) === null || _opts$next === void 0 ? void 0 : _opts$next.call(opts, result.data.result);
|
|
273
|
+
},
|
|
274
|
+
error: function error(err) {
|
|
275
|
+
var _opts$error2;
|
|
276
|
+
|
|
277
|
+
(_opts$error2 = opts.error) === null || _opts$error2 === void 0 ? void 0 : _opts$error2.call(opts, err);
|
|
278
|
+
},
|
|
279
|
+
complete: function complete() {
|
|
280
|
+
var _opts$complete;
|
|
281
|
+
|
|
282
|
+
(_opts$complete = opts.complete) === null || _opts$complete === void 0 ? void 0 : _opts$complete.call(opts);
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
return function () {
|
|
286
|
+
observer.unsubscribe();
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
}]);
|
|
290
|
+
|
|
291
|
+
return TRPCClient;
|
|
292
|
+
}();
|
|
293
|
+
|
|
294
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
295
|
+
function createTRPCClient(opts) {
|
|
296
|
+
return new TRPCClient(opts);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
export { createTRPCClient, getFetch };
|
package/dist/index.ts.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|