@trpc/client 11.0.0-rc.348 → 11.0.0-rc.354
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/bundle-analysis.json +60 -62
- package/dist/index.js +2 -4
- package/dist/index.mjs +1 -1
- package/dist/internals/types.d.ts +1 -1
- package/dist/internals/types.d.ts.map +1 -1
- package/dist/links/httpFormDataLink.d.ts +2 -0
- package/dist/links/httpFormDataLink.d.ts.map +1 -0
- package/dist/links/httpFormDataLink.js +31 -0
- package/dist/links/httpFormDataLink.mjs +29 -0
- package/dist/links/httpLink.d.ts.map +1 -1
- package/dist/links/httpLink.js +1 -1
- package/dist/links/httpLink.mjs +2 -2
- package/dist/links/internals/httpUtils.d.ts +0 -1
- package/dist/links/internals/httpUtils.d.ts.map +1 -1
- package/dist/links/internals/httpUtils.js +0 -29
- package/dist/links/internals/httpUtils.mjs +1 -29
- package/dist/links/types.d.ts +1 -1
- package/dist/links/types.d.ts.map +1 -1
- package/dist/links.d.ts +1 -0
- package/dist/links.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/internals/types.ts +1 -1
- package/src/links/httpFormDataLink.ts +29 -0
- package/src/links/httpLink.ts +2 -2
- package/src/links/internals/httpUtils.ts +0 -35
- package/src/links/types.ts +0 -6
- package/src/links.ts +1 -0
- 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/src/links/internals/contentTypes.ts +0 -15
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"bundleSize":
|
|
3
|
-
"bundleOrigSize":
|
|
4
|
-
"bundleReduction":
|
|
2
|
+
"bundleSize": 46703,
|
|
3
|
+
"bundleOrigSize": 65934,
|
|
4
|
+
"bundleReduction": 29.17,
|
|
5
5
|
"modules": [
|
|
6
6
|
{
|
|
7
7
|
"id": "/src/links/wsLink.ts",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
],
|
|
14
14
|
"removedExports": [],
|
|
15
15
|
"dependents": [],
|
|
16
|
-
"percent": 25.
|
|
16
|
+
"percent": 25.82,
|
|
17
17
|
"reduction": 11.68
|
|
18
18
|
},
|
|
19
19
|
{
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
],
|
|
26
26
|
"removedExports": [],
|
|
27
27
|
"dependents": [],
|
|
28
|
-
"percent": 11.
|
|
28
|
+
"percent": 11.87,
|
|
29
29
|
"reduction": 14.64
|
|
30
30
|
},
|
|
31
31
|
{
|
|
@@ -39,46 +39,46 @@
|
|
|
39
39
|
"dependents": [
|
|
40
40
|
"/src/links/internals/createHTTPBatchLink.ts"
|
|
41
41
|
],
|
|
42
|
-
"percent": 9.
|
|
42
|
+
"percent": 9.44,
|
|
43
43
|
"reduction": 7.49
|
|
44
44
|
},
|
|
45
|
+
{
|
|
46
|
+
"id": "/src/links/internals/parseJSONStream.ts",
|
|
47
|
+
"size": 4007,
|
|
48
|
+
"origSize": 5037,
|
|
49
|
+
"renderedExports": [
|
|
50
|
+
"parseJSONStream",
|
|
51
|
+
"streamingJsonHttpRequester"
|
|
52
|
+
],
|
|
53
|
+
"removedExports": [],
|
|
54
|
+
"dependents": [
|
|
55
|
+
"/src/links/httpBatchStreamLink.ts"
|
|
56
|
+
],
|
|
57
|
+
"percent": 8.58,
|
|
58
|
+
"reduction": 20.45
|
|
59
|
+
},
|
|
45
60
|
{
|
|
46
61
|
"id": "/src/links/internals/httpUtils.ts",
|
|
47
|
-
"size":
|
|
48
|
-
"origSize":
|
|
62
|
+
"size": 3464,
|
|
63
|
+
"origSize": 6007,
|
|
49
64
|
"renderedExports": [
|
|
50
65
|
"resolveHTTPLinkOptions",
|
|
51
66
|
"getUrl",
|
|
52
67
|
"getBody",
|
|
53
68
|
"jsonHttpRequester",
|
|
54
|
-
"universalRequester",
|
|
55
69
|
"fetchHTTPResponse",
|
|
56
70
|
"httpRequest"
|
|
57
71
|
],
|
|
58
72
|
"removedExports": [],
|
|
59
73
|
"dependents": [
|
|
60
|
-
"/src/links/httpBatchLink.ts",
|
|
61
74
|
"/src/links/httpLink.ts",
|
|
75
|
+
"/src/links/httpBatchLink.ts",
|
|
76
|
+
"/src/links/httpFormDataLink.ts",
|
|
62
77
|
"/src/links/internals/createHTTPBatchLink.ts",
|
|
63
78
|
"/src/links/internals/parseJSONStream.ts"
|
|
64
79
|
],
|
|
65
|
-
"percent":
|
|
66
|
-
"reduction":
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"id": "/src/links/internals/parseJSONStream.ts",
|
|
70
|
-
"size": 4007,
|
|
71
|
-
"origSize": 5037,
|
|
72
|
-
"renderedExports": [
|
|
73
|
-
"parseJSONStream",
|
|
74
|
-
"streamingJsonHttpRequester"
|
|
75
|
-
],
|
|
76
|
-
"removedExports": [],
|
|
77
|
-
"dependents": [
|
|
78
|
-
"/src/links/httpBatchStreamLink.ts"
|
|
79
|
-
],
|
|
80
|
-
"percent": 8.48,
|
|
81
|
-
"reduction": 20.45
|
|
80
|
+
"percent": 7.42,
|
|
81
|
+
"reduction": 42.33
|
|
82
82
|
},
|
|
83
83
|
{
|
|
84
84
|
"id": "/src/links/internals/createHTTPBatchLink.ts",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"/src/links/httpBatchLink.ts",
|
|
93
93
|
"/src/links/httpBatchStreamLink.ts"
|
|
94
94
|
],
|
|
95
|
-
"percent": 6.
|
|
95
|
+
"percent": 6.3,
|
|
96
96
|
"reduction": 20.67
|
|
97
97
|
},
|
|
98
98
|
{
|
|
@@ -107,21 +107,23 @@
|
|
|
107
107
|
"/src/createTRPCUntypedClient.ts",
|
|
108
108
|
"/src/createTRPCClient.ts"
|
|
109
109
|
],
|
|
110
|
-
"percent": 4.
|
|
110
|
+
"percent": 4.92,
|
|
111
111
|
"reduction": 45.35
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
"id": "/src/links/httpLink.ts",
|
|
115
|
-
"size":
|
|
116
|
-
"origSize":
|
|
115
|
+
"size": 2169,
|
|
116
|
+
"origSize": 2753,
|
|
117
117
|
"renderedExports": [
|
|
118
118
|
"httpLinkFactory",
|
|
119
119
|
"httpLink"
|
|
120
120
|
],
|
|
121
121
|
"removedExports": [],
|
|
122
|
-
"dependents": [
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
"dependents": [
|
|
123
|
+
"/src/links/httpFormDataLink.ts"
|
|
124
|
+
],
|
|
125
|
+
"percent": 4.64,
|
|
126
|
+
"reduction": 21.21
|
|
125
127
|
},
|
|
126
128
|
{
|
|
127
129
|
"id": "/src/TRPCClientError.ts",
|
|
@@ -136,10 +138,10 @@
|
|
|
136
138
|
"/src/links/httpLink.ts",
|
|
137
139
|
"/src/links/wsLink.ts",
|
|
138
140
|
"/src/internals/TRPCUntypedClient.ts",
|
|
139
|
-
"/src/links/internals/
|
|
140
|
-
"/src/links/internals/
|
|
141
|
+
"/src/links/internals/httpUtils.ts",
|
|
142
|
+
"/src/links/internals/createHTTPBatchLink.ts"
|
|
141
143
|
],
|
|
142
|
-
"percent":
|
|
144
|
+
"percent": 4,
|
|
143
145
|
"reduction": 45.71
|
|
144
146
|
},
|
|
145
147
|
{
|
|
@@ -151,7 +153,7 @@
|
|
|
151
153
|
],
|
|
152
154
|
"removedExports": [],
|
|
153
155
|
"dependents": [],
|
|
154
|
-
"percent": 2.
|
|
156
|
+
"percent": 2.87,
|
|
155
157
|
"reduction": 38.42
|
|
156
158
|
},
|
|
157
159
|
{
|
|
@@ -168,7 +170,7 @@
|
|
|
168
170
|
"dependents": [
|
|
169
171
|
"/src/index.ts"
|
|
170
172
|
],
|
|
171
|
-
"percent": 2.
|
|
173
|
+
"percent": 2.58,
|
|
172
174
|
"reduction": 72.4
|
|
173
175
|
},
|
|
174
176
|
{
|
|
@@ -180,9 +182,21 @@
|
|
|
180
182
|
],
|
|
181
183
|
"removedExports": [],
|
|
182
184
|
"dependents": [],
|
|
183
|
-
"percent": 2.
|
|
185
|
+
"percent": 2.58,
|
|
184
186
|
"reduction": 21.09
|
|
185
187
|
},
|
|
188
|
+
{
|
|
189
|
+
"id": "/src/links/httpFormDataLink.ts",
|
|
190
|
+
"size": 703,
|
|
191
|
+
"origSize": 772,
|
|
192
|
+
"renderedExports": [
|
|
193
|
+
"experimental_formDataLink"
|
|
194
|
+
],
|
|
195
|
+
"removedExports": [],
|
|
196
|
+
"dependents": [],
|
|
197
|
+
"percent": 1.51,
|
|
198
|
+
"reduction": 8.94
|
|
199
|
+
},
|
|
186
200
|
{
|
|
187
201
|
"id": "/src/links/internals/createChain.ts",
|
|
188
202
|
"size": 690,
|
|
@@ -195,7 +209,7 @@
|
|
|
195
209
|
"/src/links/splitLink.ts",
|
|
196
210
|
"/src/internals/TRPCUntypedClient.ts"
|
|
197
211
|
],
|
|
198
|
-
"percent": 1.
|
|
212
|
+
"percent": 1.48,
|
|
199
213
|
"reduction": 32.75
|
|
200
214
|
},
|
|
201
215
|
{
|
|
@@ -207,7 +221,7 @@
|
|
|
207
221
|
],
|
|
208
222
|
"removedExports": [],
|
|
209
223
|
"dependents": [],
|
|
210
|
-
"percent": 1.
|
|
224
|
+
"percent": 1.31,
|
|
211
225
|
"reduction": 44.95
|
|
212
226
|
},
|
|
213
227
|
{
|
|
@@ -221,7 +235,7 @@
|
|
|
221
235
|
"dependents": [
|
|
222
236
|
"/src/unstable-internals.ts"
|
|
223
237
|
],
|
|
224
|
-
"percent": 1.
|
|
238
|
+
"percent": 1.21,
|
|
225
239
|
"reduction": 66.75
|
|
226
240
|
},
|
|
227
241
|
{
|
|
@@ -235,7 +249,7 @@
|
|
|
235
249
|
"dependents": [
|
|
236
250
|
"/src/links/httpBatchStreamLink.ts"
|
|
237
251
|
],
|
|
238
|
-
"percent": 1.
|
|
252
|
+
"percent": 1.18,
|
|
239
253
|
"reduction": 12.78
|
|
240
254
|
},
|
|
241
255
|
{
|
|
@@ -249,7 +263,7 @@
|
|
|
249
263
|
"dependents": [
|
|
250
264
|
"/src/links/internals/httpUtils.ts"
|
|
251
265
|
],
|
|
252
|
-
"percent": 1.
|
|
266
|
+
"percent": 1.16,
|
|
253
267
|
"reduction": 23.66
|
|
254
268
|
},
|
|
255
269
|
{
|
|
@@ -264,25 +278,9 @@
|
|
|
264
278
|
"/src/index.ts",
|
|
265
279
|
"/src/links/internals/httpUtils.ts"
|
|
266
280
|
],
|
|
267
|
-
"percent": 0.
|
|
281
|
+
"percent": 0.92,
|
|
268
282
|
"reduction": 33.54
|
|
269
283
|
},
|
|
270
|
-
{
|
|
271
|
-
"id": "/src/links/internals/contentTypes.ts",
|
|
272
|
-
"size": 330,
|
|
273
|
-
"origSize": 389,
|
|
274
|
-
"renderedExports": [
|
|
275
|
-
"isOctetType",
|
|
276
|
-
"isFormData",
|
|
277
|
-
"isNonJsonSerializable"
|
|
278
|
-
],
|
|
279
|
-
"removedExports": [],
|
|
280
|
-
"dependents": [
|
|
281
|
-
"/src/links/internals/httpUtils.ts"
|
|
282
|
-
],
|
|
283
|
-
"percent": 0.7,
|
|
284
|
-
"reduction": 15.17
|
|
285
|
-
},
|
|
286
284
|
{
|
|
287
285
|
"id": "/src/createTRPCUntypedClient.ts",
|
|
288
286
|
"size": 100,
|
package/dist/index.js
CHANGED
|
@@ -4,13 +4,13 @@ var createTRPCUntypedClient = require('./createTRPCUntypedClient.js');
|
|
|
4
4
|
var createTRPCClient = require('./createTRPCClient.js');
|
|
5
5
|
var getFetch = require('./getFetch.js');
|
|
6
6
|
var TRPCClientError = require('./TRPCClientError.js');
|
|
7
|
-
var contentTypes = require('./links/internals/contentTypes.js');
|
|
8
7
|
var httpBatchLink = require('./links/httpBatchLink.js');
|
|
9
8
|
var httpBatchStreamLink = require('./links/httpBatchStreamLink.js');
|
|
10
9
|
var httpLink = require('./links/httpLink.js');
|
|
11
10
|
var loggerLink = require('./links/loggerLink.js');
|
|
12
11
|
var splitLink = require('./links/splitLink.js');
|
|
13
12
|
var wsLink = require('./links/wsLink.js');
|
|
13
|
+
var httpFormDataLink = require('./links/httpFormDataLink.js');
|
|
14
14
|
var TRPCUntypedClient = require('./internals/TRPCUntypedClient.js');
|
|
15
15
|
|
|
16
16
|
|
|
@@ -23,9 +23,6 @@ exports.createTRPCProxyClient = createTRPCClient.createTRPCClient;
|
|
|
23
23
|
exports.getUntypedClient = createTRPCClient.getUntypedClient;
|
|
24
24
|
exports.getFetch = getFetch.getFetch;
|
|
25
25
|
exports.TRPCClientError = TRPCClientError.TRPCClientError;
|
|
26
|
-
exports.isFormData = contentTypes.isFormData;
|
|
27
|
-
exports.isNonJsonSerializable = contentTypes.isNonJsonSerializable;
|
|
28
|
-
exports.isOctetType = contentTypes.isOctetType;
|
|
29
26
|
exports.httpBatchLink = httpBatchLink.httpBatchLink;
|
|
30
27
|
exports.unstable_httpBatchStreamLink = httpBatchStreamLink.unstable_httpBatchStreamLink;
|
|
31
28
|
exports.httpLink = httpLink.httpLink;
|
|
@@ -34,4 +31,5 @@ exports.loggerLink = loggerLink.loggerLink;
|
|
|
34
31
|
exports.splitLink = splitLink.splitLink;
|
|
35
32
|
exports.createWSClient = wsLink.createWSClient;
|
|
36
33
|
exports.wsLink = wsLink.wsLink;
|
|
34
|
+
exports.experimental_formDataLink = httpFormDataLink.experimental_formDataLink;
|
|
37
35
|
exports.TRPCUntypedClient = TRPCUntypedClient.TRPCUntypedClient;
|
package/dist/index.mjs
CHANGED
|
@@ -2,11 +2,11 @@ export { createTRPCUntypedClient } from './createTRPCUntypedClient.mjs';
|
|
|
2
2
|
export { clientCallTypeToProcedureType, createTRPCClient, createTRPCClientProxy, createTRPCClient as createTRPCProxyClient, getUntypedClient } from './createTRPCClient.mjs';
|
|
3
3
|
export { getFetch } from './getFetch.mjs';
|
|
4
4
|
export { TRPCClientError } from './TRPCClientError.mjs';
|
|
5
|
-
export { isFormData, isNonJsonSerializable, isOctetType } from './links/internals/contentTypes.mjs';
|
|
6
5
|
export { httpBatchLink } from './links/httpBatchLink.mjs';
|
|
7
6
|
export { unstable_httpBatchStreamLink } from './links/httpBatchStreamLink.mjs';
|
|
8
7
|
export { httpLink, httpLinkFactory } from './links/httpLink.mjs';
|
|
9
8
|
export { loggerLink } from './links/loggerLink.mjs';
|
|
10
9
|
export { splitLink } from './links/splitLink.mjs';
|
|
11
10
|
export { createWSClient, wsLink } from './links/wsLink.mjs';
|
|
11
|
+
export { experimental_formDataLink } from './links/httpFormDataLink.mjs';
|
|
12
12
|
export { TRPCUntypedClient } from './internals/TRPCUntypedClient.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/internals/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,UAAU,4BAA4B,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,WAAW,GAAG,GAAG,GAAG,MAAM,EACjC,IAAI,CAAC,EAAE,WAAW,GAAG,gBAAgB,KAClC,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,GAAG,EAAE,GAAG,GAAG,MAAM,EACjB,IAAI,CAAC,EAAE,yBAAyB,KAC7B,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/internals/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,UAAU,4BAA4B,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,WAAW,GAAG,GAAG,GAAG,MAAM,EACjC,IAAI,CAAC,EAAE,WAAW,GAAG,gBAAgB,KAClC,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,GAAG,EAAE,GAAG,GAAG,MAAM,EACjB,IAAI,CAAC,EAAE,yBAAyB,KAC7B,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,MAAM,GAAG,IAAI,CAAC;IAEjD;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,2BAA2B,CAAC,UAAU,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,CACA,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,yBAAyB,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,yBAAyB,GAAG,sBAAsB,GAAG,IAAI,CAAC;IAC1E;;;;;OAKG;IACH,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const experimental_formDataLink: <TRouter extends import("@trpc/server/unstable-core-do-not-import").AnyRouter>(opts: import("./httpLink").HTTPLinkOptions<TRouter["_def"]["_config"]["$types"]>) => import("./types").TRPCLink<TRouter>;
|
|
2
|
+
//# sourceMappingURL=httpFormDataLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpFormDataLink.d.ts","sourceRoot":"","sources":["../../src/links/httpFormDataLink.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,yBAAyB,yMAEpC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var httpLink = require('./httpLink.js');
|
|
4
|
+
var httpUtils = require('./internals/httpUtils.js');
|
|
5
|
+
|
|
6
|
+
const formDataRequester = (opts)=>{
|
|
7
|
+
if (opts.type !== 'mutation') {
|
|
8
|
+
// TODO(?) handle formdata queries
|
|
9
|
+
throw new Error('We only handle mutations with formdata');
|
|
10
|
+
}
|
|
11
|
+
return httpUtils.httpRequest({
|
|
12
|
+
...opts,
|
|
13
|
+
getUrl () {
|
|
14
|
+
return `${opts.url}/${opts.path}`;
|
|
15
|
+
},
|
|
16
|
+
getBody (opts) {
|
|
17
|
+
if (!('input' in opts)) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
if (!(opts.input instanceof FormData)) {
|
|
21
|
+
throw new Error('Input is not FormData');
|
|
22
|
+
}
|
|
23
|
+
return opts.input;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
const experimental_formDataLink = httpLink.httpLinkFactory({
|
|
28
|
+
requester: formDataRequester
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
exports.experimental_formDataLink = experimental_formDataLink;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { httpLinkFactory } from './httpLink.mjs';
|
|
2
|
+
import { httpRequest } from './internals/httpUtils.mjs';
|
|
3
|
+
|
|
4
|
+
const formDataRequester = (opts)=>{
|
|
5
|
+
if (opts.type !== 'mutation') {
|
|
6
|
+
// TODO(?) handle formdata queries
|
|
7
|
+
throw new Error('We only handle mutations with formdata');
|
|
8
|
+
}
|
|
9
|
+
return httpRequest({
|
|
10
|
+
...opts,
|
|
11
|
+
getUrl () {
|
|
12
|
+
return `${opts.url}/${opts.path}`;
|
|
13
|
+
},
|
|
14
|
+
getBody (opts) {
|
|
15
|
+
if (!('input' in opts)) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
if (!(opts.input instanceof FormData)) {
|
|
19
|
+
throw new Error('Input is not FormData');
|
|
20
|
+
}
|
|
21
|
+
return opts.input;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const experimental_formDataLink = httpLinkFactory({
|
|
26
|
+
requester: formDataRequester
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export { experimental_formDataLink };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpLink.d.ts","sourceRoot":"","sources":["../../src/links/httpLink.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACV,MAAM,0CAA0C,CAAC;AAGlD,OAAO,KAAK,EACV,mBAAmB,EAEnB,SAAS,EACV,MAAM,uBAAuB,CAAC;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEhE,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,YAAY,IACpD,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;AAEJ,wBAAgB,eAAe,CAAC,WAAW,EAAE;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,qCAE3D,gBAAgB,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAC1D,SAAS,OAAO,CAAC,CAwDrB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,oCA9DX,gBAAgB,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAC1D,SAAS,OAAO,
|
|
1
|
+
{"version":3,"file":"httpLink.d.ts","sourceRoot":"","sources":["../../src/links/httpLink.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACV,MAAM,0CAA0C,CAAC;AAGlD,OAAO,KAAK,EACV,mBAAmB,EAEnB,SAAS,EACV,MAAM,uBAAuB,CAAC;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEhE,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,YAAY,IACpD,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;AAEJ,wBAAgB,eAAe,CAAC,WAAW,EAAE;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,qCAE3D,gBAAgB,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAC1D,SAAS,OAAO,CAAC,CAwDrB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,oCA9DX,gBAAgB,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAC1D,SAAS,OAAO,CA6DoD,CAAC"}
|
package/dist/links/httpLink.js
CHANGED
|
@@ -56,7 +56,7 @@ function httpLinkFactory(factoryOpts) {
|
|
|
56
56
|
/**
|
|
57
57
|
* @link https://trpc.io/docs/v11/client/links/httpLink
|
|
58
58
|
*/ const httpLink = httpLinkFactory({
|
|
59
|
-
requester: httpUtils.
|
|
59
|
+
requester: httpUtils.jsonHttpRequester
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
exports.httpLink = httpLink;
|
package/dist/links/httpLink.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { observable } from '@trpc/server/observable';
|
|
2
2
|
import { transformResult } from '@trpc/server/unstable-core-do-not-import';
|
|
3
3
|
import { TRPCClientError } from '../TRPCClientError.mjs';
|
|
4
|
-
import { resolveHTTPLinkOptions,
|
|
4
|
+
import { resolveHTTPLinkOptions, jsonHttpRequester } from './internals/httpUtils.mjs';
|
|
5
5
|
|
|
6
6
|
function httpLinkFactory(factoryOpts) {
|
|
7
7
|
return (opts)=>{
|
|
@@ -54,7 +54,7 @@ function httpLinkFactory(factoryOpts) {
|
|
|
54
54
|
/**
|
|
55
55
|
* @link https://trpc.io/docs/v11/client/links/httpLink
|
|
56
56
|
*/ const httpLink = httpLinkFactory({
|
|
57
|
-
requester:
|
|
57
|
+
requester: jsonHttpRequester
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
export { httpLink, httpLinkFactory };
|
|
@@ -63,7 +63,6 @@ export type Requester = (opts: HTTPBaseRequestOptions & {
|
|
|
63
63
|
headers: () => HTTPHeaders | Promise<HTTPHeaders>;
|
|
64
64
|
}) => PromiseAndCancel<HTTPResult>;
|
|
65
65
|
export declare const jsonHttpRequester: Requester;
|
|
66
|
-
export declare const universalRequester: Requester;
|
|
67
66
|
export type HTTPRequestOptions = ContentOptions & HTTPBaseRequestOptions & {
|
|
68
67
|
headers: () => HTTPHeaders | Promise<HTTPHeaders>;
|
|
69
68
|
TextDecoder?: TextDecoderEsque;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpUtils.d.ts","sourceRoot":"","sources":["../../../src/links/internals/httpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,YAAY,EACb,MAAM,0CAA0C,CAAC;AAGlD,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,EACV,gBAAgB,EAChB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"httpUtils.d.ts","sourceRoot":"","sources":["../../../src/links/internals/httpUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ var getFetch = require('../../getFetch.js');
|
|
|
4
4
|
var getAbortController = require('../../internals/getAbortController.js');
|
|
5
5
|
var TRPCClientError = require('../../TRPCClientError.js');
|
|
6
6
|
var transformer = require('../../internals/transformer.js');
|
|
7
|
-
var contentTypes = require('./contentTypes.js');
|
|
8
7
|
|
|
9
8
|
function resolveHTTPLinkOptions(opts) {
|
|
10
9
|
return {
|
|
@@ -63,33 +62,6 @@ const jsonHttpRequester = (opts)=>{
|
|
|
63
62
|
getBody
|
|
64
63
|
});
|
|
65
64
|
};
|
|
66
|
-
const universalRequester = (opts)=>{
|
|
67
|
-
const input = getInput(opts);
|
|
68
|
-
if (contentTypes.isFormData(input)) {
|
|
69
|
-
if (opts.type !== 'mutation' && opts.methodOverride !== 'POST') {
|
|
70
|
-
throw new Error('FormData is only supported for mutations');
|
|
71
|
-
}
|
|
72
|
-
return httpRequest({
|
|
73
|
-
...opts,
|
|
74
|
-
// The browser will set this automatically and include the boundary= in it
|
|
75
|
-
contentTypeHeader: undefined,
|
|
76
|
-
getUrl,
|
|
77
|
-
getBody: ()=>input
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
if (contentTypes.isOctetType(input)) {
|
|
81
|
-
if (opts.type !== 'mutation' && opts.methodOverride !== 'POST') {
|
|
82
|
-
throw new Error('Octet type input is only supported for mutations');
|
|
83
|
-
}
|
|
84
|
-
return httpRequest({
|
|
85
|
-
...opts,
|
|
86
|
-
contentTypeHeader: 'application/octet-stream',
|
|
87
|
-
getUrl,
|
|
88
|
-
getBody: ()=>input
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
return jsonHttpRequester(opts);
|
|
92
|
-
};
|
|
93
65
|
async function fetchHTTPResponse(opts, ac) {
|
|
94
66
|
const url = opts.getUrl(opts);
|
|
95
67
|
const body = opts.getBody(opts);
|
|
@@ -159,4 +131,3 @@ exports.getUrl = getUrl;
|
|
|
159
131
|
exports.httpRequest = httpRequest;
|
|
160
132
|
exports.jsonHttpRequester = jsonHttpRequester;
|
|
161
133
|
exports.resolveHTTPLinkOptions = resolveHTTPLinkOptions;
|
|
162
|
-
exports.universalRequester = universalRequester;
|
|
@@ -2,7 +2,6 @@ import { getFetch } from '../../getFetch.mjs';
|
|
|
2
2
|
import { getAbortController } from '../../internals/getAbortController.mjs';
|
|
3
3
|
import { TRPCClientError } from '../../TRPCClientError.mjs';
|
|
4
4
|
import { getTransformer } from '../../internals/transformer.mjs';
|
|
5
|
-
import { isFormData, isOctetType } from './contentTypes.mjs';
|
|
6
5
|
|
|
7
6
|
function resolveHTTPLinkOptions(opts) {
|
|
8
7
|
return {
|
|
@@ -61,33 +60,6 @@ const jsonHttpRequester = (opts)=>{
|
|
|
61
60
|
getBody
|
|
62
61
|
});
|
|
63
62
|
};
|
|
64
|
-
const universalRequester = (opts)=>{
|
|
65
|
-
const input = getInput(opts);
|
|
66
|
-
if (isFormData(input)) {
|
|
67
|
-
if (opts.type !== 'mutation' && opts.methodOverride !== 'POST') {
|
|
68
|
-
throw new Error('FormData is only supported for mutations');
|
|
69
|
-
}
|
|
70
|
-
return httpRequest({
|
|
71
|
-
...opts,
|
|
72
|
-
// The browser will set this automatically and include the boundary= in it
|
|
73
|
-
contentTypeHeader: undefined,
|
|
74
|
-
getUrl,
|
|
75
|
-
getBody: ()=>input
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
if (isOctetType(input)) {
|
|
79
|
-
if (opts.type !== 'mutation' && opts.methodOverride !== 'POST') {
|
|
80
|
-
throw new Error('Octet type input is only supported for mutations');
|
|
81
|
-
}
|
|
82
|
-
return httpRequest({
|
|
83
|
-
...opts,
|
|
84
|
-
contentTypeHeader: 'application/octet-stream',
|
|
85
|
-
getUrl,
|
|
86
|
-
getBody: ()=>input
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
return jsonHttpRequester(opts);
|
|
90
|
-
};
|
|
91
63
|
async function fetchHTTPResponse(opts, ac) {
|
|
92
64
|
const url = opts.getUrl(opts);
|
|
93
65
|
const body = opts.getBody(opts);
|
|
@@ -151,4 +123,4 @@ function httpRequest(opts) {
|
|
|
151
123
|
};
|
|
152
124
|
}
|
|
153
125
|
|
|
154
|
-
export { fetchHTTPResponse, getBody, getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions
|
|
126
|
+
export { fetchHTTPResponse, getBody, getUrl, httpRequest, jsonHttpRequester, resolveHTTPLinkOptions };
|
package/dist/links/types.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import type { Observable, Observer } from '@trpc/server/observable';
|
|
|
2
2
|
import type { InferrableClientTypes, TRPCResultMessage, TRPCSuccessResponse } from '@trpc/server/unstable-core-do-not-import';
|
|
3
3
|
import type { ResponseEsque } from '../internals/types';
|
|
4
4
|
import type { TRPCClientError } from '../TRPCClientError';
|
|
5
|
-
export { isNonJsonSerializable, isFormData, isOctetType, } from './internals/contentTypes';
|
|
6
5
|
/**
|
|
7
6
|
* @internal
|
|
8
7
|
*/
|
|
@@ -69,4 +68,5 @@ export type OperationLink<TInferrable extends InferrableClientTypes, TInput = un
|
|
|
69
68
|
* @public
|
|
70
69
|
*/
|
|
71
70
|
export type TRPCLink<TInferrable extends InferrableClientTypes> = (opts: TRPCClientRuntime) => OperationLink<TInferrable>;
|
|
71
|
+
export {};
|
|
72
72
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/links/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/links/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI;IACrC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAAG;AAEpE;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,MAAM,GAAG,OAAO,IAAI;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,UAAU,gBAAgB;IACxB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,MAAM,WAAW,iBAAiB;CAEjC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB,CAAC,OAAO;IAC9C,MAAM,EACF,iBAAiB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GACpC,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,CACnC,WAAW,SAAS,qBAAqB,EACzC,OAAO,IACL,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,uBAAuB,CACjC,WAAW,SAAS,qBAAqB,EACzC,OAAO,IACL,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,aAAa,CACvB,WAAW,SAAS,qBAAqB,EACzC,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,IACf,CAAC,IAAI,EAAE;IACT,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,CACJ,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,KAClB,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;CACtD,KAAK,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,WAAW,SAAS,qBAAqB,IAAI,CAChE,IAAI,EAAE,iBAAiB,KACpB,aAAa,CAAC,WAAW,CAAC,CAAC"}
|
package/dist/links.d.ts
CHANGED
package/dist/links.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAE9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAE9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/client",
|
|
3
|
-
"version": "11.0.0-rc.
|
|
3
|
+
"version": "11.0.0-rc.354+ab11f2310",
|
|
4
4
|
"description": "The tRPC client library",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -76,10 +76,10 @@
|
|
|
76
76
|
"!**/*.test.*"
|
|
77
77
|
],
|
|
78
78
|
"peerDependencies": {
|
|
79
|
-
"@trpc/server": "11.0.0-rc.
|
|
79
|
+
"@trpc/server": "11.0.0-rc.354+ab11f2310"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
|
-
"@trpc/server": "11.0.0-rc.
|
|
82
|
+
"@trpc/server": "11.0.0-rc.354+ab11f2310",
|
|
83
83
|
"@types/isomorphic-fetch": "^0.0.39",
|
|
84
84
|
"@types/node": "^20.10.0",
|
|
85
85
|
"eslint": "^8.56.0",
|
|
@@ -95,5 +95,5 @@
|
|
|
95
95
|
"funding": [
|
|
96
96
|
"https://trpc.io/sponsor"
|
|
97
97
|
],
|
|
98
|
-
"gitHead": "
|
|
98
|
+
"gitHead": "ab11f23106d3bc29a3207f52a8bff8806d074267"
|
|
99
99
|
}
|
package/src/internals/types.ts
CHANGED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { httpLinkFactory } from './httpLink';
|
|
2
|
+
import type { Requester } from './internals/httpUtils';
|
|
3
|
+
import { httpRequest } from './internals/httpUtils';
|
|
4
|
+
|
|
5
|
+
const formDataRequester: Requester = (opts) => {
|
|
6
|
+
if (opts.type !== 'mutation') {
|
|
7
|
+
// TODO(?) handle formdata queries
|
|
8
|
+
throw new Error('We only handle mutations with formdata');
|
|
9
|
+
}
|
|
10
|
+
return httpRequest({
|
|
11
|
+
...opts,
|
|
12
|
+
getUrl() {
|
|
13
|
+
return `${opts.url}/${opts.path}`;
|
|
14
|
+
},
|
|
15
|
+
getBody(opts) {
|
|
16
|
+
if (!('input' in opts)) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
if (!(opts.input instanceof FormData)) {
|
|
20
|
+
throw new Error('Input is not FormData');
|
|
21
|
+
}
|
|
22
|
+
return opts.input;
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export const experimental_formDataLink = httpLinkFactory({
|
|
28
|
+
requester: formDataRequester,
|
|
29
|
+
});
|
package/src/links/httpLink.ts
CHANGED
|
@@ -11,8 +11,8 @@ import type {
|
|
|
11
11
|
Requester,
|
|
12
12
|
} from './internals/httpUtils';
|
|
13
13
|
import {
|
|
14
|
+
jsonHttpRequester,
|
|
14
15
|
resolveHTTPLinkOptions,
|
|
15
|
-
universalRequester,
|
|
16
16
|
} from './internals/httpUtils';
|
|
17
17
|
import type { HTTPHeaders, Operation, TRPCLink } from './types';
|
|
18
18
|
|
|
@@ -91,4 +91,4 @@ export function httpLinkFactory(factoryOpts: { requester: Requester }) {
|
|
|
91
91
|
/**
|
|
92
92
|
* @link https://trpc.io/docs/v11/client/links/httpLink
|
|
93
93
|
*/
|
|
94
|
-
export const httpLink = httpLinkFactory({ requester:
|
|
94
|
+
export const httpLink = httpLinkFactory({ requester: jsonHttpRequester });
|
|
@@ -18,7 +18,6 @@ import type { TransformerOptions } from '../../unstable-internals';
|
|
|
18
18
|
import { getTransformer } from '../../unstable-internals';
|
|
19
19
|
import type { TextDecoderEsque } from '../internals/streamingUtils';
|
|
20
20
|
import type { HTTPHeaders, PromiseAndCancel } from '../types';
|
|
21
|
-
import { isFormData, isOctetType } from './contentTypes';
|
|
22
21
|
|
|
23
22
|
/**
|
|
24
23
|
* @internal
|
|
@@ -106,7 +105,6 @@ export type HTTPBaseRequestOptions = GetInputOptions &
|
|
|
106
105
|
|
|
107
106
|
type GetUrl = (opts: HTTPBaseRequestOptions) => string;
|
|
108
107
|
type GetBody = (opts: HTTPBaseRequestOptions) => RequestInitEsque['body'];
|
|
109
|
-
|
|
110
108
|
export type ContentOptions = {
|
|
111
109
|
batchModeHeader?: 'stream';
|
|
112
110
|
contentTypeHeader?: string;
|
|
@@ -155,39 +153,6 @@ export const jsonHttpRequester: Requester = (opts) => {
|
|
|
155
153
|
});
|
|
156
154
|
};
|
|
157
155
|
|
|
158
|
-
export const universalRequester: Requester = (opts) => {
|
|
159
|
-
const input = getInput(opts);
|
|
160
|
-
|
|
161
|
-
if (isFormData(input)) {
|
|
162
|
-
if (opts.type !== 'mutation' && opts.methodOverride !== 'POST') {
|
|
163
|
-
throw new Error('FormData is only supported for mutations');
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
return httpRequest({
|
|
167
|
-
...opts,
|
|
168
|
-
// The browser will set this automatically and include the boundary= in it
|
|
169
|
-
contentTypeHeader: undefined,
|
|
170
|
-
getUrl,
|
|
171
|
-
getBody: () => input,
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
if (isOctetType(input)) {
|
|
176
|
-
if (opts.type !== 'mutation' && opts.methodOverride !== 'POST') {
|
|
177
|
-
throw new Error('Octet type input is only supported for mutations');
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return httpRequest({
|
|
181
|
-
...opts,
|
|
182
|
-
contentTypeHeader: 'application/octet-stream',
|
|
183
|
-
getUrl,
|
|
184
|
-
getBody: () => input,
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
return jsonHttpRequester(opts);
|
|
189
|
-
};
|
|
190
|
-
|
|
191
156
|
export type HTTPRequestOptions = ContentOptions &
|
|
192
157
|
HTTPBaseRequestOptions & {
|
|
193
158
|
headers: () => HTTPHeaders | Promise<HTTPHeaders>;
|
package/src/links/types.ts
CHANGED
|
@@ -7,12 +7,6 @@ import type {
|
|
|
7
7
|
import type { ResponseEsque } from '../internals/types';
|
|
8
8
|
import type { TRPCClientError } from '../TRPCClientError';
|
|
9
9
|
|
|
10
|
-
export {
|
|
11
|
-
isNonJsonSerializable,
|
|
12
|
-
isFormData,
|
|
13
|
-
isOctetType,
|
|
14
|
-
} from './internals/contentTypes';
|
|
15
|
-
|
|
16
10
|
/**
|
|
17
11
|
* @internal
|
|
18
12
|
*/
|
package/src/links.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from './links/httpLink';
|
|
|
7
7
|
export * from './links/loggerLink';
|
|
8
8
|
export * from './links/splitLink';
|
|
9
9
|
export * from './links/wsLink';
|
|
10
|
+
export * from './links/httpFormDataLink';
|
|
10
11
|
|
|
11
12
|
// These are not public (yet) as we get this functionality from tanstack query
|
|
12
13
|
// export * from './links/internals/retryLink';
|
|
@@ -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,WAMzC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,WAExC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,WAEnD"}
|
|
@@ -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,15 +0,0 @@
|
|
|
1
|
-
export function isOctetType(input: unknown) {
|
|
2
|
-
return (
|
|
3
|
-
input instanceof Uint8Array ||
|
|
4
|
-
// File extends from Blob but is only available in nodejs from v20
|
|
5
|
-
input instanceof Blob
|
|
6
|
-
);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function isFormData(input: unknown) {
|
|
10
|
-
return input instanceof FormData;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function isNonJsonSerializable(input: unknown) {
|
|
14
|
-
return isOctetType(input) || isFormData(input);
|
|
15
|
-
}
|