1 | import type { SerializedError } from '@reduxjs/toolkit';
|
2 | import type { BaseQueryError } from '../baseQueryTypes';
|
3 | import type { QueryDefinition, MutationDefinition, EndpointDefinitions, BaseEndpointDefinition, ResultTypeFrom, QueryArgFrom } from '../endpointDefinitions';
|
4 | import type { Id, WithRequiredProp } from '../tsHelpers';
|
5 | export declare type QueryCacheKey = string & {
|
6 | _type: 'queryCacheKey';
|
7 | };
|
8 | export declare type QuerySubstateIdentifier = {
|
9 | queryCacheKey: QueryCacheKey;
|
10 | };
|
11 | export declare type MutationSubstateIdentifier = {
|
12 | requestId: string;
|
13 | };
|
14 | export declare type RefetchConfigOptions = {
|
15 | refetchOnMountOrArgChange: boolean | number;
|
16 | refetchOnReconnect: boolean;
|
17 | refetchOnFocus: boolean;
|
18 | };
|
19 |
|
20 |
|
21 |
|
22 | export declare enum QueryStatus {
|
23 | uninitialized = "uninitialized",
|
24 | pending = "pending",
|
25 | fulfilled = "fulfilled",
|
26 | rejected = "rejected"
|
27 | }
|
28 | export declare type RequestStatusFlags = {
|
29 | status: QueryStatus.uninitialized;
|
30 | isUninitialized: true;
|
31 | isLoading: false;
|
32 | isSuccess: false;
|
33 | isError: false;
|
34 | } | {
|
35 | status: QueryStatus.pending;
|
36 | isUninitialized: false;
|
37 | isLoading: true;
|
38 | isSuccess: false;
|
39 | isError: false;
|
40 | } | {
|
41 | status: QueryStatus.fulfilled;
|
42 | isUninitialized: false;
|
43 | isLoading: false;
|
44 | isSuccess: true;
|
45 | isError: false;
|
46 | } | {
|
47 | status: QueryStatus.rejected;
|
48 | isUninitialized: false;
|
49 | isLoading: false;
|
50 | isSuccess: false;
|
51 | isError: true;
|
52 | };
|
53 | export declare function getRequestStatusFlags(status: QueryStatus): RequestStatusFlags;
|
54 | export declare type SubscriptionOptions = {
|
55 | |
56 |
|
57 |
|
58 | pollingInterval?: number;
|
59 | |
60 |
|
61 |
|
62 |
|
63 |
|
64 |
|
65 |
|
66 | refetchOnReconnect?: boolean;
|
67 | |
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
|
74 | refetchOnFocus?: boolean;
|
75 | };
|
76 | export declare type Subscribers = {
|
77 | [requestId: string]: SubscriptionOptions;
|
78 | };
|
79 | export declare type QueryKeys<Definitions extends EndpointDefinitions> = {
|
80 | [K in keyof Definitions]: Definitions[K] extends QueryDefinition<any, any, any, any> ? K : never;
|
81 | }[keyof Definitions];
|
82 | export declare type MutationKeys<Definitions extends EndpointDefinitions> = {
|
83 | [K in keyof Definitions]: Definitions[K] extends MutationDefinition<any, any, any, any> ? K : never;
|
84 | }[keyof Definitions];
|
85 | declare type BaseQuerySubState<D extends BaseEndpointDefinition<any, any, any>> = {
|
86 | |
87 |
|
88 |
|
89 | originalArgs: QueryArgFrom<D>;
|
90 | |
91 |
|
92 |
|
93 | requestId: string;
|
94 | |
95 |
|
96 |
|
97 | data?: ResultTypeFrom<D>;
|
98 | |
99 |
|
100 |
|
101 | error?: SerializedError | (D extends QueryDefinition<any, infer BaseQuery, any, any> ? BaseQueryError<BaseQuery> : never);
|
102 | |
103 |
|
104 |
|
105 | endpointName: string;
|
106 | |
107 |
|
108 |
|
109 | startedTimeStamp: number;
|
110 | |
111 |
|
112 |
|
113 | fulfilledTimeStamp?: number;
|
114 | };
|
115 | export declare type QuerySubState<D extends BaseEndpointDefinition<any, any, any>> = Id<({
|
116 | status: QueryStatus.fulfilled;
|
117 | } & WithRequiredProp<BaseQuerySubState<D>, 'data' | 'fulfilledTimeStamp'> & {
|
118 | error: undefined;
|
119 | }) | ({
|
120 | status: QueryStatus.pending;
|
121 | } & BaseQuerySubState<D>) | ({
|
122 | status: QueryStatus.rejected;
|
123 | } & WithRequiredProp<BaseQuerySubState<D>, 'error'>) | {
|
124 | status: QueryStatus.uninitialized;
|
125 | originalArgs?: undefined;
|
126 | data?: undefined;
|
127 | error?: undefined;
|
128 | requestId?: undefined;
|
129 | endpointName?: string;
|
130 | startedTimeStamp?: undefined;
|
131 | fulfilledTimeStamp?: undefined;
|
132 | }>;
|
133 | declare type BaseMutationSubState<D extends BaseEndpointDefinition<any, any, any>> = {
|
134 | data?: ResultTypeFrom<D>;
|
135 | error?: SerializedError | (D extends MutationDefinition<any, infer BaseQuery, any, any> ? BaseQueryError<BaseQuery> : never);
|
136 | endpointName: string;
|
137 | startedTimeStamp: number;
|
138 | fulfilledTimeStamp?: number;
|
139 | };
|
140 | export declare type MutationSubState<D extends BaseEndpointDefinition<any, any, any>> = (({
|
141 | status: QueryStatus.fulfilled;
|
142 | } & WithRequiredProp<BaseMutationSubState<D>, 'data' | 'fulfilledTimeStamp'>) & {
|
143 | error: undefined;
|
144 | }) | (({
|
145 | status: QueryStatus.pending;
|
146 | } & BaseMutationSubState<D>) & {
|
147 | data?: undefined;
|
148 | }) | ({
|
149 | status: QueryStatus.rejected;
|
150 | } & WithRequiredProp<BaseMutationSubState<D>, 'error'>) | {
|
151 | status: QueryStatus.uninitialized;
|
152 | data?: undefined;
|
153 | error?: undefined;
|
154 | endpointName?: string;
|
155 | startedTimeStamp?: undefined;
|
156 | fulfilledTimeStamp?: undefined;
|
157 | };
|
158 | export declare type CombinedState<D extends EndpointDefinitions, E extends string, ReducerPath extends string> = {
|
159 | queries: QueryState<D>;
|
160 | mutations: MutationState<D>;
|
161 | provided: InvalidationState<E>;
|
162 | subscriptions: SubscriptionState;
|
163 | config: ConfigState<ReducerPath>;
|
164 | };
|
165 | export declare type InvalidationState<TagTypes extends string> = {
|
166 | [_ in TagTypes]: {
|
167 | [id: string]: Array<QueryCacheKey>;
|
168 | [id: number]: Array<QueryCacheKey>;
|
169 | };
|
170 | };
|
171 | export declare type QueryState<D extends EndpointDefinitions> = {
|
172 | [queryCacheKey: string]: QuerySubState<D[string]> | undefined;
|
173 | };
|
174 | export declare type SubscriptionState = {
|
175 | [queryCacheKey: string]: Subscribers | undefined;
|
176 | };
|
177 | export declare type ConfigState<ReducerPath> = RefetchConfigOptions & {
|
178 | reducerPath: ReducerPath;
|
179 | online: boolean;
|
180 | focused: boolean;
|
181 | middlewareRegistered: boolean | 'conflict';
|
182 | } & ModifiableConfigState;
|
183 | export declare type ModifiableConfigState = {
|
184 | keepUnusedDataFor: number;
|
185 | } & RefetchConfigOptions;
|
186 | export declare type MutationState<D extends EndpointDefinitions> = {
|
187 | [requestId: string]: MutationSubState<D[string]> | undefined;
|
188 | };
|
189 | export declare type RootState<Definitions extends EndpointDefinitions, TagTypes extends string, ReducerPath extends string> = {
|
190 | [P in ReducerPath]: CombinedState<Definitions, TagTypes, P>;
|
191 | };
|
192 | export {};
|