@trpc/client 11.0.0-rc.449 → 11.0.0-rc.455
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.d.ts.map +1 -1
- package/dist/TRPCClientError.js +11 -8
- package/dist/TRPCClientError.mjs +12 -9
- package/dist/bundle-analysis.json +54 -68
- package/dist/internals/TRPCUntypedClient.d.ts.map +1 -1
- package/dist/internals/TRPCUntypedClient.js +15 -19
- package/dist/internals/TRPCUntypedClient.mjs +15 -19
- package/dist/internals/dataLoader.d.ts +2 -6
- package/dist/internals/dataLoader.d.ts.map +1 -1
- package/dist/internals/dataLoader.js +3 -16
- package/dist/internals/dataLoader.mjs +3 -16
- package/dist/internals/types.d.ts +0 -15
- package/dist/internals/types.d.ts.map +1 -1
- package/dist/links/httpBatchLink.d.ts.map +1 -1
- package/dist/links/httpBatchLink.js +15 -17
- package/dist/links/httpBatchLink.mjs +16 -18
- package/dist/links/httpBatchStreamLink.d.ts.map +1 -1
- package/dist/links/httpBatchStreamLink.js +40 -43
- package/dist/links/httpBatchStreamLink.mjs +41 -44
- package/dist/links/httpLink.d.ts.map +1 -1
- package/dist/links/httpLink.js +3 -2
- package/dist/links/httpLink.mjs +3 -2
- package/dist/links/httpSubscriptionLink.js +1 -1
- package/dist/links/httpSubscriptionLink.mjs +1 -1
- package/dist/links/internals/httpUtils.d.ts +14 -11
- package/dist/links/internals/httpUtils.d.ts.map +1 -1
- package/dist/links/internals/httpUtils.js +39 -33
- package/dist/links/internals/httpUtils.mjs +39 -34
- package/dist/links/types.d.ts +2 -12
- package/dist/links/types.d.ts.map +1 -1
- package/dist/links/wsLink.js +2 -1
- package/dist/links/wsLink.mjs +2 -1
- package/package.json +4 -4
- package/src/TRPCClientError.ts +15 -10
- package/src/internals/TRPCUntypedClient.ts +18 -28
- package/src/internals/dataLoader.ts +4 -22
- package/src/internals/types.ts +0 -18
- package/src/links/httpBatchLink.ts +16 -19
- package/src/links/httpBatchStreamLink.ts +65 -72
- package/src/links/httpLink.ts +3 -2
- package/src/links/httpSubscriptionLink.ts +1 -1
- package/src/links/internals/httpUtils.ts +58 -44
- package/src/links/types.ts +2 -13
- package/src/links/wsLink.ts +1 -1
- package/dist/internals/getAbortController.d.ts +0 -4
- package/dist/internals/getAbortController.d.ts.map +0 -1
- package/dist/internals/getAbortController.js +0 -16
- package/dist/internals/getAbortController.mjs +0 -14
- package/src/internals/getAbortController.ts +0 -20
|
@@ -25,14 +25,16 @@ var httpUtils = require('./internals/httpUtils.js');
|
|
|
25
25
|
...resolvedOpts,
|
|
26
26
|
type,
|
|
27
27
|
path,
|
|
28
|
-
inputs
|
|
28
|
+
inputs,
|
|
29
|
+
signal: null
|
|
29
30
|
});
|
|
30
31
|
return url.length <= maxURLLength;
|
|
31
32
|
},
|
|
32
|
-
fetch (batchOps) {
|
|
33
|
+
async fetch (batchOps) {
|
|
33
34
|
const path = batchOps.map((op)=>op.path).join(',');
|
|
34
35
|
const inputs = batchOps.map((op)=>op.input);
|
|
35
|
-
const
|
|
36
|
+
const ac = httpUtils.mergeAbortSignals(batchOps);
|
|
37
|
+
const res = await httpUtils.jsonHttpRequester({
|
|
36
38
|
...resolvedOpts,
|
|
37
39
|
path,
|
|
38
40
|
inputs,
|
|
@@ -47,19 +49,15 @@ var httpUtils = require('./internals/httpUtils.js');
|
|
|
47
49
|
});
|
|
48
50
|
}
|
|
49
51
|
return opts.headers;
|
|
50
|
-
}
|
|
52
|
+
},
|
|
53
|
+
signal: ac.signal
|
|
51
54
|
});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
json: item
|
|
59
|
-
}));
|
|
60
|
-
return result;
|
|
61
|
-
})
|
|
62
|
-
};
|
|
55
|
+
const resJSON = Array.isArray(res.json) ? res.json : batchOps.map(()=>res.json);
|
|
56
|
+
const result = resJSON.map((item)=>({
|
|
57
|
+
meta: res.meta,
|
|
58
|
+
json: item
|
|
59
|
+
}));
|
|
60
|
+
return result;
|
|
63
61
|
}
|
|
64
62
|
};
|
|
65
63
|
};
|
|
@@ -75,7 +73,7 @@ var httpUtils = require('./internals/httpUtils.js');
|
|
|
75
73
|
throw new Error('Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`');
|
|
76
74
|
}
|
|
77
75
|
const loader = loaders[op.type];
|
|
78
|
-
const
|
|
76
|
+
const promise = loader.load(op);
|
|
79
77
|
let _res = undefined;
|
|
80
78
|
promise.then((res)=>{
|
|
81
79
|
_res = res;
|
|
@@ -97,7 +95,7 @@ var httpUtils = require('./internals/httpUtils.js');
|
|
|
97
95
|
}));
|
|
98
96
|
});
|
|
99
97
|
return ()=>{
|
|
100
|
-
|
|
98
|
+
// noop
|
|
101
99
|
};
|
|
102
100
|
});
|
|
103
101
|
};
|
|
@@ -2,7 +2,7 @@ import { observable } from '@trpc/server/observable';
|
|
|
2
2
|
import { transformResult } from '@trpc/server/unstable-core-do-not-import';
|
|
3
3
|
import { dataLoader } from '../internals/dataLoader.mjs';
|
|
4
4
|
import { TRPCClientError } from '../TRPCClientError.mjs';
|
|
5
|
-
import { resolveHTTPLinkOptions, getUrl, jsonHttpRequester } from './internals/httpUtils.mjs';
|
|
5
|
+
import { resolveHTTPLinkOptions, getUrl, mergeAbortSignals, jsonHttpRequester } from './internals/httpUtils.mjs';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @see https://trpc.io/docs/client/links/httpBatchLink
|
|
@@ -23,14 +23,16 @@ import { resolveHTTPLinkOptions, getUrl, jsonHttpRequester } from './internals/h
|
|
|
23
23
|
...resolvedOpts,
|
|
24
24
|
type,
|
|
25
25
|
path,
|
|
26
|
-
inputs
|
|
26
|
+
inputs,
|
|
27
|
+
signal: null
|
|
27
28
|
});
|
|
28
29
|
return url.length <= maxURLLength;
|
|
29
30
|
},
|
|
30
|
-
fetch (batchOps) {
|
|
31
|
+
async fetch (batchOps) {
|
|
31
32
|
const path = batchOps.map((op)=>op.path).join(',');
|
|
32
33
|
const inputs = batchOps.map((op)=>op.input);
|
|
33
|
-
const
|
|
34
|
+
const ac = mergeAbortSignals(batchOps);
|
|
35
|
+
const res = await jsonHttpRequester({
|
|
34
36
|
...resolvedOpts,
|
|
35
37
|
path,
|
|
36
38
|
inputs,
|
|
@@ -45,19 +47,15 @@ import { resolveHTTPLinkOptions, getUrl, jsonHttpRequester } from './internals/h
|
|
|
45
47
|
});
|
|
46
48
|
}
|
|
47
49
|
return opts.headers;
|
|
48
|
-
}
|
|
50
|
+
},
|
|
51
|
+
signal: ac.signal
|
|
49
52
|
});
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
json: item
|
|
57
|
-
}));
|
|
58
|
-
return result;
|
|
59
|
-
})
|
|
60
|
-
};
|
|
53
|
+
const resJSON = Array.isArray(res.json) ? res.json : batchOps.map(()=>res.json);
|
|
54
|
+
const result = resJSON.map((item)=>({
|
|
55
|
+
meta: res.meta,
|
|
56
|
+
json: item
|
|
57
|
+
}));
|
|
58
|
+
return result;
|
|
61
59
|
}
|
|
62
60
|
};
|
|
63
61
|
};
|
|
@@ -73,7 +71,7 @@ import { resolveHTTPLinkOptions, getUrl, jsonHttpRequester } from './internals/h
|
|
|
73
71
|
throw new Error('Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`');
|
|
74
72
|
}
|
|
75
73
|
const loader = loaders[op.type];
|
|
76
|
-
const
|
|
74
|
+
const promise = loader.load(op);
|
|
77
75
|
let _res = undefined;
|
|
78
76
|
promise.then((res)=>{
|
|
79
77
|
_res = res;
|
|
@@ -95,7 +93,7 @@ import { resolveHTTPLinkOptions, getUrl, jsonHttpRequester } from './internals/h
|
|
|
95
93
|
}));
|
|
96
94
|
});
|
|
97
95
|
return ()=>{
|
|
98
|
-
|
|
96
|
+
// noop
|
|
99
97
|
};
|
|
100
98
|
});
|
|
101
99
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpBatchStreamLink.d.ts","sourceRoot":"","sources":["../../src/links/httpBatchStreamLink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAG7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAM7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"httpBatchStreamLink.d.ts","sourceRoot":"","sources":["../../src/links/httpBatchStreamLink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAG7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAM7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AASnE,OAAO,KAAK,EAAa,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,MAAM,0BAA0B,CAAC,KAAK,SAAS,YAAY,IAC/D,oBAAoB,CAAC,KAAK,CAAC,GAAG;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEJ;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,SAAS,SAAS,EACpE,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,GACrE,QAAQ,CAAC,OAAO,CAAC,CA6JnB"}
|
|
@@ -29,16 +29,18 @@ var httpUtils = require('./internals/httpUtils.js');
|
|
|
29
29
|
...resolvedOpts,
|
|
30
30
|
type,
|
|
31
31
|
path,
|
|
32
|
-
inputs
|
|
32
|
+
inputs,
|
|
33
|
+
signal: null
|
|
33
34
|
});
|
|
34
35
|
return url.length <= maxURLLength;
|
|
35
36
|
},
|
|
36
|
-
fetch (batchOps) {
|
|
37
|
+
async fetch (batchOps) {
|
|
37
38
|
const path = batchOps.map((op)=>op.path).join(',');
|
|
38
39
|
const inputs = batchOps.map((op)=>op.input);
|
|
39
|
-
const ac =
|
|
40
|
+
const ac = httpUtils.mergeAbortSignals(batchOps);
|
|
40
41
|
const responsePromise = httpUtils.fetchHTTPResponse({
|
|
41
42
|
...resolvedOpts,
|
|
43
|
+
signal: ac.signal,
|
|
42
44
|
type,
|
|
43
45
|
contentTypeHeader: 'application/json',
|
|
44
46
|
trpcAcceptHeader: 'application/jsonl',
|
|
@@ -57,47 +59,42 @@ var httpUtils = require('./internals/httpUtils.js');
|
|
|
57
59
|
}
|
|
58
60
|
return opts.headers;
|
|
59
61
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
error
|
|
72
|
-
});
|
|
73
|
-
}
|
|
62
|
+
});
|
|
63
|
+
const res = await responsePromise;
|
|
64
|
+
const [head] = await unstableCoreDoNotImport.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.TRPCClientError.from({
|
|
72
|
+
error
|
|
74
73
|
});
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
74
|
+
},
|
|
75
|
+
abortController: ac
|
|
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
87
|
}
|
|
88
|
-
|
|
89
|
-
json,
|
|
90
|
-
meta: {
|
|
91
|
-
response: res
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
});
|
|
95
|
-
return promises;
|
|
96
|
-
}),
|
|
97
|
-
cancel () {
|
|
98
|
-
ac?.abort();
|
|
88
|
+
};
|
|
99
89
|
}
|
|
100
|
-
|
|
90
|
+
return {
|
|
91
|
+
json,
|
|
92
|
+
meta: {
|
|
93
|
+
response: res
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
return promises;
|
|
101
98
|
}
|
|
102
99
|
};
|
|
103
100
|
};
|
|
@@ -113,7 +110,7 @@ var httpUtils = require('./internals/httpUtils.js');
|
|
|
113
110
|
throw new Error('Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`');
|
|
114
111
|
}
|
|
115
112
|
const loader = loaders[op.type];
|
|
116
|
-
const
|
|
113
|
+
const promise = loader.load(op);
|
|
117
114
|
let _res = undefined;
|
|
118
115
|
promise.then((res)=>{
|
|
119
116
|
_res = res;
|
|
@@ -137,7 +134,7 @@ var httpUtils = require('./internals/httpUtils.js');
|
|
|
137
134
|
}));
|
|
138
135
|
});
|
|
139
136
|
return ()=>{
|
|
140
|
-
|
|
137
|
+
// noop
|
|
141
138
|
};
|
|
142
139
|
});
|
|
143
140
|
};
|
|
@@ -2,7 +2,7 @@ import { observable } from '@trpc/server/observable';
|
|
|
2
2
|
import { jsonlStreamConsumer } from '@trpc/server/unstable-core-do-not-import';
|
|
3
3
|
import { dataLoader } from '../internals/dataLoader.mjs';
|
|
4
4
|
import { TRPCClientError } from '../TRPCClientError.mjs';
|
|
5
|
-
import { resolveHTTPLinkOptions, getUrl, fetchHTTPResponse, getBody } from './internals/httpUtils.mjs';
|
|
5
|
+
import { resolveHTTPLinkOptions, getUrl, mergeAbortSignals, fetchHTTPResponse, getBody } from './internals/httpUtils.mjs';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @see https://trpc.io/docs/client/links/httpBatchStreamLink
|
|
@@ -27,16 +27,18 @@ import { resolveHTTPLinkOptions, getUrl, fetchHTTPResponse, getBody } from './in
|
|
|
27
27
|
...resolvedOpts,
|
|
28
28
|
type,
|
|
29
29
|
path,
|
|
30
|
-
inputs
|
|
30
|
+
inputs,
|
|
31
|
+
signal: null
|
|
31
32
|
});
|
|
32
33
|
return url.length <= maxURLLength;
|
|
33
34
|
},
|
|
34
|
-
fetch (batchOps) {
|
|
35
|
+
async fetch (batchOps) {
|
|
35
36
|
const path = batchOps.map((op)=>op.path).join(',');
|
|
36
37
|
const inputs = batchOps.map((op)=>op.input);
|
|
37
|
-
const ac =
|
|
38
|
+
const ac = mergeAbortSignals(batchOps);
|
|
38
39
|
const responsePromise = fetchHTTPResponse({
|
|
39
40
|
...resolvedOpts,
|
|
41
|
+
signal: ac.signal,
|
|
40
42
|
type,
|
|
41
43
|
contentTypeHeader: 'application/json',
|
|
42
44
|
trpcAcceptHeader: 'application/jsonl',
|
|
@@ -55,47 +57,42 @@ import { resolveHTTPLinkOptions, getUrl, fetchHTTPResponse, getBody } from './in
|
|
|
55
57
|
}
|
|
56
58
|
return opts.headers;
|
|
57
59
|
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
error
|
|
70
|
-
});
|
|
71
|
-
}
|
|
60
|
+
});
|
|
61
|
+
const res = await responsePromise;
|
|
62
|
+
const [head] = await jsonlStreamConsumer({
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
64
|
+
from: res.body,
|
|
65
|
+
deserialize: resolvedOpts.transformer.output.deserialize,
|
|
66
|
+
// onError: console.error,
|
|
67
|
+
formatError (opts) {
|
|
68
|
+
const error = opts.error;
|
|
69
|
+
return TRPCClientError.from({
|
|
70
|
+
error
|
|
72
71
|
});
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
72
|
+
},
|
|
73
|
+
abortController: ac
|
|
74
|
+
});
|
|
75
|
+
const promises = Object.keys(batchOps).map(async (key)=>{
|
|
76
|
+
let json = await Promise.resolve(head[key]);
|
|
77
|
+
if ('result' in json) {
|
|
78
|
+
/**
|
|
79
|
+
* Not very pretty, but we need to unwrap nested data as promises
|
|
80
|
+
* Our stream producer will only resolve top-level async values or async values that are directly nested in another async value
|
|
81
|
+
*/ const result = await Promise.resolve(json.result);
|
|
82
|
+
json = {
|
|
83
|
+
result: {
|
|
84
|
+
data: await Promise.resolve(result.data)
|
|
85
85
|
}
|
|
86
|
-
|
|
87
|
-
json,
|
|
88
|
-
meta: {
|
|
89
|
-
response: res
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
});
|
|
93
|
-
return promises;
|
|
94
|
-
}),
|
|
95
|
-
cancel () {
|
|
96
|
-
ac?.abort();
|
|
86
|
+
};
|
|
97
87
|
}
|
|
98
|
-
|
|
88
|
+
return {
|
|
89
|
+
json,
|
|
90
|
+
meta: {
|
|
91
|
+
response: res
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
return promises;
|
|
99
96
|
}
|
|
100
97
|
};
|
|
101
98
|
};
|
|
@@ -111,7 +108,7 @@ import { resolveHTTPLinkOptions, getUrl, fetchHTTPResponse, getBody } from './in
|
|
|
111
108
|
throw new Error('Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`');
|
|
112
109
|
}
|
|
113
110
|
const loader = loaders[op.type];
|
|
114
|
-
const
|
|
111
|
+
const promise = loader.load(op);
|
|
115
112
|
let _res = undefined;
|
|
116
113
|
promise.then((res)=>{
|
|
117
114
|
_res = res;
|
|
@@ -135,7 +132,7 @@ import { resolveHTTPLinkOptions, getUrl, fetchHTTPResponse, getBody } from './in
|
|
|
135
132
|
}));
|
|
136
133
|
});
|
|
137
134
|
return ()=>{
|
|
138
|
-
|
|
135
|
+
// noop
|
|
139
136
|
};
|
|
140
137
|
});
|
|
141
138
|
};
|
|
@@ -1 +1 @@
|
|
|
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;AAQ/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;AAmCJ;;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,
|
|
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;AAQ/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;AAmCJ;;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
CHANGED
|
@@ -49,6 +49,7 @@ const universalRequester = (opts)=>{
|
|
|
49
49
|
type,
|
|
50
50
|
path,
|
|
51
51
|
input,
|
|
52
|
+
signal: op.signal,
|
|
52
53
|
headers () {
|
|
53
54
|
if (!opts.headers) {
|
|
54
55
|
return {};
|
|
@@ -62,7 +63,7 @@ const universalRequester = (opts)=>{
|
|
|
62
63
|
}
|
|
63
64
|
});
|
|
64
65
|
let meta = undefined;
|
|
65
|
-
request.
|
|
66
|
+
request.then((res)=>{
|
|
66
67
|
meta = res.meta;
|
|
67
68
|
const transformed = unstableCoreDoNotImport.transformResult(res.json, resolvedOpts.transformer.output);
|
|
68
69
|
if (!transformed.ok) {
|
|
@@ -82,7 +83,7 @@ const universalRequester = (opts)=>{
|
|
|
82
83
|
}));
|
|
83
84
|
});
|
|
84
85
|
return ()=>{
|
|
85
|
-
|
|
86
|
+
// noop
|
|
86
87
|
};
|
|
87
88
|
});
|
|
88
89
|
};
|
package/dist/links/httpLink.mjs
CHANGED
|
@@ -47,6 +47,7 @@ const universalRequester = (opts)=>{
|
|
|
47
47
|
type,
|
|
48
48
|
path,
|
|
49
49
|
input,
|
|
50
|
+
signal: op.signal,
|
|
50
51
|
headers () {
|
|
51
52
|
if (!opts.headers) {
|
|
52
53
|
return {};
|
|
@@ -60,7 +61,7 @@ const universalRequester = (opts)=>{
|
|
|
60
61
|
}
|
|
61
62
|
});
|
|
62
63
|
let meta = undefined;
|
|
63
|
-
request.
|
|
64
|
+
request.then((res)=>{
|
|
64
65
|
meta = res.meta;
|
|
65
66
|
const transformed = transformResult(res.json, resolvedOpts.transformer.output);
|
|
66
67
|
if (!transformed.ok) {
|
|
@@ -80,7 +81,7 @@ const universalRequester = (opts)=>{
|
|
|
80
81
|
}));
|
|
81
82
|
});
|
|
82
83
|
return ()=>{
|
|
83
|
-
|
|
84
|
+
// noop
|
|
84
85
|
};
|
|
85
86
|
});
|
|
86
87
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { AnyClientTypes, CombinedDataTransformer, ProcedureType, TRPCAcceptHeader, TRPCResponse } from '@trpc/server/unstable-core-do-not-import';
|
|
2
|
-
import type {
|
|
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
3
|
import type { TransformerOptions } from '../../unstable-internals';
|
|
4
|
-
import type { HTTPHeaders
|
|
4
|
+
import type { HTTPHeaders } from '../types';
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
@@ -11,10 +11,6 @@ export type HTTPLinkBaseOptions<TRoot extends Pick<AnyClientTypes, 'transformer'
|
|
|
11
11
|
* Add ponyfill for fetch
|
|
12
12
|
*/
|
|
13
13
|
fetch?: FetchEsque;
|
|
14
|
-
/**
|
|
15
|
-
* Add ponyfill for AbortController
|
|
16
|
-
*/
|
|
17
|
-
AbortController?: AbortControllerEsque | null;
|
|
18
14
|
/**
|
|
19
15
|
* Send all requests `as POST`s requests regardless of the procedure type
|
|
20
16
|
* The HTTP handler must separately allow overriding the method. See:
|
|
@@ -25,7 +21,6 @@ export type HTTPLinkBaseOptions<TRoot extends Pick<AnyClientTypes, 'transformer'
|
|
|
25
21
|
export interface ResolvedHTTPLinkOptions {
|
|
26
22
|
url: string;
|
|
27
23
|
fetch?: FetchEsque;
|
|
28
|
-
AbortController: AbortControllerEsque | null;
|
|
29
24
|
transformer: CombinedDataTransformer;
|
|
30
25
|
methodOverride?: 'POST';
|
|
31
26
|
}
|
|
@@ -48,6 +43,7 @@ export declare function getInput(opts: GetInputOptions): any;
|
|
|
48
43
|
export type HTTPBaseRequestOptions = GetInputOptions & ResolvedHTTPLinkOptions & {
|
|
49
44
|
type: ProcedureType;
|
|
50
45
|
path: string;
|
|
46
|
+
signal: Maybe<AbortSignal>;
|
|
51
47
|
};
|
|
52
48
|
type GetUrl = (opts: HTTPBaseRequestOptions) => string;
|
|
53
49
|
type GetBody = (opts: HTTPBaseRequestOptions) => RequestInitEsque['body'];
|
|
@@ -61,12 +57,19 @@ export declare const getUrl: GetUrl;
|
|
|
61
57
|
export declare const getBody: GetBody;
|
|
62
58
|
export type Requester = (opts: HTTPBaseRequestOptions & {
|
|
63
59
|
headers: () => HTTPHeaders | Promise<HTTPHeaders>;
|
|
64
|
-
}) =>
|
|
60
|
+
}) => Promise<HTTPResult>;
|
|
65
61
|
export declare const jsonHttpRequester: Requester;
|
|
66
62
|
export type HTTPRequestOptions = ContentOptions & HTTPBaseRequestOptions & {
|
|
67
63
|
headers: () => HTTPHeaders | Promise<HTTPHeaders>;
|
|
68
64
|
};
|
|
69
|
-
export declare function fetchHTTPResponse(opts: HTTPRequestOptions
|
|
70
|
-
export declare function httpRequest(opts: HTTPRequestOptions):
|
|
65
|
+
export declare function fetchHTTPResponse(opts: HTTPRequestOptions): Promise<ResponseEsque>;
|
|
66
|
+
export declare function httpRequest(opts: HTTPRequestOptions): Promise<HTTPResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Merges multiple abort signals into a single one
|
|
69
|
+
* - When all signals have been aborted, the merged signal will be aborted
|
|
70
|
+
*/
|
|
71
|
+
export declare function mergeAbortSignals(opts: {
|
|
72
|
+
signal: Maybe<AbortSignal>;
|
|
73
|
+
}[]): AbortController;
|
|
71
74
|
export {};
|
|
72
75
|
//# sourceMappingURL=httpUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpUtils.d.ts","sourceRoot":"","sources":["../../../src/links/internals/httpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACb,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"httpUtils.d.ts","sourceRoot":"","sources":["../../../src/links/internals/httpUtils.ts"],"names":[],"mappings":"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"}
|