@@ -8,11 +8,24 @@ export type UseRequestService<TData, TParams extends unknown[]> = (
88
99export type UseRequestSubscribe = ( ) => void
1010
11+ export type UseRequestOrigin < TData = unknown > = {
12+ data : TData
13+ }
14+
15+ export type UseRequestOriginSnapshot < TData , TParams extends unknown [ ] > = {
16+ loading : boolean
17+ params ?: TParams
18+ originData ?: TData
19+ formatData ?: TData
20+ error ?: Error | unknown
21+ }
22+
1123export interface UseRequestFetchState < TData , TParams extends unknown [ ] > {
1224 loading : boolean
1325 params ?: TParams
1426 data ?: TData
1527 error ?: Error | unknown
28+ snapshot ?: UseRequestOriginSnapshot < TData , TParams >
1629}
1730
1831export interface UseRequestPluginReturn < TData , TParams extends unknown [ ] > {
@@ -21,9 +34,9 @@ export interface UseRequestPluginReturn<TData, TParams extends unknown[]> {
2134 params : TParams ,
2235 ) =>
2336 | ( {
24- stopNow ?: boolean
25- returnNow ?: boolean
26- } & Partial < UseRequestFetchState < TData , TParams > > )
37+ stopNow ?: boolean
38+ returnNow ?: boolean
39+ } & Partial < UseRequestFetchState < TData , TParams > > )
2740 | void
2841
2942 onRequest ?: (
@@ -32,8 +45,14 @@ export interface UseRequestPluginReturn<TData, TParams extends unknown[]> {
3245 ) => {
3346 servicePromise ?: Promise < TData >
3447 }
35-
36- onSuccess ?: ( data : TData , params : TParams ) => void
48+ /**
49+ *
50+ * @param data Request result data or format data
51+ * @param params Maually set the request params.
52+ * @param origin Before format origin { data: TData }
53+ * @returns Void
54+ */
55+ onSuccess ?: ( data : TData , params : TParams , origin : UseRequestOrigin ) => void
3756 onError ?: ( e : Error , params : TParams ) => void
3857 onFinally ?: ( params : TParams , data ?: TData , e ?: Error ) => void
3958 onCancel ?: ( ) => void
@@ -300,12 +319,12 @@ export interface useRequestResult<
300319 data : Readonly <
301320 Ref <
302321 FormatResult extends false
303- ? Initial extends false
304- ? TData | undefined
305- : TData
306- : FormatResult extends ( ...args : any [ ] ) => any
307- ? ReturnType < FormatResult > | undefined
308- : FormatResult | undefined
322+ ? Initial extends false
323+ ? TData | undefined
324+ : TData
325+ : FormatResult extends ( ...args : any [ ] ) => any
326+ ? ReturnType < FormatResult > | undefined
327+ : FormatResult | undefined
309328 >
310329 >
311330
0 commit comments