@@ -70,7 +70,10 @@ export type MiddlewareFnArgs<TRequest, TResponse, TEvent> = {
7070
7171export interface AnyParams {
7272 _routeOptions : any ;
73- _input : any ;
73+ _input : {
74+ in : any ;
75+ out : any ;
76+ } ;
7477 _metadata : any ; // imaginary field used to bind metadata return type to an Upload resolver
7578 _middlewareArgs : MiddlewareFnArgs < any , any , any > ;
7679 _errorShape : any ;
@@ -101,12 +104,12 @@ type UploadErrorFn = (input: {
101104
102105export interface UploadBuilder < TParams extends AnyParams > {
103106 input : < TParser extends JsonParser > (
104- parser : TParams [ "_input" ] extends UnsetMarker
107+ parser : TParams [ "_input" ] [ "in" ] extends UnsetMarker
105108 ? TParser
106109 : ErrorMessage < "input is already set" > ,
107110 ) => UploadBuilder < {
108111 _routeOptions : TParams [ "_routeOptions" ] ;
109- _input : TParser [ "_output" ] ;
112+ _input : { in : TParser [ "_input" ] ; out : TParser [ " _output"] } ;
110113 _metadata : TParams [ "_metadata" ] ;
111114 _middlewareArgs : TParams [ "_middlewareArgs" ] ;
112115 _errorShape : TParams [ "_errorShape" ] ;
@@ -115,7 +118,11 @@ export interface UploadBuilder<TParams extends AnyParams> {
115118 } > ;
116119 middleware : < TOutput extends ValidMiddlewareObject > (
117120 fn : TParams [ "_metadata" ] extends UnsetMarker
118- ? MiddlewareFn < TParams [ "_input" ] , TOutput , TParams [ "_middlewareArgs" ] >
121+ ? MiddlewareFn <
122+ TParams [ "_input" ] [ "out" ] ,
123+ TOutput ,
124+ TParams [ "_middlewareArgs" ]
125+ >
119126 : ErrorMessage < "middleware is already set" > ,
120127 ) => UploadBuilder < {
121128 _routeOptions : TParams [ "_routeOptions" ] ;
@@ -156,8 +163,12 @@ export type UploadBuilderDef<TParams extends AnyParams> = {
156163 routerConfig : FileRouterInputConfig ;
157164 routeOptions : RouteOptions ;
158165 inputParser : JsonParser ;
159- // eslint-disable-next-line @typescript-eslint/ban-types
160- middleware : MiddlewareFn < TParams [ "_input" ] , { } , TParams [ "_middlewareArgs" ] > ;
166+ middleware : MiddlewareFn <
167+ TParams [ "_input" ] [ "out" ] ,
168+ // eslint-disable-next-line @typescript-eslint/ban-types
169+ { } ,
170+ TParams [ "_middlewareArgs" ]
171+ > ;
161172 errorFormatter : ( err : UploadThingError ) => TParams [ "_errorShape" ] ;
162173 onUploadError : UploadErrorFn ;
163174} ;
@@ -220,9 +231,9 @@ export type RouteHandlerOptions<TRouter extends FileRouter> = {
220231} ;
221232
222233export type inferEndpointInput < TUploader extends Uploader < any > > =
223- TUploader [ "_def" ] [ "_input" ] extends UnsetMarker
234+ TUploader [ "_def" ] [ "_input" ] [ "in" ] extends UnsetMarker
224235 ? undefined
225- : TUploader [ "_def" ] [ "_input" ] ;
236+ : TUploader [ "_def" ] [ "_input" ] [ "in" ] ;
226237
227238export type inferEndpointOutput < TUploader extends AnyUploader > =
228239 TUploader [ "_def" ] [ "_output" ] extends UnsetMarker | void | undefined
0 commit comments