@trpc/server 11.0.0-rc.417 → 11.0.0-rc.419
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/@trpc/server/index.d.ts +1 -1
- package/dist/@trpc/server/index.d.ts.map +1 -1
- package/dist/adapters/aws-lambda/getPlanner.d.ts.map +1 -1
- package/dist/adapters/next-app-dir/redirect.d.ts.map +1 -1
- package/dist/adapters/node-http/incomingMessageToRequest.d.ts +0 -1
- package/dist/adapters/node-http/incomingMessageToRequest.d.ts.map +1 -1
- package/dist/adapters/node-http/incomingMessageToRequest.js +3 -1
- package/dist/adapters/node-http/incomingMessageToRequest.mjs +3 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.js +30 -7
- package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +30 -7
- package/dist/adapters/node-http/types.d.ts +0 -1
- package/dist/adapters/node-http/types.d.ts.map +1 -1
- package/dist/adapters/standalone.d.ts +0 -1
- package/dist/adapters/standalone.d.ts.map +1 -1
- package/dist/adapters/ws.d.ts +1 -2
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +98 -81
- package/dist/adapters/ws.mjs +98 -81
- package/dist/bundle-analysis.json +196 -137
- package/dist/index.js +5 -3
- package/dist/index.mjs +2 -1
- package/dist/observable/observable.d.ts +1 -0
- package/dist/observable/observable.d.ts.map +1 -1
- package/dist/observable/observable.js +55 -0
- package/dist/observable/observable.mjs +55 -1
- package/dist/unstable-core-do-not-import/createProxy.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/contentType.d.ts +7 -4
- package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/contentType.js +55 -17
- package/dist/unstable-core-do-not-import/http/contentType.mjs +56 -18
- package/dist/unstable-core-do-not-import/http/resolveResponse.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/resolveResponse.js +302 -149
- package/dist/unstable-core-do-not-import/http/resolveResponse.mjs +301 -148
- package/dist/unstable-core-do-not-import/http/types.d.ts +34 -5
- package/dist/unstable-core-do-not-import/http/types.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/initTRPC.d.ts +12 -12
- package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/middleware.d.ts +3 -3
- package/dist/unstable-core-do-not-import/middleware.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +3 -1
- package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/rootConfig.d.ts +12 -0
- package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/router.d.ts +2 -2
- package/dist/unstable-core-do-not-import/router.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/router.js +6 -0
- package/dist/unstable-core-do-not-import/router.mjs +6 -0
- package/dist/unstable-core-do-not-import/stream/{stream.d.ts → jsonl.d.ts} +5 -5
- package/dist/unstable-core-do-not-import/stream/jsonl.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/{stream.js → jsonl.js} +90 -89
- package/dist/unstable-core-do-not-import/stream/{stream.mjs → jsonl.mjs} +89 -88
- package/dist/unstable-core-do-not-import/stream/sse.d.ts +95 -0
- package/dist/unstable-core-do-not-import/stream/sse.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/sse.js +175 -0
- package/dist/unstable-core-do-not-import/stream/sse.mjs +169 -0
- package/dist/unstable-core-do-not-import/stream/utils/createDeferred.d.ts +18 -0
- package/dist/unstable-core-do-not-import/stream/utils/createDeferred.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/utils/createDeferred.js +46 -0
- package/dist/unstable-core-do-not-import/stream/utils/createDeferred.mjs +43 -0
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.d.ts +10 -0
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.js +31 -0
- package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.mjs +29 -0
- package/dist/unstable-core-do-not-import/stream/utils/createServer.d.ts +7 -0
- package/dist/unstable-core-do-not-import/stream/utils/createServer.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/transformer.d.ts +5 -5
- package/dist/unstable-core-do-not-import/utils.d.ts +4 -0
- package/dist/unstable-core-do-not-import/utils.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/utils.js +4 -0
- package/dist/unstable-core-do-not-import/utils.mjs +4 -1
- package/dist/unstable-core-do-not-import.d.ts +2 -1
- package/dist/unstable-core-do-not-import.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import.js +11 -4
- package/dist/unstable-core-do-not-import.mjs +3 -2
- package/package.json +3 -3
- package/src/@trpc/server/index.ts +1 -0
- package/src/adapters/node-http/incomingMessageToRequest.ts +3 -2
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +32 -7
- package/src/adapters/ws.ts +101 -75
- package/src/observable/observable.ts +63 -0
- package/src/unstable-core-do-not-import/http/contentType.ts +78 -21
- package/src/unstable-core-do-not-import/http/resolveResponse.ts +331 -164
- package/src/unstable-core-do-not-import/http/types.ts +42 -5
- package/src/unstable-core-do-not-import/procedureBuilder.ts +8 -1
- package/src/unstable-core-do-not-import/rootConfig.ts +12 -0
- package/src/unstable-core-do-not-import/router.ts +12 -0
- package/src/unstable-core-do-not-import/stream/{stream.ts → jsonl.ts} +99 -85
- package/src/unstable-core-do-not-import/stream/sse.ts +291 -0
- package/src/unstable-core-do-not-import/stream/utils/createDeferred.ts +48 -0
- package/src/unstable-core-do-not-import/stream/utils/createReadableStream.ts +31 -0
- package/src/unstable-core-do-not-import/stream/utils/createServer.ts +46 -0
- package/src/unstable-core-do-not-import/utils.ts +5 -0
- package/src/unstable-core-do-not-import.ts +2 -1
- package/dist/unstable-core-do-not-import/stream/stream.d.ts.map +0 -1
package/dist/index.js
CHANGED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
var createProxy = require('./unstable-core-do-not-import/createProxy.js');
|
|
4
4
|
var TRPCError = require('./unstable-core-do-not-import/error/TRPCError.js');
|
|
5
5
|
var getErrorShape = require('./unstable-core-do-not-import/error/getErrorShape.js');
|
|
6
|
-
var
|
|
6
|
+
var sse = require('./unstable-core-do-not-import/stream/sse.js');
|
|
7
7
|
var transformer = require('./unstable-core-do-not-import/transformer.js');
|
|
8
8
|
var initTRPC = require('./unstable-core-do-not-import/initTRPC.js');
|
|
9
9
|
var middleware = require('./unstable-core-do-not-import/middleware.js');
|
|
10
10
|
require('./unstable-core-do-not-import/rootConfig.js');
|
|
11
|
+
var router = require('./unstable-core-do-not-import/router.js');
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
|
|
@@ -15,9 +16,10 @@ exports.createTRPCFlatProxy = createProxy.createFlatProxy;
|
|
|
15
16
|
exports.TRPCError = TRPCError.TRPCError;
|
|
16
17
|
exports.getTRPCErrorFromUnknown = TRPCError.getTRPCErrorFromUnknown;
|
|
17
18
|
exports.getErrorShape = getErrorShape.getErrorShape;
|
|
18
|
-
exports.
|
|
19
|
-
exports.callTRPCProcedure = router.callProcedure;
|
|
19
|
+
exports.sse = sse.sse;
|
|
20
20
|
exports.transformTRPCResponse = transformer.transformTRPCResponse;
|
|
21
21
|
exports.initTRPC = initTRPC.initTRPC;
|
|
22
22
|
exports.experimental_standaloneMiddleware = middleware.experimental_standaloneMiddleware;
|
|
23
23
|
exports.experimental_trpcMiddleware = middleware.experimental_standaloneMiddleware;
|
|
24
|
+
exports.callProcedure = router.callProcedure;
|
|
25
|
+
exports.callTRPCProcedure = router.callProcedure;
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export { createFlatProxy as createTRPCFlatProxy } from './unstable-core-do-not-import/createProxy.mjs';
|
|
2
2
|
export { TRPCError, getTRPCErrorFromUnknown } from './unstable-core-do-not-import/error/TRPCError.mjs';
|
|
3
3
|
export { getErrorShape } from './unstable-core-do-not-import/error/getErrorShape.mjs';
|
|
4
|
-
export {
|
|
4
|
+
export { sse } from './unstable-core-do-not-import/stream/sse.mjs';
|
|
5
5
|
export { transformTRPCResponse } from './unstable-core-do-not-import/transformer.mjs';
|
|
6
6
|
export { initTRPC } from './unstable-core-do-not-import/initTRPC.mjs';
|
|
7
7
|
export { experimental_standaloneMiddleware, experimental_standaloneMiddleware as experimental_trpcMiddleware } from './unstable-core-do-not-import/middleware.mjs';
|
|
8
8
|
import './unstable-core-do-not-import/rootConfig.mjs';
|
|
9
|
+
export { callProcedure, callProcedure as callTRPCProcedure } from './unstable-core-do-not-import/router.mjs';
|
|
@@ -10,4 +10,5 @@ export declare function observableToPromise<TValue>(observable: Observable<TValu
|
|
|
10
10
|
promise: Promise<TValue>;
|
|
11
11
|
abort: () => void;
|
|
12
12
|
};
|
|
13
|
+
export declare function observableToAsyncIterable<TValue>(observable: Observable<TValue, unknown>): AsyncIterable<TValue>;
|
|
13
14
|
//# sourceMappingURL=observable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.d.ts","sourceRoot":"","sources":["../../src/observable/observable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EAER,aAAa,
|
|
1
|
+
{"version":3,"file":"observable.d.ts","sourceRoot":"","sources":["../../src/observable/observable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EAER,aAAa,EAGd,MAAM,SAAS,CAAC;AAEjB,cAAc;AACd,MAAM,MAAM,oBAAoB,CAAC,WAAW,IAAI,WAAW,SAAS,UAAU,CAC5E,MAAM,MAAM,EACZ,OAAO,CACR,GACG,MAAM,GACN,KAAK,CAAC;AAEV,cAAc;AACd,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAE1E;AAED,cAAc;AACd,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EACjD,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,aAAa,GAC/D,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CA6D5B;AAcD,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,MAAM,EACxC,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;;iBAEtB,IAAI;EAkCtB;AA6BD,wBAAgB,yBAAyB,CAAC,MAAM,EAC9C,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,aAAa,CAAC,MAAM,CAAC,CA+BvB"}
|
|
@@ -108,7 +108,62 @@ class ObservableAbortError extends Error {
|
|
|
108
108
|
abort: abort
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* @internal
|
|
113
|
+
*/ function observableToReadableStream(observable) {
|
|
114
|
+
let unsub = null;
|
|
115
|
+
return new ReadableStream({
|
|
116
|
+
start (controller) {
|
|
117
|
+
unsub = observable.subscribe({
|
|
118
|
+
next (data) {
|
|
119
|
+
controller.enqueue(data);
|
|
120
|
+
},
|
|
121
|
+
error (err) {
|
|
122
|
+
controller.error(err);
|
|
123
|
+
},
|
|
124
|
+
complete () {
|
|
125
|
+
controller.close();
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
},
|
|
129
|
+
cancel () {
|
|
130
|
+
unsub?.unsubscribe();
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
function observableToAsyncIterable(observable) {
|
|
135
|
+
const stream = observableToReadableStream(observable);
|
|
136
|
+
const reader = stream.getReader();
|
|
137
|
+
const iterator = {
|
|
138
|
+
async next () {
|
|
139
|
+
const value = await reader.read();
|
|
140
|
+
if (value.done) {
|
|
141
|
+
return {
|
|
142
|
+
value: undefined,
|
|
143
|
+
done: true
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
value: value.value,
|
|
148
|
+
done: false
|
|
149
|
+
};
|
|
150
|
+
},
|
|
151
|
+
async return () {
|
|
152
|
+
await reader.cancel();
|
|
153
|
+
return {
|
|
154
|
+
value: undefined,
|
|
155
|
+
done: true
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
return {
|
|
160
|
+
[Symbol.asyncIterator] () {
|
|
161
|
+
return iterator;
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
}
|
|
111
165
|
|
|
112
166
|
exports.isObservable = isObservable;
|
|
113
167
|
exports.observable = observable;
|
|
168
|
+
exports.observableToAsyncIterable = observableToAsyncIterable;
|
|
114
169
|
exports.observableToPromise = observableToPromise;
|
|
@@ -106,5 +106,59 @@ class ObservableAbortError extends Error {
|
|
|
106
106
|
abort: abort
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* @internal
|
|
111
|
+
*/ function observableToReadableStream(observable) {
|
|
112
|
+
let unsub = null;
|
|
113
|
+
return new ReadableStream({
|
|
114
|
+
start (controller) {
|
|
115
|
+
unsub = observable.subscribe({
|
|
116
|
+
next (data) {
|
|
117
|
+
controller.enqueue(data);
|
|
118
|
+
},
|
|
119
|
+
error (err) {
|
|
120
|
+
controller.error(err);
|
|
121
|
+
},
|
|
122
|
+
complete () {
|
|
123
|
+
controller.close();
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
},
|
|
127
|
+
cancel () {
|
|
128
|
+
unsub?.unsubscribe();
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
function observableToAsyncIterable(observable) {
|
|
133
|
+
const stream = observableToReadableStream(observable);
|
|
134
|
+
const reader = stream.getReader();
|
|
135
|
+
const iterator = {
|
|
136
|
+
async next () {
|
|
137
|
+
const value = await reader.read();
|
|
138
|
+
if (value.done) {
|
|
139
|
+
return {
|
|
140
|
+
value: undefined,
|
|
141
|
+
done: true
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
value: value.value,
|
|
146
|
+
done: false
|
|
147
|
+
};
|
|
148
|
+
},
|
|
149
|
+
async return () {
|
|
150
|
+
await reader.cancel();
|
|
151
|
+
return {
|
|
152
|
+
value: undefined,
|
|
153
|
+
done: true
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
return {
|
|
158
|
+
[Symbol.asyncIterator] () {
|
|
159
|
+
return iterator;
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
}
|
|
109
163
|
|
|
110
|
-
export { isObservable, observable, observableToPromise };
|
|
164
|
+
export { isObservable, observable, observableToAsyncIterable, observableToPromise };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createProxy.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/createProxy.ts"],"names":[],"mappings":"AAAA,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AACD,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,CAAC;AA6C7D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"createProxy.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/createProxy.ts"],"names":[],"mappings":"AAAA,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AACD,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,CAAC;AA6C7D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,sBAC9B,aAAa,KACtB,KAAqE,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,YACzB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,KAAK,GAAG,KAC5C,KAWF,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AnyRouter } from '../router';
|
|
2
2
|
import type { TRPCRequestInfo } from './types';
|
|
3
|
-
|
|
3
|
+
type GetRequestInfoOptions = {
|
|
4
4
|
path: string;
|
|
5
5
|
req: Request;
|
|
6
6
|
searchParams: URLSearchParams;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
headers: Headers;
|
|
8
|
+
router: AnyRouter;
|
|
9
|
+
};
|
|
10
|
+
export declare function getRequestInfo(opts: GetRequestInfoOptions): TRPCRequestInfo;
|
|
11
|
+
export {};
|
|
9
12
|
//# sourceMappingURL=contentType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentType.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/contentType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contentType.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/contentType.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,SAAS,CAAC;AAEjB,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,EAAE,eAAe,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AA6PF,wBAAgB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe,CAG3E"}
|
|
@@ -65,7 +65,7 @@ const jsonContentTypeHandler = {
|
|
|
65
65
|
}
|
|
66
66
|
if (!isBatchCall) {
|
|
67
67
|
return {
|
|
68
|
-
0: opts.
|
|
68
|
+
0: opts.router._def._config.transformer.input.deserialize(inputs)
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
if (!utils.isObject(inputs)) {
|
|
@@ -78,24 +78,56 @@ const jsonContentTypeHandler = {
|
|
|
78
78
|
for (const index of paths.keys()){
|
|
79
79
|
const input = inputs[index];
|
|
80
80
|
if (input !== undefined) {
|
|
81
|
-
acc[index] = opts.
|
|
81
|
+
acc[index] = opts.router._def._config.transformer.input.deserialize(input);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
return acc;
|
|
85
85
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
86
|
+
const calls = paths.map((path, index)=>{
|
|
87
|
+
const procedure = opts.router._def.procedures[path] ?? null;
|
|
88
|
+
return {
|
|
89
|
+
path,
|
|
90
|
+
procedure,
|
|
91
|
+
getRawInput: async ()=>{
|
|
92
|
+
const inputs = await getInputs.read();
|
|
93
|
+
let input = inputs[index];
|
|
94
|
+
if (procedure?._def.type === 'subscription') {
|
|
95
|
+
const lastEventId = opts.headers.get('last-event-id') ?? opts.searchParams.get('lastEventId') ?? opts.searchParams.get('Last-Event-Id');
|
|
96
|
+
if (lastEventId) {
|
|
97
|
+
if (utils.isObject(input)) {
|
|
98
|
+
input = {
|
|
99
|
+
...input,
|
|
100
|
+
lastEventId: lastEventId
|
|
101
|
+
};
|
|
102
|
+
} else {
|
|
103
|
+
input ?? (input = {
|
|
104
|
+
lastEventId: lastEventId
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
96
108
|
}
|
|
97
|
-
|
|
109
|
+
return input;
|
|
110
|
+
},
|
|
111
|
+
result: ()=>{
|
|
112
|
+
return getInputs.result()?.[index];
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
});
|
|
116
|
+
const types = new Set(calls.map((call)=>call.procedure?._def.type).filter(Boolean));
|
|
117
|
+
/* istanbul ignore if -- @preserve */ if (types.size > 1) {
|
|
118
|
+
throw new TRPCError.TRPCError({
|
|
119
|
+
code: 'BAD_REQUEST',
|
|
120
|
+
message: `Cannot mix procedure types in call: ${Array.from(types).join(', ')}`
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
const type = types.values().next().value ?? 'unknown';
|
|
124
|
+
const info = {
|
|
125
|
+
isBatchCall,
|
|
126
|
+
accept: req.headers.get('trpc-accept'),
|
|
127
|
+
calls,
|
|
128
|
+
type
|
|
98
129
|
};
|
|
130
|
+
return info;
|
|
99
131
|
}
|
|
100
132
|
};
|
|
101
133
|
const formDataContentTypeHandler = {
|
|
@@ -115,14 +147,17 @@ const formDataContentTypeHandler = {
|
|
|
115
147
|
return fd;
|
|
116
148
|
});
|
|
117
149
|
return {
|
|
150
|
+
accept: null,
|
|
118
151
|
calls: [
|
|
119
152
|
{
|
|
120
153
|
path: opts.path,
|
|
121
154
|
getRawInput: getInputs.read,
|
|
122
|
-
result: getInputs.result
|
|
155
|
+
result: getInputs.result,
|
|
156
|
+
procedure: opts.router._def.procedures[opts.path] ?? null
|
|
123
157
|
}
|
|
124
158
|
],
|
|
125
|
-
isBatchCall: false
|
|
159
|
+
isBatchCall: false,
|
|
160
|
+
type: 'mutation'
|
|
126
161
|
};
|
|
127
162
|
}
|
|
128
163
|
};
|
|
@@ -146,10 +181,13 @@ const octetStreamContentTypeHandler = {
|
|
|
146
181
|
{
|
|
147
182
|
path: opts.path,
|
|
148
183
|
getRawInput: getInputs.read,
|
|
149
|
-
result: getInputs.result
|
|
184
|
+
result: getInputs.result,
|
|
185
|
+
procedure: opts.router._def.procedures[opts.path] ?? null
|
|
150
186
|
}
|
|
151
187
|
],
|
|
152
|
-
isBatchCall: false
|
|
188
|
+
isBatchCall: false,
|
|
189
|
+
accept: null,
|
|
190
|
+
type: 'mutation'
|
|
153
191
|
};
|
|
154
192
|
}
|
|
155
193
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TRPCError } from '../error/TRPCError.mjs';
|
|
2
|
-
import {
|
|
2
|
+
import { isObject, unsetMarker } from '../utils.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Memoize a function that takes no arguments
|
|
@@ -63,7 +63,7 @@ const jsonContentTypeHandler = {
|
|
|
63
63
|
}
|
|
64
64
|
if (!isBatchCall) {
|
|
65
65
|
return {
|
|
66
|
-
0: opts.
|
|
66
|
+
0: opts.router._def._config.transformer.input.deserialize(inputs)
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
69
|
if (!isObject(inputs)) {
|
|
@@ -76,24 +76,56 @@ const jsonContentTypeHandler = {
|
|
|
76
76
|
for (const index of paths.keys()){
|
|
77
77
|
const input = inputs[index];
|
|
78
78
|
if (input !== undefined) {
|
|
79
|
-
acc[index] = opts.
|
|
79
|
+
acc[index] = opts.router._def._config.transformer.input.deserialize(input);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
return acc;
|
|
83
83
|
});
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
84
|
+
const calls = paths.map((path, index)=>{
|
|
85
|
+
const procedure = opts.router._def.procedures[path] ?? null;
|
|
86
|
+
return {
|
|
87
|
+
path,
|
|
88
|
+
procedure,
|
|
89
|
+
getRawInput: async ()=>{
|
|
90
|
+
const inputs = await getInputs.read();
|
|
91
|
+
let input = inputs[index];
|
|
92
|
+
if (procedure?._def.type === 'subscription') {
|
|
93
|
+
const lastEventId = opts.headers.get('last-event-id') ?? opts.searchParams.get('lastEventId') ?? opts.searchParams.get('Last-Event-Id');
|
|
94
|
+
if (lastEventId) {
|
|
95
|
+
if (isObject(input)) {
|
|
96
|
+
input = {
|
|
97
|
+
...input,
|
|
98
|
+
lastEventId: lastEventId
|
|
99
|
+
};
|
|
100
|
+
} else {
|
|
101
|
+
input ?? (input = {
|
|
102
|
+
lastEventId: lastEventId
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
94
106
|
}
|
|
95
|
-
|
|
107
|
+
return input;
|
|
108
|
+
},
|
|
109
|
+
result: ()=>{
|
|
110
|
+
return getInputs.result()?.[index];
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
const types = new Set(calls.map((call)=>call.procedure?._def.type).filter(Boolean));
|
|
115
|
+
/* istanbul ignore if -- @preserve */ if (types.size > 1) {
|
|
116
|
+
throw new TRPCError({
|
|
117
|
+
code: 'BAD_REQUEST',
|
|
118
|
+
message: `Cannot mix procedure types in call: ${Array.from(types).join(', ')}`
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
const type = types.values().next().value ?? 'unknown';
|
|
122
|
+
const info = {
|
|
123
|
+
isBatchCall,
|
|
124
|
+
accept: req.headers.get('trpc-accept'),
|
|
125
|
+
calls,
|
|
126
|
+
type
|
|
96
127
|
};
|
|
128
|
+
return info;
|
|
97
129
|
}
|
|
98
130
|
};
|
|
99
131
|
const formDataContentTypeHandler = {
|
|
@@ -113,14 +145,17 @@ const formDataContentTypeHandler = {
|
|
|
113
145
|
return fd;
|
|
114
146
|
});
|
|
115
147
|
return {
|
|
148
|
+
accept: null,
|
|
116
149
|
calls: [
|
|
117
150
|
{
|
|
118
151
|
path: opts.path,
|
|
119
152
|
getRawInput: getInputs.read,
|
|
120
|
-
result: getInputs.result
|
|
153
|
+
result: getInputs.result,
|
|
154
|
+
procedure: opts.router._def.procedures[opts.path] ?? null
|
|
121
155
|
}
|
|
122
156
|
],
|
|
123
|
-
isBatchCall: false
|
|
157
|
+
isBatchCall: false,
|
|
158
|
+
type: 'mutation'
|
|
124
159
|
};
|
|
125
160
|
}
|
|
126
161
|
};
|
|
@@ -144,10 +179,13 @@ const octetStreamContentTypeHandler = {
|
|
|
144
179
|
{
|
|
145
180
|
path: opts.path,
|
|
146
181
|
getRawInput: getInputs.read,
|
|
147
|
-
result: getInputs.result
|
|
182
|
+
result: getInputs.result,
|
|
183
|
+
procedure: opts.router._def.procedures[opts.path] ?? null
|
|
148
184
|
}
|
|
149
185
|
],
|
|
150
|
-
isBatchCall: false
|
|
186
|
+
isBatchCall: false,
|
|
187
|
+
accept: null,
|
|
188
|
+
type: 'mutation'
|
|
151
189
|
};
|
|
152
190
|
}
|
|
153
191
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveResponse.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/resolveResponse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveResponse.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/resolveResponse.ts"],"names":[],"mappings":"AAMA,OAAO,EAA2B,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,EACL,KAAK,SAAS,EAGf,MAAM,WAAW,CAAC;AAQnB,OAAO,KAAK,EACV,sBAAsB,EACtB,kCAAkC,EAEnC,MAAM,SAAS,CAAC;AA0BjB,UAAU,yBAAyB,CAAC,OAAO,SAAS,SAAS,CAC3D,SAAQ,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC;IAChD,aAAa,EAAE,kCAAkC,CAAC,OAAO,CAAC,CAAC;IAC3D,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACzB;AAyID,wBAAsB,eAAe,CAAC,OAAO,SAAS,SAAS,EAC7D,IAAI,EAAE,yBAAyB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,QAAQ,CAAC,CA8YnB"}
|