@trpc/client 11.3.1-canary.1 → 11.3.2-canary.2
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-CGgRtttT.cjs +67 -0
- package/dist/TRPCClientError-COkhCKf3.mjs +56 -0
- package/dist/TRPCClientError-COkhCKf3.mjs.map +1 -0
- package/dist/chunk-DWy1uDak.cjs +39 -0
- package/dist/httpBatchLink-CIC9PZ_Z.cjs +267 -0
- package/dist/httpBatchLink-DIfnmmcu.mjs +238 -0
- package/dist/httpBatchLink-DIfnmmcu.mjs.map +1 -0
- package/dist/httpBatchLink.d-BN2Iw_cK.d.mts +33 -0
- package/dist/httpBatchLink.d-BN2Iw_cK.d.mts.map +1 -0
- package/dist/httpBatchLink.d-CLAuJKNV.d.cts +33 -0
- package/dist/httpBatchLink.d-CLAuJKNV.d.cts.map +1 -0
- package/dist/httpLink-9bpwQ15c.mjs +90 -0
- package/dist/httpLink-9bpwQ15c.mjs.map +1 -0
- package/dist/httpLink-BbVj_TgM.cjs +113 -0
- package/dist/httpLink.d-CTSOARfE.d.mts +23 -0
- package/dist/httpLink.d-CTSOARfE.d.mts.map +1 -0
- package/dist/httpLink.d-yMKfOlTU.d.cts +23 -0
- package/dist/httpLink.d-yMKfOlTU.d.cts.map +1 -0
- package/dist/httpUtils-3pbQzhUL.mjs +123 -0
- package/dist/httpUtils-3pbQzhUL.mjs.map +1 -0
- package/dist/httpUtils-Buf6jCgh.cjs +163 -0
- package/dist/httpUtils.d-C8wPxU79.d.mts +25 -0
- package/dist/httpUtils.d-C8wPxU79.d.mts.map +1 -0
- package/dist/httpUtils.d-DNRVGNHs.d.cts +25 -0
- package/dist/httpUtils.d-DNRVGNHs.d.cts.map +1 -0
- package/dist/index.cjs +731 -0
- package/dist/index.d.cts +197 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +197 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +733 -16
- package/dist/index.mjs.map +1 -0
- package/dist/links/httpBatchLink.cjs +6 -0
- package/dist/links/httpBatchLink.d.cts +6 -0
- package/dist/links/httpBatchLink.d.mts +6 -0
- package/dist/links/httpBatchLink.mjs +5 -107
- package/dist/links/httpLink.cjs +6 -0
- package/dist/links/httpLink.d.cts +6 -0
- package/dist/links/httpLink.d.mts +6 -0
- package/dist/links/httpLink.mjs +5 -92
- package/dist/links/loggerLink.cjs +3 -0
- package/dist/links/loggerLink.d.cts +4 -0
- package/dist/links/loggerLink.d.mts +4 -0
- package/dist/links/loggerLink.mjs +2 -175
- package/dist/links/splitLink.cjs +3 -0
- package/dist/links/splitLink.d.cts +4 -0
- package/dist/links/splitLink.d.mts +4 -0
- package/dist/links/splitLink.mjs +2 -24
- package/dist/links/wsLink/wsLink.cjs +6 -0
- package/dist/links/wsLink/wsLink.d.cts +5 -0
- package/dist/links/wsLink/wsLink.d.mts +5 -0
- package/dist/links/wsLink/wsLink.mjs +4 -31
- package/dist/loggerLink-CsDfg5Bb.cjs +130 -0
- package/dist/loggerLink-PGBSQFcR.mjs +125 -0
- package/dist/loggerLink-PGBSQFcR.mjs.map +1 -0
- package/dist/loggerLink.d-CZjK1CXm.d.mts +54 -0
- package/dist/loggerLink.d-CZjK1CXm.d.mts.map +1 -0
- package/dist/loggerLink.d-DU855urG.d.cts +54 -0
- package/dist/loggerLink.d-DU855urG.d.cts.map +1 -0
- package/dist/splitLink-BMgxggng.cjs +58 -0
- package/dist/splitLink-BVblHq4n.mjs +47 -0
- package/dist/splitLink-BVblHq4n.mjs.map +1 -0
- package/dist/splitLink.d-BAqgq0NG.d.mts +20 -0
- package/dist/splitLink.d-BAqgq0NG.d.mts.map +1 -0
- package/dist/splitLink.d-GdevSkGW.d.cts +20 -0
- package/dist/splitLink.d-GdevSkGW.d.cts.map +1 -0
- package/dist/subscriptions.d-Ciljg_dH.d.cts +19 -0
- package/dist/subscriptions.d-Ciljg_dH.d.cts.map +1 -0
- package/dist/subscriptions.d-U92STdZl.d.mts +19 -0
- package/dist/subscriptions.d-U92STdZl.d.mts.map +1 -0
- package/dist/types.d-DXbqQLCC.d.mts +182 -0
- package/dist/types.d-DXbqQLCC.d.mts.map +1 -0
- package/dist/types.d-DqGYG6S_.d.cts +182 -0
- package/dist/types.d-DqGYG6S_.d.cts.map +1 -0
- package/dist/unstable-internals-CYBH4jbF.cjs +34 -0
- package/dist/unstable-internals-DU4WecoG.mjs +29 -0
- package/dist/unstable-internals-DU4WecoG.mjs.map +1 -0
- package/dist/unstable-internals.cjs +3 -0
- package/dist/unstable-internals.d-DyLd-B0J.d.mts +46 -0
- package/dist/unstable-internals.d-DyLd-B0J.d.mts.map +1 -0
- package/dist/unstable-internals.d-kWsZTlQq.d.cts +46 -0
- package/dist/unstable-internals.d-kWsZTlQq.d.cts.map +1 -0
- package/dist/unstable-internals.d.cts +3 -0
- package/dist/unstable-internals.d.mts +3 -0
- package/dist/unstable-internals.mjs +3 -1
- package/dist/wsLink-DbSHOzlB.mjs +698 -0
- package/dist/wsLink-DbSHOzlB.mjs.map +1 -0
- package/dist/wsLink-DhJ50EC5.cjs +715 -0
- package/dist/wsLink.d-BqO7ltN_.d.mts +194 -0
- package/dist/wsLink.d-BqO7ltN_.d.mts.map +1 -0
- package/dist/wsLink.d-DtZjg09g.d.cts +194 -0
- package/dist/wsLink.d-DtZjg09g.d.cts.map +1 -0
- package/links/httpBatchLink/package.json +1 -0
- package/links/httpLink/package.json +1 -0
- package/links/loggerLink/package.json +1 -0
- package/links/splitLink/package.json +1 -0
- package/links/wsLink/wsLink/package.json +1 -0
- package/package.json +67 -33
- package/unstable-internals/package.json +1 -0
- package/dist/TRPCClientError.d.ts +0 -30
- package/dist/TRPCClientError.d.ts.map +0 -1
- package/dist/TRPCClientError.js +0 -79
- package/dist/TRPCClientError.mjs +0 -76
- package/dist/bundle-analysis.json +0 -451
- package/dist/createTRPCClient.d.ts +0 -69
- package/dist/createTRPCClient.d.ts.map +0 -1
- package/dist/createTRPCClient.js +0 -48
- package/dist/createTRPCClient.mjs +0 -43
- package/dist/createTRPCUntypedClient.d.ts +0 -7
- package/dist/createTRPCUntypedClient.d.ts.map +0 -1
- package/dist/createTRPCUntypedClient.js +0 -10
- package/dist/createTRPCUntypedClient.mjs +0 -7
- package/dist/getFetch.d.ts +0 -3
- package/dist/getFetch.d.ts.map +0 -1
- package/dist/getFetch.js +0 -17
- package/dist/getFetch.mjs +0 -15
- package/dist/index.d.ts +0 -16
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -46
- package/dist/internals/TRPCUntypedClient.d.ts +0 -39
- package/dist/internals/TRPCUntypedClient.d.ts.map +0 -1
- package/dist/internals/TRPCUntypedClient.js +0 -115
- package/dist/internals/TRPCUntypedClient.mjs +0 -113
- package/dist/internals/dataLoader.d.ts +0 -13
- package/dist/internals/dataLoader.d.ts.map +0 -1
- package/dist/internals/dataLoader.js +0 -117
- package/dist/internals/dataLoader.mjs +0 -115
- package/dist/internals/inputWithTrackedEventId.d.ts +0 -2
- package/dist/internals/inputWithTrackedEventId.d.ts.map +0 -1
- package/dist/internals/inputWithTrackedEventId.js +0 -16
- package/dist/internals/inputWithTrackedEventId.mjs +0 -14
- package/dist/internals/signals.d.ts +0 -16
- package/dist/internals/signals.d.ts.map +0 -1
- package/dist/internals/signals.js +0 -61
- package/dist/internals/signals.mjs +0 -57
- package/dist/internals/transformer.d.ts +0 -42
- package/dist/internals/transformer.d.ts.map +0 -1
- package/dist/internals/transformer.js +0 -30
- package/dist/internals/transformer.mjs +0 -28
- package/dist/internals/types.d.ts +0 -82
- package/dist/internals/types.d.ts.map +0 -1
- package/dist/links/HTTPBatchLinkOptions.d.ts +0 -20
- package/dist/links/HTTPBatchLinkOptions.d.ts.map +0 -1
- package/dist/links/httpBatchLink.d.ts +0 -8
- package/dist/links/httpBatchLink.d.ts.map +0 -1
- package/dist/links/httpBatchLink.js +0 -110
- package/dist/links/httpBatchStreamLink.d.ts +0 -12
- package/dist/links/httpBatchStreamLink.d.ts.map +0 -1
- package/dist/links/httpBatchStreamLink.js +0 -150
- package/dist/links/httpBatchStreamLink.mjs +0 -147
- package/dist/links/httpLink.d.ts +0 -17
- package/dist/links/httpLink.d.ts.map +0 -1
- package/dist/links/httpLink.js +0 -95
- package/dist/links/httpSubscriptionLink.d.ts +0 -26
- package/dist/links/httpSubscriptionLink.d.ts.map +0 -1
- package/dist/links/httpSubscriptionLink.js +0 -177
- package/dist/links/httpSubscriptionLink.mjs +0 -174
- package/dist/links/internals/contentTypes.d.ts +0 -4
- package/dist/links/internals/contentTypes.d.ts.map +0 -1
- package/dist/links/internals/contentTypes.js +0 -16
- package/dist/links/internals/contentTypes.mjs +0 -12
- package/dist/links/internals/createChain.d.ts +0 -8
- package/dist/links/internals/createChain.d.ts.map +0 -1
- package/dist/links/internals/createChain.js +0 -26
- package/dist/links/internals/createChain.mjs +0 -24
- package/dist/links/internals/dedupeLink.d.ts +0 -7
- package/dist/links/internals/dedupeLink.d.ts.map +0 -1
- package/dist/links/internals/httpUtils.d.ts +0 -68
- package/dist/links/internals/httpUtils.d.ts.map +0 -1
- package/dist/links/internals/httpUtils.js +0 -141
- package/dist/links/internals/httpUtils.mjs +0 -133
- package/dist/links/internals/subscriptions.d.ts +0 -17
- package/dist/links/internals/subscriptions.d.ts.map +0 -1
- package/dist/links/internals/urlWithConnectionParams.d.ts +0 -23
- package/dist/links/internals/urlWithConnectionParams.d.ts.map +0 -1
- package/dist/links/internals/urlWithConnectionParams.js +0 -10
- package/dist/links/internals/urlWithConnectionParams.mjs +0 -8
- package/dist/links/localLink.d.ts +0 -15
- package/dist/links/localLink.d.ts.map +0 -1
- package/dist/links/localLink.js +0 -333
- package/dist/links/localLink.mjs +0 -331
- package/dist/links/loggerLink.d.ts +0 -52
- package/dist/links/loggerLink.d.ts.map +0 -1
- package/dist/links/loggerLink.js +0 -178
- package/dist/links/retryLink.d.ts +0 -33
- package/dist/links/retryLink.d.ts.map +0 -1
- package/dist/links/retryLink.js +0 -72
- package/dist/links/retryLink.mjs +0 -70
- package/dist/links/splitLink.d.ts +0 -14
- package/dist/links/splitLink.d.ts.map +0 -1
- package/dist/links/splitLink.js +0 -27
- package/dist/links/types.d.ts +0 -63
- package/dist/links/types.d.ts.map +0 -1
- package/dist/links/wsLink/createWsClient.d.ts +0 -6
- package/dist/links/wsLink/createWsClient.d.ts.map +0 -1
- package/dist/links/wsLink/createWsClient.js +0 -9
- package/dist/links/wsLink/createWsClient.mjs +0 -7
- package/dist/links/wsLink/wsClient/options.d.ts +0 -79
- package/dist/links/wsLink/wsClient/options.d.ts.map +0 -1
- package/dist/links/wsLink/wsClient/options.js +0 -22
- package/dist/links/wsLink/wsClient/options.mjs +0 -18
- package/dist/links/wsLink/wsClient/requestManager.d.ts +0 -106
- package/dist/links/wsLink/wsClient/requestManager.d.ts.map +0 -1
- package/dist/links/wsLink/wsClient/requestManager.js +0 -143
- package/dist/links/wsLink/wsClient/requestManager.mjs +0 -141
- package/dist/links/wsLink/wsClient/utils.d.ts +0 -38
- package/dist/links/wsLink/wsClient/utils.d.ts.map +0 -1
- package/dist/links/wsLink/wsClient/utils.js +0 -94
- package/dist/links/wsLink/wsClient/utils.mjs +0 -88
- package/dist/links/wsLink/wsClient/wsClient.d.ts +0 -84
- package/dist/links/wsLink/wsClient/wsClient.d.ts.map +0 -1
- package/dist/links/wsLink/wsClient/wsClient.js +0 -325
- package/dist/links/wsLink/wsClient/wsClient.mjs +0 -323
- package/dist/links/wsLink/wsClient/wsConnection.d.ts +0 -79
- package/dist/links/wsLink/wsClient/wsConnection.d.ts.map +0 -1
- package/dist/links/wsLink/wsClient/wsConnection.js +0 -188
- package/dist/links/wsLink/wsClient/wsConnection.mjs +0 -185
- package/dist/links/wsLink/wsLink.d.ts +0 -11
- package/dist/links/wsLink/wsLink.d.ts.map +0 -1
- package/dist/links/wsLink/wsLink.js +0 -35
- package/dist/links.d.ts +0 -12
- package/dist/links.d.ts.map +0 -1
- package/dist/unstable-internals.d.ts +0 -3
- package/dist/unstable-internals.d.ts.map +0 -1
- package/dist/unstable-internals.js +0 -7
- package/links/httpBatchLink/index.d.ts +0 -1
- package/links/httpBatchLink/index.js +0 -1
- package/links/httpLink/index.d.ts +0 -1
- package/links/httpLink/index.js +0 -1
- package/links/loggerLink/index.d.ts +0 -1
- package/links/loggerLink/index.js +0 -1
- package/links/splitLink/index.d.ts +0 -1
- package/links/splitLink/index.js +0 -1
- package/links/wsLink/wsLink/index.d.ts +0 -1
- package/links/wsLink/wsLink/index.js +0 -1
- package/unstable-internals/index.d.ts +0 -1
- package/unstable-internals/index.js +0 -1
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var observable = require('@trpc/server/observable');
|
|
4
|
-
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
5
|
-
var dataLoader = require('../internals/dataLoader.js');
|
|
6
|
-
var signals = require('../internals/signals.js');
|
|
7
|
-
var TRPCClientError = require('../TRPCClientError.js');
|
|
8
|
-
var httpUtils = require('./internals/httpUtils.js');
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @see https://trpc.io/docs/client/links/httpBatchStreamLink
|
|
12
|
-
*/ function httpBatchStreamLink(opts) {
|
|
13
|
-
const resolvedOpts = httpUtils.resolveHTTPLinkOptions(opts);
|
|
14
|
-
const maxURLLength = opts.maxURLLength ?? Infinity;
|
|
15
|
-
const maxItems = opts.maxItems ?? Infinity;
|
|
16
|
-
return ()=>{
|
|
17
|
-
const batchLoader = (type)=>{
|
|
18
|
-
return {
|
|
19
|
-
validate (batchOps) {
|
|
20
|
-
if (maxURLLength === Infinity && maxItems === Infinity) {
|
|
21
|
-
// escape hatch for quick calcs
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
if (batchOps.length > maxItems) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
const path = batchOps.map((op)=>op.path).join(',');
|
|
28
|
-
const inputs = batchOps.map((op)=>op.input);
|
|
29
|
-
const url = httpUtils.getUrl({
|
|
30
|
-
...resolvedOpts,
|
|
31
|
-
type,
|
|
32
|
-
path,
|
|
33
|
-
inputs,
|
|
34
|
-
signal: null
|
|
35
|
-
});
|
|
36
|
-
return url.length <= maxURLLength;
|
|
37
|
-
},
|
|
38
|
-
async fetch (batchOps) {
|
|
39
|
-
const path = batchOps.map((op)=>op.path).join(',');
|
|
40
|
-
const inputs = batchOps.map((op)=>op.input);
|
|
41
|
-
const batchSignals = signals.allAbortSignals(...batchOps.map((op)=>op.signal));
|
|
42
|
-
const abortController = new AbortController();
|
|
43
|
-
const responsePromise = httpUtils.fetchHTTPResponse({
|
|
44
|
-
...resolvedOpts,
|
|
45
|
-
signal: signals.raceAbortSignals(batchSignals, abortController.signal),
|
|
46
|
-
type,
|
|
47
|
-
contentTypeHeader: 'application/json',
|
|
48
|
-
trpcAcceptHeader: 'application/jsonl',
|
|
49
|
-
getUrl: httpUtils.getUrl,
|
|
50
|
-
getBody: httpUtils.getBody,
|
|
51
|
-
inputs,
|
|
52
|
-
path,
|
|
53
|
-
headers () {
|
|
54
|
-
if (!opts.headers) {
|
|
55
|
-
return {};
|
|
56
|
-
}
|
|
57
|
-
if (typeof opts.headers === 'function') {
|
|
58
|
-
return opts.headers({
|
|
59
|
-
opList: batchOps
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
return opts.headers;
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
const res = await responsePromise;
|
|
66
|
-
const [head] = await unstableCoreDoNotImport.jsonlStreamConsumer({
|
|
67
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
68
|
-
from: res.body,
|
|
69
|
-
deserialize: resolvedOpts.transformer.output.deserialize,
|
|
70
|
-
// onError: console.error,
|
|
71
|
-
formatError (opts) {
|
|
72
|
-
const error = opts.error;
|
|
73
|
-
return TRPCClientError.TRPCClientError.from({
|
|
74
|
-
error
|
|
75
|
-
});
|
|
76
|
-
},
|
|
77
|
-
abortController
|
|
78
|
-
});
|
|
79
|
-
const promises = Object.keys(batchOps).map(async (key)=>{
|
|
80
|
-
let json = await Promise.resolve(head[key]);
|
|
81
|
-
if ('result' in json) {
|
|
82
|
-
/**
|
|
83
|
-
* Not very pretty, but we need to unwrap nested data as promises
|
|
84
|
-
* Our stream producer will only resolve top-level async values or async values that are directly nested in another async value
|
|
85
|
-
*/ const result = await Promise.resolve(json.result);
|
|
86
|
-
json = {
|
|
87
|
-
result: {
|
|
88
|
-
data: await Promise.resolve(result.data)
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
return {
|
|
93
|
-
json,
|
|
94
|
-
meta: {
|
|
95
|
-
response: res
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
});
|
|
99
|
-
return promises;
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
|
-
const query = dataLoader.dataLoader(batchLoader('query'));
|
|
104
|
-
const mutation = dataLoader.dataLoader(batchLoader('mutation'));
|
|
105
|
-
const loaders = {
|
|
106
|
-
query,
|
|
107
|
-
mutation
|
|
108
|
-
};
|
|
109
|
-
return ({ op })=>{
|
|
110
|
-
return observable.observable((observer)=>{
|
|
111
|
-
/* istanbul ignore if -- @preserve */ if (op.type === 'subscription') {
|
|
112
|
-
throw new Error('Subscriptions are unsupported by `httpBatchStreamLink` - use `httpSubscriptionLink` or `wsLink`');
|
|
113
|
-
}
|
|
114
|
-
const loader = loaders[op.type];
|
|
115
|
-
const promise = loader.load(op);
|
|
116
|
-
let _res = undefined;
|
|
117
|
-
promise.then((res)=>{
|
|
118
|
-
_res = res;
|
|
119
|
-
if ('error' in res.json) {
|
|
120
|
-
observer.error(TRPCClientError.TRPCClientError.from(res.json, {
|
|
121
|
-
meta: res.meta
|
|
122
|
-
}));
|
|
123
|
-
return;
|
|
124
|
-
} else if ('result' in res.json) {
|
|
125
|
-
observer.next({
|
|
126
|
-
context: res.meta,
|
|
127
|
-
result: res.json.result
|
|
128
|
-
});
|
|
129
|
-
observer.complete();
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
observer.complete();
|
|
133
|
-
}).catch((err)=>{
|
|
134
|
-
observer.error(TRPCClientError.TRPCClientError.from(err, {
|
|
135
|
-
meta: _res?.meta
|
|
136
|
-
}));
|
|
137
|
-
});
|
|
138
|
-
return ()=>{
|
|
139
|
-
// noop
|
|
140
|
-
};
|
|
141
|
-
});
|
|
142
|
-
};
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* @deprecated use {@link httpBatchStreamLink} instead
|
|
147
|
-
*/ const unstable_httpBatchStreamLink = httpBatchStreamLink;
|
|
148
|
-
|
|
149
|
-
exports.httpBatchStreamLink = httpBatchStreamLink;
|
|
150
|
-
exports.unstable_httpBatchStreamLink = unstable_httpBatchStreamLink;
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { observable } from '@trpc/server/observable';
|
|
2
|
-
import { jsonlStreamConsumer } from '@trpc/server/unstable-core-do-not-import';
|
|
3
|
-
import { dataLoader } from '../internals/dataLoader.mjs';
|
|
4
|
-
import { allAbortSignals, raceAbortSignals } from '../internals/signals.mjs';
|
|
5
|
-
import { TRPCClientError } from '../TRPCClientError.mjs';
|
|
6
|
-
import { resolveHTTPLinkOptions, fetchHTTPResponse, getBody, getUrl } from './internals/httpUtils.mjs';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @see https://trpc.io/docs/client/links/httpBatchStreamLink
|
|
10
|
-
*/ function httpBatchStreamLink(opts) {
|
|
11
|
-
const resolvedOpts = resolveHTTPLinkOptions(opts);
|
|
12
|
-
const maxURLLength = opts.maxURLLength ?? Infinity;
|
|
13
|
-
const maxItems = opts.maxItems ?? Infinity;
|
|
14
|
-
return ()=>{
|
|
15
|
-
const batchLoader = (type)=>{
|
|
16
|
-
return {
|
|
17
|
-
validate (batchOps) {
|
|
18
|
-
if (maxURLLength === Infinity && maxItems === Infinity) {
|
|
19
|
-
// escape hatch for quick calcs
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
if (batchOps.length > maxItems) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
const path = batchOps.map((op)=>op.path).join(',');
|
|
26
|
-
const inputs = batchOps.map((op)=>op.input);
|
|
27
|
-
const url = getUrl({
|
|
28
|
-
...resolvedOpts,
|
|
29
|
-
type,
|
|
30
|
-
path,
|
|
31
|
-
inputs,
|
|
32
|
-
signal: null
|
|
33
|
-
});
|
|
34
|
-
return url.length <= maxURLLength;
|
|
35
|
-
},
|
|
36
|
-
async fetch (batchOps) {
|
|
37
|
-
const path = batchOps.map((op)=>op.path).join(',');
|
|
38
|
-
const inputs = batchOps.map((op)=>op.input);
|
|
39
|
-
const batchSignals = allAbortSignals(...batchOps.map((op)=>op.signal));
|
|
40
|
-
const abortController = new AbortController();
|
|
41
|
-
const responsePromise = fetchHTTPResponse({
|
|
42
|
-
...resolvedOpts,
|
|
43
|
-
signal: raceAbortSignals(batchSignals, abortController.signal),
|
|
44
|
-
type,
|
|
45
|
-
contentTypeHeader: 'application/json',
|
|
46
|
-
trpcAcceptHeader: 'application/jsonl',
|
|
47
|
-
getUrl,
|
|
48
|
-
getBody,
|
|
49
|
-
inputs,
|
|
50
|
-
path,
|
|
51
|
-
headers () {
|
|
52
|
-
if (!opts.headers) {
|
|
53
|
-
return {};
|
|
54
|
-
}
|
|
55
|
-
if (typeof opts.headers === 'function') {
|
|
56
|
-
return opts.headers({
|
|
57
|
-
opList: batchOps
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
return opts.headers;
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
const res = await responsePromise;
|
|
64
|
-
const [head] = await jsonlStreamConsumer({
|
|
65
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
66
|
-
from: res.body,
|
|
67
|
-
deserialize: resolvedOpts.transformer.output.deserialize,
|
|
68
|
-
// onError: console.error,
|
|
69
|
-
formatError (opts) {
|
|
70
|
-
const error = opts.error;
|
|
71
|
-
return TRPCClientError.from({
|
|
72
|
-
error
|
|
73
|
-
});
|
|
74
|
-
},
|
|
75
|
-
abortController
|
|
76
|
-
});
|
|
77
|
-
const promises = Object.keys(batchOps).map(async (key)=>{
|
|
78
|
-
let json = await Promise.resolve(head[key]);
|
|
79
|
-
if ('result' in json) {
|
|
80
|
-
/**
|
|
81
|
-
* Not very pretty, but we need to unwrap nested data as promises
|
|
82
|
-
* Our stream producer will only resolve top-level async values or async values that are directly nested in another async value
|
|
83
|
-
*/ const result = await Promise.resolve(json.result);
|
|
84
|
-
json = {
|
|
85
|
-
result: {
|
|
86
|
-
data: await Promise.resolve(result.data)
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
json,
|
|
92
|
-
meta: {
|
|
93
|
-
response: res
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
});
|
|
97
|
-
return promises;
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
const query = dataLoader(batchLoader('query'));
|
|
102
|
-
const mutation = dataLoader(batchLoader('mutation'));
|
|
103
|
-
const loaders = {
|
|
104
|
-
query,
|
|
105
|
-
mutation
|
|
106
|
-
};
|
|
107
|
-
return ({ op })=>{
|
|
108
|
-
return observable((observer)=>{
|
|
109
|
-
/* istanbul ignore if -- @preserve */ if (op.type === 'subscription') {
|
|
110
|
-
throw new Error('Subscriptions are unsupported by `httpBatchStreamLink` - use `httpSubscriptionLink` or `wsLink`');
|
|
111
|
-
}
|
|
112
|
-
const loader = loaders[op.type];
|
|
113
|
-
const promise = loader.load(op);
|
|
114
|
-
let _res = undefined;
|
|
115
|
-
promise.then((res)=>{
|
|
116
|
-
_res = res;
|
|
117
|
-
if ('error' in res.json) {
|
|
118
|
-
observer.error(TRPCClientError.from(res.json, {
|
|
119
|
-
meta: res.meta
|
|
120
|
-
}));
|
|
121
|
-
return;
|
|
122
|
-
} else if ('result' in res.json) {
|
|
123
|
-
observer.next({
|
|
124
|
-
context: res.meta,
|
|
125
|
-
result: res.json.result
|
|
126
|
-
});
|
|
127
|
-
observer.complete();
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
observer.complete();
|
|
131
|
-
}).catch((err)=>{
|
|
132
|
-
observer.error(TRPCClientError.from(err, {
|
|
133
|
-
meta: _res?.meta
|
|
134
|
-
}));
|
|
135
|
-
});
|
|
136
|
-
return ()=>{
|
|
137
|
-
// noop
|
|
138
|
-
};
|
|
139
|
-
});
|
|
140
|
-
};
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* @deprecated use {@link httpBatchStreamLink} instead
|
|
145
|
-
*/ const unstable_httpBatchStreamLink = httpBatchStreamLink;
|
|
146
|
-
|
|
147
|
-
export { httpBatchStreamLink, unstable_httpBatchStreamLink };
|
package/dist/links/httpLink.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { AnyClientTypes, AnyRouter } from '@trpc/server/unstable-core-do-not-import';
|
|
2
|
-
import type { HTTPLinkBaseOptions } from './internals/httpUtils';
|
|
3
|
-
import { type HTTPHeaders, type Operation, type TRPCLink } from './types';
|
|
4
|
-
export type HTTPLinkOptions<TRoot extends AnyClientTypes> = HTTPLinkBaseOptions<TRoot> & {
|
|
5
|
-
/**
|
|
6
|
-
* Headers to be set on outgoing requests or a callback that of said headers
|
|
7
|
-
* @see http://trpc.io/docs/client/headers
|
|
8
|
-
*/
|
|
9
|
-
headers?: HTTPHeaders | ((opts: {
|
|
10
|
-
op: Operation;
|
|
11
|
-
}) => HTTPHeaders | Promise<HTTPHeaders>);
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* @see https://trpc.io/docs/client/links/httpLink
|
|
15
|
-
*/
|
|
16
|
-
export declare function httpLink<TRouter extends AnyRouter = AnyRouter>(opts: HTTPLinkOptions<TRouter['_def']['_config']['$types']>): TRPCLink<TRouter>;
|
|
17
|
-
//# sourceMappingURL=httpLink.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpLink.d.ts","sourceRoot":"","sources":["../../src/links/httpLink.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACV,MAAM,0CAA0C,CAAC;AAGlD,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,cAAc,IACtD,mBAAmB,CAAC,KAAK,CAAC,GAAG;IAC3B;;;OAGG;IACH,OAAO,CAAC,EACJ,WAAW,GACX,CAAC,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,SAAS,CAAA;KAAE,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;CACvE,CAAC;AAoCJ;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAC5D,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,GAC1D,QAAQ,CAAC,OAAO,CAAC,CAgEnB"}
|
package/dist/links/httpLink.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var observable = require('@trpc/server/observable');
|
|
4
|
-
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
5
|
-
var TRPCClientError = require('../TRPCClientError.js');
|
|
6
|
-
var httpUtils = require('./internals/httpUtils.js');
|
|
7
|
-
var contentTypes = require('./internals/contentTypes.js');
|
|
8
|
-
|
|
9
|
-
const universalRequester = (opts)=>{
|
|
10
|
-
if ('input' in opts) {
|
|
11
|
-
const { input } = opts;
|
|
12
|
-
if (contentTypes.isFormData(input)) {
|
|
13
|
-
if (opts.type !== 'mutation' && opts.methodOverride !== 'POST') {
|
|
14
|
-
throw new Error('FormData is only supported for mutations');
|
|
15
|
-
}
|
|
16
|
-
return httpUtils.httpRequest({
|
|
17
|
-
...opts,
|
|
18
|
-
// The browser will set this automatically and include the boundary= in it
|
|
19
|
-
contentTypeHeader: undefined,
|
|
20
|
-
getUrl: httpUtils.getUrl,
|
|
21
|
-
getBody: ()=>input
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
if (contentTypes.isOctetType(input)) {
|
|
25
|
-
if (opts.type !== 'mutation' && opts.methodOverride !== 'POST') {
|
|
26
|
-
throw new Error('Octet type input is only supported for mutations');
|
|
27
|
-
}
|
|
28
|
-
return httpUtils.httpRequest({
|
|
29
|
-
...opts,
|
|
30
|
-
contentTypeHeader: 'application/octet-stream',
|
|
31
|
-
getUrl: httpUtils.getUrl,
|
|
32
|
-
getBody: ()=>input
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return httpUtils.jsonHttpRequester(opts);
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* @see https://trpc.io/docs/client/links/httpLink
|
|
40
|
-
*/ function httpLink(opts) {
|
|
41
|
-
const resolvedOpts = httpUtils.resolveHTTPLinkOptions(opts);
|
|
42
|
-
return ()=>{
|
|
43
|
-
return ({ op })=>{
|
|
44
|
-
return observable.observable((observer)=>{
|
|
45
|
-
const { path, input, type } = op;
|
|
46
|
-
/* istanbul ignore if -- @preserve */ if (type === 'subscription') {
|
|
47
|
-
throw new Error('Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`');
|
|
48
|
-
}
|
|
49
|
-
const request = universalRequester({
|
|
50
|
-
...resolvedOpts,
|
|
51
|
-
type,
|
|
52
|
-
path,
|
|
53
|
-
input,
|
|
54
|
-
signal: op.signal,
|
|
55
|
-
headers () {
|
|
56
|
-
if (!opts.headers) {
|
|
57
|
-
return {};
|
|
58
|
-
}
|
|
59
|
-
if (typeof opts.headers === 'function') {
|
|
60
|
-
return opts.headers({
|
|
61
|
-
op
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
return opts.headers;
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
let meta = undefined;
|
|
68
|
-
request.then((res)=>{
|
|
69
|
-
meta = res.meta;
|
|
70
|
-
const transformed = unstableCoreDoNotImport.transformResult(res.json, resolvedOpts.transformer.output);
|
|
71
|
-
if (!transformed.ok) {
|
|
72
|
-
observer.error(TRPCClientError.TRPCClientError.from(transformed.error, {
|
|
73
|
-
meta
|
|
74
|
-
}));
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
observer.next({
|
|
78
|
-
context: res.meta,
|
|
79
|
-
result: transformed.result
|
|
80
|
-
});
|
|
81
|
-
observer.complete();
|
|
82
|
-
}).catch((cause)=>{
|
|
83
|
-
observer.error(TRPCClientError.TRPCClientError.from(cause, {
|
|
84
|
-
meta
|
|
85
|
-
}));
|
|
86
|
-
});
|
|
87
|
-
return ()=>{
|
|
88
|
-
// noop
|
|
89
|
-
};
|
|
90
|
-
});
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
exports.httpLink = httpLink;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { AnyClientTypes, EventSourceLike, inferClientTypes, InferrableClientTypes } from '@trpc/server/unstable-core-do-not-import';
|
|
2
|
-
import { type TransformerOptions } from '../unstable-internals';
|
|
3
|
-
import { type UrlOptionsWithConnectionParams } from './internals/urlWithConnectionParams';
|
|
4
|
-
import type { Operation, TRPCLink } from './types';
|
|
5
|
-
type HTTPSubscriptionLinkOptions<TRoot extends AnyClientTypes, TEventSource extends EventSourceLike.AnyConstructor = typeof EventSource> = {
|
|
6
|
-
/**
|
|
7
|
-
* EventSource ponyfill
|
|
8
|
-
*/
|
|
9
|
-
EventSource?: TEventSource;
|
|
10
|
-
/**
|
|
11
|
-
* EventSource options or a callback that returns them
|
|
12
|
-
*/
|
|
13
|
-
eventSourceOptions?: EventSourceLike.InitDictOf<TEventSource> | ((opts: {
|
|
14
|
-
op: Operation;
|
|
15
|
-
}) => EventSourceLike.InitDictOf<TEventSource> | Promise<EventSourceLike.InitDictOf<TEventSource>>);
|
|
16
|
-
} & TransformerOptions<TRoot> & UrlOptionsWithConnectionParams;
|
|
17
|
-
/**
|
|
18
|
-
* @see https://trpc.io/docs/client/links/httpSubscriptionLink
|
|
19
|
-
*/
|
|
20
|
-
export declare function httpSubscriptionLink<TInferrable extends InferrableClientTypes, TEventSource extends EventSourceLike.AnyConstructor>(opts: HTTPSubscriptionLinkOptions<inferClientTypes<TInferrable>, TEventSource>): TRPCLink<TInferrable>;
|
|
21
|
-
/**
|
|
22
|
-
* @deprecated use {@link httpSubscriptionLink} instead
|
|
23
|
-
*/
|
|
24
|
-
export declare const unstable_httpSubscriptionLink: typeof httpSubscriptionLink;
|
|
25
|
-
export {};
|
|
26
|
-
//# sourceMappingURL=httpSubscriptionLink.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpSubscriptionLink.d.ts","sourceRoot":"","sources":["../../src/links/httpSubscriptionLink.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,0CAA0C,CAAC;AAUlD,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAiBnD,KAAK,2BAA2B,CAC9B,KAAK,SAAS,cAAc,EAC5B,YAAY,SAAS,eAAe,CAAC,cAAc,GAAG,OAAO,WAAW,IACtE;IACF;;OAEG;IACH,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B;;OAEG;IACH,kBAAkB,CAAC,EACf,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,GACxC,CAAC,CAAC,IAAI,EAAE;QACN,EAAE,EAAE,SAAS,CAAC;KACf,KACG,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,GACxC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAC5D,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAC3B,8BAA8B,CAAC;AAEjC;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,SAAS,qBAAqB,EACzC,YAAY,SAAS,eAAe,CAAC,cAAc,EAEnD,IAAI,EAAE,2BAA2B,CAC/B,gBAAgB,CAAC,WAAW,CAAC,EAC7B,YAAY,CACb,GACA,QAAQ,CAAC,WAAW,CAAC,CAuKvB;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,6BAAuB,CAAC"}
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var observable = require('@trpc/server/observable');
|
|
4
|
-
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
5
|
-
var inputWithTrackedEventId = require('../internals/inputWithTrackedEventId.js');
|
|
6
|
-
var signals = require('../internals/signals.js');
|
|
7
|
-
var TRPCClientError = require('../TRPCClientError.js');
|
|
8
|
-
var transformer = require('../internals/transformer.js');
|
|
9
|
-
var httpUtils = require('./internals/httpUtils.js');
|
|
10
|
-
var urlWithConnectionParams$1 = require('./internals/urlWithConnectionParams.js');
|
|
11
|
-
|
|
12
|
-
async function urlWithConnectionParams(opts) {
|
|
13
|
-
let url = await urlWithConnectionParams$1.resultOf(opts.url);
|
|
14
|
-
if (opts.connectionParams) {
|
|
15
|
-
const params = await urlWithConnectionParams$1.resultOf(opts.connectionParams);
|
|
16
|
-
const prefix = url.includes('?') ? '&' : '?';
|
|
17
|
-
url += prefix + 'connectionParams=' + encodeURIComponent(JSON.stringify(params));
|
|
18
|
-
}
|
|
19
|
-
return url;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @see https://trpc.io/docs/client/links/httpSubscriptionLink
|
|
23
|
-
*/ function httpSubscriptionLink(opts) {
|
|
24
|
-
const transformer$1 = transformer.getTransformer(opts.transformer);
|
|
25
|
-
return ()=>{
|
|
26
|
-
return ({ op })=>{
|
|
27
|
-
return observable.observable((observer)=>{
|
|
28
|
-
const { type, path, input } = op;
|
|
29
|
-
/* istanbul ignore if -- @preserve */ if (type !== 'subscription') {
|
|
30
|
-
throw new Error('httpSubscriptionLink only supports subscriptions');
|
|
31
|
-
}
|
|
32
|
-
let lastEventId = undefined;
|
|
33
|
-
const ac = new AbortController();
|
|
34
|
-
const signal = signals.raceAbortSignals(op.signal, ac.signal);
|
|
35
|
-
const eventSourceStream = unstableCoreDoNotImport.sseStreamConsumer({
|
|
36
|
-
url: async ()=>httpUtils.getUrl({
|
|
37
|
-
transformer: transformer$1,
|
|
38
|
-
url: await urlWithConnectionParams(opts),
|
|
39
|
-
input: inputWithTrackedEventId.inputWithTrackedEventId(input, lastEventId),
|
|
40
|
-
path,
|
|
41
|
-
type,
|
|
42
|
-
signal: null
|
|
43
|
-
}),
|
|
44
|
-
init: ()=>urlWithConnectionParams$1.resultOf(opts.eventSourceOptions, {
|
|
45
|
-
op
|
|
46
|
-
}),
|
|
47
|
-
signal,
|
|
48
|
-
deserialize: transformer$1.output.deserialize,
|
|
49
|
-
EventSource: opts.EventSource ?? globalThis.EventSource
|
|
50
|
-
});
|
|
51
|
-
const connectionState = observable.behaviorSubject({
|
|
52
|
-
type: 'state',
|
|
53
|
-
state: 'connecting',
|
|
54
|
-
error: null
|
|
55
|
-
});
|
|
56
|
-
const connectionSub = connectionState.subscribe({
|
|
57
|
-
next (state) {
|
|
58
|
-
observer.next({
|
|
59
|
-
result: state
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
unstableCoreDoNotImport.run(async ()=>{
|
|
64
|
-
for await (const chunk of eventSourceStream){
|
|
65
|
-
switch(chunk.type){
|
|
66
|
-
case 'ping':
|
|
67
|
-
break;
|
|
68
|
-
case 'data':
|
|
69
|
-
const chunkData = chunk.data;
|
|
70
|
-
let result;
|
|
71
|
-
if (chunkData.id) {
|
|
72
|
-
// if the `tracked()`-helper is used, we always have an `id` field
|
|
73
|
-
lastEventId = chunkData.id;
|
|
74
|
-
result = {
|
|
75
|
-
id: chunkData.id,
|
|
76
|
-
data: chunkData
|
|
77
|
-
};
|
|
78
|
-
} else {
|
|
79
|
-
result = {
|
|
80
|
-
data: chunkData.data
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
observer.next({
|
|
84
|
-
result,
|
|
85
|
-
context: {
|
|
86
|
-
eventSource: chunk.eventSource
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
break;
|
|
90
|
-
case 'connected':
|
|
91
|
-
{
|
|
92
|
-
observer.next({
|
|
93
|
-
result: {
|
|
94
|
-
type: 'started'
|
|
95
|
-
},
|
|
96
|
-
context: {
|
|
97
|
-
eventSource: chunk.eventSource
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
connectionState.next({
|
|
101
|
-
type: 'state',
|
|
102
|
-
state: 'pending',
|
|
103
|
-
error: null
|
|
104
|
-
});
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
case 'serialized-error':
|
|
108
|
-
{
|
|
109
|
-
const error = TRPCClientError.TRPCClientError.from({
|
|
110
|
-
error: chunk.error
|
|
111
|
-
});
|
|
112
|
-
if (unstableCoreDoNotImport.retryableRpcCodes.includes(chunk.error.code)) {
|
|
113
|
-
//
|
|
114
|
-
connectionState.next({
|
|
115
|
-
type: 'state',
|
|
116
|
-
state: 'connecting',
|
|
117
|
-
error
|
|
118
|
-
});
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
|
-
//
|
|
122
|
-
// non-retryable error, cancel the subscription
|
|
123
|
-
throw error;
|
|
124
|
-
}
|
|
125
|
-
case 'connecting':
|
|
126
|
-
{
|
|
127
|
-
const lastState = connectionState.get();
|
|
128
|
-
const error = chunk.event && TRPCClientError.TRPCClientError.from(chunk.event);
|
|
129
|
-
if (!error && lastState.state === 'connecting') {
|
|
130
|
-
break;
|
|
131
|
-
}
|
|
132
|
-
connectionState.next({
|
|
133
|
-
type: 'state',
|
|
134
|
-
state: 'connecting',
|
|
135
|
-
error
|
|
136
|
-
});
|
|
137
|
-
break;
|
|
138
|
-
}
|
|
139
|
-
case 'timeout':
|
|
140
|
-
{
|
|
141
|
-
connectionState.next({
|
|
142
|
-
type: 'state',
|
|
143
|
-
state: 'connecting',
|
|
144
|
-
error: new TRPCClientError.TRPCClientError(`Timeout of ${chunk.ms}ms reached while waiting for a response`)
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
observer.next({
|
|
150
|
-
result: {
|
|
151
|
-
type: 'stopped'
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
connectionState.next({
|
|
155
|
-
type: 'state',
|
|
156
|
-
state: 'idle',
|
|
157
|
-
error: null
|
|
158
|
-
});
|
|
159
|
-
observer.complete();
|
|
160
|
-
}).catch((error)=>{
|
|
161
|
-
observer.error(TRPCClientError.TRPCClientError.from(error));
|
|
162
|
-
});
|
|
163
|
-
return ()=>{
|
|
164
|
-
observer.complete();
|
|
165
|
-
ac.abort();
|
|
166
|
-
connectionSub.unsubscribe();
|
|
167
|
-
};
|
|
168
|
-
});
|
|
169
|
-
};
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* @deprecated use {@link httpSubscriptionLink} instead
|
|
174
|
-
*/ const unstable_httpSubscriptionLink = httpSubscriptionLink;
|
|
175
|
-
|
|
176
|
-
exports.httpSubscriptionLink = httpSubscriptionLink;
|
|
177
|
-
exports.unstable_httpSubscriptionLink = unstable_httpSubscriptionLink;
|