@@ -15,14 +15,14 @@ export type Interceptor<
1515 TOptions extends InterceptableOptions ,
1616 TResult ,
1717 TError ,
18- > = ( options : InterceptorOptions < TOptions , TResult , TError > ) => PromiseWithError < TResult , TError >
18+ > = ( options : InterceptorOptions < TOptions , TResult , TError > ) => Promisable < TResult >
1919
2020/**
2121 * Can used for interceptors or middlewares
2222 */
23- export function onStart < TOptions extends { next ( ) : any } , TRest extends any [ ] > (
23+ export function onStart < T , TOptions extends { next ( ) : any } , TRest extends any [ ] > (
2424 callback : NoInfer < ( options : TOptions , ...rest : TRest ) => Promisable < void > > ,
25- ) : ( options : TOptions , ...rest : TRest ) => Promise < Awaited < ReturnType < TOptions [ 'next' ] > > > {
25+ ) : ( options : TOptions , ...rest : TRest ) => T | Promise < Awaited < ReturnType < TOptions [ 'next' ] > > > {
2626 return async ( options , ...rest ) => {
2727 await callback ( options , ...rest )
2828 return await options . next ( )
@@ -32,9 +32,9 @@ export function onStart<TOptions extends { next(): any }, TRest extends any[]>(
3232/**
3333 * Can used for interceptors or middlewares
3434 */
35- export function onSuccess < TOptions extends { next ( ) : any } , TRest extends any [ ] > (
35+ export function onSuccess < T , TOptions extends { next ( ) : any } , TRest extends any [ ] > (
3636 callback : NoInfer < ( result : Awaited < ReturnType < TOptions [ 'next' ] > > , options : TOptions , ...rest : TRest ) => Promisable < void > > ,
37- ) : ( options : TOptions , ...rest : TRest ) => Promise < Awaited < ReturnType < TOptions [ 'next' ] > > > {
37+ ) : ( options : TOptions , ...rest : TRest ) => T | Promise < Awaited < ReturnType < TOptions [ 'next' ] > > > {
3838 return async ( options , ...rest ) => {
3939 const result = await options . next ( )
4040 await callback ( result , options , ...rest )
@@ -45,13 +45,13 @@ export function onSuccess<TOptions extends { next(): any }, TRest extends any[]>
4545/**
4646 * Can used for interceptors or middlewares
4747 */
48- export function onError < TOptions extends { next ( ) : any } , TRest extends any [ ] > (
48+ export function onError < T , TOptions extends { next ( ) : any } , TRest extends any [ ] > (
4949 callback : NoInfer < (
5050 error : ReturnType < TOptions [ 'next' ] > extends PromiseWithError < any , infer E > ? E : ThrowableError ,
5151 options : TOptions ,
5252 ...rest : TRest
5353 ) => Promisable < void > > ,
54- ) : ( options : TOptions , ...rest : TRest ) => Promise < Awaited < ReturnType < TOptions [ 'next' ] > > > {
54+ ) : ( options : TOptions , ...rest : TRest ) => T | Promise < Awaited < ReturnType < TOptions [ 'next' ] > > > {
5555 return async ( options , ...rest ) => {
5656 try {
5757 return await options . next ( )
@@ -68,7 +68,7 @@ export type OnFinishState<TResult, TError> = [TResult, null, 'success'] | [undef
6868/**
6969 * Can used for interceptors or middlewares
7070 */
71- export function onFinish < TOptions extends { next ( ) : any } , TRest extends any [ ] > (
71+ export function onFinish < T , TOptions extends { next ( ) : any } , TRest extends any [ ] > (
7272 callback : NoInfer < (
7373 state : OnFinishState <
7474 Awaited < ReturnType < TOptions [ 'next' ] > > ,
@@ -77,7 +77,7 @@ export function onFinish<TOptions extends { next(): any }, TRest extends any[]>(
7777 options : TOptions ,
7878 ...rest : TRest
7979 ) => Promisable < void > > ,
80- ) : ( options : TOptions , ...rest : TRest ) => Promise < Awaited < ReturnType < TOptions [ 'next' ] > > > {
80+ ) : ( options : TOptions , ...rest : TRest ) => T | Promise < Awaited < ReturnType < TOptions [ 'next' ] > > > {
8181 let state : any
8282
8383 return async ( options , ...rest ) => {
0 commit comments