@ethlete/query 4.15.0 → 4.16.1
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/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +3 -3
- package/esm2022/lib/query/query.mjs +7 -2
- package/esm2022/lib/query/query.types.mjs +1 -1
- package/esm2022/lib/query-creator/query-creator.mjs +6 -5
- package/esm2022/lib/query-creator/query-creator.types.mjs +1 -1
- package/fesm2022/ethlete-query.mjs +13 -7
- package/fesm2022/ethlete-query.mjs.map +1 -1
- package/lib/query/query.d.ts +5 -1
- package/lib/query/query.types.d.ts +38 -0
- package/lib/query-creator/query-creator.types.d.ts +2 -2
- package/package.json +1 -1
package/lib/query/query.d.ts
CHANGED
|
@@ -37,7 +37,11 @@ export declare class Query<Response, Arguments extends BaseArguments | undefined
|
|
|
37
37
|
/**
|
|
38
38
|
* @internal
|
|
39
39
|
*/
|
|
40
|
-
_arguments: Arguments
|
|
40
|
+
_arguments: Arguments,
|
|
41
|
+
/**
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
_queryStoreKey: string);
|
|
41
45
|
execute(options?: ExecuteQueryOptions): this;
|
|
42
46
|
abort(): this;
|
|
43
47
|
poll(config: PollConfig): this;
|
|
@@ -174,18 +174,56 @@ export type QueryConfigWithoutMethod<Route extends RouteType<Arguments>, Respons
|
|
|
174
174
|
export type GqlQueryConfigWithoutMethod<Route extends RouteType<Arguments>, Response, Arguments extends BaseArguments | undefined, Store extends EntityStore<unknown>, Data, Id> = Omit<GqlQueryConfig<Route, Response, Arguments, Store, Data, Id>, 'method'>;
|
|
175
175
|
export type BaseArguments = WithHeaders & WithVariables & WithBody & WithQueryParams & WithPathParams;
|
|
176
176
|
export interface WithHeaders {
|
|
177
|
+
/**
|
|
178
|
+
* The headers to send with the query.
|
|
179
|
+
*/
|
|
177
180
|
headers?: Record<string, string>;
|
|
178
181
|
}
|
|
182
|
+
export interface QueryConfig {
|
|
183
|
+
/**
|
|
184
|
+
* Whether this query should be added to the internal query store.
|
|
185
|
+
*
|
|
186
|
+
* Generally this should be left on `false` unless you know what you are doing.
|
|
187
|
+
* @default false
|
|
188
|
+
*/
|
|
189
|
+
skipQueryStore?: boolean;
|
|
190
|
+
/**
|
|
191
|
+
* The cache key to use for this query.
|
|
192
|
+
* Useful for queries that are equal but should be stored separately.
|
|
193
|
+
* Will be generated automatically if not provided.
|
|
194
|
+
*
|
|
195
|
+
* Generally this should be left on `undefined` unless you know what you are doing.
|
|
196
|
+
*/
|
|
197
|
+
queryStoreCacheKey?: string;
|
|
198
|
+
}
|
|
199
|
+
export interface WithConfig {
|
|
200
|
+
/**
|
|
201
|
+
* Additional configuration for this query.
|
|
202
|
+
*/
|
|
203
|
+
config?: QueryConfig;
|
|
204
|
+
}
|
|
179
205
|
export interface WithVariables {
|
|
206
|
+
/**
|
|
207
|
+
* The variables for the query. (graphql only)
|
|
208
|
+
*/
|
|
180
209
|
variables?: Record<string, unknown>;
|
|
181
210
|
}
|
|
182
211
|
export interface WithBody {
|
|
212
|
+
/**
|
|
213
|
+
* The body for the query. Unavailable for GET, HEAD and OPTIONS requests.
|
|
214
|
+
*/
|
|
183
215
|
body?: unknown;
|
|
184
216
|
}
|
|
185
217
|
export interface WithQueryParams {
|
|
218
|
+
/**
|
|
219
|
+
* The query parameters for the query. (after the ? in the url)
|
|
220
|
+
*/
|
|
186
221
|
queryParams?: QueryParams;
|
|
187
222
|
}
|
|
188
223
|
export interface WithPathParams {
|
|
224
|
+
/**
|
|
225
|
+
* The path parameters for the query. (in front of the ? in the url)
|
|
226
|
+
*/
|
|
189
227
|
pathParams?: PathParams;
|
|
190
228
|
}
|
|
191
229
|
export type QueryTrigger = 'program' | 'poll' | 'auto';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { EntityStore } from '../entity';
|
|
2
2
|
import { Query } from '../query/query';
|
|
3
|
-
import { AnyQuery, BaseArguments, EmptyObject, RouteType, WithHeaders } from '../query/query.types';
|
|
3
|
+
import { AnyQuery, BaseArguments, EmptyObject, RouteType, WithConfig, WithHeaders } from '../query/query.types';
|
|
4
4
|
import { QueryCreator } from './query-creator';
|
|
5
|
-
export type QueryPrepareFn<Arguments extends BaseArguments | undefined, Response, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id> = Arguments extends BaseArguments ? (args: Arguments & WithHeaders) => Query<Response, Arguments, Route, Store, Data, Id> : (args?: (Arguments extends EmptyObject ? Arguments : EmptyObject) & WithHeaders) => Query<Response, Arguments, Route, Store, Data, Id>;
|
|
5
|
+
export type QueryPrepareFn<Arguments extends BaseArguments | undefined, Response, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id> = Arguments extends BaseArguments ? (args: Arguments & WithHeaders & WithConfig) => Query<Response, Arguments, Route, Store, Data, Id> : (args?: (Arguments extends EmptyObject ? Arguments : EmptyObject) & WithHeaders & WithConfig) => Query<Response, Arguments, Route, Store, Data, Id>;
|
|
6
6
|
export type AnyQueryCreator = QueryCreator<any, any, any, any, any, any>;
|
|
7
7
|
export type QueryArgsOf<T extends AnyQueryCreator | AnyQuery | null> = T extends QueryCreator<infer Args, any, any, any, any, any> ? Args : T extends Query<any, infer Args, any, any, any, any> ? Args : never;
|
|
8
8
|
export type QueryResponseOf<T extends AnyQueryCreator | AnyQuery | null> = T extends QueryCreator<any, infer Response, any, any, any, any> ? Response : T extends Query<infer Response, any, any, any, any, any> ? Response : never;
|