@ethlete/query 5.8.1 → 5.9.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/CHANGELOG.md +14 -0
- package/esm2022/index.mjs +2 -1
- package/esm2022/lib/auth/basic-auth-provider.mjs +1 -1
- package/esm2022/lib/auth/bearer-auth-provider.mjs +1 -1
- package/esm2022/lib/auth/custom-header-auth-provider.mjs +1 -1
- package/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +79 -5
- package/esm2022/lib/devtools/pipes/query-short-name.pipe.mjs +4 -5
- package/esm2022/lib/directives/infinity-query-trigger.directive.mjs +3 -3
- package/esm2022/lib/directives/infinity-query.directive.mjs +41 -68
- package/esm2022/lib/directives/query.directive.mjs +3 -3
- package/esm2022/lib/infinite-query/infinity-query.mjs +4 -1
- package/esm2022/lib/query/query.mjs +43 -19
- package/fesm2022/ethlete-query.mjs +413 -340
- package/fesm2022/ethlete-query.mjs.map +1 -1
- package/lib/auth/basic-auth-provider.d.ts +1 -1
- package/lib/auth/bearer-auth-provider.d.ts +1 -1
- package/lib/auth/custom-header-auth-provider.d.ts +1 -1
- package/lib/devtools/components/query-devtools/query-devtools.component.d.ts +74 -0
- package/lib/directives/infinity-query.directive.d.ts +3 -6
- package/lib/infinite-query/infinity-query.d.ts +1 -1
- package/lib/query/query.utils.d.ts +3 -3
- package/package.json +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AnyQueryCreator, ConstructQuery } from '../query-creator';
|
|
2
2
|
import { AuthProvider, AuthProviderBearerConfig, TokenResponse } from './auth-provider.types';
|
|
3
3
|
export declare class BearerAuthProvider<T extends AnyQueryCreator> implements AuthProvider {
|
|
4
|
-
|
|
4
|
+
_config: AuthProviderBearerConfig<T>;
|
|
5
5
|
private readonly _destroy$;
|
|
6
6
|
private readonly _currentRefreshQuery$;
|
|
7
7
|
private readonly _tokens$;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { TrackByFunction } from '@angular/core';
|
|
2
2
|
import { FormControl } from '@angular/forms';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { BasicAuthProvider, CustomHeaderAuthProvider } from '../../../auth';
|
|
4
5
|
import { EntityStore } from '../../../entity';
|
|
5
6
|
import { AnyQuery } from '../../../query';
|
|
6
7
|
import { QueryClientDevtoolsOptions } from '../../utils';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
type QueryDevtoolsSnapLayout = 'full' | 'left' | 'right' | 'bottom' | 'top';
|
|
9
10
|
type QueryListMode = 'live' | 'history';
|
|
11
|
+
type QueryViewMode = 'query' | 'authProvider';
|
|
10
12
|
export declare class QueryDevtoolsComponent {
|
|
11
13
|
private readonly _cdr;
|
|
12
14
|
protected readonly _destroy$: import("rxjs").Observable<boolean>;
|
|
@@ -15,6 +17,7 @@ export declare class QueryDevtoolsComponent {
|
|
|
15
17
|
protected readonly isTranslucent: import("@angular/core").WritableSignal<boolean>;
|
|
16
18
|
protected readonly snapLayout: import("@angular/core").WritableSignal<QueryDevtoolsSnapLayout>;
|
|
17
19
|
protected readonly queryListMode: import("@angular/core").WritableSignal<QueryListMode>;
|
|
20
|
+
protected readonly viewMode: import("@angular/core").WritableSignal<QueryViewMode>;
|
|
18
21
|
protected showResponse: import("@angular/core").WritableSignal<boolean>;
|
|
19
22
|
protected showRawResponse: import("@angular/core").WritableSignal<boolean>;
|
|
20
23
|
protected showQueryConfig: import("@angular/core").WritableSignal<boolean>;
|
|
@@ -57,6 +60,76 @@ export declare class QueryDevtoolsComponent {
|
|
|
57
60
|
enableSmartPolling: boolean | undefined;
|
|
58
61
|
hasEntityStore: boolean;
|
|
59
62
|
} | null>;
|
|
63
|
+
protected readonly authProvider: import("@angular/core").Signal<import("../../../auth").AuthProvider | null | undefined>;
|
|
64
|
+
protected readonly authProviderDetails: import("@angular/core").Signal<{
|
|
65
|
+
readonly type: "CustomHeaderAuthProvider";
|
|
66
|
+
readonly header: () => {
|
|
67
|
+
[x: string]: string;
|
|
68
|
+
};
|
|
69
|
+
readonly provider: CustomHeaderAuthProvider;
|
|
70
|
+
readonly config: {
|
|
71
|
+
readonly name: string;
|
|
72
|
+
readonly value: string;
|
|
73
|
+
readonly username?: undefined;
|
|
74
|
+
readonly password?: undefined;
|
|
75
|
+
readonly token?: undefined;
|
|
76
|
+
readonly refreshConfig?: undefined;
|
|
77
|
+
};
|
|
78
|
+
} | {
|
|
79
|
+
readonly type: "BasicAuthProvider";
|
|
80
|
+
readonly header: () => {
|
|
81
|
+
Authorization: string;
|
|
82
|
+
};
|
|
83
|
+
readonly provider: BasicAuthProvider;
|
|
84
|
+
readonly config: {
|
|
85
|
+
readonly username: string;
|
|
86
|
+
readonly password: string;
|
|
87
|
+
readonly name?: undefined;
|
|
88
|
+
readonly value?: undefined;
|
|
89
|
+
readonly token?: undefined;
|
|
90
|
+
readonly refreshConfig?: undefined;
|
|
91
|
+
};
|
|
92
|
+
} | {
|
|
93
|
+
readonly type: "BearerAuthProvider";
|
|
94
|
+
readonly header: () => {
|
|
95
|
+
Authorization: string;
|
|
96
|
+
};
|
|
97
|
+
readonly provider: import("../../../auth").BearerAuthProvider<import("@ethlete/query").AnyQueryCreator>;
|
|
98
|
+
readonly config: {
|
|
99
|
+
readonly token: string | undefined;
|
|
100
|
+
readonly refreshConfig: {
|
|
101
|
+
readonly refreshOnUnauthorizedResponse: boolean | "true (default)";
|
|
102
|
+
readonly token: string | undefined;
|
|
103
|
+
readonly cookieName: string | undefined;
|
|
104
|
+
readonly cookieDomain: string;
|
|
105
|
+
readonly cookieExpiresInDays: number | "30 (default)";
|
|
106
|
+
readonly cookiePath: string;
|
|
107
|
+
readonly cookieEnabled: boolean | "true (default)";
|
|
108
|
+
readonly cookieSameSite: "strict" | "none" | "lax" | "lax (default)";
|
|
109
|
+
readonly refreshBuffer: number | "30000 (default)";
|
|
110
|
+
readonly expiresInPropertyName: string;
|
|
111
|
+
readonly strategy: import("../../../auth").AuthBearerRefreshStrategy | "AuthBearerRefreshStrategy.BeforeExpiration (default)";
|
|
112
|
+
readonly requestArgsAdapter: "custom" | "default";
|
|
113
|
+
readonly responseAdapter: "custom" | "default";
|
|
114
|
+
};
|
|
115
|
+
readonly name?: undefined;
|
|
116
|
+
readonly value?: undefined;
|
|
117
|
+
readonly username?: undefined;
|
|
118
|
+
readonly password?: undefined;
|
|
119
|
+
};
|
|
120
|
+
} | {
|
|
121
|
+
readonly type: "UnknownAuthProvider";
|
|
122
|
+
readonly header: () => Record<string, string>;
|
|
123
|
+
readonly provider: import("../../../auth").AuthProvider;
|
|
124
|
+
readonly config: {
|
|
125
|
+
readonly name?: undefined;
|
|
126
|
+
readonly value?: undefined;
|
|
127
|
+
readonly username?: undefined;
|
|
128
|
+
readonly password?: undefined;
|
|
129
|
+
readonly token?: undefined;
|
|
130
|
+
readonly refreshConfig?: undefined;
|
|
131
|
+
};
|
|
132
|
+
} | null>;
|
|
60
133
|
constructor();
|
|
61
134
|
protected trackByClient: TrackByFunction<QueryClientDevtoolsOptions>;
|
|
62
135
|
protected trackByQuery: TrackByFunction<AnyQuery>;
|
|
@@ -69,6 +142,7 @@ export declare class QueryDevtoolsComponent {
|
|
|
69
142
|
protected toggleShowArguments(): void;
|
|
70
143
|
protected selectSnapLayout(layout: QueryDevtoolsSnapLayout): void;
|
|
71
144
|
protected selectQueryListMode(mode: QueryListMode): void;
|
|
145
|
+
protected selectViewMode(mode: QueryViewMode): void;
|
|
72
146
|
protected selectQuery(query: AnyQuery): void;
|
|
73
147
|
protected clearQueryHistory(): void;
|
|
74
148
|
static ɵfac: i0.ɵɵFactoryDeclaration<QueryDevtoolsComponent, never>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InjectionToken
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
2
|
import { InfinityQueryConfig, InfinityQueryOf } from '../infinite-query';
|
|
3
3
|
import { BaseArguments } from '../query';
|
|
4
4
|
import { AnyQueryCreator, ConstructQuery } from '../query-creator';
|
|
@@ -19,7 +19,7 @@ interface InfinityQueryContext<Q extends InfinityQueryConfig<AnyQueryCreator, Ba
|
|
|
19
19
|
currentQuery: ConstructQuery<Q['queryCreator']> | null;
|
|
20
20
|
}
|
|
21
21
|
export declare const INFINITY_QUERY_TOKEN: InjectionToken<InfinityQueryDirective<any>>;
|
|
22
|
-
export declare class InfinityQueryDirective<Q extends InfinityQueryConfig<AnyQueryCreator, BaseArguments | undefined, any, unknown[]>>
|
|
22
|
+
export declare class InfinityQueryDirective<Q extends InfinityQueryConfig<AnyQueryCreator, BaseArguments | undefined, any, unknown[]>> {
|
|
23
23
|
private readonly _queryConfigChanged$;
|
|
24
24
|
private readonly _viewContext;
|
|
25
25
|
private _infinityQueryInstance;
|
|
@@ -30,8 +30,6 @@ export declare class InfinityQueryDirective<Q extends InfinityQueryConfig<AnyQue
|
|
|
30
30
|
private readonly _errorHandler;
|
|
31
31
|
private readonly _delayable;
|
|
32
32
|
private readonly _data$;
|
|
33
|
-
private _didReceiveFirstData$;
|
|
34
|
-
private _isMainViewCreated;
|
|
35
33
|
get infinityQuery(): Q;
|
|
36
34
|
set infinityQuery(v: Q);
|
|
37
35
|
private _infinityQuery;
|
|
@@ -40,11 +38,10 @@ export declare class InfinityQueryDirective<Q extends InfinityQueryConfig<AnyQue
|
|
|
40
38
|
get data$(): import("rxjs").Observable<Q["response"]["arrayType"]>;
|
|
41
39
|
get data(): Q["response"]["arrayType"];
|
|
42
40
|
static ngTemplateContextGuard<Q extends InfinityQueryConfig<AnyQueryCreator, BaseArguments | undefined, any, unknown[]>>(dir: InfinityQueryDirective<Q>, ctx: unknown): ctx is InfinityQueryContext<Q>;
|
|
43
|
-
|
|
41
|
+
constructor();
|
|
44
42
|
private _setupInfinityQuery;
|
|
45
43
|
loadNextPage(): void;
|
|
46
44
|
reset(newConfig?: Omit<Q, 'queryCreator' | 'response'>): void;
|
|
47
|
-
private _renderMainView;
|
|
48
45
|
private _cleanup;
|
|
49
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<InfinityQueryDirective<any>, never>;
|
|
50
47
|
static ɵdir: i0.ɵɵDirectiveDeclaration<InfinityQueryDirective<any>, "[etInfinityQuery]", ["etInfinityQuery"], { "infinityQuery": { "alias": "etInfinityQuery"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.DelayableDirective; inputs: {}; outputs: {}; }]>;
|
|
@@ -17,7 +17,7 @@ export declare class InfinityQuery<QueryCreator extends AnyQueryCreator, Query e
|
|
|
17
17
|
get totalPages(): number | null;
|
|
18
18
|
get itemsPerPage$(): import("rxjs").Observable<number>;
|
|
19
19
|
get itemsPerPage(): number;
|
|
20
|
-
get data$(): import("rxjs").Observable<InfinityResponse>;
|
|
20
|
+
get data$(): import("rxjs").Observable<InfinityResponse | null>;
|
|
21
21
|
get currentQuery$(): import("rxjs").Observable<Query | null>;
|
|
22
22
|
constructor(_config: InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>);
|
|
23
23
|
nextPage(): void;
|
|
@@ -59,7 +59,7 @@ export declare const computeQueryBody: (config: {
|
|
|
59
59
|
config: AnyRestQueryConfig | AnyGqlQueryConfig;
|
|
60
60
|
client: QueryClient;
|
|
61
61
|
method: Method;
|
|
62
|
-
args?: BaseArguments
|
|
62
|
+
args?: BaseArguments;
|
|
63
63
|
}) => unknown;
|
|
64
64
|
export declare const computeQueryAuthHeader: (config: {
|
|
65
65
|
config: AnyRestQueryConfig | AnyGqlQueryConfig;
|
|
@@ -68,12 +68,12 @@ export declare const computeQueryAuthHeader: (config: {
|
|
|
68
68
|
export declare const computeQueryHeaders: (config: {
|
|
69
69
|
config: AnyRestQueryConfig | AnyGqlQueryConfig;
|
|
70
70
|
client: QueryClient;
|
|
71
|
-
args?: BaseArguments
|
|
71
|
+
args?: BaseArguments;
|
|
72
72
|
}) => RequestHeaders | undefined;
|
|
73
73
|
export declare const computeQueryQueryParams: (config: {
|
|
74
74
|
config: AnyRestQueryConfig | AnyGqlQueryConfig;
|
|
75
75
|
client: QueryClient;
|
|
76
|
-
args?: BaseArguments
|
|
76
|
+
args?: BaseArguments;
|
|
77
77
|
}) => object | undefined;
|
|
78
78
|
export declare const paginatedEntityValueUpdater: <T extends Paginated<unknown>, Args extends BaseArguments, Entity, J extends T extends Paginated<infer X> ? X : never>(findFn: (val: J, entity: Entity) => boolean) => ({ response, rawResponse, entity }: {
|
|
79
79
|
rawResponse: T;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ethlete/query",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.9.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "17.3.
|
|
6
|
-
"@angular/core": "17.3.
|
|
7
|
-
"@angular/forms": "17.3.
|
|
8
|
-
"@angular/router": "17.3.
|
|
5
|
+
"@angular/common": "17.3.3",
|
|
6
|
+
"@angular/core": "17.3.3",
|
|
7
|
+
"@angular/forms": "17.3.3",
|
|
8
|
+
"@angular/router": "17.3.3",
|
|
9
9
|
"@ethlete/core": "^4.0.3",
|
|
10
10
|
"@ethlete/types": "^1.6.2",
|
|
11
11
|
"rxjs": "^7.8.1"
|