import type { FlatResponseData } from '@sa/axios'; import useAutoRunPlugin from './plugins/useAutoRunPlugin'; import useCachePlugin from './plugins/useCachePlugin'; import useDebouncePlugin from './plugins/useDebouncePlugin'; import useLoadingDelayPlugin from './plugins/useLoadingDelayPlugin'; import usePollingPlugin from './plugins/usePollingPlugin'; import useRefreshOnWindowFocusPlugin from './plugins/useRefreshOnWindowFocusPlugin'; import useRetryPlugin from './plugins/useRetryPlugin'; import useThrottlePlugin from './plugins/useThrottlePlugin'; import type { Options, Plugin, Service } from './type'; import useRequestImplement from './useRequestImplement'; function useRequest( service: Service, options?: Options, plugins?: Plugin[] ) { return useRequestImplement(service, options, [ ...(plugins || []), useDebouncePlugin, useLoadingDelayPlugin, usePollingPlugin, useRefreshOnWindowFocusPlugin, useThrottlePlugin, useAutoRunPlugin, useCachePlugin, useRetryPlugin ] as Plugin[]); } export default useRequest;