mirror of
https://github.com/soybeanjs/soybean-admin.git
synced 2025-11-17 06:03:42 +08:00
optimize(request): enhance request options and response handling with generic types
This commit is contained in:
@@ -4,12 +4,16 @@ import { stringify } from 'qs';
|
||||
import { isHttpSuccess } from './shared';
|
||||
import type { RequestOption } from './type';
|
||||
|
||||
export function createDefaultOptions<ResponseData = any>(options?: Partial<RequestOption<ResponseData>>) {
|
||||
const opts: RequestOption<ResponseData> = {
|
||||
export function createDefaultOptions<
|
||||
ResponseData,
|
||||
ApiData = ResponseData,
|
||||
State extends Record<string, unknown> = Record<string, unknown>
|
||||
>(options?: Partial<RequestOption<ResponseData, ApiData, State>>) {
|
||||
const opts: RequestOption<ResponseData, ApiData, State> = {
|
||||
onRequest: async config => config,
|
||||
isBackendSuccess: _response => true,
|
||||
onBackendFail: async () => {},
|
||||
transformBackendResponse: async response => response.data,
|
||||
transformBackendResponse: async response => response.data as unknown as ApiData,
|
||||
onError: async () => {}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user