@ethlete/query 4.14.0 → 4.15.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/esm2022/lib/auth/auth-provider.utils.mjs +4 -1
- package/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +13 -5
- package/esm2022/lib/directives/infinity-query-trigger.directive.mjs +3 -1
- package/esm2022/lib/entity/entity-store.mjs +6 -2
- package/esm2022/lib/query/query.mjs +45 -3
- package/esm2022/lib/query-creator/query-creator.mjs +18 -5
- package/esm2022/lib/query-form/query-form.mjs +16 -10
- package/esm2022/lib/query-form/query-form.utils.mjs +4 -1
- package/esm2022/lib/request/request.mjs +2 -2
- package/esm2022/lib/request/request.util.mjs +9 -3
- package/esm2022/lib/utils/data.utils.mjs +39 -37
- package/fesm2022/ethlete-query.mjs +144 -60
- package/fesm2022/ethlete-query.mjs.map +1 -1
- package/lib/devtools/components/query-devtools/query-devtools.component.d.ts +1 -0
- package/lib/infinite-query/infinity-query.d.ts +1 -1
- package/lib/query-creator/query-creator.d.ts +4 -3
- package/lib/utils/data.utils.d.ts +22 -8
- package/package.json +2 -2
|
@@ -28,6 +28,7 @@ export declare class QueryDevtoolsComponent {
|
|
|
28
28
|
private readonly _queries$;
|
|
29
29
|
protected readonly queries: import("@angular/core").Signal<AnyQuery[] | undefined>;
|
|
30
30
|
protected readonly selectedQuery: import("@angular/core").Signal<AnyQuery | null>;
|
|
31
|
+
protected readonly selectedQuery$: import("rxjs").Observable<AnyQuery | null>;
|
|
31
32
|
protected selectedQueryEntityStore: import("@angular/core").Signal<EntityStore<unknown> | null>;
|
|
32
33
|
protected readonly selectedQueryEntityStore$: import("rxjs").Observable<EntityStore<unknown> | null>;
|
|
33
34
|
protected readonly selectedQueryEntityStoreValue$: import("rxjs").Observable<Record<string, unknown> | null>;
|
|
@@ -18,7 +18,7 @@ export declare class InfinityQuery<QueryCreator extends AnyQueryCreator, Query e
|
|
|
18
18
|
get itemsPerPage$(): import("rxjs").Observable<number>;
|
|
19
19
|
get itemsPerPage(): number;
|
|
20
20
|
get data$(): import("rxjs").Observable<InfinityResponse>;
|
|
21
|
-
get currentQuery$(): import("rxjs").Observable<Query>;
|
|
21
|
+
get currentQuery$(): import("rxjs").Observable<Query | null>;
|
|
22
22
|
constructor(_config: InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>);
|
|
23
23
|
nextPage(): void;
|
|
24
24
|
reset(newConfig?: Omit<InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>, 'queryCreator' | 'response'>): void;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
1
2
|
import { EntityStore } from '../entity';
|
|
2
3
|
import { QueryClient } from '../query-client';
|
|
3
4
|
import { QueryStore } from '../query-store';
|
|
4
5
|
import { BaseArguments, GqlQueryConfig, RestQueryConfig, RouteType } from '../query/query.types';
|
|
5
|
-
import { QueryContainerConfig
|
|
6
|
+
import { QueryContainerConfig } from '../utils';
|
|
6
7
|
import { QueryPrepareFn } from './query-creator.types';
|
|
7
8
|
export declare class QueryCreator<Arguments extends BaseArguments | undefined, Response, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id> {
|
|
8
9
|
private _queryConfig;
|
|
@@ -10,10 +11,10 @@ export declare class QueryCreator<Arguments extends BaseArguments | undefined, R
|
|
|
10
11
|
private _store;
|
|
11
12
|
constructor(_queryConfig: RestQueryConfig<Route, Response, Arguments, Store, Data, Id> | GqlQueryConfig<Route, Response, Arguments, Store, Data, Id>, _client: QueryClient, _store: QueryStore);
|
|
12
13
|
prepare: QueryPrepareFn<Arguments, Response, Route, Store, Data, Id>;
|
|
13
|
-
createSubject: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) =>
|
|
14
|
+
createSubject: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) => BehaviorSubject<ReturnType<QueryPrepareFn<Arguments, Response, Route, Store, Data, Id>> | null>;
|
|
14
15
|
createSignal: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) => import("@angular/core").WritableSignal<ReturnType<QueryPrepareFn<Arguments, Response, Route, Store, Data, Id>> | null>;
|
|
15
16
|
/**
|
|
16
17
|
* @deprecated Use `myQuery.createSubject()` or `myQuery.createSignal()` instead. Will be removed in v5.
|
|
17
18
|
*/
|
|
18
|
-
behaviorSubject: (initialValue?: ReturnType<typeof this.prepare> | null
|
|
19
|
+
behaviorSubject: (initialValue?: ReturnType<typeof this.prepare> | null) => BehaviorSubject<ReturnType<QueryPrepareFn<Arguments, Response, Route, Store, Data, Id>> | null>;
|
|
19
20
|
}
|
|
@@ -1,15 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Signal } from '@angular/core';
|
|
2
|
+
import { ToObservableOptions, ToSignalOptions } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { Observable, Subscribable } from 'rxjs';
|
|
2
4
|
import { AnyQuery } from '../query';
|
|
3
5
|
export interface QueryContainerConfig {
|
|
4
6
|
/**
|
|
5
7
|
* If `true`, the previous query will be aborted when a new query is pushed into the container.
|
|
6
|
-
* @default false
|
|
8
|
+
* @default true // Only if the request can be cached (GET, OPTIONS, HEAD and GQL_QUERY). Otherwise false.
|
|
7
9
|
*/
|
|
8
10
|
abortPrevious?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* If `true`, the query will be aborted when the container is destroyed.
|
|
13
|
+
* @default true // Only if the request can be cached (GET, OPTIONS, HEAD and GQL_QUERY). Otherwise false.
|
|
14
|
+
*/
|
|
15
|
+
abortOnDestroy?: boolean;
|
|
9
16
|
}
|
|
10
|
-
export declare
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
export declare
|
|
17
|
+
export declare const addQueryContainerHandling: (obs: Observable<AnyQuery | null>, valueFn: () => AnyQuery | null | undefined, config?: QueryContainerConfig) => void;
|
|
18
|
+
export declare function toQuerySignal<T extends AnyQuery | null>(source: Observable<T> | Subscribable<T>): Signal<T | undefined>;
|
|
19
|
+
export declare function toQuerySignal<T extends AnyQuery | null>(source: Observable<T> | Subscribable<T>, options?: ToSignalOptions<undefined> & {
|
|
20
|
+
requireSync?: false;
|
|
21
|
+
} & QueryContainerConfig): Signal<T | undefined>;
|
|
22
|
+
export declare function toQuerySignal<T extends AnyQuery | null, U extends T | null | undefined>(source: Observable<T> | Subscribable<T>, options: ToSignalOptions<U> & {
|
|
23
|
+
initialValue: U;
|
|
24
|
+
requireSync?: false;
|
|
25
|
+
} & QueryContainerConfig): Signal<T | U>;
|
|
26
|
+
export declare function toQuerySignal<T extends AnyQuery | null>(source: Observable<T> | Subscribable<T>, options: ToSignalOptions<undefined> & {
|
|
27
|
+
requireSync: true;
|
|
28
|
+
} & QueryContainerConfig): Signal<T>;
|
|
29
|
+
export declare function toQuerySubject<T extends AnyQuery | null>(source: Signal<T>, options?: ToObservableOptions & QueryContainerConfig): Observable<T>;
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ethlete/query",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.15.0",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.5.0"
|
|
6
6
|
},
|
|
7
7
|
"peerDependencies": {
|
|
8
8
|
"@angular/common": "^15.2.1 || ^16.0.0",
|
|
9
9
|
"@angular/core": "^15.2.1 || ^16.0.0",
|
|
10
|
-
"@ethlete/core": "3.
|
|
10
|
+
"@ethlete/core": "3.8.0"
|
|
11
11
|
},
|
|
12
12
|
"module": "fesm2022/ethlete-query.mjs",
|
|
13
13
|
"typings": "index.d.ts",
|