@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,174 +0,0 @@
|
|
|
1
|
-
import { observable, behaviorSubject } from '@trpc/server/observable';
|
|
2
|
-
import { sseStreamConsumer, run, retryableRpcCodes } from '@trpc/server/unstable-core-do-not-import';
|
|
3
|
-
import { inputWithTrackedEventId } from '../internals/inputWithTrackedEventId.mjs';
|
|
4
|
-
import { raceAbortSignals } from '../internals/signals.mjs';
|
|
5
|
-
import { TRPCClientError } from '../TRPCClientError.mjs';
|
|
6
|
-
import { getTransformer } from '../internals/transformer.mjs';
|
|
7
|
-
import { getUrl } from './internals/httpUtils.mjs';
|
|
8
|
-
import { resultOf } from './internals/urlWithConnectionParams.mjs';
|
|
9
|
-
|
|
10
|
-
async function urlWithConnectionParams(opts) {
|
|
11
|
-
let url = await resultOf(opts.url);
|
|
12
|
-
if (opts.connectionParams) {
|
|
13
|
-
const params = await resultOf(opts.connectionParams);
|
|
14
|
-
const prefix = url.includes('?') ? '&' : '?';
|
|
15
|
-
url += prefix + 'connectionParams=' + encodeURIComponent(JSON.stringify(params));
|
|
16
|
-
}
|
|
17
|
-
return url;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @see https://trpc.io/docs/client/links/httpSubscriptionLink
|
|
21
|
-
*/ function httpSubscriptionLink(opts) {
|
|
22
|
-
const transformer = getTransformer(opts.transformer);
|
|
23
|
-
return ()=>{
|
|
24
|
-
return ({ op })=>{
|
|
25
|
-
return observable((observer)=>{
|
|
26
|
-
const { type, path, input } = op;
|
|
27
|
-
/* istanbul ignore if -- @preserve */ if (type !== 'subscription') {
|
|
28
|
-
throw new Error('httpSubscriptionLink only supports subscriptions');
|
|
29
|
-
}
|
|
30
|
-
let lastEventId = undefined;
|
|
31
|
-
const ac = new AbortController();
|
|
32
|
-
const signal = raceAbortSignals(op.signal, ac.signal);
|
|
33
|
-
const eventSourceStream = sseStreamConsumer({
|
|
34
|
-
url: async ()=>getUrl({
|
|
35
|
-
transformer,
|
|
36
|
-
url: await urlWithConnectionParams(opts),
|
|
37
|
-
input: inputWithTrackedEventId(input, lastEventId),
|
|
38
|
-
path,
|
|
39
|
-
type,
|
|
40
|
-
signal: null
|
|
41
|
-
}),
|
|
42
|
-
init: ()=>resultOf(opts.eventSourceOptions, {
|
|
43
|
-
op
|
|
44
|
-
}),
|
|
45
|
-
signal,
|
|
46
|
-
deserialize: transformer.output.deserialize,
|
|
47
|
-
EventSource: opts.EventSource ?? globalThis.EventSource
|
|
48
|
-
});
|
|
49
|
-
const connectionState = behaviorSubject({
|
|
50
|
-
type: 'state',
|
|
51
|
-
state: 'connecting',
|
|
52
|
-
error: null
|
|
53
|
-
});
|
|
54
|
-
const connectionSub = connectionState.subscribe({
|
|
55
|
-
next (state) {
|
|
56
|
-
observer.next({
|
|
57
|
-
result: state
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
run(async ()=>{
|
|
62
|
-
for await (const chunk of eventSourceStream){
|
|
63
|
-
switch(chunk.type){
|
|
64
|
-
case 'ping':
|
|
65
|
-
break;
|
|
66
|
-
case 'data':
|
|
67
|
-
const chunkData = chunk.data;
|
|
68
|
-
let result;
|
|
69
|
-
if (chunkData.id) {
|
|
70
|
-
// if the `tracked()`-helper is used, we always have an `id` field
|
|
71
|
-
lastEventId = chunkData.id;
|
|
72
|
-
result = {
|
|
73
|
-
id: chunkData.id,
|
|
74
|
-
data: chunkData
|
|
75
|
-
};
|
|
76
|
-
} else {
|
|
77
|
-
result = {
|
|
78
|
-
data: chunkData.data
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
observer.next({
|
|
82
|
-
result,
|
|
83
|
-
context: {
|
|
84
|
-
eventSource: chunk.eventSource
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
break;
|
|
88
|
-
case 'connected':
|
|
89
|
-
{
|
|
90
|
-
observer.next({
|
|
91
|
-
result: {
|
|
92
|
-
type: 'started'
|
|
93
|
-
},
|
|
94
|
-
context: {
|
|
95
|
-
eventSource: chunk.eventSource
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
connectionState.next({
|
|
99
|
-
type: 'state',
|
|
100
|
-
state: 'pending',
|
|
101
|
-
error: null
|
|
102
|
-
});
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
105
|
-
case 'serialized-error':
|
|
106
|
-
{
|
|
107
|
-
const error = TRPCClientError.from({
|
|
108
|
-
error: chunk.error
|
|
109
|
-
});
|
|
110
|
-
if (retryableRpcCodes.includes(chunk.error.code)) {
|
|
111
|
-
//
|
|
112
|
-
connectionState.next({
|
|
113
|
-
type: 'state',
|
|
114
|
-
state: 'connecting',
|
|
115
|
-
error
|
|
116
|
-
});
|
|
117
|
-
break;
|
|
118
|
-
}
|
|
119
|
-
//
|
|
120
|
-
// non-retryable error, cancel the subscription
|
|
121
|
-
throw error;
|
|
122
|
-
}
|
|
123
|
-
case 'connecting':
|
|
124
|
-
{
|
|
125
|
-
const lastState = connectionState.get();
|
|
126
|
-
const error = chunk.event && TRPCClientError.from(chunk.event);
|
|
127
|
-
if (!error && lastState.state === 'connecting') {
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
connectionState.next({
|
|
131
|
-
type: 'state',
|
|
132
|
-
state: 'connecting',
|
|
133
|
-
error
|
|
134
|
-
});
|
|
135
|
-
break;
|
|
136
|
-
}
|
|
137
|
-
case 'timeout':
|
|
138
|
-
{
|
|
139
|
-
connectionState.next({
|
|
140
|
-
type: 'state',
|
|
141
|
-
state: 'connecting',
|
|
142
|
-
error: new TRPCClientError(`Timeout of ${chunk.ms}ms reached while waiting for a response`)
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
observer.next({
|
|
148
|
-
result: {
|
|
149
|
-
type: 'stopped'
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
connectionState.next({
|
|
153
|
-
type: 'state',
|
|
154
|
-
state: 'idle',
|
|
155
|
-
error: null
|
|
156
|
-
});
|
|
157
|
-
observer.complete();
|
|
158
|
-
}).catch((error)=>{
|
|
159
|
-
observer.error(TRPCClientError.from(error));
|
|
160
|
-
});
|
|
161
|
-
return ()=>{
|
|
162
|
-
observer.complete();
|
|
163
|
-
ac.abort();
|
|
164
|
-
connectionSub.unsubscribe();
|
|
165
|
-
};
|
|
166
|
-
});
|
|
167
|
-
};
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* @deprecated use {@link httpSubscriptionLink} instead
|
|
172
|
-
*/ const unstable_httpSubscriptionLink = httpSubscriptionLink;
|
|
173
|
-
|
|
174
|
-
export { httpSubscriptionLink, unstable_httpSubscriptionLink };
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare function isOctetType(input: unknown): input is Uint8Array<ArrayBufferLike> | Blob;
|
|
2
|
-
export declare function isFormData(input: unknown): input is FormData;
|
|
3
|
-
export declare function isNonJsonSerializable(input: unknown): input is FormData | Uint8Array<ArrayBufferLike> | Blob;
|
|
4
|
-
//# sourceMappingURL=contentTypes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contentTypes.d.ts","sourceRoot":"","sources":["../../../src/links/internals/contentTypes.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,+CAMzC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,qBAExC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,0DAEnD"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
function isOctetType(input) {
|
|
4
|
-
return input instanceof Uint8Array || // File extends from Blob but is only available in nodejs from v20
|
|
5
|
-
input instanceof Blob;
|
|
6
|
-
}
|
|
7
|
-
function isFormData(input) {
|
|
8
|
-
return input instanceof FormData;
|
|
9
|
-
}
|
|
10
|
-
function isNonJsonSerializable(input) {
|
|
11
|
-
return isOctetType(input) || isFormData(input);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
exports.isFormData = isFormData;
|
|
15
|
-
exports.isNonJsonSerializable = isNonJsonSerializable;
|
|
16
|
-
exports.isOctetType = isOctetType;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
function isOctetType(input) {
|
|
2
|
-
return input instanceof Uint8Array || // File extends from Blob but is only available in nodejs from v20
|
|
3
|
-
input instanceof Blob;
|
|
4
|
-
}
|
|
5
|
-
function isFormData(input) {
|
|
6
|
-
return input instanceof FormData;
|
|
7
|
-
}
|
|
8
|
-
function isNonJsonSerializable(input) {
|
|
9
|
-
return isOctetType(input) || isFormData(input);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export { isFormData, isNonJsonSerializable, isOctetType };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';
|
|
2
|
-
import type { Operation, OperationLink, OperationResultObservable } from '../types';
|
|
3
|
-
/** @internal */
|
|
4
|
-
export declare function createChain<TRouter extends AnyRouter, TInput = unknown, TOutput = unknown>(opts: {
|
|
5
|
-
links: OperationLink<TRouter, TInput, TOutput>[];
|
|
6
|
-
op: Operation<TInput>;
|
|
7
|
-
}): OperationResultObservable<TRouter, TOutput>;
|
|
8
|
-
//# sourceMappingURL=createChain.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createChain.d.ts","sourceRoot":"","sources":["../../../src/links/internals/createChain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAElB,gBAAgB;AAChB,wBAAgB,WAAW,CACzB,OAAO,SAAS,SAAS,EACzB,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EACjB,IAAI,EAAE;IACN,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACjD,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACvB,GAAG,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAuB9C"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var observable = require('@trpc/server/observable');
|
|
4
|
-
|
|
5
|
-
/** @internal */ function createChain(opts) {
|
|
6
|
-
return observable.observable((observer)=>{
|
|
7
|
-
function execute(index = 0, op = opts.op) {
|
|
8
|
-
const next = opts.links[index];
|
|
9
|
-
if (!next) {
|
|
10
|
-
throw new Error('No more links to execute - did you forget to add an ending link?');
|
|
11
|
-
}
|
|
12
|
-
const subscription = next({
|
|
13
|
-
op,
|
|
14
|
-
next (nextOp) {
|
|
15
|
-
const nextObserver = execute(index + 1, nextOp);
|
|
16
|
-
return nextObserver;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
return subscription;
|
|
20
|
-
}
|
|
21
|
-
const obs$ = execute();
|
|
22
|
-
return obs$.subscribe(observer);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
exports.createChain = createChain;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { observable } from '@trpc/server/observable';
|
|
2
|
-
|
|
3
|
-
/** @internal */ function createChain(opts) {
|
|
4
|
-
return observable((observer)=>{
|
|
5
|
-
function execute(index = 0, op = opts.op) {
|
|
6
|
-
const next = opts.links[index];
|
|
7
|
-
if (!next) {
|
|
8
|
-
throw new Error('No more links to execute - did you forget to add an ending link?');
|
|
9
|
-
}
|
|
10
|
-
const subscription = next({
|
|
11
|
-
op,
|
|
12
|
-
next (nextOp) {
|
|
13
|
-
const nextObserver = execute(index + 1, nextOp);
|
|
14
|
-
return nextObserver;
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
return subscription;
|
|
18
|
-
}
|
|
19
|
-
const obs$ = execute();
|
|
20
|
-
return obs$.subscribe(observer);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { createChain };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { AnyRouter } from '@trpc/server/unstable-core-do-not-import';
|
|
2
|
-
import type { TRPCLink } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* @internal used for testing
|
|
5
|
-
*/
|
|
6
|
-
export declare function dedupeLink<TRouter extends AnyRouter = AnyRouter>(): TRPCLink<TRouter>;
|
|
7
|
-
//# sourceMappingURL=dedupeLink.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dedupeLink.d.ts","sourceRoot":"","sources":["../../../src/links/internals/dedupeLink.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,SAAS,SAAS,GAAG,SAAS,KAClC,QAAQ,CAAC,OAAO,CAAC,CA2CrB"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import type { AnyClientTypes, CombinedDataTransformer, Maybe, ProcedureType, TRPCAcceptHeader, TRPCResponse } from '@trpc/server/unstable-core-do-not-import';
|
|
2
|
-
import type { FetchEsque, RequestInitEsque, ResponseEsque } from '../../internals/types';
|
|
3
|
-
import type { TransformerOptions } from '../../unstable-internals';
|
|
4
|
-
import type { HTTPHeaders } from '../types';
|
|
5
|
-
/**
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export type HTTPLinkBaseOptions<TRoot extends Pick<AnyClientTypes, 'transformer'>> = {
|
|
9
|
-
url: string | URL;
|
|
10
|
-
/**
|
|
11
|
-
* Add ponyfill for fetch
|
|
12
|
-
*/
|
|
13
|
-
fetch?: FetchEsque;
|
|
14
|
-
/**
|
|
15
|
-
* Send all requests `as POST`s requests regardless of the procedure type
|
|
16
|
-
* The HTTP handler must separately allow overriding the method. See:
|
|
17
|
-
* @see https://trpc.io/docs/rpc
|
|
18
|
-
*/
|
|
19
|
-
methodOverride?: 'POST';
|
|
20
|
-
} & TransformerOptions<TRoot>;
|
|
21
|
-
export interface ResolvedHTTPLinkOptions {
|
|
22
|
-
url: string;
|
|
23
|
-
fetch?: FetchEsque;
|
|
24
|
-
transformer: CombinedDataTransformer;
|
|
25
|
-
methodOverride?: 'POST';
|
|
26
|
-
}
|
|
27
|
-
export declare function resolveHTTPLinkOptions(opts: HTTPLinkBaseOptions<AnyClientTypes>): ResolvedHTTPLinkOptions;
|
|
28
|
-
export interface HTTPResult {
|
|
29
|
-
json: TRPCResponse;
|
|
30
|
-
meta: {
|
|
31
|
-
response: ResponseEsque;
|
|
32
|
-
responseJSON?: unknown;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
type GetInputOptions = {
|
|
36
|
-
transformer: CombinedDataTransformer;
|
|
37
|
-
} & ({
|
|
38
|
-
input: unknown;
|
|
39
|
-
} | {
|
|
40
|
-
inputs: unknown[];
|
|
41
|
-
});
|
|
42
|
-
export declare function getInput(opts: GetInputOptions): any;
|
|
43
|
-
export type HTTPBaseRequestOptions = GetInputOptions & ResolvedHTTPLinkOptions & {
|
|
44
|
-
type: ProcedureType;
|
|
45
|
-
path: string;
|
|
46
|
-
signal: Maybe<AbortSignal>;
|
|
47
|
-
};
|
|
48
|
-
type GetUrl = (opts: HTTPBaseRequestOptions) => string;
|
|
49
|
-
type GetBody = (opts: HTTPBaseRequestOptions) => RequestInitEsque['body'];
|
|
50
|
-
export type ContentOptions = {
|
|
51
|
-
trpcAcceptHeader?: TRPCAcceptHeader;
|
|
52
|
-
contentTypeHeader?: string;
|
|
53
|
-
getUrl: GetUrl;
|
|
54
|
-
getBody: GetBody;
|
|
55
|
-
};
|
|
56
|
-
export declare const getUrl: GetUrl;
|
|
57
|
-
export declare const getBody: GetBody;
|
|
58
|
-
export type Requester = (opts: HTTPBaseRequestOptions & {
|
|
59
|
-
headers: () => HTTPHeaders | Promise<HTTPHeaders>;
|
|
60
|
-
}) => Promise<HTTPResult>;
|
|
61
|
-
export declare const jsonHttpRequester: Requester;
|
|
62
|
-
export type HTTPRequestOptions = ContentOptions & HTTPBaseRequestOptions & {
|
|
63
|
-
headers: () => HTTPHeaders | Promise<HTTPHeaders>;
|
|
64
|
-
};
|
|
65
|
-
export declare function fetchHTTPResponse(opts: HTTPRequestOptions): Promise<ResponseEsque>;
|
|
66
|
-
export declare function httpRequest(opts: HTTPRequestOptions): Promise<HTTPResult>;
|
|
67
|
-
export {};
|
|
68
|
-
//# sourceMappingURL=httpUtils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpUtils.d.ts","sourceRoot":"","sources":["../../../src/links/internals/httpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACvB,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,EACb,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC7B,KAAK,SAAS,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,IAC/C;IACF,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAE9B,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,uBAAuB,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,mBAAmB,CAAC,cAAc,CAAC,GACxC,uBAAuB,CAOzB;AAkBD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE;QACJ,QAAQ,EAAE,aAAa,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED,KAAK,eAAe,GAAG;IACrB,WAAW,EAAE,uBAAuB,CAAC;CACtC,GAAG,CAAC;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAAC;AAEjD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,OAM7C;AAED,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAClD,uBAAuB,GAAG;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC5B,CAAC;AAEJ,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,sBAAsB,KAAK,MAAM,CAAC;AACvD,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,sBAAsB,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,MAuBpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,sBAAsB,GAAG;IAC7B,OAAO,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACnD,KACE,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,SAO/B,CAAC;AAcF,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAC7C,sBAAsB,GAAG;IACvB,OAAO,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACnD,CAAC;AAuBJ,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,0BA6B/D;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,UAAU,CAAC,CAcrB"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var getFetch = require('../../getFetch.js');
|
|
4
|
-
var transformer = require('../../internals/transformer.js');
|
|
5
|
-
|
|
6
|
-
function resolveHTTPLinkOptions(opts) {
|
|
7
|
-
return {
|
|
8
|
-
url: opts.url.toString(),
|
|
9
|
-
fetch: opts.fetch,
|
|
10
|
-
transformer: transformer.getTransformer(opts.transformer),
|
|
11
|
-
methodOverride: opts.methodOverride
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
// https://github.com/trpc/trpc/pull/669
|
|
15
|
-
function arrayToDict(array) {
|
|
16
|
-
const dict = {};
|
|
17
|
-
for(let index = 0; index < array.length; index++){
|
|
18
|
-
const element = array[index];
|
|
19
|
-
dict[index] = element;
|
|
20
|
-
}
|
|
21
|
-
return dict;
|
|
22
|
-
}
|
|
23
|
-
const METHOD = {
|
|
24
|
-
query: 'GET',
|
|
25
|
-
mutation: 'POST',
|
|
26
|
-
subscription: 'PATCH'
|
|
27
|
-
};
|
|
28
|
-
function getInput(opts) {
|
|
29
|
-
return 'input' in opts ? opts.transformer.input.serialize(opts.input) : arrayToDict(opts.inputs.map((_input)=>opts.transformer.input.serialize(_input)));
|
|
30
|
-
}
|
|
31
|
-
const getUrl = (opts)=>{
|
|
32
|
-
const parts = opts.url.split('?');
|
|
33
|
-
const base = parts[0].replace(/\/$/, ''); // Remove any trailing slashes
|
|
34
|
-
let url = base + '/' + opts.path;
|
|
35
|
-
const queryParts = [];
|
|
36
|
-
if (parts[1]) {
|
|
37
|
-
queryParts.push(parts[1]);
|
|
38
|
-
}
|
|
39
|
-
if ('inputs' in opts) {
|
|
40
|
-
queryParts.push('batch=1');
|
|
41
|
-
}
|
|
42
|
-
if (opts.type === 'query' || opts.type === 'subscription') {
|
|
43
|
-
const input = getInput(opts);
|
|
44
|
-
if (input !== undefined && opts.methodOverride !== 'POST') {
|
|
45
|
-
queryParts.push(`input=${encodeURIComponent(JSON.stringify(input))}`);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (queryParts.length) {
|
|
49
|
-
url += '?' + queryParts.join('&');
|
|
50
|
-
}
|
|
51
|
-
return url;
|
|
52
|
-
};
|
|
53
|
-
const getBody = (opts)=>{
|
|
54
|
-
if (opts.type === 'query' && opts.methodOverride !== 'POST') {
|
|
55
|
-
return undefined;
|
|
56
|
-
}
|
|
57
|
-
const input = getInput(opts);
|
|
58
|
-
return input !== undefined ? JSON.stringify(input) : undefined;
|
|
59
|
-
};
|
|
60
|
-
const jsonHttpRequester = (opts)=>{
|
|
61
|
-
return httpRequest({
|
|
62
|
-
...opts,
|
|
63
|
-
contentTypeHeader: 'application/json',
|
|
64
|
-
getUrl,
|
|
65
|
-
getBody
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* Polyfill for DOMException with AbortError name
|
|
70
|
-
*/ class AbortError extends Error {
|
|
71
|
-
constructor(){
|
|
72
|
-
const name = 'AbortError';
|
|
73
|
-
super(name);
|
|
74
|
-
this.name = name;
|
|
75
|
-
this.message = name;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Polyfill for `signal.throwIfAborted()`
|
|
80
|
-
*
|
|
81
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/throwIfAborted
|
|
82
|
-
*/ const throwIfAborted = (signal)=>{
|
|
83
|
-
if (!signal?.aborted) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
// If available, use the native implementation
|
|
87
|
-
signal.throwIfAborted?.();
|
|
88
|
-
// If we have `DOMException`, use it
|
|
89
|
-
if (typeof DOMException !== 'undefined') {
|
|
90
|
-
throw new DOMException('AbortError', 'AbortError');
|
|
91
|
-
}
|
|
92
|
-
// Otherwise, use our own implementation
|
|
93
|
-
throw new AbortError();
|
|
94
|
-
};
|
|
95
|
-
async function fetchHTTPResponse(opts) {
|
|
96
|
-
throwIfAborted(opts.signal);
|
|
97
|
-
const url = opts.getUrl(opts);
|
|
98
|
-
const body = opts.getBody(opts);
|
|
99
|
-
const { type } = opts;
|
|
100
|
-
const resolvedHeaders = await (async ()=>{
|
|
101
|
-
const heads = await opts.headers();
|
|
102
|
-
if (Symbol.iterator in heads) {
|
|
103
|
-
return Object.fromEntries(heads);
|
|
104
|
-
}
|
|
105
|
-
return heads;
|
|
106
|
-
})();
|
|
107
|
-
const headers = {
|
|
108
|
-
...opts.contentTypeHeader ? {
|
|
109
|
-
'content-type': opts.contentTypeHeader
|
|
110
|
-
} : {},
|
|
111
|
-
...opts.trpcAcceptHeader ? {
|
|
112
|
-
'trpc-accept': opts.trpcAcceptHeader
|
|
113
|
-
} : undefined,
|
|
114
|
-
...resolvedHeaders
|
|
115
|
-
};
|
|
116
|
-
return getFetch.getFetch(opts.fetch)(url, {
|
|
117
|
-
method: opts.methodOverride ?? METHOD[type],
|
|
118
|
-
signal: opts.signal,
|
|
119
|
-
body,
|
|
120
|
-
headers
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
async function httpRequest(opts) {
|
|
124
|
-
const meta = {};
|
|
125
|
-
const res = await fetchHTTPResponse(opts);
|
|
126
|
-
meta.response = res;
|
|
127
|
-
const json = await res.json();
|
|
128
|
-
meta.responseJSON = json;
|
|
129
|
-
return {
|
|
130
|
-
json: json,
|
|
131
|
-
meta
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
exports.fetchHTTPResponse = fetchHTTPResponse;
|
|
136
|
-
exports.getBody = getBody;
|
|
137
|
-
exports.getInput = getInput;
|
|
138
|
-
exports.getUrl = getUrl;
|
|
139
|
-
exports.httpRequest = httpRequest;
|
|
140
|
-
exports.jsonHttpRequester = jsonHttpRequester;
|
|
141
|
-
exports.resolveHTTPLinkOptions = resolveHTTPLinkOptions;
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { getFetch } from '../../getFetch.mjs';
|
|
2
|
-
import { getTransformer } from '../../internals/transformer.mjs';
|
|
3
|
-
|
|
4
|
-
function resolveHTTPLinkOptions(opts) {
|
|
5
|
-
return {
|
|
6
|
-
url: opts.url.toString(),
|
|
7
|
-
fetch: opts.fetch,
|
|
8
|
-
transformer: getTransformer(opts.transformer),
|
|
9
|
-
methodOverride: opts.methodOverride
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
// https://github.com/trpc/trpc/pull/669
|
|
13
|
-
function arrayToDict(array) {
|
|
14
|
-
const dict = {};
|
|
15
|
-
for(let index = 0; index < array.length; index++){
|
|
16
|
-
const element = array[index];
|
|
17
|
-
dict[index] = element;
|
|
18
|
-
}
|
|
19
|
-
return dict;
|
|
20
|
-
}
|
|
21
|
-
const METHOD = {
|
|
22
|
-
query: 'GET',
|
|
23
|
-
mutation: 'POST',
|
|
24
|
-
subscription: 'PATCH'
|
|
25
|
-
};
|
|
26
|
-
function getInput(opts) {
|
|
27
|
-
return 'input' in opts ? opts.transformer.input.serialize(opts.input) : arrayToDict(opts.inputs.map((_input)=>opts.transformer.input.serialize(_input)));
|
|
28
|
-
}
|
|
29
|
-
const getUrl = (opts)=>{
|
|
30
|
-
const parts = opts.url.split('?');
|
|
31
|
-
const base = parts[0].replace(/\/$/, ''); // Remove any trailing slashes
|
|
32
|
-
let url = base + '/' + opts.path;
|
|
33
|
-
const queryParts = [];
|
|
34
|
-
if (parts[1]) {
|
|
35
|
-
queryParts.push(parts[1]);
|
|
36
|
-
}
|
|
37
|
-
if ('inputs' in opts) {
|
|
38
|
-
queryParts.push('batch=1');
|
|
39
|
-
}
|
|
40
|
-
if (opts.type === 'query' || opts.type === 'subscription') {
|
|
41
|
-
const input = getInput(opts);
|
|
42
|
-
if (input !== undefined && opts.methodOverride !== 'POST') {
|
|
43
|
-
queryParts.push(`input=${encodeURIComponent(JSON.stringify(input))}`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
if (queryParts.length) {
|
|
47
|
-
url += '?' + queryParts.join('&');
|
|
48
|
-
}
|
|
49
|
-
return url;
|
|
50
|
-
};
|
|
51
|
-
const getBody = (opts)=>{
|
|
52
|
-
if (opts.type === 'query' && opts.methodOverride !== 'POST') {
|
|
53
|
-
return undefined;
|
|
54
|
-
}
|
|
55
|
-
const input = getInput(opts);
|
|
56
|
-
return input !== undefined ? JSON.stringify(input) : undefined;
|
|
57
|
-
};
|
|
58
|
-
const jsonHttpRequester = (opts)=>{
|
|
59
|
-
return httpRequest({
|
|
60
|
-
...opts,
|
|
61
|
-
contentTypeHeader: 'application/json',
|
|
62
|
-
getUrl,
|
|
63
|
-
getBody
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Polyfill for DOMException with AbortError name
|
|
68
|
-
*/ class AbortError extends Error {
|
|
69
|
-
constructor(){
|
|
70
|
-
const name = 'AbortError';
|
|
71
|
-
super(name);
|
|
72
|
-
this.name = name;
|
|
73
|
-
this.message = name;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Polyfill for `signal.throwIfAborted()`
|
|
78
|
-
*
|
|
79
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/throwIfAborted
|
|
80
|
-
*/ const throwIfAborted = (signal)=>{
|
|
81
|
-
if (!signal?.aborted) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
// If available, use the native implementation
|
|
85
|
-
signal.throwIfAborted?.();
|
|
86
|
-
// If we have `DOMException`, use it
|
|
87
|
-
if (typeof DOMException !== 'undefined') {
|
|
88
|
-
throw new DOMException('AbortError', 'AbortError');
|
|
89
|
-
}
|
|
90
|
-
// Otherwise, use our own implementation
|
|
91
|
-
throw new AbortError();
|
|
92
|
-
};
|
|
93
|
-
async function fetchHTTPResponse(opts) {
|
|
94
|
-
throwIfAborted(opts.signal);
|
|
95
|
-
const url = opts.getUrl(opts);
|
|
96
|
-
const body = opts.getBody(opts);
|
|
97
|
-
const { type } = opts;
|
|
98
|
-
const resolvedHeaders = await (async ()=>{
|
|
99
|
-
const heads = await opts.headers();
|
|
100
|
-
if (Symbol.iterator in heads) {
|
|
101
|
-
return Object.fromEntries(heads);
|
|
102
|
-
}
|
|
103
|
-
return heads;
|
|
104
|
-
})();
|
|
105
|
-
const headers = {
|
|
106
|
-
...opts.contentTypeHeader ? {
|
|
107
|
-
'content-type': opts.contentTypeHeader
|
|
108
|
-
} : {},
|
|
109
|
-
...opts.trpcAcceptHeader ? {
|
|
110
|
-
'trpc-accept': opts.trpcAcceptHeader
|
|
111
|
-
} : undefined,
|
|
112
|
-
...resolvedHeaders
|
|
113
|
-
};
|
|
114
|
-
return getFetch(opts.fetch)(url, {
|
|
115
|
-
method: opts.methodOverride ?? METHOD[type],
|
|
116
|
-
signal: opts.signal,
|
|
117
|
-
body,
|
|
118
|
-
headers
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
async function httpRequest(opts) {
|
|
122
|
-
const meta = {};
|
|
123
|
-
const res = await fetchHTTPResponse(opts);
|
|
124
|
-
meta.response = res;
|
|
125
|
-
const json = await res.json();
|
|
126
|
-
meta.responseJSON = json;
|
|
127
|
-
return {
|
|
128
|
-
json: json,
|
|
129
|
-
meta
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export { fetchHTTPResponse, getBody, getInput, getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
interface ConnectionStateBase<TError> {
|
|
2
|
-
type: 'state';
|
|
3
|
-
data?: never;
|
|
4
|
-
error: TError | null;
|
|
5
|
-
}
|
|
6
|
-
interface ConnectionIdleState extends ConnectionStateBase<null> {
|
|
7
|
-
state: 'idle';
|
|
8
|
-
}
|
|
9
|
-
interface ConnectionConnectingState<TError> extends ConnectionStateBase<TError | null> {
|
|
10
|
-
state: 'connecting';
|
|
11
|
-
}
|
|
12
|
-
interface ConnectionPendingState extends ConnectionStateBase<null> {
|
|
13
|
-
state: 'pending';
|
|
14
|
-
}
|
|
15
|
-
export type TRPCConnectionState<TError> = ConnectionIdleState | ConnectionConnectingState<TError> | ConnectionPendingState;
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=subscriptions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../src/links/internals/subscriptions.ts"],"names":[],"mappings":"AAAA,UAAU,mBAAmB,CAAC,MAAM;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,UAAU,mBAAoB,SAAQ,mBAAmB,CAAC,IAAI,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,yBAAyB,CAAC,MAAM,CACxC,SAAQ,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC;IAC1C,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,UAAU,sBAAuB,SAAQ,mBAAmB,CAAC,IAAI,CAAC;IAChE,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,MAAM,mBAAmB,CAAC,MAAM,IAClC,mBAAmB,GACnB,yBAAyB,CAAC,MAAM,CAAC,GACjC,sBAAsB,CAAC"}
|