@ethlete/query 5.16.1 → 5.17.0
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 +16 -0
- package/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +3 -3
- package/esm2022/lib/devtools/pipes/query-short-name.pipe.mjs +3 -3
- package/esm2022/lib/directives/infinity-query-trigger.directive.mjs +3 -3
- package/esm2022/lib/directives/infinity-query.directive.mjs +3 -3
- package/esm2022/lib/directives/query.directive.mjs +3 -3
- package/esm2022/lib/query/query.mjs +6 -3
- package/esm2022/lib/query/query.types.mjs +1 -1
- package/esm2022/lib/query-form/query-form.mjs +32 -11
- package/esm2022/lib/utils/data.utils.mjs +1 -1
- package/fesm2022/ethlete-query.mjs +50 -26
- package/fesm2022/ethlete-query.mjs.map +1 -1
- package/lib/entity/entity.utils.d.ts +1 -1
- package/lib/gql/gql.d.ts +2 -2
- package/lib/query/query.types.d.ts +2 -1
- package/lib/query/query.utils.d.ts +5 -14
- package/lib/query-client/query-client.utils.d.ts +1 -1
- package/lib/query-form/query-form.d.ts +3 -1
- package/lib/query-store/query-store.d.ts +4 -4
- package/lib/request/request.util.d.ts +1 -1
- package/lib/utils/data.utils.d.ts +4 -4
- package/package.json +5 -5
|
@@ -5,7 +5,7 @@ export declare function mapToPaginated<T>(response: Paginated<T>): import("rxjs"
|
|
|
5
5
|
/**
|
|
6
6
|
* Use an other store to represent a property of the current entity.
|
|
7
7
|
*/
|
|
8
|
-
export declare const insertFrom: <OriginStoreType, OriginKeys extends keyof NonNullable<OriginStoreType>, SubStoreType extends NonNullable<OriginStoreType>[OriginKeys] extends
|
|
8
|
+
export declare const insertFrom: <OriginStoreType, OriginKeys extends keyof NonNullable<OriginStoreType>, SubStoreType extends NonNullable<OriginStoreType>[OriginKeys] extends Array<infer U> ? U : NonNullable<OriginStoreType>[OriginKeys], IdFn extends (value: NonNullable<OriginStoreType>) => EntityKey | EntityKey[], ComputedEntityType extends ReturnType<IdFn> extends Array<unknown> ? OriginStoreType : Omit<OriginStoreType, OriginKeys> & { [K in OriginKeys]: SubStoreType | null; }>(store: EntityStore<SubStoreType>, { for: key, id }: InsertFromConfig<OriginStoreType, OriginKeys, IdFn>) => import("rxjs").OperatorFunction<OriginStoreType, ComputedEntityType | null>;
|
|
9
9
|
/**
|
|
10
10
|
* Remove entities from a store based on a where function.
|
|
11
11
|
*/
|
package/lib/gql/gql.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const transformGql: (str: string) => (variables: Record<string, unknown> | null | undefined) => {
|
|
2
2
|
query: string;
|
|
3
|
-
variables?: string
|
|
4
|
-
operationName?: string
|
|
3
|
+
variables?: string;
|
|
4
|
+
operationName?: string;
|
|
5
5
|
};
|
|
6
6
|
export declare const gql: (strings: TemplateStringsArray, ...values: string[]) => string;
|
|
@@ -2,7 +2,7 @@ import { Observable } from 'rxjs';
|
|
|
2
2
|
import { EntityStore } from '../entity';
|
|
3
3
|
import { AnyQueryCreator, ConstructQuery, QueryDataOf, QueryResponseOf } from '../query-creator';
|
|
4
4
|
import { QueryForm } from '../query-form';
|
|
5
|
-
import { Method, PathParams, QueryParams, RequestError, RequestProgress } from '../request';
|
|
5
|
+
import { Method, PathParams, QueryParams, RequestError, RequestHeaders, RequestProgress } from '../request';
|
|
6
6
|
import { Query } from './query';
|
|
7
7
|
export interface QueryAutoRefreshConfig {
|
|
8
8
|
/**
|
|
@@ -329,6 +329,7 @@ export interface Prepared {
|
|
|
329
329
|
export interface Success<Response = unknown> {
|
|
330
330
|
type: QueryStateType.Success;
|
|
331
331
|
response: Response;
|
|
332
|
+
headers: RequestHeaders;
|
|
332
333
|
meta: QueryStateSuccessMeta;
|
|
333
334
|
}
|
|
334
335
|
export interface Failure {
|
|
@@ -6,7 +6,7 @@ import { AnyQueryCreator, QueryArgsOf, QueryCreator, QueryDataOf, QueryResponseO
|
|
|
6
6
|
import { QueryForm } from '../query-form';
|
|
7
7
|
import { Method, RequestHeaders, RequestHeadersMethodMap } from '../request';
|
|
8
8
|
import { QueryContainerConfig } from '../utils';
|
|
9
|
-
import { AnyGqlQueryConfig, AnyQuery, AnyQueryCollectionData, AnyQueryCreatorCollection, AnyRestQueryConfig, BaseArguments, Cancelled, Failure, GqlQueryConfig, Loading, Prepared, QueryCollectionOf, QueryState, QueryStateResponseOf, QueryStateType, ResetPageOnErrorOperatorConfig, RouteType, Success } from './query.types';
|
|
9
|
+
import { AnyGqlQueryConfig, AnyQuery, AnyQueryCollection, AnyQueryCollectionData, AnyQueryCreatorCollection, AnyRestQueryConfig, BaseArguments, Cancelled, Failure, GqlQueryConfig, Loading, Prepared, QueryCollectionOf, QueryState, QueryStateResponseOf, QueryStateType, ResetPageOnErrorOperatorConfig, RouteType, Success } from './query.types';
|
|
10
10
|
type OmitNull<T> = T extends null ? never : T;
|
|
11
11
|
export declare function filterSuccess(): <T extends QueryState | null, Response extends QueryStateResponseOf<OmitNull<T>>>(source: Observable<T>) => Observable<Success<Response>>;
|
|
12
12
|
export declare function ignoreAutoRefresh(): <T extends QueryState | null>(source: Observable<T>) => Observable<T>;
|
|
@@ -17,13 +17,10 @@ export declare function takeUntilResponse(config?: {
|
|
|
17
17
|
}): <T extends QueryState | null>(source: Observable<T>) => Observable<T>;
|
|
18
18
|
export declare function filterNull(): <T>(source: Observable<T>) => Observable<OmitNull<T>>;
|
|
19
19
|
export declare function switchQueryState(): <T extends AnyQuery | null, Data extends QueryDataOf<T>>(source: Observable<T>) => Observable<QueryState<Data> | null>;
|
|
20
|
-
export declare function switchQueryCollectionState(): <T extends
|
|
21
|
-
type: string;
|
|
22
|
-
query: import("@ethlete/query").Query<any, any, any, any, any, any>;
|
|
23
|
-
} | null, Data extends AnyQueryCollectionData<OmitNull<T>>>(source: Observable<T>) => Observable<QueryState<Data> | null>;
|
|
20
|
+
export declare function switchQueryCollectionState(): <T extends AnyQueryCollection | null, Data extends AnyQueryCollectionData<OmitNull<T>>>(source: Observable<T>) => Observable<QueryState<Data> | null>;
|
|
24
21
|
export declare const resetPageOnError: <T extends AnyQuery | null | undefined, J extends QueryForm<any>>(config: ResetPageOnErrorOperatorConfig<J>) => (source: Observable<T>) => Observable<QueryState<any> | T>;
|
|
25
22
|
export declare const isQueryStateLoading: (state: QueryState | null | undefined) => state is Loading;
|
|
26
|
-
export declare const isQueryStateSuccess: (state: QueryState | null | undefined) => state is Success
|
|
23
|
+
export declare const isQueryStateSuccess: (state: QueryState | null | undefined) => state is Success;
|
|
27
24
|
export declare const isQueryStateFailure: (state: QueryState | null | undefined) => state is Failure;
|
|
28
25
|
export declare const isQueryStateCancelled: (state: QueryState | null | undefined) => state is Cancelled;
|
|
29
26
|
export declare const isQueryStatePrepared: (state: QueryState | null | undefined) => state is Prepared;
|
|
@@ -31,20 +28,14 @@ export declare const isAutoRefresh: (state: QueryState | null | undefined) => bo
|
|
|
31
28
|
export declare const mergeHeaders: (...headers: Array<RequestHeaders | null | undefined>) => RequestHeaders | null | undefined;
|
|
32
29
|
export declare const isGqlQueryConfig: <Response, Arguments extends BaseArguments | undefined, Route extends RouteType<Arguments> | undefined, Store extends EntityStore<unknown>, Data, Id>(config: unknown) => config is GqlQueryConfig<Route, Response, Arguments, Store, Data, Id>;
|
|
33
30
|
export declare const isQuery: <T extends AnyQuery>(query: unknown) => query is T;
|
|
34
|
-
export declare const isQueryCollection: <T extends
|
|
35
|
-
type: string;
|
|
36
|
-
query: import("@ethlete/query").Query<any, any, any, any, any, any>;
|
|
37
|
-
}>(query: unknown) => query is T;
|
|
31
|
+
export declare const isQueryCollection: <T extends AnyQueryCollection>(query: unknown) => query is T;
|
|
38
32
|
/**
|
|
39
33
|
* @deprecated Use `createQueryCollectionSubject` instead. Will be removed in v6.
|
|
40
34
|
*/
|
|
41
35
|
export declare const createQueryCollection: <T extends AnyQueryCreatorCollection, R extends QueryCollectionOf<T>>(queryMap: T) => BehaviorSubject<R | null>;
|
|
42
36
|
export declare const createQueryCollectionSubject: <T extends AnyQueryCreatorCollection, R extends QueryCollectionOf<T>>(queryMap: T, config?: QueryContainerConfig) => BehaviorSubject<R | null>;
|
|
43
37
|
export declare const createQueryCollectionSignal: <T extends AnyQueryCreatorCollection, R extends QueryCollectionOf<T>>(queryMap: T, config?: QueryContainerConfig) => import("@angular/core").WritableSignal<R | null>;
|
|
44
|
-
export declare const extractQuery: <T extends AnyQuery |
|
|
45
|
-
type: string;
|
|
46
|
-
query: import("@ethlete/query").Query<any, any, any, any, any, any>;
|
|
47
|
-
} | null>(v: T) => import("@ethlete/query").Query<any, any, any, any, any, any> | null;
|
|
38
|
+
export declare const extractQuery: <T extends AnyQuery | AnyQueryCollection | null>(v: T) => import("@ethlete/query").Query<any, any, any, any, any, any> | null;
|
|
48
39
|
export declare const getDefaultHeaders: (headers: RequestHeaders | RequestHeadersMethodMap | null | undefined, method: Method) => RequestHeaders;
|
|
49
40
|
export declare const castQueryCreatorTypes: <QC extends AnyQueryCreator, Arguments extends QueryArgsOf<QC>, Response extends QueryResponseOf<QC>, Store extends QueryStoreOf<QC>, Data extends QueryDataOf<QC>, Route extends RouteType<Arguments>, Id extends QueryStoreIdOf<QC>, OverrideArguments extends BaseArguments | undefined, OverrideResponse extends Response | undefined>(config: {
|
|
50
41
|
creator: QC;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { BaseArguments } from '../query/query.types';
|
|
2
2
|
import { Method } from '../request';
|
|
3
|
-
export declare const shouldCacheQuery: (method: Method) =>
|
|
3
|
+
export declare const shouldCacheQuery: (method: Method) => method is "GET" | "HEAD" | "OPTIONS" | "GQL_QUERY";
|
|
4
4
|
export declare const buildQueryCacheKey: (route: string, args: BaseArguments | undefined) => string;
|
|
@@ -20,11 +20,12 @@ export declare class QueryForm<T extends Record<string, QueryField<any>>> {
|
|
|
20
20
|
private readonly _router;
|
|
21
21
|
private readonly _activatedRoute;
|
|
22
22
|
private readonly _defaultValues;
|
|
23
|
-
private readonly _routerStateService;
|
|
24
23
|
private readonly _zone;
|
|
25
24
|
private readonly _didValueChanges$;
|
|
26
25
|
private _isObserving;
|
|
27
26
|
private _skipNextResets;
|
|
27
|
+
private _queryParamChanges$;
|
|
28
|
+
private _queryParams;
|
|
28
29
|
/**
|
|
29
30
|
* The angular form group that contains all the fields.
|
|
30
31
|
*
|
|
@@ -88,4 +89,5 @@ export declare class QueryForm<T extends Record<string, QueryField<any>>> {
|
|
|
88
89
|
private _extractDefaultValues;
|
|
89
90
|
private _syncViaUrlQueryParams;
|
|
90
91
|
private _handleFormChange;
|
|
92
|
+
private _cleanup;
|
|
91
93
|
}
|
|
@@ -9,10 +9,10 @@ export declare class QueryStore {
|
|
|
9
9
|
readonly storeChange$: import("rxjs").Observable<string>;
|
|
10
10
|
readonly queryCreated$: import("rxjs").Observable<AnyQuery>;
|
|
11
11
|
constructor(_config?: {
|
|
12
|
-
enableChangeLogging?: boolean
|
|
13
|
-
enableGarbageCollectorLogging?: boolean
|
|
14
|
-
autoRefreshQueriesOnWindowFocus?: boolean
|
|
15
|
-
enableSmartPolling?: boolean
|
|
12
|
+
enableChangeLogging?: boolean;
|
|
13
|
+
enableGarbageCollectorLogging?: boolean;
|
|
14
|
+
autoRefreshQueriesOnWindowFocus?: boolean;
|
|
15
|
+
enableSmartPolling?: boolean;
|
|
16
16
|
} | undefined);
|
|
17
17
|
add(id: string, query: AnyQuery): void;
|
|
18
18
|
get<T extends AnyQuery>(id: string): T | null;
|
|
@@ -16,7 +16,7 @@ export declare const buildTimestampFromSeconds: (seconds: number | null) => numb
|
|
|
16
16
|
export declare const serializeBody: (body: unknown) => ArrayBuffer | URLSearchParams | Blob | FormData | string | null;
|
|
17
17
|
export declare const transformMethod: (config: {
|
|
18
18
|
method: Method;
|
|
19
|
-
transferVia?:
|
|
19
|
+
transferVia?: "GET" | "POST";
|
|
20
20
|
}) => "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "TRACE" | "CONNECT" | "PURGE" | "LINK" | "UNLINK" | "CUSTOM";
|
|
21
21
|
export declare const detectContentTypeHeader: (body: unknown) => string | null;
|
|
22
22
|
export declare const hasHeader: (headers: RequestHeaders, header: string) => boolean;
|
|
@@ -29,19 +29,19 @@ export interface QueryFilterConfig {
|
|
|
29
29
|
}
|
|
30
30
|
export declare const addQueryContainerHandling: (obs: Observable<AnyQuery | AnyQuery[] | null>, valueFn: () => AnyQuery | AnyQuery[] | null | undefined, config?: QueryContainerConfig) => void;
|
|
31
31
|
export declare function toQuerySignal<T extends AnyQuery | null>(source: Observable<T> | Subscribable<T>): Signal<T | undefined>;
|
|
32
|
-
export declare function toQuerySignal<T extends AnyQuery | null>(source: Observable<T> | Subscribable<T>, options: ToSignalOptions & {
|
|
32
|
+
export declare function toQuerySignal<T extends AnyQuery | null>(source: Observable<T> | Subscribable<T>, options: NoInfer<ToSignalOptions<T | undefined>> & {
|
|
33
33
|
initialValue?: undefined;
|
|
34
34
|
requireSync?: false;
|
|
35
35
|
} & QueryContainerConfig): Signal<T | undefined>;
|
|
36
|
-
export declare function toQuerySignal<T extends AnyQuery | null>(source: Observable<T> | Subscribable<T>, options: ToSignalOptions & {
|
|
36
|
+
export declare function toQuerySignal<T extends AnyQuery | null>(source: Observable<T> | Subscribable<T>, options: NoInfer<ToSignalOptions<T | null>> & {
|
|
37
37
|
initialValue?: null;
|
|
38
38
|
requireSync?: false;
|
|
39
39
|
} & QueryContainerConfig): Signal<T | null>;
|
|
40
|
-
export declare function toQuerySignal<T extends AnyQuery | null>(source: Observable<T> | Subscribable<T>, options: ToSignalOptions & {
|
|
40
|
+
export declare function toQuerySignal<T extends AnyQuery | null>(source: Observable<T> | Subscribable<T>, options: NoInfer<ToSignalOptions<T>> & {
|
|
41
41
|
initialValue?: undefined;
|
|
42
42
|
requireSync: true;
|
|
43
43
|
} & QueryContainerConfig): Signal<T>;
|
|
44
|
-
export declare function toQuerySignal<T extends AnyQuery | null, const U extends T>(source: Observable<T> | Subscribable<T>, options: ToSignalOptions & {
|
|
44
|
+
export declare function toQuerySignal<T extends AnyQuery | null, const U extends T>(source: Observable<T> | Subscribable<T>, options: NoInfer<ToSignalOptions<T | U>> & {
|
|
45
45
|
initialValue: U;
|
|
46
46
|
requireSync?: false;
|
|
47
47
|
} & QueryContainerConfig): Signal<T | U>;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ethlete/query",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.17.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "18.0
|
|
6
|
-
"@angular/core": "18.0
|
|
7
|
-
"@angular/forms": "18.0
|
|
8
|
-
"@angular/router": "18.0
|
|
5
|
+
"@angular/common": "^18.1.0",
|
|
6
|
+
"@angular/core": "^18.1.0",
|
|
7
|
+
"@angular/forms": "^18.1.0",
|
|
8
|
+
"@angular/router": "^18.1.0",
|
|
9
9
|
"@ethlete/core": "^4.0.3",
|
|
10
10
|
"@ethlete/types": "^1.6.2",
|
|
11
11
|
"rxjs": "^7.8.1"
|