Skip to content

Commit 200d5d2

Browse files
committed
Improve middleware type definition
1 parent 899b157 commit 200d5d2

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

packages/openapi-fetch/src/index.d.ts

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,22 @@ export interface MiddlewareCallbackParams {
144144
readonly options: MergedOptions;
145145
}
146146

147-
export interface Middleware {
148-
onRequest?: (options: MiddlewareCallbackParams) => void | Request | undefined | Promise<Request | undefined | void>;
149-
onResponse?: (
150-
options: MiddlewareCallbackParams & { response: Response },
151-
) => void | Response | undefined | Promise<Response | undefined | void>;
152-
}
147+
type MiddlewareOnRequest = (
148+
options: MiddlewareCallbackParams,
149+
) => void | Request | undefined | Promise<Request | undefined | void>;
150+
type MiddlewareOnResponse = (
151+
options: MiddlewareCallbackParams & { response: Response },
152+
) => void | Response | undefined | Promise<Response | undefined | void>;
153+
154+
export type Middleware =
155+
| {
156+
onRequest: MiddlewareOnRequest;
157+
onResponse?: MiddlewareOnResponse;
158+
}
159+
| {
160+
onRequest?: MiddlewareOnRequest;
161+
onResponse: MiddlewareOnResponse;
162+
};
153163

154164
/** This type helper makes the 2nd function param required if params/requestBody are required; otherwise, optional */
155165
export type MaybeOptionalInit<Params, Location extends keyof Params> = RequiredKeysOf<

0 commit comments

Comments
 (0)