API Report File for "@reduxjs/toolkit"
Do not edit this file. It is a report generated by API Extractor.
import { ActionCreatorWithoutPayload } from '@reduxjs/toolkit'
import { batch } from 'react-redux'
import { Context } from 'react'
import { ReactReduxContextValue } from 'react-redux'
import { ThunkDispatch } from '@reduxjs/toolkit'
import { useDispatch } from 'react-redux'
import { useSelector } from 'react-redux'
import { useStore } from 'react-redux'
// @public (undocumented)
export type Api<
BaseQuery extends BaseQueryFn,
Definitions extends EndpointDefinitions,
ReducerPath extends string,
TagTypes extends string,
Enhancers extends ModuleName = CoreModule
> = Id<
Id<
UnionToIntersection<
ApiModules<BaseQuery, Definitions, ReducerPath, TagTypes>[Enhancers]
>
> & {
injectEndpoints<NewDefinitions extends EndpointDefinitions>(_: {
endpoints: (
build: EndpointBuilder<BaseQuery, TagTypes, ReducerPath>
) => NewDefinitions
overrideExisting?: boolean
}): Api<
BaseQuery,
Definitions & NewDefinitions,
ReducerPath,
TagTypes,
Enhancers
>
enhanceEndpoints<NewTagTypes extends string = never>(_: {
addTagTypes?: readonly NewTagTypes[]
endpoints?: ReplaceTagTypes<
Definitions,
TagTypes | NoInfer<NewTagTypes>
> extends infer NewDefinitions
? {
[K in keyof NewDefinitions]?:
| Partial<NewDefinitions[K]>
| ((definition: NewDefinitions[K]) => void)
}
: never
}): Api<
BaseQuery,
ReplaceTagTypes<Definitions, TagTypes | NewTagTypes>,
ReducerPath,
TagTypes | NewTagTypes,
Enhancers
>
}
>
// @public (undocumented)
export interface ApiModules<
BaseQuery extends BaseQueryFn,
Definitions extends EndpointDefinitions,
ReducerPath extends string,
TagTypes extends string
> {}
// @public
export function ApiProvider<A extends Api<any, {}, any, any>>(props: {
children: any
api: A
setupListeners?: Parameters<typeof setupListeners>[1]
context?: Context<ReactReduxContextValue>
}): JSX.Element
// @public (undocumented)
export type ApiWithInjectedEndpoints<
ApiDefinition extends Api<any, any, any, any>,
Injections extends ApiDefinition extends Api<infer B, any, infer R, infer E>
? [Api<B, any, R, E>, ...Api<B, any, R, E>[]]
: never
> = Omit<ApiDefinition, 'endpoints'> &
Omit<Injections, 'endpoints'> & {
endpoints: ApiDefinition['endpoints'] &
Partial<UnionToIntersection<Injections[number]['endpoints']>>
}
// @public (undocumented)
export type BaseQueryEnhancer<
AdditionalArgs = unknown,
AdditionalDefinitionExtraOptions = unknown,
Config = void
> = <BaseQuery extends BaseQueryFn>(
baseQuery: BaseQuery,
config: Config
) => BaseQueryFn<
BaseQueryArg<BaseQuery> & AdditionalArgs,
BaseQueryResult<BaseQuery>,
BaseQueryError<BaseQuery>,
BaseQueryExtraOptions<BaseQuery> & AdditionalDefinitionExtraOptions
>
// @public (undocumented)
export type BaseQueryFn<
Args = any,
Result = unknown,
Error = unknown,
DefinitionExtraOptions = {},
Meta = {}
> = (
args: Args,
api: BaseQueryApi,
extraOptions: DefinitionExtraOptions
) => MaybePromise<QueryReturnValue<Result, Error, Meta>>
// @public
export function buildCreateApi<Modules extends [Module<any>, ...Module<any>[]]>(
...modules: Modules
): CreateApi<Modules[number]['name']>
// @public (undocumented)
export function copyWithStructuralSharing<T>(oldObj: any, newObj: T): T
// @public
export const coreModule: () => Module<CoreModule>
// @public (undocumented)
export type CreateApi<Modules extends ModuleName> = {
<
BaseQuery extends BaseQueryFn,
Definitions extends EndpointDefinitions,
ReducerPath extends string = 'api',
TagTypes extends string = never
>(
options: CreateApiOptions<BaseQuery, Definitions, ReducerPath, TagTypes>
): Api<BaseQuery, Definitions, ReducerPath, TagTypes, Modules>
}
// @public (undocumented)
export const createApi: CreateApi<
typeof coreModuleName | typeof reactHooksModuleName
>
// @public (undocumented)
export interface CreateApiOptions<
BaseQuery extends BaseQueryFn,
Definitions extends EndpointDefinitions,
ReducerPath extends string = 'api',
TagTypes extends string = never
> {
baseQuery: BaseQuery
endpoints(
build: EndpointBuilder<BaseQuery, TagTypes, ReducerPath>
): Definitions
keepUnusedDataFor?: number
reducerPath?: ReducerPath
refetchOnFocus?: boolean
refetchOnMountOrArgChange?: boolean | number
refetchOnReconnect?: boolean
serializeQueryArgs?: SerializeQueryArgs<BaseQueryArg<BaseQuery>>
tagTypes?: readonly TagTypes[]
}
// @public (undocumented)
export type EndpointDefinition<
QueryArg,
BaseQuery extends BaseQueryFn,
TagTypes extends string,
ResultType,
ReducerPath extends string = string
> =
| QueryDefinition<QueryArg, BaseQuery, TagTypes, ResultType, ReducerPath>
| MutationDefinition<QueryArg, BaseQuery, TagTypes, ResultType, ReducerPath>
// @public (undocumented)
export type EndpointDefinitions = Record<
string,
EndpointDefinition<any, any, any, any>
>
// @public
export function fakeBaseQuery<ErrorType>(): BaseQueryFn<
void,
NEVER,
ErrorType,
{}
>
// @public (undocumented)
export interface FetchArgs extends CustomRequestInit {
// (undocumented)
body?: any
// (undocumented)
params?: Record<string, any>
// (undocumented)
responseHandler?: ResponseHandler
// (undocumented)
url: string
// (undocumented)
validateStatus?: (response: Response, body: any) => boolean
}
// @public
export function fetchBaseQuery({
baseUrl,
prepareHeaders,
fetchFn,
...baseFetchOptions
}?: FetchBaseQueryArgs): BaseQueryFn<
string | FetchArgs,
unknown,
FetchBaseQueryError,
{},
FetchBaseQueryMeta
>
// @public (undocumented)
export interface FetchBaseQueryError {
// (undocumented)
data: unknown
// (undocumented)
status: number
}
// @public (undocumented)
export type Module<Name extends ModuleName> = {
name: Name
init<
BaseQuery extends BaseQueryFn,
Definitions extends EndpointDefinitions,
ReducerPath extends string,
TagTypes extends string
>(
api: Api<BaseQuery, EndpointDefinitions, ReducerPath, TagTypes, ModuleName>,
options: Required<
CreateApiOptions<BaseQuery, Definitions, ReducerPath, TagTypes>
>,
context: ApiContext<Definitions>
): {
injectEndpoint(
endpointName: string,
definition: EndpointDefinition<any, any, any, any>
): void
}
}
// @public (undocumented)
export type MutationDefinition<
QueryArg,
BaseQuery extends BaseQueryFn,
TagTypes extends string,
ResultType,
ReducerPath extends string = string
> = BaseEndpointDefinition<QueryArg, BaseQuery, ResultType> &
MutationExtraOptions<TagTypes, ResultType, QueryArg, BaseQuery, ReducerPath>
// @public (undocumented)
export type QueryDefinition<
QueryArg,
BaseQuery extends BaseQueryFn,
TagTypes extends string,
ResultType,
ReducerPath extends string = string
> = BaseEndpointDefinition<QueryArg, BaseQuery, ResultType> &
QueryExtraOptions<TagTypes, ResultType, QueryArg, BaseQuery, ReducerPath>
// @public
export enum QueryStatus {
// (undocumented)
fulfilled = 'fulfilled',
// (undocumented)
pending = 'pending',
// (undocumented)
rejected = 'rejected',
// (undocumented)
uninitialized = 'uninitialized',
}
// @public
export const reactHooksModule: ({
batch,
useDispatch,
useSelector,
useStore,
}?: ReactHooksModuleOptions) => Module<ReactHooksModule>
// @public
export const retry: BaseQueryEnhancer<
unknown,
StaggerOptions,
void | StaggerOptions
> & {
fail: typeof fail_2
}
// @public
export function setupListeners(
dispatch: ThunkDispatch<any, any, any>,
customHandler?: (
dispatch: ThunkDispatch<any, any, any>,
actions: {
onFocus: typeof onFocus
onFocusLost: typeof onFocusLost
onOnline: typeof onOnline
onOffline: typeof onOffline
}
) => () => void
): () => void
// @public (undocumented)
export const skipSelector: unique symbol
// (No @packageDocumentation comment for this package)
Last updated