@trpc/server 10.0.0-proxy-alpha.60 → 10.0.0-proxy-alpha.63
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 +3 -6
- 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/core/procedure.d.ts +2 -2
- package/dist/core/procedure.d.ts.map +1 -1
- package/dist/core/router.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 +16 -71
- package/src/core/middleware.ts +98 -23
- package/src/core/procedure.ts +2 -2
- package/src/core/router.ts +1 -0
- 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<{
|
|
@@ -86,7 +85,7 @@ export interface ProcedureBuilder<TParams extends ProcedureParams> {
|
|
|
86
85
|
_def: {
|
|
87
86
|
inputs: Parser[];
|
|
88
87
|
output?: Parser;
|
|
89
|
-
meta?:
|
|
88
|
+
meta?: TParams['_meta'];
|
|
90
89
|
resolver?: ProcedureBuilderResolver;
|
|
91
90
|
middlewares: ProcedureBuilderMiddleware[];
|
|
92
91
|
mutation?: boolean;
|
|
@@ -95,10 +94,10 @@ export interface ProcedureBuilder<TParams extends ProcedureParams> {
|
|
|
95
94
|
};
|
|
96
95
|
}
|
|
97
96
|
declare type AnyProcedureBuilder = ProcedureBuilder<any>;
|
|
98
|
-
export declare type
|
|
97
|
+
export declare type AnyProcedureBuilderDef = AnyProcedureBuilder['_def'];
|
|
99
98
|
export declare type ProcedureBuilderMiddleware = MiddlewareFunction<any, any>;
|
|
100
99
|
export declare type ProcedureBuilderResolver = (opts: ResolveOptions<any>) => Promise<unknown>;
|
|
101
|
-
export declare function createBuilder<TConfig extends RootConfig>(initDef?:
|
|
100
|
+
export declare function createBuilder<TConfig extends RootConfig>(initDef?: AnyProcedureBuilderDef): ProcedureBuilder<{
|
|
102
101
|
_config: TConfig;
|
|
103
102
|
_ctx_in: TConfig['ctx'];
|
|
104
103
|
_ctx_out: TConfig['ctx'];
|
|
@@ -108,8 +107,6 @@ export declare function createBuilder<TConfig extends RootConfig>(initDef?: Proc
|
|
|
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/core/procedure.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DefaultErrorShape } from '../error/formatter';
|
|
2
2
|
import { CombinedDataTransformer } from '../transformer';
|
|
3
3
|
import { RootConfig } from './internals/config';
|
|
4
|
-
import {
|
|
4
|
+
import { ProcedureBuilder, ProcedureCallOptions } from './internals/procedureBuilder';
|
|
5
5
|
import { UnsetMarker } from './internals/utils';
|
|
6
6
|
declare type ClientContext = Record<string, unknown>;
|
|
7
7
|
/**
|
|
@@ -63,7 +63,7 @@ export declare type ProcedureArgs<TParams extends ProcedureParams> = TParams['_i
|
|
|
63
63
|
* @internal
|
|
64
64
|
*/
|
|
65
65
|
export interface ProcedureBase<TParams extends ProcedureParams> {
|
|
66
|
-
_def: TParams &
|
|
66
|
+
_def: TParams & ProcedureBuilder<TParams>['_def'];
|
|
67
67
|
/**
|
|
68
68
|
* @deprecated use `._def.meta` instead
|
|
69
69
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../../../packages/server/src/core/procedure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../../../packages/server/src/core/procedure.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../packages/server/src/core/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,GAAG,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAEL,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAA2B,MAAM,QAAQ,CAAC;AAEjE,OAAO,EAAE,uBAAuB,EAAsB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAEL,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,cAAc,EACd,qBAAqB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAExD,iBAAiB;AACjB,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAE7D,oBAAY,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS,CAExB,QAAQ,EACR,WAAW,SAAS,cAAc,CAAC,MAAM,CAAC,EAC1C,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,SAAS,qBAAqB;IAErC,MAAM,EAAE,IAAI,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtD,WAAW,EAAE,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../packages/server/src/core/router.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.63",
|
|
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": "7eb10c98f1fe7385ab7a61d07fab49510294030b"
|
|
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';
|
|
@@ -162,7 +164,7 @@ export interface ProcedureBuilder<TParams extends ProcedureParams> {
|
|
|
162
164
|
_def: {
|
|
163
165
|
inputs: Parser[];
|
|
164
166
|
output?: Parser;
|
|
165
|
-
meta?:
|
|
167
|
+
meta?: TParams['_meta'];
|
|
166
168
|
resolver?: ProcedureBuilderResolver;
|
|
167
169
|
middlewares: ProcedureBuilderMiddleware[];
|
|
168
170
|
mutation?: boolean;
|
|
@@ -172,7 +174,7 @@ export interface ProcedureBuilder<TParams extends ProcedureParams> {
|
|
|
172
174
|
}
|
|
173
175
|
|
|
174
176
|
type AnyProcedureBuilder = ProcedureBuilder<any>;
|
|
175
|
-
export type
|
|
177
|
+
export type AnyProcedureBuilderDef = AnyProcedureBuilder['_def'];
|
|
176
178
|
|
|
177
179
|
export type ProcedureBuilderMiddleware = MiddlewareFunction<any, any>;
|
|
178
180
|
|
|
@@ -181,8 +183,8 @@ export type ProcedureBuilderResolver = (
|
|
|
181
183
|
) => Promise<unknown>;
|
|
182
184
|
|
|
183
185
|
function createNewBuilder(
|
|
184
|
-
def1:
|
|
185
|
-
def2: Partial<
|
|
186
|
+
def1: AnyProcedureBuilderDef,
|
|
187
|
+
def2: Partial<AnyProcedureBuilderDef>,
|
|
186
188
|
) {
|
|
187
189
|
const { middlewares = [], inputs, ...rest } = def2;
|
|
188
190
|
|
|
@@ -195,7 +197,7 @@ function createNewBuilder(
|
|
|
195
197
|
}
|
|
196
198
|
|
|
197
199
|
export function createBuilder<TConfig extends RootConfig>(
|
|
198
|
-
initDef?:
|
|
200
|
+
initDef?: AnyProcedureBuilderDef,
|
|
199
201
|
): ProcedureBuilder<{
|
|
200
202
|
_config: TConfig;
|
|
201
203
|
_ctx_in: TConfig['ctx'];
|
|
@@ -206,7 +208,7 @@ export function createBuilder<TConfig extends RootConfig>(
|
|
|
206
208
|
_output_out: UnsetMarker;
|
|
207
209
|
_meta: TConfig['meta'];
|
|
208
210
|
}> {
|
|
209
|
-
const _def:
|
|
211
|
+
const _def: AnyProcedureBuilderDef = initDef || {
|
|
210
212
|
inputs: [],
|
|
211
213
|
middlewares: [],
|
|
212
214
|
};
|
|
@@ -261,65 +263,8 @@ 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
|
-
_def:
|
|
267
|
+
_def: AnyProcedureBuilderDef,
|
|
323
268
|
resolver: (opts: ResolveOptions<any>) => MaybePromise<any>,
|
|
324
269
|
) {
|
|
325
270
|
const finalBuilder = createNewBuilder(_def, {
|
|
@@ -362,7 +307,7 @@ const caller = appRouter.createCaller({
|
|
|
362
307
|
const result = await caller.call('myProcedure', input);
|
|
363
308
|
`.trim();
|
|
364
309
|
|
|
365
|
-
function createProcedureCaller(_def:
|
|
310
|
+
function createProcedureCaller(_def: AnyProcedureBuilderDef): Procedure<any> {
|
|
366
311
|
const procedure = async function resolve(opts: ProcedureCallOptions) {
|
|
367
312
|
// is direct server-side call
|
|
368
313
|
if (!opts || !('rawInput' in opts)) {
|
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
|
+
}
|
package/src/core/procedure.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { DefaultErrorShape } from '../error/formatter';
|
|
|
2
2
|
import { CombinedDataTransformer } from '../transformer';
|
|
3
3
|
import { RootConfig } from './internals/config';
|
|
4
4
|
import {
|
|
5
|
-
|
|
5
|
+
ProcedureBuilder,
|
|
6
6
|
ProcedureCallOptions,
|
|
7
7
|
} from './internals/procedureBuilder';
|
|
8
8
|
import { UnsetMarker } from './internals/utils';
|
|
@@ -86,7 +86,7 @@ export type ProcedureArgs<TParams extends ProcedureParams> =
|
|
|
86
86
|
* @internal
|
|
87
87
|
*/
|
|
88
88
|
export interface ProcedureBase<TParams extends ProcedureParams> {
|
|
89
|
-
_def: TParams &
|
|
89
|
+
_def: TParams & ProcedureBuilder<TParams>['_def'];
|
|
90
90
|
/**
|
|
91
91
|
* @deprecated use `._def.meta` instead
|
|
92
92
|
*/
|
package/src/core/router.ts
CHANGED
|
@@ -61,6 +61,7 @@ export interface RouterDef<
|
|
|
61
61
|
// FIXME this is slow:
|
|
62
62
|
// - I think this has to go & be replaced by something by only using `TRecord` without `& SimpleFlatten...`
|
|
63
63
|
// - Potentially, we have a `legacyProcedures` record where we only register the old things that are available by string path
|
|
64
|
+
// - I am currently casting this to `ProcedureRecord` in `trpc-openapi`. Would be great to have a less hacky solution though.
|
|
64
65
|
procedures: TRecord;
|
|
65
66
|
/**
|
|
66
67
|
* V9 procedures
|
|
@@ -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,
|