@trpc/server 11.0.0-alpha-tmp-app-router-example.388 → 11.0.0-alpha-tmp-issues-5851-take-two.451
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/http.d.ts +1 -2
- package/dist/@trpc/server/http.d.ts.map +1 -1
- package/dist/@trpc/server/index.d.ts +1 -1
- package/dist/@trpc/server/index.d.ts.map +1 -1
- package/dist/@trpc/server/rpc.d.ts +1 -1
- package/dist/@trpc/server/rpc.d.ts.map +1 -1
- package/dist/adapters/aws-lambda/getPlanner.d.ts.map +1 -1
- package/dist/adapters/aws-lambda/getPlanner.js +19 -2
- package/dist/adapters/aws-lambda/getPlanner.mjs +19 -2
- package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts.map +1 -1
- package/dist/adapters/next-app-dir/nextAppDirCaller.js +1 -1
- package/dist/adapters/next-app-dir/nextAppDirCaller.mjs +1 -1
- package/dist/adapters/next-app-dir/redirect.d.ts.map +1 -1
- package/dist/adapters/next.js +1 -1
- package/dist/adapters/next.mjs +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 +3 -4
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +172 -114
- package/dist/adapters/ws.mjs +172 -114
- package/dist/bundle-analysis.json +235 -154
- package/dist/http.js +3 -0
- package/dist/http.mjs +1 -0
- package/dist/index.js +7 -5
- package/dist/index.mjs +3 -2
- 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 +3 -3
- package/dist/unstable-core-do-not-import/createProxy.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/createProxy.js +15 -6
- package/dist/unstable-core-do-not-import/createProxy.mjs +15 -6
- 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 +60 -17
- package/dist/unstable-core-do-not-import/http/contentType.mjs +61 -18
- package/dist/unstable-core-do-not-import/http/formDataToObject.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/http/formDataToObject.js +40 -0
- package/dist/unstable-core-do-not-import/http/formDataToObject.mjs +38 -0
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +4 -4
- package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +4 -4
- package/dist/unstable-core-do-not-import/http/parseConnectionParams.d.ts +4 -0
- package/dist/unstable-core-do-not-import/http/parseConnectionParams.d.ts.map +1 -0
- package/dist/unstable-core-do-not-import/http/parseConnectionParams.js +42 -0
- package/dist/unstable-core-do-not-import/http/parseConnectionParams.mjs +39 -0
- 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 +26 -2
- 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 +7 -2
- package/dist/unstable-core-do-not-import/router.mjs +7 -2
- package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts +7 -0
- package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/rpc/index.d.ts +1 -1
- package/dist/unstable-core-do-not-import/rpc/index.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import/stream/{stream.d.ts → jsonl.d.ts} +12 -8
- 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} +158 -119
- package/dist/unstable-core-do-not-import/stream/{stream.mjs → jsonl.mjs} +157 -118
- package/dist/unstable-core-do-not-import/stream/sse.d.ts +86 -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 +178 -0
- package/dist/unstable-core-do-not-import/stream/sse.mjs +172 -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 +5 -2
- package/dist/unstable-core-do-not-import.d.ts.map +1 -1
- package/dist/unstable-core-do-not-import.js +19 -7
- package/dist/unstable-core-do-not-import.mjs +6 -3
- package/package.json +6 -6
- package/src/@trpc/server/http.ts +7 -2
- package/src/@trpc/server/index.ts +1 -0
- package/src/@trpc/server/rpc.ts +1 -0
- package/src/adapters/aws-lambda/getPlanner.ts +21 -2
- package/src/adapters/next-app-dir/nextAppDirCaller.ts +2 -1
- package/src/adapters/node-http/incomingMessageToRequest.ts +3 -2
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +32 -7
- package/src/adapters/ws.ts +193 -107
- package/src/observable/observable.ts +63 -0
- package/src/unstable-core-do-not-import/createProxy.ts +23 -8
- package/src/unstable-core-do-not-import/http/contentType.ts +83 -21
- package/src/{adapters/next-app-dir → unstable-core-do-not-import/http}/formDataToObject.ts +18 -10
- package/src/unstable-core-do-not-import/http/getHTTPStatusCode.ts +4 -7
- package/src/unstable-core-do-not-import/http/parseConnectionParams.ts +49 -0
- package/src/unstable-core-do-not-import/http/resolveResponse.ts +333 -164
- package/src/unstable-core-do-not-import/http/types.ts +31 -2
- 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 +47 -35
- package/src/unstable-core-do-not-import/rpc/envelopes.ts +9 -0
- package/src/unstable-core-do-not-import/rpc/index.ts +1 -0
- package/src/unstable-core-do-not-import/stream/{stream.ts → jsonl.ts} +186 -127
- package/src/unstable-core-do-not-import/stream/sse.ts +288 -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 +44 -0
- package/src/unstable-core-do-not-import/utils.ts +5 -0
- package/src/unstable-core-do-not-import.ts +5 -2
- package/dist/adapters/next-app-dir/formDataToObject.d.ts.map +0 -1
- package/dist/adapters/next-app-dir/formDataToObject.js +0 -34
- package/dist/adapters/next-app-dir/formDataToObject.mjs +0 -32
- package/dist/unstable-core-do-not-import/stream/stream.d.ts.map +0 -1
- /package/dist/{adapters/next-app-dir → unstable-core-do-not-import/http}/formDataToObject.d.ts +0 -0
package/dist/http.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var getHTTPStatusCode = require('./unstable-core-do-not-import/http/getHTTPStatusCode.js');
|
|
4
4
|
var batchStreamFormatter = require('./unstable-core-do-not-import/http/batchStreamFormatter.js');
|
|
5
|
+
var parseConnectionParams = require('./unstable-core-do-not-import/http/parseConnectionParams.js');
|
|
5
6
|
var contentTypeParsers = require('./unstable-core-do-not-import/http/contentTypeParsers.js');
|
|
6
7
|
var resolveResponse = require('./unstable-core-do-not-import/http/resolveResponse.js');
|
|
7
8
|
var toURL = require('./unstable-core-do-not-import/http/toURL.js');
|
|
@@ -12,6 +13,8 @@ require('./unstable-core-do-not-import/rootConfig.js');
|
|
|
12
13
|
exports.getHTTPStatusCode = getHTTPStatusCode.getHTTPStatusCode;
|
|
13
14
|
exports.getHTTPStatusCodeFromError = getHTTPStatusCode.getHTTPStatusCodeFromError;
|
|
14
15
|
exports.getBatchStreamFormatter = batchStreamFormatter.getBatchStreamFormatter;
|
|
16
|
+
exports.parseConnectionParamsFromString = parseConnectionParams.parseConnectionParamsFromString;
|
|
17
|
+
exports.parseConnectionParamsFromUnknown = parseConnectionParams.parseConnectionParamsFromUnknown;
|
|
15
18
|
exports.octetInputParser = contentTypeParsers.octetInputParser;
|
|
16
19
|
exports.resolveResponse = resolveResponse.resolveResponse;
|
|
17
20
|
exports.toURL = toURL.toURL;
|
package/dist/http.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { getHTTPStatusCode, getHTTPStatusCodeFromError } from './unstable-core-do-not-import/http/getHTTPStatusCode.mjs';
|
|
2
2
|
export { getBatchStreamFormatter } from './unstable-core-do-not-import/http/batchStreamFormatter.mjs';
|
|
3
|
+
export { parseConnectionParamsFromString, parseConnectionParamsFromUnknown } from './unstable-core-do-not-import/http/parseConnectionParams.mjs';
|
|
3
4
|
export { octetInputParser } from './unstable-core-do-not-import/http/contentTypeParsers.mjs';
|
|
4
5
|
export { resolveResponse } from './unstable-core-do-not-import/http/resolveResponse.mjs';
|
|
5
6
|
export { toURL } from './unstable-core-do-not-import/http/toURL.mjs';
|
package/dist/index.js
CHANGED
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var createProxy = require('./unstable-core-do-not-import/createProxy.js');
|
|
4
|
-
var TRPCError = require('./unstable-core-do-not-import/error/TRPCError.js');
|
|
5
4
|
var getErrorShape = require('./unstable-core-do-not-import/error/getErrorShape.js');
|
|
6
|
-
var
|
|
5
|
+
var TRPCError = require('./unstable-core-do-not-import/error/TRPCError.js');
|
|
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
|
|
|
14
15
|
exports.createTRPCFlatProxy = createProxy.createFlatProxy;
|
|
16
|
+
exports.getErrorShape = getErrorShape.getErrorShape;
|
|
15
17
|
exports.TRPCError = TRPCError.TRPCError;
|
|
16
18
|
exports.getTRPCErrorFromUnknown = TRPCError.getTRPCErrorFromUnknown;
|
|
17
|
-
exports.
|
|
18
|
-
exports.callProcedure = router.callProcedure;
|
|
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
|
-
export { TRPCError, getTRPCErrorFromUnknown } from './unstable-core-do-not-import/error/TRPCError.mjs';
|
|
3
2
|
export { getErrorShape } from './unstable-core-do-not-import/error/getErrorShape.mjs';
|
|
4
|
-
export {
|
|
3
|
+
export { TRPCError, getTRPCErrorFromUnknown } from './unstable-core-do-not-import/error/TRPCError.mjs';
|
|
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,6 +1,6 @@
|
|
|
1
1
|
interface ProxyCallbackOptions {
|
|
2
|
-
path: string[];
|
|
3
|
-
args: unknown[];
|
|
2
|
+
path: readonly string[];
|
|
3
|
+
args: readonly unknown[];
|
|
4
4
|
}
|
|
5
5
|
type ProxyCallback = (opts: ProxyCallbackOptions) => unknown;
|
|
6
6
|
/**
|
|
@@ -8,7 +8,7 @@ type ProxyCallback = (opts: ProxyCallbackOptions) => unknown;
|
|
|
8
8
|
*
|
|
9
9
|
* @internal
|
|
10
10
|
*/
|
|
11
|
-
export declare const createRecursiveProxy: (callback: ProxyCallback) =>
|
|
11
|
+
export declare const createRecursiveProxy: <TFaux = unknown>(callback: ProxyCallback) => TFaux;
|
|
12
12
|
/**
|
|
13
13
|
* Used in place of `new Proxy` where each handler will map 1 level deep to another value.
|
|
14
14
|
*
|
|
@@ -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;
|
|
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,SAAS,MAAM,EAAE,CAAC;IACxB,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;CAC1B;AACD,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,CAAC;AAqD7D;;;;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,10 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var _memo, _cacheKey;
|
|
3
4
|
const noop = ()=>{
|
|
4
5
|
// noop
|
|
5
6
|
};
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
const freezeIfAvailable = (obj)=>{
|
|
8
|
+
if (Object.freeze) {
|
|
9
|
+
Object.freeze(obj);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
function createInnerProxy(callback, path, memo) {
|
|
13
|
+
const cacheKey = path.join('.');
|
|
14
|
+
(_memo = memo)[_cacheKey = cacheKey] ?? (_memo[_cacheKey] = new Proxy(noop, {
|
|
8
15
|
get (_obj, key) {
|
|
9
16
|
if (typeof key !== 'string' || key === 'then') {
|
|
10
17
|
// special case for if the proxy is accidentally treated
|
|
@@ -14,7 +21,7 @@ function createInnerProxy(callback, path) {
|
|
|
14
21
|
return createInnerProxy(callback, [
|
|
15
22
|
...path,
|
|
16
23
|
key
|
|
17
|
-
]);
|
|
24
|
+
], memo);
|
|
18
25
|
},
|
|
19
26
|
apply (_1, _2, args) {
|
|
20
27
|
const lastOfPath = path[path.length - 1];
|
|
@@ -36,16 +43,18 @@ function createInnerProxy(callback, path) {
|
|
|
36
43
|
path: path.slice(0, -1)
|
|
37
44
|
};
|
|
38
45
|
}
|
|
46
|
+
freezeIfAvailable(opts.args);
|
|
47
|
+
freezeIfAvailable(opts.path);
|
|
39
48
|
return callback(opts);
|
|
40
49
|
}
|
|
41
|
-
});
|
|
42
|
-
return
|
|
50
|
+
}));
|
|
51
|
+
return memo[cacheKey];
|
|
43
52
|
}
|
|
44
53
|
/**
|
|
45
54
|
* Creates a proxy that calls the callback with the path and arguments
|
|
46
55
|
*
|
|
47
56
|
* @internal
|
|
48
|
-
*/ const createRecursiveProxy = (callback)=>createInnerProxy(callback, []);
|
|
57
|
+
*/ const createRecursiveProxy = (callback)=>createInnerProxy(callback, [], Object.create(null));
|
|
49
58
|
/**
|
|
50
59
|
* Used in place of `new Proxy` where each handler will map 1 level deep to another value.
|
|
51
60
|
*
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
var _memo, _cacheKey;
|
|
1
2
|
const noop = ()=>{
|
|
2
3
|
// noop
|
|
3
4
|
};
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
const freezeIfAvailable = (obj)=>{
|
|
6
|
+
if (Object.freeze) {
|
|
7
|
+
Object.freeze(obj);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
function createInnerProxy(callback, path, memo) {
|
|
11
|
+
const cacheKey = path.join('.');
|
|
12
|
+
(_memo = memo)[_cacheKey = cacheKey] ?? (_memo[_cacheKey] = new Proxy(noop, {
|
|
6
13
|
get (_obj, key) {
|
|
7
14
|
if (typeof key !== 'string' || key === 'then') {
|
|
8
15
|
// special case for if the proxy is accidentally treated
|
|
@@ -12,7 +19,7 @@ function createInnerProxy(callback, path) {
|
|
|
12
19
|
return createInnerProxy(callback, [
|
|
13
20
|
...path,
|
|
14
21
|
key
|
|
15
|
-
]);
|
|
22
|
+
], memo);
|
|
16
23
|
},
|
|
17
24
|
apply (_1, _2, args) {
|
|
18
25
|
const lastOfPath = path[path.length - 1];
|
|
@@ -34,16 +41,18 @@ function createInnerProxy(callback, path) {
|
|
|
34
41
|
path: path.slice(0, -1)
|
|
35
42
|
};
|
|
36
43
|
}
|
|
44
|
+
freezeIfAvailable(opts.args);
|
|
45
|
+
freezeIfAvailable(opts.path);
|
|
37
46
|
return callback(opts);
|
|
38
47
|
}
|
|
39
|
-
});
|
|
40
|
-
return
|
|
48
|
+
}));
|
|
49
|
+
return memo[cacheKey];
|
|
41
50
|
}
|
|
42
51
|
/**
|
|
43
52
|
* Creates a proxy that calls the callback with the path and arguments
|
|
44
53
|
*
|
|
45
54
|
* @internal
|
|
46
|
-
*/ const createRecursiveProxy = (callback)=>createInnerProxy(callback, []);
|
|
55
|
+
*/ const createRecursiveProxy = (callback)=>createInnerProxy(callback, [], Object.create(null));
|
|
47
56
|
/**
|
|
48
57
|
* Used in place of `new Proxy` where each handler will map 1 level deep to another value.
|
|
49
58
|
*
|
|
@@ -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;AAG3C,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,SAAS,CAAC;AAEjE,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;AAqQF,wBAAgB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe,CAG3E"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var TRPCError = require('../error/TRPCError.js');
|
|
4
4
|
var utils = require('../utils.js');
|
|
5
|
+
var parseConnectionParams = require('./parseConnectionParams.js');
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Memoize a function that takes no arguments
|
|
@@ -65,7 +66,7 @@ const jsonContentTypeHandler = {
|
|
|
65
66
|
}
|
|
66
67
|
if (!isBatchCall) {
|
|
67
68
|
return {
|
|
68
|
-
0: opts.
|
|
69
|
+
0: opts.router._def._config.transformer.input.deserialize(inputs)
|
|
69
70
|
};
|
|
70
71
|
}
|
|
71
72
|
if (!utils.isObject(inputs)) {
|
|
@@ -78,24 +79,58 @@ const jsonContentTypeHandler = {
|
|
|
78
79
|
for (const index of paths.keys()){
|
|
79
80
|
const input = inputs[index];
|
|
80
81
|
if (input !== undefined) {
|
|
81
|
-
acc[index] = opts.
|
|
82
|
+
acc[index] = opts.router._def._config.transformer.input.deserialize(input);
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
return acc;
|
|
85
86
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
87
|
+
const calls = paths.map((path, index)=>{
|
|
88
|
+
const procedure = opts.router._def.procedures[path] ?? null;
|
|
89
|
+
return {
|
|
90
|
+
path,
|
|
91
|
+
procedure,
|
|
92
|
+
getRawInput: async ()=>{
|
|
93
|
+
const inputs = await getInputs.read();
|
|
94
|
+
let input = inputs[index];
|
|
95
|
+
if (procedure?._def.type === 'subscription') {
|
|
96
|
+
const lastEventId = opts.headers.get('last-event-id') ?? opts.searchParams.get('lastEventId') ?? opts.searchParams.get('Last-Event-Id');
|
|
97
|
+
if (lastEventId) {
|
|
98
|
+
if (utils.isObject(input)) {
|
|
99
|
+
input = {
|
|
100
|
+
...input,
|
|
101
|
+
lastEventId: lastEventId
|
|
102
|
+
};
|
|
103
|
+
} else {
|
|
104
|
+
input ?? (input = {
|
|
105
|
+
lastEventId: lastEventId
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
96
109
|
}
|
|
97
|
-
|
|
110
|
+
return input;
|
|
111
|
+
},
|
|
112
|
+
result: ()=>{
|
|
113
|
+
return getInputs.result()?.[index];
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
});
|
|
117
|
+
const types = new Set(calls.map((call)=>call.procedure?._def.type).filter(Boolean));
|
|
118
|
+
/* istanbul ignore if -- @preserve */ if (types.size > 1) {
|
|
119
|
+
throw new TRPCError.TRPCError({
|
|
120
|
+
code: 'BAD_REQUEST',
|
|
121
|
+
message: `Cannot mix procedure types in call: ${Array.from(types).join(', ')}`
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
const type = types.values().next().value ?? 'unknown';
|
|
125
|
+
const connectionParamsStr = opts.searchParams.get('connectionParams');
|
|
126
|
+
const info = {
|
|
127
|
+
isBatchCall,
|
|
128
|
+
accept: req.headers.get('trpc-accept'),
|
|
129
|
+
calls,
|
|
130
|
+
type,
|
|
131
|
+
connectionParams: connectionParamsStr === null ? null : parseConnectionParams.parseConnectionParamsFromString(connectionParamsStr)
|
|
98
132
|
};
|
|
133
|
+
return info;
|
|
99
134
|
}
|
|
100
135
|
};
|
|
101
136
|
const formDataContentTypeHandler = {
|
|
@@ -115,14 +150,18 @@ const formDataContentTypeHandler = {
|
|
|
115
150
|
return fd;
|
|
116
151
|
});
|
|
117
152
|
return {
|
|
153
|
+
accept: null,
|
|
118
154
|
calls: [
|
|
119
155
|
{
|
|
120
156
|
path: opts.path,
|
|
121
157
|
getRawInput: getInputs.read,
|
|
122
|
-
result: getInputs.result
|
|
158
|
+
result: getInputs.result,
|
|
159
|
+
procedure: opts.router._def.procedures[opts.path] ?? null
|
|
123
160
|
}
|
|
124
161
|
],
|
|
125
|
-
isBatchCall: false
|
|
162
|
+
isBatchCall: false,
|
|
163
|
+
type: 'mutation',
|
|
164
|
+
connectionParams: null
|
|
126
165
|
};
|
|
127
166
|
}
|
|
128
167
|
};
|
|
@@ -146,10 +185,14 @@ const octetStreamContentTypeHandler = {
|
|
|
146
185
|
{
|
|
147
186
|
path: opts.path,
|
|
148
187
|
getRawInput: getInputs.read,
|
|
149
|
-
result: getInputs.result
|
|
188
|
+
result: getInputs.result,
|
|
189
|
+
procedure: opts.router._def.procedures[opts.path] ?? null
|
|
150
190
|
}
|
|
151
191
|
],
|
|
152
|
-
isBatchCall: false
|
|
192
|
+
isBatchCall: false,
|
|
193
|
+
accept: null,
|
|
194
|
+
type: 'mutation',
|
|
195
|
+
connectionParams: null
|
|
153
196
|
};
|
|
154
197
|
}
|
|
155
198
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TRPCError } from '../error/TRPCError.mjs';
|
|
2
|
-
import {
|
|
2
|
+
import { isObject, unsetMarker } from '../utils.mjs';
|
|
3
|
+
import { parseConnectionParamsFromString } from './parseConnectionParams.mjs';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Memoize a function that takes no arguments
|
|
@@ -63,7 +64,7 @@ const jsonContentTypeHandler = {
|
|
|
63
64
|
}
|
|
64
65
|
if (!isBatchCall) {
|
|
65
66
|
return {
|
|
66
|
-
0: opts.
|
|
67
|
+
0: opts.router._def._config.transformer.input.deserialize(inputs)
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
if (!isObject(inputs)) {
|
|
@@ -76,24 +77,58 @@ const jsonContentTypeHandler = {
|
|
|
76
77
|
for (const index of paths.keys()){
|
|
77
78
|
const input = inputs[index];
|
|
78
79
|
if (input !== undefined) {
|
|
79
|
-
acc[index] = opts.
|
|
80
|
+
acc[index] = opts.router._def._config.transformer.input.deserialize(input);
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
83
|
return acc;
|
|
83
84
|
});
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
85
|
+
const calls = paths.map((path, index)=>{
|
|
86
|
+
const procedure = opts.router._def.procedures[path] ?? null;
|
|
87
|
+
return {
|
|
88
|
+
path,
|
|
89
|
+
procedure,
|
|
90
|
+
getRawInput: async ()=>{
|
|
91
|
+
const inputs = await getInputs.read();
|
|
92
|
+
let input = inputs[index];
|
|
93
|
+
if (procedure?._def.type === 'subscription') {
|
|
94
|
+
const lastEventId = opts.headers.get('last-event-id') ?? opts.searchParams.get('lastEventId') ?? opts.searchParams.get('Last-Event-Id');
|
|
95
|
+
if (lastEventId) {
|
|
96
|
+
if (isObject(input)) {
|
|
97
|
+
input = {
|
|
98
|
+
...input,
|
|
99
|
+
lastEventId: lastEventId
|
|
100
|
+
};
|
|
101
|
+
} else {
|
|
102
|
+
input ?? (input = {
|
|
103
|
+
lastEventId: lastEventId
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
94
107
|
}
|
|
95
|
-
|
|
108
|
+
return input;
|
|
109
|
+
},
|
|
110
|
+
result: ()=>{
|
|
111
|
+
return getInputs.result()?.[index];
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
const types = new Set(calls.map((call)=>call.procedure?._def.type).filter(Boolean));
|
|
116
|
+
/* istanbul ignore if -- @preserve */ if (types.size > 1) {
|
|
117
|
+
throw new TRPCError({
|
|
118
|
+
code: 'BAD_REQUEST',
|
|
119
|
+
message: `Cannot mix procedure types in call: ${Array.from(types).join(', ')}`
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
const type = types.values().next().value ?? 'unknown';
|
|
123
|
+
const connectionParamsStr = opts.searchParams.get('connectionParams');
|
|
124
|
+
const info = {
|
|
125
|
+
isBatchCall,
|
|
126
|
+
accept: req.headers.get('trpc-accept'),
|
|
127
|
+
calls,
|
|
128
|
+
type,
|
|
129
|
+
connectionParams: connectionParamsStr === null ? null : parseConnectionParamsFromString(connectionParamsStr)
|
|
96
130
|
};
|
|
131
|
+
return info;
|
|
97
132
|
}
|
|
98
133
|
};
|
|
99
134
|
const formDataContentTypeHandler = {
|
|
@@ -113,14 +148,18 @@ const formDataContentTypeHandler = {
|
|
|
113
148
|
return fd;
|
|
114
149
|
});
|
|
115
150
|
return {
|
|
151
|
+
accept: null,
|
|
116
152
|
calls: [
|
|
117
153
|
{
|
|
118
154
|
path: opts.path,
|
|
119
155
|
getRawInput: getInputs.read,
|
|
120
|
-
result: getInputs.result
|
|
156
|
+
result: getInputs.result,
|
|
157
|
+
procedure: opts.router._def.procedures[opts.path] ?? null
|
|
121
158
|
}
|
|
122
159
|
],
|
|
123
|
-
isBatchCall: false
|
|
160
|
+
isBatchCall: false,
|
|
161
|
+
type: 'mutation',
|
|
162
|
+
connectionParams: null
|
|
124
163
|
};
|
|
125
164
|
}
|
|
126
165
|
};
|
|
@@ -144,10 +183,14 @@ const octetStreamContentTypeHandler = {
|
|
|
144
183
|
{
|
|
145
184
|
path: opts.path,
|
|
146
185
|
getRawInput: getInputs.read,
|
|
147
|
-
result: getInputs.result
|
|
186
|
+
result: getInputs.result,
|
|
187
|
+
procedure: opts.router._def.procedures[opts.path] ?? null
|
|
148
188
|
}
|
|
149
189
|
],
|
|
150
|
-
isBatchCall: false
|
|
190
|
+
isBatchCall: false,
|
|
191
|
+
accept: null,
|
|
192
|
+
type: 'mutation',
|
|
193
|
+
connectionParams: null
|
|
151
194
|
};
|
|
152
195
|
}
|
|
153
196
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formDataToObject.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/formDataToObject.ts"],"names":[],"mappings":"AAkCA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,2BASlD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */ const isNumberString = (str)=>/^\d+$/.test(str);
|
|
4
|
+
function set(obj, path, value) {
|
|
5
|
+
if (path.length > 1) {
|
|
6
|
+
const newPath = [
|
|
7
|
+
...path
|
|
8
|
+
];
|
|
9
|
+
const key = newPath.shift();
|
|
10
|
+
const nextKey = newPath[0];
|
|
11
|
+
if (!obj[key]) {
|
|
12
|
+
obj[key] = isNumberString(nextKey) ? [] : {};
|
|
13
|
+
} else if (Array.isArray(obj[key]) && !isNumberString(nextKey)) {
|
|
14
|
+
obj[key] = Object.fromEntries(Object.entries(obj[key]));
|
|
15
|
+
}
|
|
16
|
+
set(obj[key], newPath, value);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const p = path[0];
|
|
20
|
+
if (obj[p] === undefined) {
|
|
21
|
+
obj[p] = value;
|
|
22
|
+
} else if (Array.isArray(obj[p])) {
|
|
23
|
+
obj[p].push(value);
|
|
24
|
+
} else {
|
|
25
|
+
obj[p] = [
|
|
26
|
+
obj[p],
|
|
27
|
+
value
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function formDataToObject(formData) {
|
|
32
|
+
const obj = {};
|
|
33
|
+
for (const [key, value] of formData.entries()){
|
|
34
|
+
const parts = key.split(/[\.\[\]]/).filter(Boolean);
|
|
35
|
+
set(obj, parts, value);
|
|
36
|
+
}
|
|
37
|
+
return obj;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
exports.formDataToObject = formDataToObject;
|