@trpc/server 10.0.0-proxy-alpha.61 → 10.0.0-proxy-alpha.62
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/adapters/aws-lambda/index.js +1 -1
- package/dist/adapters/aws-lambda/index.mjs +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/initTRPC.d.ts +0 -8
- package/dist/core/initTRPC.d.ts.map +1 -1
- package/dist/core/internals/procedureBuilder.d.ts +0 -3
- package/dist/core/internals/procedureBuilder.d.ts.map +1 -1
- package/dist/core/middleware.d.ts +37 -23
- package/dist/core/middleware.d.ts.map +1 -1
- package/dist/index.js +4 -11
- package/dist/index.mjs +2 -11
- package/dist/{router-f747db2b.mjs → router-6b03ff5f.mjs} +66 -48
- package/dist/{router-77321794.js → router-da6086c3.js} +68 -47
- package/package.json +2 -2
- package/src/core/index.ts +1 -0
- package/src/core/internals/procedureBuilder.ts +8 -63
- package/src/core/middleware.ts +98 -23
- package/src/deprecated/interop.ts +2 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('../../router-
|
|
5
|
+
require('../../router-da6086c3.js');
|
|
6
6
|
var TRPCError = require('../../TRPCError-fe9113e5.js');
|
|
7
7
|
var resolveHTTPResponse = require('../../resolveHTTPResponse-d7a8a210.js');
|
|
8
8
|
require('../../codes-1c24d919.js');
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export type { AnyRouter, ProcedureRecord, ProcedureRouterRecord, } from './router';
|
|
2
2
|
export { callProcedure } from './router';
|
|
3
3
|
export type { Procedure, ProcedureParams, ProcedureArgs, ProcedureOptions, } from './procedure';
|
|
4
|
+
export { createInputMiddleware, createOutputMiddleware } from './middleware';
|
|
4
5
|
export { initTRPC } from './initTRPC';
|
|
5
6
|
export * from './types';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/server/src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,SAAS,EACT,eAAe,EACf,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/server/src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,SAAS,EACT,eAAe,EACf,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,SAAS,CAAC"}
|
package/dist/core/initTRPC.d.ts
CHANGED
|
@@ -57,10 +57,6 @@ export declare function initTRPC<TParams extends Partial<InitGenerics> = {}>():
|
|
|
57
57
|
_ctx_out: TParams["ctx"] extends undefined ? {} : NonNullable<TParams["ctx"]>;
|
|
58
58
|
_input_out: unknown;
|
|
59
59
|
_input_in: unknown;
|
|
60
|
-
/**
|
|
61
|
-
* These are just types, they can't be used
|
|
62
|
-
* @internal
|
|
63
|
-
*/
|
|
64
60
|
_output_in: unknown;
|
|
65
61
|
_output_out: unknown;
|
|
66
62
|
_meta: PickFirstDefined<TParams["meta"] extends undefined ? {} : NonNullable<TParams["meta"]>, undefined>;
|
|
@@ -75,10 +71,6 @@ export declare function initTRPC<TParams extends Partial<InitGenerics> = {}>():
|
|
|
75
71
|
_ctx_out: TParams["ctx"] extends undefined ? {} : NonNullable<TParams["ctx"]>;
|
|
76
72
|
_input_out: unknown;
|
|
77
73
|
_input_in: unknown;
|
|
78
|
-
/**
|
|
79
|
-
* These are just types, they can't be used
|
|
80
|
-
* @internal
|
|
81
|
-
*/
|
|
82
74
|
_output_in: unknown;
|
|
83
75
|
_output_out: unknown;
|
|
84
76
|
_meta: PickFirstDefined<TParams["meta"] extends undefined ? {} : NonNullable<TParams["meta"]>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initTRPC.d.ts","sourceRoot":"","sources":["../../../../packages/server/src/core/initTRPC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EAGvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,YAAY,EACZ,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIpE,wBAAgB,QAAQ,CAAC,OAAO,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE;SAE1D,OAAO,CAAC,KAAK,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,YAAY,OAAO,CAAC,KAAK,CAAC,CAAC;UAClE,OAAO,CAAC,MAAM,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,YAAY,OAAO,CAAC,MAAM,CAAC,CAAC;;SADtE,OAAO,CAAC,KAAK,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,YAAY,OAAO,CAAC,KAAK,CAAC,CAAC;UAClE,OAAO,CAAC,MAAM,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,YAAY,OAAO,CAAC,MAAM,CAAC,CAAC;;IAuCzE;;;OAGG;;;;;;;IAEH;;OAEG;;;;;;;;;;;;;;;;IAEH;;OAEG
|
|
1
|
+
{"version":3,"file":"initTRPC.d.ts","sourceRoot":"","sources":["../../../../packages/server/src/core/initTRPC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EAGvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,YAAY,EACZ,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIpE,wBAAgB,QAAQ,CAAC,OAAO,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE;SAE1D,OAAO,CAAC,KAAK,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,YAAY,OAAO,CAAC,KAAK,CAAC,CAAC;UAClE,OAAO,CAAC,MAAM,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,YAAY,OAAO,CAAC,MAAM,CAAC,CAAC;;SADtE,OAAO,CAAC,KAAK,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,YAAY,OAAO,CAAC,KAAK,CAAC,CAAC;UAClE,OAAO,CAAC,MAAM,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,YAAY,OAAO,CAAC,MAAM,CAAC,CAAC;;IAuCzE;;;OAGG;;;;;;;IAEH;;OAEG;;;;;;;;;;;;;;;;IAEH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;OAEG;;IAKH;;OAEG;;EAIR"}
|
|
@@ -4,7 +4,6 @@ import { Parser, inferParser } from '../parser';
|
|
|
4
4
|
import { MutationProcedure, ProcedureParams, QueryProcedure, SubscriptionProcedure } from '../procedure';
|
|
5
5
|
import { ProcedureType } from '../types';
|
|
6
6
|
import { RootConfig } from './config';
|
|
7
|
-
import { ParseFn } from './getParseFn';
|
|
8
7
|
import { ResolveOptions } from './utils';
|
|
9
8
|
import { DefaultValue as FallbackValue, Overwrite, UnsetMarker } from './utils';
|
|
10
9
|
declare type CreateProcedureReturnInput<TPrev extends ProcedureParams, TNext extends ProcedureParams> = ProcedureBuilder<{
|
|
@@ -108,8 +107,6 @@ export declare function createBuilder<TConfig extends RootConfig>(initDef?: AnyP
|
|
|
108
107
|
_output_out: UnsetMarker;
|
|
109
108
|
_meta: TConfig['meta'];
|
|
110
109
|
}>;
|
|
111
|
-
export declare function createInputMiddleware<T>(parse: ParseFn<T>): ProcedureBuilderMiddleware;
|
|
112
|
-
export declare function createOutputMiddleware<T>(parse: ParseFn<T>): ProcedureBuilderMiddleware;
|
|
113
110
|
/**
|
|
114
111
|
* @internal
|
|
115
112
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../../../../packages/server/src/core/internals/procedureBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../../../../packages/server/src/core/internals/procedureBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { RootConfig } from './internals/config';
|
|
2
|
+
import { ParseFn } from './internals/getParseFn';
|
|
3
|
+
import { ProcedureBuilderMiddleware } from './internals/procedureBuilder';
|
|
2
4
|
import { MiddlewareMarker } from './internals/utils';
|
|
3
5
|
import { ProcedureParams } from './procedure';
|
|
4
6
|
import { ProcedureType } from './types';
|
|
@@ -33,29 +35,32 @@ export declare type MiddlewareResult<TParams extends ProcedureParams> = Middlewa
|
|
|
33
35
|
/**
|
|
34
36
|
* @internal
|
|
35
37
|
*/
|
|
36
|
-
export declare type MiddlewareFunction<TParams extends ProcedureParams, TParamsAfter extends ProcedureParams> =
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
38
|
+
export declare type MiddlewareFunction<TParams extends ProcedureParams, TParamsAfter extends ProcedureParams> = {
|
|
39
|
+
(opts: {
|
|
40
|
+
ctx: TParams['_ctx_out'];
|
|
41
|
+
type: ProcedureType;
|
|
42
|
+
path: string;
|
|
43
|
+
input: TParams['_input_out'];
|
|
44
|
+
rawInput: unknown;
|
|
45
|
+
meta: TParams['_meta'];
|
|
46
|
+
next: {
|
|
47
|
+
(): Promise<MiddlewareResult<TParams>>;
|
|
48
|
+
<$TContext>(opts: {
|
|
49
|
+
ctx: $TContext;
|
|
50
|
+
}): Promise<MiddlewareResult<{
|
|
51
|
+
_config: any;
|
|
52
|
+
_ctx_in: TParams['_ctx_in'];
|
|
53
|
+
_ctx_out: $TContext;
|
|
54
|
+
_input_in: TParams['_input_in'];
|
|
55
|
+
_input_out: TParams['_input_out'];
|
|
56
|
+
_output_in: TParams['_output_in'];
|
|
57
|
+
_output_out: TParams['_output_out'];
|
|
58
|
+
_meta: TParams['_meta'];
|
|
59
|
+
}>>;
|
|
60
|
+
};
|
|
61
|
+
}): Promise<MiddlewareResult<TParamsAfter>>;
|
|
62
|
+
_type?: string | undefined;
|
|
63
|
+
};
|
|
59
64
|
/**
|
|
60
65
|
* @internal
|
|
61
66
|
*/
|
|
@@ -83,5 +88,14 @@ export declare function createMiddlewareFactory<TConfig extends RootConfig>(): <
|
|
|
83
88
|
_output_out: unknown;
|
|
84
89
|
_meta: TConfig['meta'];
|
|
85
90
|
}, $TNewParams>;
|
|
91
|
+
/**
|
|
92
|
+
* @internal
|
|
93
|
+
* Please note, `trpc-openapi` uses this function.
|
|
94
|
+
*/
|
|
95
|
+
export declare function createInputMiddleware<T>(parse: ParseFn<T>): ProcedureBuilderMiddleware;
|
|
96
|
+
/**
|
|
97
|
+
* @internal
|
|
98
|
+
*/
|
|
99
|
+
export declare function createOutputMiddleware<T>(parse: ParseFn<T>): ProcedureBuilderMiddleware;
|
|
86
100
|
export {};
|
|
87
101
|
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../packages/server/src/core/middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../packages/server/src/core/middleware.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var resolveHTTPResponse = require('./resolveHTTPResponse-d7a8a210.js');
|
|
6
|
-
var router = require('./router-
|
|
6
|
+
var router = require('./router-da6086c3.js');
|
|
7
7
|
var TRPCError = require('./TRPCError-fe9113e5.js');
|
|
8
8
|
require('./transformTRPCResponse-11ac69cc.js');
|
|
9
9
|
require('./codes-1c24d919.js');
|
|
@@ -40,15 +40,6 @@ function mergeRoutersGeneric(...args) {
|
|
|
40
40
|
return mergeRouters(...args);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
/**
|
|
44
|
-
* @internal
|
|
45
|
-
*/ // FIXME this should use RootConfig
|
|
46
|
-
function createMiddlewareFactory() {
|
|
47
|
-
return function createMiddleware(fn) {
|
|
48
|
-
return fn;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
43
|
function initTRPC() {
|
|
53
44
|
return function initTRPCInner(options) {
|
|
54
45
|
const errorFormatter = options?.errorFormatter ?? router.defaultFormatter;
|
|
@@ -69,7 +60,7 @@ function initTRPC() {
|
|
|
69
60
|
*/ procedure: router.createBuilder(),
|
|
70
61
|
/**
|
|
71
62
|
* Create reusable middlewares
|
|
72
|
-
*/ middleware: createMiddlewareFactory(),
|
|
63
|
+
*/ middleware: router.createMiddlewareFactory(),
|
|
73
64
|
/**
|
|
74
65
|
* Create a router
|
|
75
66
|
*/ router: router.createRouterFactory({
|
|
@@ -86,6 +77,8 @@ function initTRPC() {
|
|
|
86
77
|
exports.assertNotBrowser = resolveHTTPResponse.assertNotBrowser;
|
|
87
78
|
exports.resolveHTTPResponse = resolveHTTPResponse.resolveHTTPResponse;
|
|
88
79
|
exports.callProcedure = router.callProcedure;
|
|
80
|
+
exports.createInputMiddleware = router.createInputMiddleware;
|
|
81
|
+
exports.createOutputMiddleware = router.createOutputMiddleware;
|
|
89
82
|
exports.defaultTransformer = router.defaultTransformer;
|
|
90
83
|
exports.getDataTransformer = router.getDataTransformer;
|
|
91
84
|
exports.procedureTypes = router.procedureTypes;
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-1b339cff.mjs';
|
|
2
|
-
import { m as mergeWithoutOverrides, d as defaultFormatter, a as defaultTransformer, c as createRouterFactory, g as getDataTransformer, b as createBuilder } from './router-
|
|
3
|
-
export {
|
|
2
|
+
import { m as mergeWithoutOverrides, d as defaultFormatter, a as defaultTransformer, c as createRouterFactory, g as getDataTransformer, b as createBuilder, e as createMiddlewareFactory } from './router-6b03ff5f.mjs';
|
|
3
|
+
export { f as callProcedure, h as createInputMiddleware, i as createOutputMiddleware, a as defaultTransformer, g as getDataTransformer, p as procedureTypes, r as router } from './router-6b03ff5f.mjs';
|
|
4
4
|
export { T as TRPCError } from './TRPCError-281ac25a.mjs';
|
|
5
5
|
import './transformTRPCResponse-c8138d5f.mjs';
|
|
6
6
|
import './codes-aaa7d554.mjs';
|
|
@@ -37,15 +37,6 @@ function mergeRoutersGeneric(...args) {
|
|
|
37
37
|
return mergeRouters(...args);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
/**
|
|
41
|
-
* @internal
|
|
42
|
-
*/ // FIXME this should use RootConfig
|
|
43
|
-
function createMiddlewareFactory() {
|
|
44
|
-
return function createMiddleware(fn) {
|
|
45
|
-
return fn;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
40
|
function initTRPC() {
|
|
50
41
|
return function initTRPCInner(options) {
|
|
51
42
|
const errorFormatter = options?.errorFormatter ?? defaultFormatter;
|
|
@@ -260,6 +260,71 @@ function getParseFn(procedureParser) {
|
|
|
260
260
|
return newObj;
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
+
/**
|
|
264
|
+
* @internal
|
|
265
|
+
*/ // FIXME this should use RootConfig
|
|
266
|
+
function createMiddlewareFactory() {
|
|
267
|
+
return function createMiddleware(fn) {
|
|
268
|
+
return fn;
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
function isPlainObject(obj) {
|
|
272
|
+
return obj && typeof obj === 'object' && !Array.isArray(obj);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* @internal
|
|
276
|
+
* Please note, `trpc-openapi` uses this function.
|
|
277
|
+
*/ function createInputMiddleware(parse) {
|
|
278
|
+
const inputMiddleware = async ({ next , rawInput , input , })=>{
|
|
279
|
+
let parsedInput;
|
|
280
|
+
try {
|
|
281
|
+
parsedInput = await parse(rawInput);
|
|
282
|
+
} catch (cause) {
|
|
283
|
+
throw new TRPCError({
|
|
284
|
+
code: 'BAD_REQUEST',
|
|
285
|
+
cause: getCauseFromUnknown(cause)
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
// Multiple input parsers
|
|
289
|
+
const combinedInput = isPlainObject(input) && isPlainObject(parsedInput) ? {
|
|
290
|
+
...input,
|
|
291
|
+
...parsedInput
|
|
292
|
+
} : parsedInput;
|
|
293
|
+
// TODO fix this typing?
|
|
294
|
+
return next({
|
|
295
|
+
input: combinedInput
|
|
296
|
+
});
|
|
297
|
+
};
|
|
298
|
+
inputMiddleware._type = 'input';
|
|
299
|
+
return inputMiddleware;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* @internal
|
|
303
|
+
*/ function createOutputMiddleware(parse) {
|
|
304
|
+
const outputMiddleware = async ({ next })=>{
|
|
305
|
+
const result = await next();
|
|
306
|
+
if (!result.ok) {
|
|
307
|
+
// pass through failures without validating
|
|
308
|
+
return result;
|
|
309
|
+
}
|
|
310
|
+
try {
|
|
311
|
+
const data = await parse(result.data);
|
|
312
|
+
return {
|
|
313
|
+
...result,
|
|
314
|
+
data
|
|
315
|
+
};
|
|
316
|
+
} catch (cause) {
|
|
317
|
+
throw new TRPCError({
|
|
318
|
+
message: 'Output validation failed',
|
|
319
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
320
|
+
cause: getCauseFromUnknown(cause)
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
outputMiddleware._type = 'output';
|
|
325
|
+
return outputMiddleware;
|
|
326
|
+
}
|
|
327
|
+
|
|
263
328
|
/**
|
|
264
329
|
* @internal
|
|
265
330
|
*/ const middlewareMarker = 'middlewareMarker';
|
|
@@ -341,53 +406,6 @@ function createBuilder(initDef) {
|
|
|
341
406
|
}
|
|
342
407
|
};
|
|
343
408
|
}
|
|
344
|
-
function isPlainObject(obj) {
|
|
345
|
-
return obj && typeof obj === 'object' && !Array.isArray(obj);
|
|
346
|
-
}
|
|
347
|
-
function createInputMiddleware(parse) {
|
|
348
|
-
return async function inputMiddleware({ next , rawInput , input }) {
|
|
349
|
-
let parsedInput;
|
|
350
|
-
try {
|
|
351
|
-
parsedInput = await parse(rawInput);
|
|
352
|
-
} catch (cause) {
|
|
353
|
-
throw new TRPCError({
|
|
354
|
-
code: 'BAD_REQUEST',
|
|
355
|
-
cause: getCauseFromUnknown(cause)
|
|
356
|
-
});
|
|
357
|
-
}
|
|
358
|
-
// Multiple input parsers
|
|
359
|
-
const combinedInput = isPlainObject(input) && isPlainObject(parsedInput) ? {
|
|
360
|
-
...input,
|
|
361
|
-
...parsedInput
|
|
362
|
-
} : parsedInput;
|
|
363
|
-
// TODO fix this typing?
|
|
364
|
-
return next({
|
|
365
|
-
input: combinedInput
|
|
366
|
-
});
|
|
367
|
-
};
|
|
368
|
-
}
|
|
369
|
-
function createOutputMiddleware(parse) {
|
|
370
|
-
return async function outputMiddleware({ next }) {
|
|
371
|
-
const result = await next();
|
|
372
|
-
if (!result.ok) {
|
|
373
|
-
// pass through failures without validating
|
|
374
|
-
return result;
|
|
375
|
-
}
|
|
376
|
-
try {
|
|
377
|
-
const data = await parse(result.data);
|
|
378
|
-
return {
|
|
379
|
-
...result,
|
|
380
|
-
data
|
|
381
|
-
};
|
|
382
|
-
} catch (cause) {
|
|
383
|
-
throw new TRPCError({
|
|
384
|
-
message: 'Output validation failed',
|
|
385
|
-
code: 'INTERNAL_SERVER_ERROR',
|
|
386
|
-
cause: getCauseFromUnknown(cause)
|
|
387
|
-
});
|
|
388
|
-
}
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
409
|
function createResolver(_def, resolver) {
|
|
392
410
|
const finalBuilder = createNewBuilder(_def, {
|
|
393
411
|
resolver,
|
|
@@ -890,4 +908,4 @@ function safeObject(...args) {
|
|
|
890
908
|
return new Router();
|
|
891
909
|
}
|
|
892
910
|
|
|
893
|
-
export { defaultTransformer as a, createBuilder as b, createRouterFactory as c, defaultFormatter as d,
|
|
911
|
+
export { defaultTransformer as a, createBuilder as b, createRouterFactory as c, defaultFormatter as d, createMiddlewareFactory as e, callProcedure as f, getDataTransformer$1 as g, createInputMiddleware as h, createOutputMiddleware as i, mergeWithoutOverrides as m, procedureTypes as p, router as r };
|
|
@@ -262,6 +262,71 @@ function getParseFn(procedureParser) {
|
|
|
262
262
|
return newObj;
|
|
263
263
|
}
|
|
264
264
|
|
|
265
|
+
/**
|
|
266
|
+
* @internal
|
|
267
|
+
*/ // FIXME this should use RootConfig
|
|
268
|
+
function createMiddlewareFactory() {
|
|
269
|
+
return function createMiddleware(fn) {
|
|
270
|
+
return fn;
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
function isPlainObject(obj) {
|
|
274
|
+
return obj && typeof obj === 'object' && !Array.isArray(obj);
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* @internal
|
|
278
|
+
* Please note, `trpc-openapi` uses this function.
|
|
279
|
+
*/ function createInputMiddleware(parse) {
|
|
280
|
+
const inputMiddleware = async ({ next , rawInput , input , })=>{
|
|
281
|
+
let parsedInput;
|
|
282
|
+
try {
|
|
283
|
+
parsedInput = await parse(rawInput);
|
|
284
|
+
} catch (cause) {
|
|
285
|
+
throw new TRPCError.TRPCError({
|
|
286
|
+
code: 'BAD_REQUEST',
|
|
287
|
+
cause: TRPCError.getCauseFromUnknown(cause)
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
// Multiple input parsers
|
|
291
|
+
const combinedInput = isPlainObject(input) && isPlainObject(parsedInput) ? {
|
|
292
|
+
...input,
|
|
293
|
+
...parsedInput
|
|
294
|
+
} : parsedInput;
|
|
295
|
+
// TODO fix this typing?
|
|
296
|
+
return next({
|
|
297
|
+
input: combinedInput
|
|
298
|
+
});
|
|
299
|
+
};
|
|
300
|
+
inputMiddleware._type = 'input';
|
|
301
|
+
return inputMiddleware;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* @internal
|
|
305
|
+
*/ function createOutputMiddleware(parse) {
|
|
306
|
+
const outputMiddleware = async ({ next })=>{
|
|
307
|
+
const result = await next();
|
|
308
|
+
if (!result.ok) {
|
|
309
|
+
// pass through failures without validating
|
|
310
|
+
return result;
|
|
311
|
+
}
|
|
312
|
+
try {
|
|
313
|
+
const data = await parse(result.data);
|
|
314
|
+
return {
|
|
315
|
+
...result,
|
|
316
|
+
data
|
|
317
|
+
};
|
|
318
|
+
} catch (cause) {
|
|
319
|
+
throw new TRPCError.TRPCError({
|
|
320
|
+
message: 'Output validation failed',
|
|
321
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
322
|
+
cause: TRPCError.getCauseFromUnknown(cause)
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
};
|
|
326
|
+
outputMiddleware._type = 'output';
|
|
327
|
+
return outputMiddleware;
|
|
328
|
+
}
|
|
329
|
+
|
|
265
330
|
/**
|
|
266
331
|
* @internal
|
|
267
332
|
*/ const middlewareMarker = 'middlewareMarker';
|
|
@@ -343,53 +408,6 @@ function createBuilder(initDef) {
|
|
|
343
408
|
}
|
|
344
409
|
};
|
|
345
410
|
}
|
|
346
|
-
function isPlainObject(obj) {
|
|
347
|
-
return obj && typeof obj === 'object' && !Array.isArray(obj);
|
|
348
|
-
}
|
|
349
|
-
function createInputMiddleware(parse) {
|
|
350
|
-
return async function inputMiddleware({ next , rawInput , input }) {
|
|
351
|
-
let parsedInput;
|
|
352
|
-
try {
|
|
353
|
-
parsedInput = await parse(rawInput);
|
|
354
|
-
} catch (cause) {
|
|
355
|
-
throw new TRPCError.TRPCError({
|
|
356
|
-
code: 'BAD_REQUEST',
|
|
357
|
-
cause: TRPCError.getCauseFromUnknown(cause)
|
|
358
|
-
});
|
|
359
|
-
}
|
|
360
|
-
// Multiple input parsers
|
|
361
|
-
const combinedInput = isPlainObject(input) && isPlainObject(parsedInput) ? {
|
|
362
|
-
...input,
|
|
363
|
-
...parsedInput
|
|
364
|
-
} : parsedInput;
|
|
365
|
-
// TODO fix this typing?
|
|
366
|
-
return next({
|
|
367
|
-
input: combinedInput
|
|
368
|
-
});
|
|
369
|
-
};
|
|
370
|
-
}
|
|
371
|
-
function createOutputMiddleware(parse) {
|
|
372
|
-
return async function outputMiddleware({ next }) {
|
|
373
|
-
const result = await next();
|
|
374
|
-
if (!result.ok) {
|
|
375
|
-
// pass through failures without validating
|
|
376
|
-
return result;
|
|
377
|
-
}
|
|
378
|
-
try {
|
|
379
|
-
const data = await parse(result.data);
|
|
380
|
-
return {
|
|
381
|
-
...result,
|
|
382
|
-
data
|
|
383
|
-
};
|
|
384
|
-
} catch (cause) {
|
|
385
|
-
throw new TRPCError.TRPCError({
|
|
386
|
-
message: 'Output validation failed',
|
|
387
|
-
code: 'INTERNAL_SERVER_ERROR',
|
|
388
|
-
cause: TRPCError.getCauseFromUnknown(cause)
|
|
389
|
-
});
|
|
390
|
-
}
|
|
391
|
-
};
|
|
392
|
-
}
|
|
393
411
|
function createResolver(_def, resolver) {
|
|
394
412
|
const finalBuilder = createNewBuilder(_def, {
|
|
395
413
|
resolver,
|
|
@@ -894,6 +912,9 @@ function safeObject(...args) {
|
|
|
894
912
|
|
|
895
913
|
exports.callProcedure = callProcedure;
|
|
896
914
|
exports.createBuilder = createBuilder;
|
|
915
|
+
exports.createInputMiddleware = createInputMiddleware;
|
|
916
|
+
exports.createMiddlewareFactory = createMiddlewareFactory;
|
|
917
|
+
exports.createOutputMiddleware = createOutputMiddleware;
|
|
897
918
|
exports.createRouterFactory = createRouterFactory;
|
|
898
919
|
exports.defaultFormatter = defaultFormatter;
|
|
899
920
|
exports.defaultTransformer = defaultTransformer;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/server",
|
|
3
|
-
"version": "10.0.0-proxy-alpha.
|
|
3
|
+
"version": "10.0.0-proxy-alpha.62",
|
|
4
4
|
"description": "tRPC Server",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -136,5 +136,5 @@
|
|
|
136
136
|
"yup": "^0.32.8",
|
|
137
137
|
"zod": "^3.0.0"
|
|
138
138
|
},
|
|
139
|
-
"gitHead": "
|
|
139
|
+
"gitHead": "f03a827d4500c9d81eeeafc08c76b3bd395b24c5"
|
|
140
140
|
}
|
package/src/core/index.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { TRPCError } from '../../error/TRPCError';
|
|
2
|
-
import {
|
|
3
|
-
getCauseFromUnknown,
|
|
4
|
-
getTRPCErrorFromUnknown,
|
|
5
|
-
} from '../../error/utils';
|
|
2
|
+
import { getTRPCErrorFromUnknown } from '../../error/utils';
|
|
6
3
|
import { FlatOverwrite, MaybePromise } from '../../types';
|
|
7
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
MiddlewareFunction,
|
|
6
|
+
MiddlewareResult,
|
|
7
|
+
createInputMiddleware,
|
|
8
|
+
createOutputMiddleware,
|
|
9
|
+
} from '../middleware';
|
|
8
10
|
import { Parser, inferParser } from '../parser';
|
|
9
11
|
import {
|
|
10
12
|
MutationProcedure,
|
|
@@ -15,7 +17,7 @@ import {
|
|
|
15
17
|
} from '../procedure';
|
|
16
18
|
import { ProcedureType } from '../types';
|
|
17
19
|
import { RootConfig } from './config';
|
|
18
|
-
import {
|
|
20
|
+
import { getParseFn } from './getParseFn';
|
|
19
21
|
import { mergeWithoutOverrides } from './mergeWithoutOverrides';
|
|
20
22
|
import { ResolveOptions, middlewareMarker } from './utils';
|
|
21
23
|
import { DefaultValue as FallbackValue, Overwrite, UnsetMarker } from './utils';
|
|
@@ -261,63 +263,6 @@ export function createBuilder<TConfig extends RootConfig>(
|
|
|
261
263
|
};
|
|
262
264
|
}
|
|
263
265
|
|
|
264
|
-
function isPlainObject(obj: unknown) {
|
|
265
|
-
return obj && typeof obj === 'object' && !Array.isArray(obj);
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
export function createInputMiddleware<T>(
|
|
269
|
-
parse: ParseFn<T>,
|
|
270
|
-
): ProcedureBuilderMiddleware {
|
|
271
|
-
return async function inputMiddleware({ next, rawInput, input }) {
|
|
272
|
-
let parsedInput: ReturnType<typeof parse>;
|
|
273
|
-
try {
|
|
274
|
-
parsedInput = await parse(rawInput);
|
|
275
|
-
} catch (cause) {
|
|
276
|
-
throw new TRPCError({
|
|
277
|
-
code: 'BAD_REQUEST',
|
|
278
|
-
cause: getCauseFromUnknown(cause),
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
// Multiple input parsers
|
|
283
|
-
const combinedInput =
|
|
284
|
-
isPlainObject(input) && isPlainObject(parsedInput)
|
|
285
|
-
? {
|
|
286
|
-
...input,
|
|
287
|
-
...parsedInput,
|
|
288
|
-
}
|
|
289
|
-
: parsedInput;
|
|
290
|
-
|
|
291
|
-
// TODO fix this typing?
|
|
292
|
-
return next({ input: combinedInput } as any);
|
|
293
|
-
};
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
export function createOutputMiddleware<T>(
|
|
297
|
-
parse: ParseFn<T>,
|
|
298
|
-
): ProcedureBuilderMiddleware {
|
|
299
|
-
return async function outputMiddleware({ next }) {
|
|
300
|
-
const result = await next();
|
|
301
|
-
if (!result.ok) {
|
|
302
|
-
// pass through failures without validating
|
|
303
|
-
return result;
|
|
304
|
-
}
|
|
305
|
-
try {
|
|
306
|
-
const data = await parse(result.data);
|
|
307
|
-
return {
|
|
308
|
-
...result,
|
|
309
|
-
data,
|
|
310
|
-
};
|
|
311
|
-
} catch (cause) {
|
|
312
|
-
throw new TRPCError({
|
|
313
|
-
message: 'Output validation failed',
|
|
314
|
-
code: 'INTERNAL_SERVER_ERROR',
|
|
315
|
-
cause: getCauseFromUnknown(cause),
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
|
-
|
|
321
266
|
function createResolver(
|
|
322
267
|
_def: AnyProcedureBuilderDef,
|
|
323
268
|
resolver: (opts: ResolveOptions<any>) => MaybePromise<any>,
|
package/src/core/middleware.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import { TRPCError } from '../error/TRPCError';
|
|
2
|
+
import { getCauseFromUnknown } from '../error/utils';
|
|
1
3
|
import { RootConfig } from './internals/config';
|
|
4
|
+
import { ParseFn } from './internals/getParseFn';
|
|
5
|
+
import { ProcedureBuilderMiddleware } from './internals/procedureBuilder';
|
|
2
6
|
import { MiddlewareMarker } from './internals/utils';
|
|
3
7
|
import { ProcedureParams } from './procedure';
|
|
4
8
|
import { ProcedureType } from './types';
|
|
@@ -47,29 +51,32 @@ export type MiddlewareResult<TParams extends ProcedureParams> =
|
|
|
47
51
|
export type MiddlewareFunction<
|
|
48
52
|
TParams extends ProcedureParams,
|
|
49
53
|
TParamsAfter extends ProcedureParams,
|
|
50
|
-
> =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
54
|
+
> = {
|
|
55
|
+
(opts: {
|
|
56
|
+
ctx: TParams['_ctx_out'];
|
|
57
|
+
type: ProcedureType;
|
|
58
|
+
path: string;
|
|
59
|
+
input: TParams['_input_out'];
|
|
60
|
+
rawInput: unknown;
|
|
61
|
+
meta: TParams['_meta'];
|
|
62
|
+
next: {
|
|
63
|
+
(): Promise<MiddlewareResult<TParams>>;
|
|
64
|
+
<$TContext>(opts: { ctx: $TContext }): Promise<
|
|
65
|
+
MiddlewareResult<{
|
|
66
|
+
_config: any;
|
|
67
|
+
_ctx_in: TParams['_ctx_in'];
|
|
68
|
+
_ctx_out: $TContext;
|
|
69
|
+
_input_in: TParams['_input_in'];
|
|
70
|
+
_input_out: TParams['_input_out'];
|
|
71
|
+
_output_in: TParams['_output_in'];
|
|
72
|
+
_output_out: TParams['_output_out'];
|
|
73
|
+
_meta: TParams['_meta'];
|
|
74
|
+
}>
|
|
75
|
+
>;
|
|
76
|
+
};
|
|
77
|
+
}): Promise<MiddlewareResult<TParamsAfter>>;
|
|
78
|
+
_type?: string | undefined;
|
|
79
|
+
};
|
|
73
80
|
|
|
74
81
|
/**
|
|
75
82
|
* @internal
|
|
@@ -94,3 +101,71 @@ export function createMiddlewareFactory<TConfig extends RootConfig>() {
|
|
|
94
101
|
return fn;
|
|
95
102
|
};
|
|
96
103
|
}
|
|
104
|
+
|
|
105
|
+
function isPlainObject(obj: unknown) {
|
|
106
|
+
return obj && typeof obj === 'object' && !Array.isArray(obj);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* @internal
|
|
111
|
+
* Please note, `trpc-openapi` uses this function.
|
|
112
|
+
*/
|
|
113
|
+
export function createInputMiddleware<T>(parse: ParseFn<T>) {
|
|
114
|
+
const inputMiddleware: ProcedureBuilderMiddleware = async ({
|
|
115
|
+
next,
|
|
116
|
+
rawInput,
|
|
117
|
+
input,
|
|
118
|
+
}) => {
|
|
119
|
+
let parsedInput: ReturnType<typeof parse>;
|
|
120
|
+
try {
|
|
121
|
+
parsedInput = await parse(rawInput);
|
|
122
|
+
} catch (cause) {
|
|
123
|
+
throw new TRPCError({
|
|
124
|
+
code: 'BAD_REQUEST',
|
|
125
|
+
cause: getCauseFromUnknown(cause),
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// Multiple input parsers
|
|
130
|
+
const combinedInput =
|
|
131
|
+
isPlainObject(input) && isPlainObject(parsedInput)
|
|
132
|
+
? {
|
|
133
|
+
...input,
|
|
134
|
+
...parsedInput,
|
|
135
|
+
}
|
|
136
|
+
: parsedInput;
|
|
137
|
+
|
|
138
|
+
// TODO fix this typing?
|
|
139
|
+
return next({ input: combinedInput } as any);
|
|
140
|
+
};
|
|
141
|
+
inputMiddleware._type = 'input';
|
|
142
|
+
return inputMiddleware;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* @internal
|
|
147
|
+
*/
|
|
148
|
+
export function createOutputMiddleware<T>(parse: ParseFn<T>) {
|
|
149
|
+
const outputMiddleware: ProcedureBuilderMiddleware = async ({ next }) => {
|
|
150
|
+
const result = await next();
|
|
151
|
+
if (!result.ok) {
|
|
152
|
+
// pass through failures without validating
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
155
|
+
try {
|
|
156
|
+
const data = await parse(result.data);
|
|
157
|
+
return {
|
|
158
|
+
...result,
|
|
159
|
+
data,
|
|
160
|
+
};
|
|
161
|
+
} catch (cause) {
|
|
162
|
+
throw new TRPCError({
|
|
163
|
+
message: 'Output validation failed',
|
|
164
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
165
|
+
cause: getCauseFromUnknown(cause),
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
outputMiddleware._type = 'output';
|
|
170
|
+
return outputMiddleware;
|
|
171
|
+
}
|
|
@@ -2,11 +2,11 @@ import { CombinedDataTransformer, ProcedureParams, ProcedureType } from '..';
|
|
|
2
2
|
import { CreateRootConfig, RootConfig } from '../core/internals/config';
|
|
3
3
|
import { getParseFnOrPassThrough } from '../core/internals/getParseFn';
|
|
4
4
|
import { mergeWithoutOverrides } from '../core/internals/mergeWithoutOverrides';
|
|
5
|
+
import { createBuilder } from '../core/internals/procedureBuilder';
|
|
5
6
|
import {
|
|
6
|
-
createBuilder,
|
|
7
7
|
createInputMiddleware,
|
|
8
8
|
createOutputMiddleware,
|
|
9
|
-
} from '../core/
|
|
9
|
+
} from '../core/middleware';
|
|
10
10
|
import {
|
|
11
11
|
MutationProcedure,
|
|
12
12
|
Procedure as NewProcedure,
|