@ethlete/query 6.0.0-next.33 → 6.0.0-next.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/fesm2022/ethlete-query.mjs +955 -256
- package/fesm2022/ethlete-query.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ethlete-query.d.ts +393 -104
package/types/ethlete-query.d.ts
CHANGED
|
@@ -151,6 +151,56 @@ type ShouldRetryRequestResult = {
|
|
|
151
151
|
delay: number;
|
|
152
152
|
};
|
|
153
153
|
type ShouldRetryRequestFn = (options: ShouldRetryRequestOptions) => ShouldRetryRequestResult;
|
|
154
|
+
/** @see createDefaultRetryFn */
|
|
155
|
+
type DefaultRetryOptions = {
|
|
156
|
+
/**
|
|
157
|
+
* How many times a failed request is retried before its error is handed to the caller.
|
|
158
|
+
*
|
|
159
|
+
* `0` retries indefinitely, which is only ever right for a request nothing renders: a query that
|
|
160
|
+
* never stops retrying never resolves to an error, so it stays `loading()` for as long as the
|
|
161
|
+
* server stays down and the UI has nothing to show but a spinner.
|
|
162
|
+
*
|
|
163
|
+
* @default 3
|
|
164
|
+
*/
|
|
165
|
+
maxAttempts?: number;
|
|
166
|
+
/** The delay doubles per retry, starting at twice this. @default 1000 */
|
|
167
|
+
baseDelayMs?: number;
|
|
168
|
+
/** Upper bound of every delay, including one a `retry-after` header asked for. @default 30000 */
|
|
169
|
+
maxDelayMs?: number;
|
|
170
|
+
/**
|
|
171
|
+
* How far the delay is spread randomly around its computed value, as a fraction of it: `0.25` picks
|
|
172
|
+
* a delay between 0.75x and 1.25x. Keeps the tabs that failed together from retrying together.
|
|
173
|
+
* `0` makes the backoff exact. A delay a `retry-after` header named is never jittered.
|
|
174
|
+
*
|
|
175
|
+
* @default 0.25
|
|
176
|
+
*/
|
|
177
|
+
jitter?: number;
|
|
178
|
+
/**
|
|
179
|
+
* Which response statuses are worth retrying, replacing the defaults rather than adding to them.
|
|
180
|
+
* A connection failure is status `0`.
|
|
181
|
+
*
|
|
182
|
+
* @default a connection failure (`0`), `408`, `425`, `429`, and every 5xx above `500`
|
|
183
|
+
*/
|
|
184
|
+
retryableStatusCodes?: number[];
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Builds a retry policy: an exponentially backing off, jittered {@link ShouldRetryRequestFn} bounded by
|
|
188
|
+
* an attempt ceiling. What {@link withDefaultRetry} installs - reach for this directly to hand a single
|
|
189
|
+
* client or creator its own `retryFn`.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* const flakyEndpointRetry = createDefaultRetryFn({ maxAttempts: 8, maxDelayMs: 10_000 });
|
|
193
|
+
*
|
|
194
|
+
* const getReport = myApiGet<GetReportArgs>('/report').clone({ retryFn: flakyEndpointRetry });
|
|
195
|
+
*/
|
|
196
|
+
declare const createDefaultRetryFn: (options?: DefaultRetryOptions) => ShouldRetryRequestFn;
|
|
197
|
+
/**
|
|
198
|
+
* The SDK's default retry policy, installed by {@link withDefaultRetry}: three retries with an
|
|
199
|
+
* exponentially backing off, jittered delay, for a connection failure, a `408`, a `425`, a `429`
|
|
200
|
+
* (honouring `retry-after`) and a 5xx above `500`.
|
|
201
|
+
*
|
|
202
|
+
* Pass {@link createDefaultRetryFn} options to {@link withDefaultRetry} to configure it.
|
|
203
|
+
*/
|
|
154
204
|
declare const shouldRetryRequest: (options: ShouldRetryRequestOptions | HttpErrorResponse) => ShouldRetryRequestResult;
|
|
155
205
|
|
|
156
206
|
type QueryErrorResponseList = {
|
|
@@ -205,6 +255,11 @@ declare const setupQueryExecuteState: () => QueryExecuteState;
|
|
|
205
255
|
type RunQueryExecuteOptions = {
|
|
206
256
|
allowCache?: boolean;
|
|
207
257
|
triggeredBy?: string;
|
|
258
|
+
/**
|
|
259
|
+
* Overrides the creator's (and the client's) `keepUnusedFor` for this execution. Only read while the
|
|
260
|
+
* cache entry is being created: an entry that already exists keeps the retention it was created with.
|
|
261
|
+
*/
|
|
262
|
+
keepUnusedFor?: number;
|
|
208
263
|
};
|
|
209
264
|
type QueryExecuteOptions<TArgs extends QueryArgs> = {
|
|
210
265
|
executeOptions: CreateQueryExecuteOptions<TArgs>;
|
|
@@ -985,16 +1040,11 @@ type InternalQueryExecute<TArgs extends QueryArgs> = {
|
|
|
985
1040
|
type QueryExecute<TArgs extends QueryArgs> = (executeArgs?: QueryExecuteArgs<TArgs>) => void;
|
|
986
1041
|
declare const createExecuteFn: <TArgs extends QueryArgs>(executeOptions: CreateQueryExecuteOptions<TArgs>) => InternalQueryExecute<TArgs>;
|
|
987
1042
|
|
|
988
|
-
/**
|
|
989
|
-
* Returning this inside a withArgs feature will reset the query args to null.
|
|
990
|
-
* This will also pause polling and auto refresh until new args are set.
|
|
991
|
-
*/
|
|
992
|
-
declare const CLEAR_QUERY_ARGS: unique symbol;
|
|
993
|
-
type ClearQueryArgs = typeof CLEAR_QUERY_ARGS;
|
|
994
1043
|
/** A angular effect that can be nested inside another effect */
|
|
995
1044
|
declare const nestedEffect: (fn: () => void, options?: CreateEffectOptions) => _angular_core.EffectRef;
|
|
996
1045
|
type QueryFeatureFlags = {
|
|
997
1046
|
hasWithArgsFeature: boolean;
|
|
1047
|
+
hasPollingFeature: boolean;
|
|
998
1048
|
shouldAutoExecuteMethod: boolean;
|
|
999
1049
|
shouldAutoExecute: boolean;
|
|
1000
1050
|
hasRouteFunction: boolean;
|
|
@@ -1010,6 +1060,7 @@ declare const QueryFeatureType: {
|
|
|
1010
1060
|
readonly WITH_ERROR_HANDLING: "WITH_ERROR_HANDLING";
|
|
1011
1061
|
readonly WITH_SUCCESS_HANDLING: "WITH_SUCCESS_HANDLING";
|
|
1012
1062
|
readonly WITH_POLLING: "WITH_POLLING";
|
|
1063
|
+
readonly WITH_LONG_POLLING: "WITH_LONG_POLLING";
|
|
1013
1064
|
readonly WITH_AUTO_REFRESH: "WITH_AUTO_REFRESH";
|
|
1014
1065
|
readonly WITH_RESPONSE_UPDATE: "WITH_RESPONSE_UPDATE";
|
|
1015
1066
|
readonly WITH_PAGE_RESET_ON_ERROR: "WITH_PAGE_RESET_ON_ERROR";
|
|
@@ -1037,12 +1088,12 @@ declare const createQueryFeature: <TArgs extends QueryArgs>(config: {
|
|
|
1037
1088
|
* A query feature that allows you to set the arguments of the query.
|
|
1038
1089
|
* The arguments are read within a computed function, so you can use reactive values.
|
|
1039
1090
|
*
|
|
1040
|
-
*
|
|
1041
|
-
*
|
|
1091
|
+
* Return `null` to park the query: its args are reset to `null`, and polling and auto refresh
|
|
1092
|
+
* pause until args are set again.
|
|
1042
1093
|
*
|
|
1043
1094
|
* Changing arguments will automatically trigger a new execution of the query if it is eligible for auto execution (e.g. a GET request).
|
|
1044
1095
|
*/
|
|
1045
|
-
declare const withArgs: <TArgs extends QueryArgs>(args: () => NoInfer<RequestArgs<TArgs>> |
|
|
1096
|
+
declare const withArgs: <TArgs extends QueryArgs>(args: () => NoInfer<RequestArgs<TArgs>> | null) => QueryFeature<TArgs>;
|
|
1046
1097
|
type WithPollingFeatureOptions = {
|
|
1047
1098
|
/** The interval in milliseconds at which the query should be executed */
|
|
1048
1099
|
interval: number;
|
|
@@ -1067,6 +1118,60 @@ type WithPollingFeatureOptions = {
|
|
|
1067
1118
|
* @throws If the query is not eligible for auto execution (e.g. a POST request)
|
|
1068
1119
|
*/
|
|
1069
1120
|
declare const withPolling: <TArgs extends QueryArgs>(options: WithPollingFeatureOptions) => QueryFeature<TArgs>;
|
|
1121
|
+
type WithLongPollingFeatureOptions<TArgs extends QueryArgs> = {
|
|
1122
|
+
/**
|
|
1123
|
+
* Derives the next round's args from the round that just settled - typically a cursor read off the
|
|
1124
|
+
* response. `response` is `null` when the server answered without a body (a `204` on timeout).
|
|
1125
|
+
* Return `null` to end the chain; only a new `withArgs` value or a manual `execute()` starts it again.
|
|
1126
|
+
*/
|
|
1127
|
+
nextArgs: (response: ResponseType<TArgs> | null, args: RequestArgs<TArgs> | null) => NoInfer<RequestArgs<TArgs>> | null;
|
|
1128
|
+
/**
|
|
1129
|
+
* The pause between one round settling and the next starting, in milliseconds. A server that already
|
|
1130
|
+
* has data answers a long poll immediately, so this is what keeps a busy feed from becoming a hot
|
|
1131
|
+
* request loop.
|
|
1132
|
+
* @default 250
|
|
1133
|
+
*/
|
|
1134
|
+
delay?: number;
|
|
1135
|
+
/**
|
|
1136
|
+
* How long to wait before repeating a round that failed, in milliseconds. Doubles with every
|
|
1137
|
+
* consecutive failure up to {@link WithLongPollingFeatureOptions.maxErrorDelay}, and resets on the
|
|
1138
|
+
* next success.
|
|
1139
|
+
* @default 1000
|
|
1140
|
+
*/
|
|
1141
|
+
errorDelay?: number;
|
|
1142
|
+
/** The ceiling for the doubling `errorDelay`, in milliseconds. @default 30000 */
|
|
1143
|
+
maxErrorDelay?: number;
|
|
1144
|
+
/**
|
|
1145
|
+
* How many consecutive failures end the chain. The query keeps its error, and only a new `withArgs`
|
|
1146
|
+
* value or a manual `execute()` starts it again.
|
|
1147
|
+
* @default 10
|
|
1148
|
+
*/
|
|
1149
|
+
stopAfterErrors?: number;
|
|
1150
|
+
};
|
|
1151
|
+
/**
|
|
1152
|
+
* A query feature for long polling: a chain of requests where each round starts once the previous one
|
|
1153
|
+
* settled, with args derived from what it returned. Unlike {@link withPolling} there is no interval -
|
|
1154
|
+
* the server decides the cadence by holding each request open until it has something to say.
|
|
1155
|
+
*
|
|
1156
|
+
* A failed round is repeated after a growing delay, so a transient failure does not silently end the
|
|
1157
|
+
* feed. A new value from the `withArgs` source cancels the pending round and starts over from it.
|
|
1158
|
+
*
|
|
1159
|
+
* Rounds do not share the cache: each one is requested with `keepUnusedFor: 0`, because a cursor is
|
|
1160
|
+
* asked for once and never again. They are also not deduped across tabs - `withMultiTabSync` elects a
|
|
1161
|
+
* poller per cache key, and a chain's key moves with every round.
|
|
1162
|
+
*
|
|
1163
|
+
* @example
|
|
1164
|
+
* const events = getEvents(
|
|
1165
|
+
* withArgs(() => ({ queryParams: { cursor: null } })),
|
|
1166
|
+
* withLongPolling({
|
|
1167
|
+
* nextArgs: (response) => (response ? { queryParams: { cursor: response.cursor } } : null),
|
|
1168
|
+
* }),
|
|
1169
|
+
* );
|
|
1170
|
+
*
|
|
1171
|
+
* @throws If the query is not eligible for auto execution (e.g. a POST request)
|
|
1172
|
+
* @throws If the query also has a `withPolling` feature
|
|
1173
|
+
*/
|
|
1174
|
+
declare const withLongPolling: <TArgs extends QueryArgs>(options: WithLongPollingFeatureOptions<TArgs>) => QueryFeature<TArgs>;
|
|
1070
1175
|
type WithLoggingFeatureOptions<TArgs extends QueryArgs> = {
|
|
1071
1176
|
/** A function that will be called with the latest http event */
|
|
1072
1177
|
logFn: (v: RequestHttpEvent<TArgs> | null) => void;
|
|
@@ -2011,10 +2116,9 @@ declare const withHtmlErrorParsing: () => QueryClientFeatureFn;
|
|
|
2011
2116
|
*/
|
|
2012
2117
|
declare const withSymfonyErrors: () => QueryClientFeatureFn;
|
|
2013
2118
|
/**
|
|
2014
|
-
* Installs the SDK's default retry policy for every request that does not bring its own `retryFn`:
|
|
2015
|
-
*
|
|
2016
|
-
*
|
|
2017
|
-
* page.
|
|
2119
|
+
* Installs the SDK's default retry policy for every request that does not bring its own `retryFn`: a
|
|
2120
|
+
* connection failure, a 5xx above 500, a 408/425 and a 429 (honouring `retry-after`) are retried three
|
|
2121
|
+
* times with an exponentially backing off, jittered delay - and a Pagerfanta out-of-range page never is.
|
|
2018
2122
|
*
|
|
2019
2123
|
* Without it nothing is retried automatically and `error.retryState` always reads `{ retry: false }`.
|
|
2020
2124
|
* A per-client or per-creator `retryFn` keeps working either way.
|
|
@@ -2023,10 +2127,10 @@ declare const withSymfonyErrors: () => QueryClientFeatureFn;
|
|
|
2023
2127
|
* const MY_CLIENT = createQueryClient({
|
|
2024
2128
|
* name: 'my-api',
|
|
2025
2129
|
* baseUrl: 'https://api.example.com',
|
|
2026
|
-
* features: [withDefaultRetry()],
|
|
2130
|
+
* features: [withDefaultRetry({ maxAttempts: 5 })],
|
|
2027
2131
|
* });
|
|
2028
2132
|
*/
|
|
2029
|
-
declare const withDefaultRetry: () => QueryClientFeatureFn;
|
|
2133
|
+
declare const withDefaultRetry: (options?: DefaultRetryOptions) => QueryClientFeatureFn;
|
|
2030
2134
|
/**
|
|
2031
2135
|
* Everything the error pipeline used to do before it became opt-in: {@link withHtmlErrorParsing},
|
|
2032
2136
|
* {@link withSymfonyErrors} and {@link withDefaultRetry} in one feature. The soft landing for an app
|
|
@@ -2042,7 +2146,9 @@ declare const withDefaultRetry: () => QueryClientFeatureFn;
|
|
|
2042
2146
|
* features: [withEthleteApiErrors()],
|
|
2043
2147
|
* });
|
|
2044
2148
|
*/
|
|
2045
|
-
declare const withEthleteApiErrors: (
|
|
2149
|
+
declare const withEthleteApiErrors: (options?: {
|
|
2150
|
+
retry?: DefaultRetryOptions;
|
|
2151
|
+
}) => QueryClientFeatureFn;
|
|
2046
2152
|
|
|
2047
2153
|
type CacheAdapterFn = (headers: HttpHeaders) => number | null;
|
|
2048
2154
|
type CreateQueryClientConfigOptions = {
|
|
@@ -2369,6 +2475,12 @@ type HttpRequestSubtle<TArgs extends QueryArgs> = {
|
|
|
2369
2475
|
* access token to be available.
|
|
2370
2476
|
*/
|
|
2371
2477
|
resolveHeaders: () => HttpHeaders | undefined;
|
|
2478
|
+
/**
|
|
2479
|
+
* The headers the most recent execution actually went out with. Unlike {@link resolveHeaders} it
|
|
2480
|
+
* does not re-resolve the header providers, so after a token refresh it still reports the token
|
|
2481
|
+
* the request was sent with. `undefined` until the first execution.
|
|
2482
|
+
*/
|
|
2483
|
+
lastSentHeaders: () => HttpHeaders | undefined;
|
|
2372
2484
|
/**
|
|
2373
2485
|
* How many HTTP attempts the current execution has made, counting from 1. Anything above that is the
|
|
2374
2486
|
* retry policy having fired. Reset by the next execution, so it keeps reading `3` after a request
|
|
@@ -2384,6 +2496,15 @@ type HttpRequestSubtle<TArgs extends QueryArgs> = {
|
|
|
2384
2496
|
* this request spent any time on.
|
|
2385
2497
|
*/
|
|
2386
2498
|
lastDurationMs: Signal<number | null>;
|
|
2499
|
+
/**
|
|
2500
|
+
* Cancels what the request currently has in flight - including a retry it is waiting out - without
|
|
2501
|
+
* tearing it down: the response, error and freshness window it already holds are kept, and a later
|
|
2502
|
+
* {@link HttpRequest.execute} runs as usual. Returns whether anything was in flight.
|
|
2503
|
+
*
|
|
2504
|
+
* What an entry retained without consumers does, so a revalidation nobody is waiting for stops
|
|
2505
|
+
* instead of retrying into an empty room.
|
|
2506
|
+
*/
|
|
2507
|
+
abort: () => boolean;
|
|
2387
2508
|
};
|
|
2388
2509
|
type HttpRequest<TArgs extends QueryArgs> = {
|
|
2389
2510
|
/** The HTTP method of the request. */
|
|
@@ -2991,6 +3112,8 @@ declare const QueryRuntimeErrorCode: {
|
|
|
2991
3112
|
readonly WITH_AUTO_REFRESH_USED_ON_UNSUPPORTED_HTTP_METHOD: 102;
|
|
2992
3113
|
readonly WITH_AUTO_REFRESH_USED_IN_MANUAL_QUERY: 103;
|
|
2993
3114
|
readonly SILENCE_MISSING_WITH_ARGS_FEATURE_ERROR_USED_BUT_WITH_ARGS_PRESENT: 104;
|
|
3115
|
+
readonly WITH_LONG_POLLING_USED_ON_UNSUPPORTED_HTTP_METHOD: 105;
|
|
3116
|
+
readonly WITH_LONG_POLLING_USED_WITH_POLLING: 106;
|
|
2994
3117
|
readonly AUTH_EXTRACT_TOKENS_RESPONSE_NOT_OBJECT: 200;
|
|
2995
3118
|
readonly AUTH_EXTRACT_TOKENS_RESPONSE_MISSING_ACCESS_TOKEN: 201;
|
|
2996
3119
|
readonly AUTH_EXTRACT_TOKENS_RESPONSE_MISSING_REFRESH_TOKEN: 202;
|
|
@@ -3021,6 +3144,8 @@ declare const withArgsQueryFeatureMissingButRouteIsFunction: () => RuntimeError<
|
|
|
3021
3144
|
declare const withPollingUsedOnUnsupportedHttpMethod: (method: string) => RuntimeError<101>;
|
|
3022
3145
|
declare const withAutoRefreshUsedOnUnsupportedHttpMethod: (method: string) => RuntimeError<102>;
|
|
3023
3146
|
declare const withAutoRefreshUsedInManualQuery: () => RuntimeError<103>;
|
|
3147
|
+
declare const withLongPollingUsedOnUnsupportedHttpMethod: (method: string) => RuntimeError<105>;
|
|
3148
|
+
declare const withLongPollingUsedWithPolling: () => RuntimeError<106>;
|
|
3024
3149
|
declare const silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent: () => RuntimeError<104>;
|
|
3025
3150
|
declare const authExtractTokensResponseNotObject: () => RuntimeError<200>;
|
|
3026
3151
|
declare const authExtractTokensResponseMissingAccessToken: () => RuntimeError<201>;
|
|
@@ -3526,9 +3651,12 @@ type TokenRefreshQueryConfig<TArgs extends QueryArgs> = AuthQueryConfig<TArgs> &
|
|
|
3526
3651
|
* Minimum interval between the *proactive* refreshes the expiry timer schedules, in milliseconds.
|
|
3527
3652
|
* Prevents rapid refresh loops in case of issues.
|
|
3528
3653
|
*
|
|
3529
|
-
* A refresh a 401 asked for is
|
|
3530
|
-
* refresh is exactly when the request must go out. Those are
|
|
3531
|
-
* in flight at a time
|
|
3654
|
+
* A refresh a 401 asked for is not throttled by this - a token revoked seconds after a proactive
|
|
3655
|
+
* refresh is exactly when the request must go out. Those are kept in check differently: one
|
|
3656
|
+
* refresh is in flight at a time, a 401 from a request that went out with an older access token
|
|
3657
|
+
* refreshes nothing (the refresh it is asking for already happened), and once a whole streak of
|
|
3658
|
+
* them runs back to back - every fresh token 401ing again, with no secure request succeeding in
|
|
3659
|
+
* between - further ones fall back to this interval.
|
|
3532
3660
|
*
|
|
3533
3661
|
* @default 30000 (30 seconds)
|
|
3534
3662
|
*/
|
|
@@ -3639,7 +3767,8 @@ type InactivityLogoutFeature = {
|
|
|
3639
3767
|
*/
|
|
3640
3768
|
disable: () => void;
|
|
3641
3769
|
/**
|
|
3642
|
-
*
|
|
3770
|
+
* Mark the user as active: postpones the logout and, with multi-tab sync on, postpones it in the
|
|
3771
|
+
* session's other tabs too.
|
|
3643
3772
|
*/
|
|
3644
3773
|
resetTimer: () => void;
|
|
3645
3774
|
/**
|
|
@@ -3651,6 +3780,23 @@ type InactivityLogoutFeature = {
|
|
|
3651
3780
|
*/
|
|
3652
3781
|
calculateTimeUntilLogout: () => number | null;
|
|
3653
3782
|
};
|
|
3783
|
+
/**
|
|
3784
|
+
* Ends the session once the user has been inactive for {@link InactivityLogoutConfig.inactivityTimeout},
|
|
3785
|
+
* with `sessionEndCause` reporting `'inactivity'`.
|
|
3786
|
+
*
|
|
3787
|
+
* Idleness is a property of the session, not of a tab: with `withBearerAuthMultiTabSync` on, tabs tell
|
|
3788
|
+
* each other about activity, so the tab the user is typing in keeps the forgotten one from logging
|
|
3789
|
+
* everybody out. Without it - or with `syncLogout: false`, where a logout stays in the tab that
|
|
3790
|
+
* decided it - each tab times out on its own.
|
|
3791
|
+
*
|
|
3792
|
+
* @example
|
|
3793
|
+
* export const AUTH_PROVIDER = createBearerAuthProvider({
|
|
3794
|
+
* name: 'my-auth',
|
|
3795
|
+
* queryClientRef: MY_CLIENT,
|
|
3796
|
+
* queries: [loginQuery, refreshQuery],
|
|
3797
|
+
* features: [withBearerAuthMultiTabSync(), withInactivityLogout({ inactivityTimeout: 5 * 60 * 1000 })],
|
|
3798
|
+
* });
|
|
3799
|
+
*/
|
|
3654
3800
|
declare const withInactivityLogout: <TBuilders extends readonly AnyQueryBuilder[]>(config?: InactivityLogoutConfig) => (context: BearerAuthProviderFeatureContext<unknown, TBuilders>) => {
|
|
3655
3801
|
type: "INACTIVITY_LOGOUT";
|
|
3656
3802
|
instance: InactivityLogoutFeature;
|
|
@@ -3977,6 +4123,17 @@ declare const withTracking: <TBuilders extends readonly AnyQueryBuilder[]>(confi
|
|
|
3977
4123
|
};
|
|
3978
4124
|
declare const createTrackingFeature: <TBuilders extends readonly AnyQueryBuilder[]>(context: BearerAuthProviderFeatureContext<unknown, TBuilders>, config?: TrackingConfig<TBuilders>) => TrackingFeature<TBuilders>;
|
|
3979
4125
|
|
|
4126
|
+
/**
|
|
4127
|
+
* The join handshake, from the joining tab's side: it asked for the session and is holding anything
|
|
4128
|
+
* that would start a competing one until the answer arrives, or the wait runs out.
|
|
4129
|
+
*/
|
|
4130
|
+
type BearerAuthSessionAdoption = {
|
|
4131
|
+
/** Whether the answer is still outstanding. `false` once tokens arrived, or the wait elapsed. */
|
|
4132
|
+
isPending: () => boolean;
|
|
4133
|
+
/** Resolves when tokens arrived or the wait elapsed - never rejects, and never waits forever. */
|
|
4134
|
+
settled: Promise<void>;
|
|
4135
|
+
};
|
|
4136
|
+
|
|
3980
4137
|
type BearerAuthExecutionStateLoading<TType extends string = string> = {
|
|
3981
4138
|
type: TType;
|
|
3982
4139
|
state: 'loading';
|
|
@@ -4074,6 +4231,16 @@ type BearerAuthRefreshCoordination = {
|
|
|
4074
4231
|
/** Emits in the leader tab whenever another tab asked for a refresh. */
|
|
4075
4232
|
requests$: Observable<void>;
|
|
4076
4233
|
};
|
|
4234
|
+
/**
|
|
4235
|
+
* How the tabs of one session keep a single idea of when the user was last active. Contributed by
|
|
4236
|
+
* `withBearerAuthMultiTabSync`; absent when a tab's idleness is nobody else's business.
|
|
4237
|
+
*/
|
|
4238
|
+
type BearerAuthActivityCoordination = {
|
|
4239
|
+
/** Tells the other tabs the user did something here. */
|
|
4240
|
+
announce: () => void;
|
|
4241
|
+
/** Emits whenever another tab announced activity. Never echoes this tab's own. */
|
|
4242
|
+
activity$: Observable<void>;
|
|
4243
|
+
};
|
|
4077
4244
|
/** The parts of the provider an early setup can contribute. */
|
|
4078
4245
|
type BearerAuthProviderEarlySetupResult = {
|
|
4079
4246
|
isLeader?: () => boolean;
|
|
@@ -4082,6 +4249,8 @@ type BearerAuthProviderEarlySetupResult = {
|
|
|
4082
4249
|
instanceCount: Signal<number>;
|
|
4083
4250
|
};
|
|
4084
4251
|
refreshCoordination?: BearerAuthRefreshCoordination;
|
|
4252
|
+
sessionAdoption?: BearerAuthSessionAdoption;
|
|
4253
|
+
activityCoordination?: BearerAuthActivityCoordination;
|
|
4085
4254
|
};
|
|
4086
4255
|
/**
|
|
4087
4256
|
* A feature builder that additionally runs before the auth queries are set up. The auth queries read
|
|
@@ -4245,12 +4414,27 @@ type BearerAuthProviderFeatureContext<TBearerData = unknown, TBuilders extends r
|
|
|
4245
4414
|
isLeader: Signal<boolean>;
|
|
4246
4415
|
instanceCount: Signal<number>;
|
|
4247
4416
|
};
|
|
4417
|
+
/**
|
|
4418
|
+
* The join handshake a tab runs at startup when multi-tab sync is on: it asked the leader for the
|
|
4419
|
+
* live session, and `withPersistentAuth` holds its cookie auto-login until the answer arrives, so a
|
|
4420
|
+
* second tab adopts the session instead of spending a refresh token on one of its own. Absent when
|
|
4421
|
+
* there is nothing to adopt - no sync, no `BroadcastChannel`, or tokens deliberately tab-local.
|
|
4422
|
+
*/
|
|
4423
|
+
sessionAdoption?: BearerAuthSessionAdoption;
|
|
4424
|
+
/**
|
|
4425
|
+
* How the tabs of this session share when the user was last active, so a feature that ends the
|
|
4426
|
+
* session on idleness ends it on the _session_ being idle rather than on this tab being idle.
|
|
4427
|
+
* Absent when no other tab is listening - no sync, no `BroadcastChannel`, or a tab-local logout.
|
|
4428
|
+
*/
|
|
4429
|
+
activityCoordination?: BearerAuthActivityCoordination;
|
|
4248
4430
|
queries: QueryRegistry<TBuilders>;
|
|
4249
4431
|
executionState: WritableSignal<BearerAuthExecutionState | null>;
|
|
4250
4432
|
sessionStatus: Signal<BearerAuthSessionStatus>;
|
|
4251
4433
|
sessionEndCause: Signal<BearerAuthSessionEndCause | null>;
|
|
4252
4434
|
};
|
|
4253
4435
|
type BearerAuthProviderQueryContext<TBearerData = unknown, TBuilders extends readonly AnyQueryBuilder[] = readonly AnyQueryBuilder[]> = {
|
|
4436
|
+
/** The provider's own name, as `createBearerAuthProvider({ name })` was given it. */
|
|
4437
|
+
name: string;
|
|
4254
4438
|
accessToken: WritableSignal<string | null>;
|
|
4255
4439
|
refreshToken: WritableSignal<string | null>;
|
|
4256
4440
|
bearerDecryptFn: ((token: string) => TBearerData) | undefined;
|
|
@@ -4389,6 +4573,90 @@ declare const setQueryDevtoolsAppInfo: (info: QueryDevtoolsAppInfo | undefined)
|
|
|
4389
4573
|
*/
|
|
4390
4574
|
declare const queryDevtoolsAbout: () => QueryDevtoolsAbout;
|
|
4391
4575
|
|
|
4576
|
+
/**
|
|
4577
|
+
* Where one kind of devtools state is kept between page loads. `none` means it is not kept at all -
|
|
4578
|
+
* what that costs differs per kind, which is why every kind picks its own.
|
|
4579
|
+
*/
|
|
4580
|
+
type QueryDevtoolsStorageScope = 'none' | 'session' | 'local';
|
|
4581
|
+
/**
|
|
4582
|
+
* The devtools' own configuration: where each kind of panel state is kept, and the limits the panel
|
|
4583
|
+
* would otherwise hold as constants. Read it as {@link queryDevtoolsSettings}, change it with
|
|
4584
|
+
* {@link setQueryDevtoolsSettings}.
|
|
4585
|
+
*/
|
|
4586
|
+
type QueryDevtoolsSettings = {
|
|
4587
|
+
/** Panel chrome and view state: dock, sizes, open tab, filters, selections. */
|
|
4588
|
+
viewState: QueryDevtoolsStorageScope;
|
|
4589
|
+
/** The entry ids sorted to the top of the Queries list. */
|
|
4590
|
+
pins: QueryDevtoolsStorageScope;
|
|
4591
|
+
/**
|
|
4592
|
+
* Armed response overrides, replayed as queries register on the next load. `none` by default: an app
|
|
4593
|
+
* that stays tampered with across reloads is hours of debugging the wrong thing.
|
|
4594
|
+
*/
|
|
4595
|
+
overrides: QueryDevtoolsStorageScope;
|
|
4596
|
+
/** The library of designed mocks - the authoring, not whether any of them is armed. */
|
|
4597
|
+
mocks: QueryDevtoolsStorageScope;
|
|
4598
|
+
/**
|
|
4599
|
+
* Which mocks are **armed**, as opposed to the library above. `none` by default: an app that silently
|
|
4600
|
+
* serves designed data tomorrow morning is worse than arming them again, so keeping them is a choice
|
|
4601
|
+
* someone makes rather than the way the panel ships.
|
|
4602
|
+
*/
|
|
4603
|
+
armedMocks: QueryDevtoolsStorageScope;
|
|
4604
|
+
/** The faults armed per client, for the same reason and with the same default. */
|
|
4605
|
+
armedFaults: QueryDevtoolsStorageScope;
|
|
4606
|
+
/** How many entries the Events log keeps. */
|
|
4607
|
+
maxEvents: number;
|
|
4608
|
+
/** How many dropped cache entries the Cache tab remembers, per client. */
|
|
4609
|
+
maxDroppedCacheEntries: number;
|
|
4610
|
+
/**
|
|
4611
|
+
* How many bodies each query retains, overriding `provideQueryDevtools({ responseHistory })` for the
|
|
4612
|
+
* rest of this page. `null` leaves the application's value alone.
|
|
4613
|
+
*/
|
|
4614
|
+
responseHistory: number | null;
|
|
4615
|
+
};
|
|
4616
|
+
/**
|
|
4617
|
+
* How the devtools are configured. Every consumer reads the live value rather than a copy, so a change
|
|
4618
|
+
* in the panel's Settings takes effect without a reload.
|
|
4619
|
+
*
|
|
4620
|
+
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4621
|
+
*/
|
|
4622
|
+
declare const queryDevtoolsSettings: Signal<QueryDevtoolsSettings>;
|
|
4623
|
+
/**
|
|
4624
|
+
* The `Storage` a scope names, or `null` for `none` and for a browser that refuses one (private mode,
|
|
4625
|
+
* storage disabled, server-side rendering). Callers treat "no storage" and "not persisted" alike.
|
|
4626
|
+
*
|
|
4627
|
+
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4628
|
+
*/
|
|
4629
|
+
declare const queryDevtoolsStorage: (scope: QueryDevtoolsStorageScope) => Storage | null;
|
|
4630
|
+
/**
|
|
4631
|
+
* Reads one JSON-encoded devtools key from the store a scope names, or `null`.
|
|
4632
|
+
*
|
|
4633
|
+
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4634
|
+
*/
|
|
4635
|
+
declare const readQueryDevtoolsStore: <T>(scope: QueryDevtoolsStorageScope, key: string) => T | null;
|
|
4636
|
+
/**
|
|
4637
|
+
* Writes one devtools key into the store a scope names. A scope of `none` writes nothing.
|
|
4638
|
+
*
|
|
4639
|
+
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4640
|
+
*/
|
|
4641
|
+
declare const writeQueryDevtoolsStore: (scope: QueryDevtoolsStorageScope, key: string, value: unknown) => void;
|
|
4642
|
+
/**
|
|
4643
|
+
* Removes one devtools key from **both** stores, whatever the scope currently is - so a scope that
|
|
4644
|
+
* changed cannot leave a stale copy behind for the next load to read.
|
|
4645
|
+
*
|
|
4646
|
+
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4647
|
+
*/
|
|
4648
|
+
declare const clearQueryDevtoolsStore: (key: string) => void;
|
|
4649
|
+
/**
|
|
4650
|
+
* Changes part of the devtools configuration and stores it. Values outside the range a field allows are
|
|
4651
|
+
* clamped rather than rejected.
|
|
4652
|
+
*
|
|
4653
|
+
* Overrides are the one field not to set here: their scope moves an existing store, so it goes through
|
|
4654
|
+
* `setQueryDevtoolsOverridesScope()` instead.
|
|
4655
|
+
*
|
|
4656
|
+
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4657
|
+
*/
|
|
4658
|
+
declare const setQueryDevtoolsSettings: (patch: Partial<QueryDevtoolsSettings>) => void;
|
|
4659
|
+
|
|
4392
4660
|
/**
|
|
4393
4661
|
* A fault armed on one query client from the devtools panel. Unlike the panel's forced states - which
|
|
4394
4662
|
* write a query's signals directly - an armed fault is applied inside the request pipeline, so retries,
|
|
@@ -4424,6 +4692,17 @@ declare const QUERY_DEVTOOLS_FAULT_STATUSES: {
|
|
|
4424
4692
|
* are absent rather than present with an {@link EMPTY_QUERY_DEVTOOLS_FAULT}.
|
|
4425
4693
|
*/
|
|
4426
4694
|
declare const queryDevtoolsFaults: Signal<Record<string, QueryDevtoolsFault>>;
|
|
4695
|
+
/**
|
|
4696
|
+
* Whether what is armed right now came back from a previous page load rather than being armed by hand.
|
|
4697
|
+
* The panel's armed bar says so, because injected failures nobody remembers arming look exactly like a
|
|
4698
|
+
* broken API.
|
|
4699
|
+
*/
|
|
4700
|
+
declare const queryDevtoolsFaultsRestored: Signal<boolean>;
|
|
4701
|
+
/**
|
|
4702
|
+
* Where the armed faults are kept. Switching to a scope that keeps them stores whatever is armed right
|
|
4703
|
+
* now; switching to `none` empties the store and leaves this page's faults exactly where they are.
|
|
4704
|
+
*/
|
|
4705
|
+
declare const setQueryDevtoolsFaultsScope: (next: QueryDevtoolsStorageScope) => void;
|
|
4427
4706
|
/** Whether anything at all is armed on a fault. */
|
|
4428
4707
|
declare const isQueryDevtoolsFaultArmed: (fault: QueryDevtoolsFault) => boolean;
|
|
4429
4708
|
/**
|
|
@@ -4693,10 +4972,15 @@ type QueryDevtoolsMock = {
|
|
|
4693
4972
|
/** The designed mocks, armed or not. Persisted, because losing an hour of authoring is unacceptable. */
|
|
4694
4973
|
declare const queryDevtoolsMocks: Signal<readonly QueryDevtoolsMock[]>;
|
|
4695
4974
|
/**
|
|
4696
|
-
* The ids currently being served.
|
|
4697
|
-
* data tomorrow morning is worse than losing which mocks were armed
|
|
4975
|
+
* The ids currently being served. Not kept across page loads unless the `armedMocks` setting asks for it -
|
|
4976
|
+
* an app that silently serves designed data tomorrow morning is worse than losing which mocks were armed.
|
|
4698
4977
|
*/
|
|
4699
4978
|
declare const queryDevtoolsArmedMocks: Signal<ReadonlySet<string>>;
|
|
4979
|
+
/**
|
|
4980
|
+
* Whether what is armed right now came back from a previous page load rather than being armed by hand.
|
|
4981
|
+
* The panel's armed bar says so, because mocks nobody remembers arming look exactly like a broken API.
|
|
4982
|
+
*/
|
|
4983
|
+
declare const queryDevtoolsArmedMocksRestored: Signal<boolean>;
|
|
4700
4984
|
/**
|
|
4701
4985
|
* The identity of a designed mock: one per client, method, route **and** declared query. The query is part
|
|
4702
4986
|
* of it so `/posts?page=1` and `/posts?page=2` can hold different bodies.
|
|
@@ -4726,89 +5010,18 @@ declare const saveQueryDevtoolsMock: (mock: QueryDevtoolsMock) => void;
|
|
|
4726
5010
|
declare const deleteQueryDevtoolsMock: (id: string) => void;
|
|
4727
5011
|
/** Starts or stops serving one designed mock. Arming a mock that is not in the library does nothing. */
|
|
4728
5012
|
declare const armQueryDevtoolsMock: (id: string, isArmed: boolean) => void;
|
|
5013
|
+
/** Starts serving every mock in the library - the counterpart of {@link clearQueryDevtoolsArmedMocks}. */
|
|
5014
|
+
declare const armAllQueryDevtoolsMocks: () => void;
|
|
4729
5015
|
/** Stops serving every mock, leaving the library alone - the armed bar's one-click way out. */
|
|
4730
5016
|
declare const clearQueryDevtoolsArmedMocks: () => void;
|
|
4731
|
-
/** Empties the designed library and disarms everything - the panel's "Reset devtools". */
|
|
4732
|
-
declare const clearQueryDevtoolsMockStore: () => void;
|
|
4733
|
-
|
|
4734
|
-
/**
|
|
4735
|
-
* Where one kind of devtools state is kept between page loads. `none` means it is not kept at all -
|
|
4736
|
-
* what that costs differs per kind, which is why every kind picks its own.
|
|
4737
|
-
*/
|
|
4738
|
-
type QueryDevtoolsStorageScope = 'none' | 'session' | 'local';
|
|
4739
|
-
/**
|
|
4740
|
-
* The devtools' own configuration: where each kind of panel state is kept, and the limits the panel
|
|
4741
|
-
* would otherwise hold as constants. Read it as {@link queryDevtoolsSettings}, change it with
|
|
4742
|
-
* {@link setQueryDevtoolsSettings}.
|
|
4743
|
-
*/
|
|
4744
|
-
type QueryDevtoolsSettings = {
|
|
4745
|
-
/** Panel chrome and view state: dock, sizes, open tab, filters, selections. */
|
|
4746
|
-
viewState: QueryDevtoolsStorageScope;
|
|
4747
|
-
/** The entry ids sorted to the top of the Queries list. */
|
|
4748
|
-
pins: QueryDevtoolsStorageScope;
|
|
4749
|
-
/**
|
|
4750
|
-
* Armed response overrides, replayed as queries register on the next load. `none` by default: an app
|
|
4751
|
-
* that stays tampered with across reloads is hours of debugging the wrong thing.
|
|
4752
|
-
*/
|
|
4753
|
-
overrides: QueryDevtoolsStorageScope;
|
|
4754
|
-
/**
|
|
4755
|
-
* The library of designed mocks - the authoring, not whether any of them is armed. Whether one is
|
|
4756
|
-
* served is never persisted at any scope.
|
|
4757
|
-
*/
|
|
4758
|
-
mocks: QueryDevtoolsStorageScope;
|
|
4759
|
-
/** How many entries the Events log keeps. */
|
|
4760
|
-
maxEvents: number;
|
|
4761
|
-
/** How many dropped cache entries the Cache tab remembers, per client. */
|
|
4762
|
-
maxDroppedCacheEntries: number;
|
|
4763
|
-
/**
|
|
4764
|
-
* How many bodies each query retains, overriding `provideQueryDevtools({ responseHistory })` for the
|
|
4765
|
-
* rest of this page. `null` leaves the application's value alone.
|
|
4766
|
-
*/
|
|
4767
|
-
responseHistory: number | null;
|
|
4768
|
-
};
|
|
4769
|
-
/**
|
|
4770
|
-
* How the devtools are configured. Every consumer reads the live value rather than a copy, so a change
|
|
4771
|
-
* in the panel's Settings takes effect without a reload.
|
|
4772
|
-
*
|
|
4773
|
-
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4774
|
-
*/
|
|
4775
|
-
declare const queryDevtoolsSettings: Signal<QueryDevtoolsSettings>;
|
|
4776
5017
|
/**
|
|
4777
|
-
*
|
|
4778
|
-
*
|
|
4779
|
-
*
|
|
4780
|
-
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4781
|
-
*/
|
|
4782
|
-
declare const queryDevtoolsStorage: (scope: QueryDevtoolsStorageScope) => Storage | null;
|
|
4783
|
-
/**
|
|
4784
|
-
* Reads one JSON-encoded devtools key from the store a scope names, or `null`.
|
|
4785
|
-
*
|
|
4786
|
-
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4787
|
-
*/
|
|
4788
|
-
declare const readQueryDevtoolsStore: <T>(scope: QueryDevtoolsStorageScope, key: string) => T | null;
|
|
4789
|
-
/**
|
|
4790
|
-
* Writes one devtools key into the store a scope names. A scope of `none` writes nothing.
|
|
4791
|
-
*
|
|
4792
|
-
* Part of the devtools contract. **Not part of the general public contract.**
|
|
5018
|
+
* Where the armed set is kept. Switching to a scope that keeps it stores whatever is armed right now, so
|
|
5019
|
+
* the choice reads as "keep these"; switching to `none` empties the store and leaves this page serving
|
|
5020
|
+
* exactly what it was already serving.
|
|
4793
5021
|
*/
|
|
4794
|
-
declare const
|
|
4795
|
-
/**
|
|
4796
|
-
|
|
4797
|
-
* changed cannot leave a stale copy behind for the next load to read.
|
|
4798
|
-
*
|
|
4799
|
-
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4800
|
-
*/
|
|
4801
|
-
declare const clearQueryDevtoolsStore: (key: string) => void;
|
|
4802
|
-
/**
|
|
4803
|
-
* Changes part of the devtools configuration and stores it. Values outside the range a field allows are
|
|
4804
|
-
* clamped rather than rejected.
|
|
4805
|
-
*
|
|
4806
|
-
* Overrides are the one field not to set here: their scope moves an existing store, so it goes through
|
|
4807
|
-
* `setQueryDevtoolsOverridesScope()` instead.
|
|
4808
|
-
*
|
|
4809
|
-
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4810
|
-
*/
|
|
4811
|
-
declare const setQueryDevtoolsSettings: (patch: Partial<QueryDevtoolsSettings>) => void;
|
|
5022
|
+
declare const setQueryDevtoolsArmedMocksScope: (next: QueryDevtoolsStorageScope) => void;
|
|
5023
|
+
/** Empties the designed library and disarms everything - the panel's "Reset devtools". */
|
|
5024
|
+
declare const clearQueryDevtoolsMockStore: () => void;
|
|
4812
5025
|
|
|
4813
5026
|
/** One entry id the last page load left ops for, as the panel's banner reports it. */
|
|
4814
5027
|
type RestoredQueryDevtoolsOverrides = {
|
|
@@ -4995,6 +5208,24 @@ declare const queryDevtoolsSchemaNames: Signal<readonly string[]>;
|
|
|
4995
5208
|
* Part of the devtools contract. **Not part of the general public contract.**
|
|
4996
5209
|
*/
|
|
4997
5210
|
declare const seedQueryDevtoolsSchemaBody: (name: string) => QueryDevtoolsSchemaSeed | null;
|
|
5211
|
+
/** Everything a set of named schemas needs to resolve on its own, lifted out of the description. */
|
|
5212
|
+
type QueryDevtoolsSchemaComponents = {
|
|
5213
|
+
/**
|
|
5214
|
+
* The named schemas plus everything they transitively `$ref`, keyed as `components.schemas` wants
|
|
5215
|
+
* them. A name the description does not declare is simply absent, which is what a caller checks.
|
|
5216
|
+
*/
|
|
5217
|
+
schemas: Record<string, unknown>;
|
|
5218
|
+
/** Refs that could not be brought along, so an exported document says why it does not resolve. */
|
|
5219
|
+
notes: readonly string[];
|
|
5220
|
+
};
|
|
5221
|
+
/**
|
|
5222
|
+
* Collects the named schemas a set of routes was designed against, ready to be handed back as the
|
|
5223
|
+
* `components.schemas` of an exported document - so a route seeded from `MatchView` can reference
|
|
5224
|
+
* `MatchView` instead of an anonymous shape inferred from one body.
|
|
5225
|
+
*
|
|
5226
|
+
* Part of the devtools contract. **Not part of the general public contract.**
|
|
5227
|
+
*/
|
|
5228
|
+
declare const collectQueryDevtoolsSchemaComponents: (names: readonly string[]) => QueryDevtoolsSchemaComponents;
|
|
4998
5229
|
/**
|
|
4999
5230
|
* Every route the description declares, as the designer offers them - including the ones no query has
|
|
5000
5231
|
* ever called, which is the case a mock exists for.
|
|
@@ -5066,6 +5297,64 @@ type QueryDevtoolsOptions = {
|
|
|
5066
5297
|
*/
|
|
5067
5298
|
declare const provideQueryDevtools: (options?: QueryDevtoolsOptions) => EnvironmentProviders;
|
|
5068
5299
|
|
|
5300
|
+
/**
|
|
5301
|
+
* The longest lifetime an armed override may claim, in seconds (7 days). Anything beyond it is never
|
|
5302
|
+
* refreshed at all, which is what arming nothing already does.
|
|
5303
|
+
*/
|
|
5304
|
+
declare const QUERY_DEVTOOLS_TOKEN_TTL_LIMIT = 604800;
|
|
5305
|
+
/**
|
|
5306
|
+
* The access-token lifetime armed per auth provider name, in seconds, consumed by the
|
|
5307
|
+
* `<et-query-devtools>` panel. A provider on its token's real lifetime is absent rather than present
|
|
5308
|
+
* with it.
|
|
5309
|
+
*/
|
|
5310
|
+
declare const queryDevtoolsTokenTtls: Signal<Record<string, number>>;
|
|
5311
|
+
/**
|
|
5312
|
+
* Whether an overridden lifetime can be applied to a decoded access token at all. It needs the claim
|
|
5313
|
+
* carrying the expiry - so a lifetime is never invented for a token that declares none - plus `iat` or
|
|
5314
|
+
* `nbf` to measure the new lifetime from.
|
|
5315
|
+
*/
|
|
5316
|
+
declare const canOverrideQueryDevtoolsTokenTtl: (options: {
|
|
5317
|
+
payload: Record<string, unknown> | null;
|
|
5318
|
+
expiresInPropertyName?: string;
|
|
5319
|
+
}) => boolean;
|
|
5320
|
+
/**
|
|
5321
|
+
* Presents one auth provider's access token as living `seconds` from the moment it was issued, rather
|
|
5322
|
+
* than as long as it says it does. Everything that reads the expiry sees the shortened lifetime - the
|
|
5323
|
+
* proactive refresh schedule, `withBearerAuthTokenExpirationWarning`, and the panel's own countdown -
|
|
5324
|
+
* so arming 60 seconds makes a real refresh happen a minute after each token is issued, and keeps
|
|
5325
|
+
* happening for every token that refresh brings back.
|
|
5326
|
+
*
|
|
5327
|
+
* It is a lifetime, not a remaining time: `0` presents the current token as long expired, which is what
|
|
5328
|
+
* makes a refresh happen at once. Nothing is persisted, so a reload leaves every provider on its real
|
|
5329
|
+
* lifetime.
|
|
5330
|
+
*
|
|
5331
|
+
* Part of the devtools contract consumed by `<et-query-devtools>`; a token's lifetime is not something
|
|
5332
|
+
* an application should override on itself.
|
|
5333
|
+
*/
|
|
5334
|
+
declare const setQueryDevtoolsTokenTtl: (options: {
|
|
5335
|
+
providerName: string;
|
|
5336
|
+
seconds: number;
|
|
5337
|
+
}) => void;
|
|
5338
|
+
/**
|
|
5339
|
+
* Puts one provider back on its token's real lifetime, or every provider when no name is given.
|
|
5340
|
+
*
|
|
5341
|
+
* @see setQueryDevtoolsTokenTtl
|
|
5342
|
+
*/
|
|
5343
|
+
declare const clearQueryDevtoolsTokenTtl: (providerName?: string) => void;
|
|
5344
|
+
/**
|
|
5345
|
+
* The decoded access token as the devtools want it seen: the claim carrying the expiry rewritten to the
|
|
5346
|
+
* armed lifetime, measured from `iat`. Returns `payload` untouched when nothing is armed for the
|
|
5347
|
+
* provider, or when the token cannot carry the override - see {@link canOverrideQueryDevtoolsTokenTtl}.
|
|
5348
|
+
*
|
|
5349
|
+
* Installed as the token payload patcher by `provideQueryDevtools()`, and called directly by the panel
|
|
5350
|
+
* for its own countdown.
|
|
5351
|
+
*/
|
|
5352
|
+
declare const applyQueryDevtoolsTokenTtl: <T>(options: {
|
|
5353
|
+
payload: T;
|
|
5354
|
+
providerName: string;
|
|
5355
|
+
expiresInPropertyName?: string;
|
|
5356
|
+
}) => T;
|
|
5357
|
+
|
|
5069
5358
|
/**
|
|
5070
5359
|
* How many destroyed queries the registry keeps. A tombstone holds the last response body it captured,
|
|
5071
5360
|
* so the list is capped for the same reason the repository caps its unused entries.
|
|
@@ -8162,7 +8451,7 @@ type AnyWebSocketClient<TMessageData extends SocketMessageView = SocketMessageVi
|
|
|
8162
8451
|
declare const createWebSocketClient: <TMessageData extends SocketMessageView = SocketMessageView>(options: CreateWebSocketClientConfigOptions) => WebSocketClientResult<TMessageData>;
|
|
8163
8452
|
|
|
8164
8453
|
/** The version of `@ethlete/query` this build was cut from. */
|
|
8165
|
-
declare const QUERY_VERSION = "6.0.0-next.
|
|
8454
|
+
declare const QUERY_VERSION = "6.0.0-next.35";
|
|
8166
8455
|
|
|
8167
|
-
export { AuthBearerRefreshStrategy, BasicAuthProvider, BearerAuthFeatureType, BooleanArrayQueryField,
|
|
8168
|
-
export type { AnyBearerAuthProvider, AnyCreateBearerAuthProviderResult, AnyCreateGqlQueryCreatorOptions, AnyCreateQueryClientResult, AnyGqlQueryConfig, AnyInfinityQuery, AnyInfinityQueryConfig, AnyLegacyQuery, AnyLegacyQueryCreator, AnyNewQuery, AnyPagedQueryStack, AnyQueryBuilder, AnyQueryClient, AnyQueryCollection, AnyQueryCollectionData, AnyQueryCollectionResponse, AnyQueryCreator, AnyQueryCreatorCollection, AnyQueryForm, AnyQuerySnapshot, AnyQueryStack, AnyRestQueryConfig, AnyRoute, AnyV2Query, AnyV2QueryCreator, AnyWebSocketClient, AppendItemsLocation, ApplyExternalResponseOptions, ApplyPersistedResponseOptions, AuthGuard, AuthGuardConfig, AuthGuardTarget, AuthProvider, AuthProviderBasicConfig, AuthProviderBearerConfig, AuthProviderCustomHeaderConfig, AuthQueryBuilder, AuthQueryConfig, BaseArguments, BaseQueryCreatorFactoryOptions, BaseQueryCreatorOptions, BaseQueryCreatorOptionsSubtle, BearerAuthExecutionState, BearerAuthExecutionStateError, BearerAuthExecutionStateLoading, BearerAuthExecutionStateLogout, BearerAuthExecutionStateSuccess, BearerAuthExecutionStateTokenSeed, BearerAuthFeature, BearerAuthMultiTabSyncConfig, BearerAuthMultiTabSyncFeature, BearerAuthProvider, BearerAuthProviderEarlySetup, BearerAuthProviderEarlySetupContext, BearerAuthProviderEarlySetupResult, BearerAuthProviderFeatureContext, BearerAuthProviderOf, BearerAuthProviderQueryContext, BearerAuthProviderRef, BearerAuthProviderTokens, BearerAuthRefreshCoordination, BearerAuthSessionEndCause, BearerAuthSessionStatus, BearerRefreshConfig, BodyType, BuildQueryStringConfig, CacheAdapterFn, Cancelled, ClassValidatorError,
|
|
8456
|
+
export { AuthBearerRefreshStrategy, BasicAuthProvider, BearerAuthFeatureType, BooleanArrayQueryField, CustomHeaderAuthProvider, DEFAULT_KEEP_UNUSED_FOR, DEFAULT_QUERY_PERSISTENCE_MAX_AGE, DEFAULT_QUERY_PERSISTENCE_MAX_ENTRIES, DEFAULT_QUERY_PERSISTENCE_VERSION, DEFAULT_QUERY_PERSISTENCE_WRITE_DELAY, DateArrayQueryField, DateQueryField, EMPTY_QUERY_DEVTOOLS_FAULT, EntityStore, IGNORED_FILTER_COUNT_FIELDS, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, LegacyQuery, LegacyQueryCreator, MAX_QUERY_DEVTOOLS_TOMBSTONES, MAX_UNUSED_ENTRIES, NumberArrayQueryField, ParseHttpErrorCodeToMessageDePipe, ParseHttpErrorCodeToMessageEnPipe, ParseHttpErrorCodeToTitleDePipe, ParseHttpErrorCodeToTitleEnPipe, QUERY_CLIENT_DEVTOOLS_TOKEN, QUERY_DEVTOOLS_FAULT_STATUSES, QUERY_DEVTOOLS_TOKEN_TTL_LIMIT, QUERY_PERSISTENCE_STORE_VERSION, QUERY_SYNC_PROTOCOL_VERSION, QUERY_VERSION, QueryClientFeatureType, QueryDevtoolsComponent, QueryDirective, QueryFeatureType, QueryField, QueryForm, QueryRuntimeErrorCode, QueryShortNamePipe, QueryStateType, QueryStore, SERVER_ERROR_KIND, SERVER_VIOLATION_ERROR_KIND, SPEED_BUFFER_TIME_IN_MS, SearchQueryField, SortQueryField, StringArrayQueryField, V2BearerAuthProvider, V2Query, V2QueryClient, V2QueryCreator, addQueryContainerHandling, applyQueryDevtoolsOverrides, applyQueryDevtoolsTokenTtl, applyQueryFeatures, armAllQueryDevtoolsMocks, armQueryDevtoolsMock, armQueryDevtoolsOverrideTransfer, authExtractTokensResponseMissingAccessToken, authExtractTokensResponseMissingRefreshToken, authExtractTokensResponseNotObject, authProviderFeatureUsedMultipleTimes, booleanArrayQueryField, buildQueryCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, canOverrideQueryDevtoolsTokenTtl, castQueryCreatorTypes, circularQueryDependency, circularQueryDependencyChecker, clearQueryDevtoolsArmedMocks, clearQueryDevtoolsFaults, clearQueryDevtoolsMockStore, clearQueryDevtoolsOverrideStore, clearQueryDevtoolsStore, clearQueryDevtoolsTokenTtl, clearQueryDevtoolsTombstones, clearRestoredQueryDevtoolsOverrides, collectLeafPaths, collectQueryDevtoolsSchemaComponents, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, contentfulGqlLikePaginationAdapter, countUnresolvedQueryDevtoolsOverrides, createAuthGuard, createBaseQuery, createBaseQueryCreator, createBearerAuthProvider, createDefaultRetryFn, createDeleteQuery, createExecuteFn, createGetQuery, createGqlExecuteFn, createGqlMutationViaGet, createGqlMutationViaPost, createGqlQuery, createGqlQueryCreator, createGqlQueryViaGet, createGqlQueryViaPost, createHttpRequest, createIndexedDbQueryPersistenceAdapter, createInfinityQueryConfig, createLegacyQueryCreator, createNoopQueryPersistenceAdapter, createPagedQueryStack, createPatchQuery, createPersistentAuthFeature, createPostQuery, createPutQuery, createQuery, createQueryClient, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, createQueryContext, createQueryCreator, createQueryDevtoolsOverrides, createQueryErrorResponse, createQueryFeature, createQueryInvalidationFilter, createQueryKeyLockManager, createQueryObject, createQueryPersistenceEngine, createQueryRepository, createQuerySnapshotFn, createQueryStack, createQuerySyncEngine, createQuerySyncTransport, createSecureDeleteQuery, createSecureExecuteFactory, createSecureExecuteFn, createSecureGetQuery, createSecureGqlExecuteFn, createSecureGqlMutationViaGet, createSecureGqlMutationViaPost, createSecureGqlQuery, createSecureGqlQueryCreator, createSecureGqlQueryViaGet, createSecureGqlQueryViaPost, createSecurePatchQuery, createSecurePostQuery, createSecurePutQuery, createSecureQuery, createSecureQueryCreator, createTrackingFeature, createWebSocketClient, dateArrayQueryField, dateQueryField, decryptBearer, deepFreeze, def, defineQueryForm, deleteQueryDevtoolsMock, detectContentTypeHeader, detectPaginationShape, dynLikePaginationAdapter, effectComputed, emptyQueryArgs, ethletePaginationAdapter, executeUntilSettled, extractExpiresInSeconds, extractFormViolations, extractHtmlErrorMessage, extractQuery, fakePaginationAdapter, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, generateQueryDevtoolsNumberPreset, generateQueryDevtoolsStringPreset, getDefaultHeaders, getQueryFeatureUsage, getResponseUrl, ggLikePaginationAdapter, gql, gqlDataPropertyMissingInResponse, hasHeader, hasQueryDevtoolsOverridesAtPath, htmlErrorPayload, htmlQueryErrorParser, ignoreAutoRefresh, injectInfinityQueryResponseDelay, injectQueryContext, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, invalidStateInsideSecureExecuteFactory, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCreateGqlQueryOptions, isCustomHeaderAuthProvider, isDateShapedLeaf, isEmptyString, isGqlQueryConfig, isHtmlErrorPayload, isLegacyQuery, isNaN, isPageOutOfRangeError, isQuery, isQueryCollection, isQueryDevtoolsFaultArmed, isQueryErrorResponse, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyListError, isSymfonyPagerfantaOutOfRangeError, isUnderInvalidatedUrl, legacyPrepareWithoutInjectionContext, loadQueryDevtoolsSchema, mapToPaginated, mapViolationsToFormErrors, matchesQueryDevtoolsMockPattern, matchesQueryDevtoolsMockQuery, maybeExecute, measureQueryDevtoolsPayload, mergeHeaders, nestedEffect, numberArrayQueryField, pagedQueryStackNextPageCalledWithoutPreviousPage, pagedQueryStackPageBiggerThanTotalPages, pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleDe, parseHttpErrorCodeToTitleEn, parseQueryDevtoolsOverrideTransfer, pathParamsMissingInRouteFunctionError, provideInfinityQueryResponseDelay, provideLegacyPrepareFallback, provideQueryClientForDevtools, provideQueryDevtools, queryArrayComputed, queryClientFeatureUsedMultipleTimes, queryComputed, queryComputedTillTruthy, queryDevtoolsAbout, queryDevtoolsArmedMocks, queryDevtoolsArmedMocksRestored, queryDevtoolsEntries, queryDevtoolsFaults, queryDevtoolsFaultsRestored, queryDevtoolsMockId, queryDevtoolsMocks, queryDevtoolsOverridePersistence, queryDevtoolsRequestPath, queryDevtoolsResponseHistory, queryDevtoolsRestoredOverridesScope, queryDevtoolsSchemaNames, queryDevtoolsSchemaRoutes, queryDevtoolsSchemaState, queryDevtoolsSettings, queryDevtoolsStorage, queryDevtoolsTokenTtls, queryErrorMessage, queryErrorMessages, queryExecute, queryFeatureUsedMultipleTimes, queryField, querySequence, querySequenceAlreadyRunning, queryStackTotalQueriesAndExpectedQueriesMismatch, queryStackWithArgsUsed, queryStackWithResponseUpdateUsed, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, queryStateErrorSignal, queryStateLoadingSignal, queryStateResponseSignal, queryStateSignal, readQueryDevtoolsStore, registerEthleteVersion, registerQueryErrorParser, removeFrom, request, resetExecuteState, resetPageOnError, resolveInvalidationUrl, restoredQueryDevtoolsOverrides, saveQueryDevtoolsMock, searchQueryField, seedQueryDevtoolsSchemaBody, seedQueryDevtoolsSchemaRoute, serializeBody, serializeQueryDevtoolsOverrideTransfer, setDefaultQueryRetryFn, setQueryDevtoolsAppInfo, setQueryDevtoolsArmedMocksScope, setQueryDevtoolsFault, setQueryDevtoolsFaultsScope, setQueryDevtoolsOverridePersistence, setQueryDevtoolsOverridesScope, setQueryDevtoolsSettings, setQueryDevtoolsTokenTtl, setupQueryDependencies, setupQueryExecuteState, setupQueryState, shouldAutoExecuteGqlQuery, shouldAutoExecuteQuery, shouldCacheQuery, shouldRetryRequest, silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent, skipPaginationPageParamCalculator, smartDuplicateArrayItem, snapshotQueryDevtoolsHandle, sortQueryField, splitQueryConfig, stringArrayQueryField, stringifyQueryRouteParts, sumQueryDevtoolsStats, switchQueryCollectionState, switchQueryState, symfonyQueryErrorParser, takeUntilResponse, toQuerySignal, toQuerySubject, tokensNotAvailableInsideAuthAndExec, tombstoneOf, transformArrayResponse, transformExecStateToQueryState, transformGql, transformMethod, transformPaginatedResponse, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray, uncacheableRequestHasAllowCacheParam, uncacheableRequestHasCacheKeyParam, unwrapQuerySyncMessage, v2BuildQueryCacheKey, v2ExtractExpiresInSeconds, v2ShouldCacheQuery, v2ShouldRetryRequest, validateWithQuery, validateWithV2Query, withArgs, withArgsQueryFeatureMissingButRouteIsFunction, withAuthenticationQuery, withAutoRefresh, withAutoRefreshUsedInManualQuery, withAutoRefreshUsedOnUnsupportedHttpMethod, withBearerAuthMultiTabSync, withDefaultRetry, withErrorHandling, withEthleteApiErrors, withHtmlErrorParsing, withInactivityLogout, withLogging, withLongPolling, withLongPollingUsedOnUnsupportedHttpMethod, withLongPollingUsedWithPolling, withMultiTabSync, withPageResetOnError, withPersistentAuth, withPolling, withPollingUsedOnUnsupportedHttpMethod, withQueryPersistence, withRefreshQuery, withResponseUpdate, withSuccessHandling, withSymfonyErrors, withTokenExpirationWarning, withTokenRevocation, withTracking, wrapAsObservableSignal, wrapQuerySyncMessage, writeQueryDevtoolsStore };
|
|
8457
|
+
export type { AnyBearerAuthProvider, AnyCreateBearerAuthProviderResult, AnyCreateGqlQueryCreatorOptions, AnyCreateQueryClientResult, AnyGqlQueryConfig, AnyInfinityQuery, AnyInfinityQueryConfig, AnyLegacyQuery, AnyLegacyQueryCreator, AnyNewQuery, AnyPagedQueryStack, AnyQueryBuilder, AnyQueryClient, AnyQueryCollection, AnyQueryCollectionData, AnyQueryCollectionResponse, AnyQueryCreator, AnyQueryCreatorCollection, AnyQueryForm, AnyQuerySnapshot, AnyQueryStack, AnyRestQueryConfig, AnyRoute, AnyV2Query, AnyV2QueryCreator, AnyWebSocketClient, AppendItemsLocation, ApplyExternalResponseOptions, ApplyPersistedResponseOptions, AuthGuard, AuthGuardConfig, AuthGuardTarget, AuthProvider, AuthProviderBasicConfig, AuthProviderBearerConfig, AuthProviderCustomHeaderConfig, AuthQueryBuilder, AuthQueryConfig, BaseArguments, BaseQueryCreatorFactoryOptions, BaseQueryCreatorOptions, BaseQueryCreatorOptionsSubtle, BearerAuthActivityCoordination, BearerAuthExecutionState, BearerAuthExecutionStateError, BearerAuthExecutionStateLoading, BearerAuthExecutionStateLogout, BearerAuthExecutionStateSuccess, BearerAuthExecutionStateTokenSeed, BearerAuthFeature, BearerAuthMultiTabSyncConfig, BearerAuthMultiTabSyncFeature, BearerAuthProvider, BearerAuthProviderEarlySetup, BearerAuthProviderEarlySetupContext, BearerAuthProviderEarlySetupResult, BearerAuthProviderFeatureContext, BearerAuthProviderOf, BearerAuthProviderQueryContext, BearerAuthProviderRef, BearerAuthProviderTokens, BearerAuthRefreshCoordination, BearerAuthSessionEndCause, BearerAuthSessionStatus, BearerRefreshConfig, BodyType, BuildQueryStringConfig, CacheAdapterFn, Cancelled, ClassValidatorError, ConstructQuery, CreateBaseQueryOptions, CreateBearerAuthProviderConfig, CreateGqlQueryCreatorOptions, CreateGqlQueryExecuteOptions, CreateGqlQueryOptions, CreateHttpRequestDependencies, CreateHttpRequestOptions, CreateIndexedDbQueryPersistenceAdapterOptions, CreateLegacyQueryCreatorOptions, CreateLegacyQueryOptions, CreatePagedQueryStackOptions, CreateQueryClientConfigOptions, CreateQueryCreatorOptions, CreateQueryExecuteOptions, CreateQueryObjectOptions, CreateQueryOptions, CreateQueryPersistenceEngineOptions, CreateQueryRepositoryConfig, CreateQuerySnapshotOptions, CreateQueryStackOptions, CreateQuerySyncEngineOptions, CreateSecureGqlQueryExecuteOptions, CreateSecureGqlQueryOptions, CreateSecureQueryExecuteOptions, CreateSecureQueryOptions, CreateWebSocketClientConfigOptions, CreateWebSocketClientTransport, DefaultRetryOptions, DefineQueryFormConfig, DescribableFeature, DestroyCleanupCallback, EmptyObject, EntityGetParams, EntityIdParams, EntityKey, EntitySetParams, EntityStoreConfig, ExecuteFactory, ExecuteQueryOptions, ExtractQueryArgs, ExtractQueryKey, Failure, FeatureRegistry, GQL, GqlQueryArgs, GqlQueryConfig, GqlQueryConfigWithoutMethod, GqlQueryMethod, GqlQueryTransport, GqlTransferOption, GqlTransformer, GqlVariablesType, HttpErrorEvent, HttpRequest, HttpRequestLoadingProgressState, HttpRequestLoadingState, HttpRequestResponseType, HttpRequestRetryState, HttpRequestSubtle, HttpRequestTransferCacheConfig, InactivityLogoutConfig, InactivityLogoutFeature, InfinityQueryConfig, InfinityQueryConfigType, InfinityQueryOf, InfinityQueryParamLocation, InsertFromConfig, InternalCreateGqlQueryCreatorOptions, InternalCreateQueryCreatorOptions, InternalQueryExecute, InternalSecureCreateGqlQueryCreatorOptions, InternalSecureCreateQueryCreatorOptions, InternalWebSocketRoom, JsonPath, LeaderInstanceCountChangeEventData, LeaderStatusChangeEventData, LegacyArgumentsOfQueryArgs, LegacyQueryPrepareFn, Loading, LogoutEventData, MapViolationsToFormErrorsOptions, Method, ObservableSignal, OptionalQueryFieldOptions, OverrideOp, PageParamCalculatorOptions, PagedQueryStack, PagedQueryStackDirection, PagedQueryStackExecuteOptions, PagedQueryStackResetOptions, PartialXhrState, PathParams, PathParamsType, PersistedQueryBody, PersistedQueryEntry, PersistedQueryEntryMeta, PersistentAuthConfig, PersistentAuthFeature, PollConfig, Prepared, Query, QueryArgs, QueryArgsOf, QueryArgsOfLegacyArguments, QueryAutoRefreshConfig, QueryBase, QueryClient, QueryClientDevtoolsOptions, QueryClientErrorPipelineFeature, QueryClientFeature, QueryClientFeatureContext, QueryClientFeatureFn, QueryClientMultiTabSyncFeature, QueryClientPersistenceFeature, QueryClientRef, QueryClientSubtle, QueryCollectionKeysOf, QueryCollectionOf, QueryCollectionWithNullableQuery, QueryConfig, QueryConfigBase, QueryConfigWithoutMethod, QueryContainerConfig, QueryContext, QueryCreator, QueryDataOf, QueryDependencies, QueryDevtoolsAbout, QueryDevtoolsAppInfo, QueryDevtoolsAuthQuery, QueryDevtoolsEntry, QueryDevtoolsEntryKind, QueryDevtoolsEntryMeta, QueryDevtoolsFault, QueryDevtoolsFaultTarget, QueryDevtoolsFeature, QueryDevtoolsFeatureDescriber, QueryDevtoolsFeatureDetail, QueryDevtoolsFormField, QueryDevtoolsFormHandle, QueryDevtoolsFormLinksHandle, QueryDevtoolsFormLinksRecorder, QueryDevtoolsMock, QueryDevtoolsMockTarget, QueryDevtoolsOptions, QueryDevtoolsOverrideEntry, QueryDevtoolsOverrideTransfer, QueryDevtoolsOverrideTransferParse, QueryDevtoolsOverridesHandle, QueryDevtoolsOverridesRecorder, QueryDevtoolsPayload, QueryDevtoolsRegistrar, QueryDevtoolsRegistration, QueryDevtoolsResolvedFault, QueryDevtoolsResolvedMock, QueryDevtoolsRoutePart, QueryDevtoolsRun, QueryDevtoolsRunError, QueryDevtoolsRunStatus, QueryDevtoolsSchemaComponents, QueryDevtoolsSchemaLoader, QueryDevtoolsSchemaRoute, QueryDevtoolsSchemaSeed, QueryDevtoolsSchemaState, QueryDevtoolsSettings, QueryDevtoolsStats, QueryDevtoolsStatsHandle, QueryDevtoolsStatsRecorder, QueryDevtoolsStorageScope, QueryDirectiveContext, QueryDirectiveType, QueryEntityConfig, QueryErrorParser, QueryErrorResponse, QueryErrorResponseItem, QueryErrorResponseList, QueryErrorResponseSingle, QueryExecute, QueryExecuteArgs, QueryExecuteEventData, QueryExecuteOptions, QueryExecuteState, QueryExecutionState, QueryExecutionStateFailure, QueryExecutionStateLoading, QueryExecutionStateLoadingWithCachedResponse, QueryExecutionStateLoadingWithNoResponse, QueryExecutionStateSuccess, QueryFailureEventData, QueryFeature, QueryFeatureContext, QueryFeatureFlags, QueryFeatureFn, QueryFieldConfig, QueryFieldDef, QueryFieldOptions, QueryFieldValue, QueryFilterConfig, QueryFormBranch, QueryFormChange, QueryFormFields, QueryFormGroup, QueryFormGroupControls, QueryFormModel, QueryFormObserveOptions, QueryFormOf, QueryFormOptions, QueryFormSignals, QueryFormSignalsObserveOptions, QueryFormSignalsWriteOptions, QueryFormValue, QueryFormValueEvent, QueryFormWriteOptions, QueryInvalidationCandidate, QueryInvalidationFilterFn, QueryInvalidationOptions, QueryKey, QueryKeyLockHold, QueryKeyLockManager, QueryKeyLockState, QueryMethod, QueryMockConfig, QueryMultiTabSyncConfig, QueryOf, QueryParams, QueryParamsType, QueryPersistenceAdapter, QueryPersistenceCandidate, QueryPersistenceConfig, QueryPersistenceEngine, QueryPrepareFn, QueryRefreshCause, QueryRegistry, QueryRegistryEntry, QueryRepository, QueryRepositoryCacheEntry, QueryRepositoryDependencies, QueryRepositoryEntryDestroyedCause, QueryRepositoryEvent, QueryRepositoryItem, QueryRepositoryRefreshFilterFn, QueryRepositoryRequestOptions, QueryRepositorySubtle, QueryResponseOf, QueryRouteOf, QuerySequence, QuerySequenceResult, QuerySequenceStatus, QuerySequenceStepArgs, QuerySnapshot, QueryStack, QueryStackSubtle, QueryState, QueryStateMeta, QueryStateResponseOf, QueryStateSignal, QueryStateSubtle, QueryStateSuccessMeta, QueryStoreIdOf, QueryStoreOf, QuerySubtle, QuerySuccessEventData, QuerySyncEngine, QuerySyncEnvelope, QuerySyncInvalidateMessage, QuerySyncMessage, QuerySyncMessageListener, QuerySyncMutation, QuerySyncMutationFilterFn, QuerySyncMutationMessage, QuerySyncRefreshCandidate, QuerySyncRefreshOnMutationConfig, QuerySyncResponseMessage, QuerySyncTransport, QueryTrigger, RawResponseType, ReadonlyQuery, RefreshFailure, RemoveFromConfig, RequestArgs, RequestConfig, RequestError, RequestEvent, RequestHeaders, RequestHeadersMethodMap, RequestHttpEvent, RequestProgress, RequestRetryFn, RequestRetryFnConfig, RequestRetryFnResult, RequiresTransform, ResetExecuteStateOptions, ResetPageOnErrorOperatorConfig, ResponseType, RestQueryConfig, RestoredQueryDevtoolsOverrides, RouteString, RouteType, RunQueryCreator, RunQueryExecuteOptions, SecureExecuteFactoryOptions, ServerValidationError, ServerViolationValidationError, SetupQueryDependenciesOptions, SetupQueryStateOptions, ShouldRetryRequestFn, ShouldRetryRequestOptions, ShouldRetryRequestResult, SocketMessageView, Sort, SortDirection, Success, SymfonyError, SymfonyErrorTrace, TokenExpirationWarningConfig, TokenExpirationWarningFeature, TokenRefreshEventData, TokenRefreshQueryBuilder, TokenRefreshQueryConfig, TokenResponse, TokenRevocationConfig, TokenRevocationFeature, TotalPagesExtractorOptions, TrackingConfig, TrackingEventDataMap, TrackingEventHandler, TrackingEventName, TrackingFeature, TransformedGqlQuery, V2CacheAdapterFn, V2PrepareArgsOf, V2QueryArgsOf, V2QueryClientConfig, V2QueryConfig, V2QueryState, V2RouteString, V2RouteType, ValidateWithQueryConfig, ValidateWithV2QueryConfig, WebSocketClient, WebSocketClientIo, WebSocketClientIoOptions, WebSocketClientResult, WebSocketClientSocket, WebSocketClientSubtle, WebSocketDevtoolsHandle, WebSocketDevtoolsMessage, WebSocketRoom, WithAutoRefreshFeatureOptions, WithBody, WithConfig, WithErrorHandlingFeatureOptions, WithHeaders, WithInjector, WithLegacyConfig, WithLoggingFeatureOptions, WithLongPollingFeatureOptions, WithMock, WithPageResetOnErrorFeatureOptions, WithPathParams, WithPollingFeatureOptions, WithQueryParams, WithResponseUpdateFeatureFnData, WithResponseUpdateFeatureOptions, WithSuccessHandlingFeatureOptions, WithVariables };
|