@ethlete/query 0.1.0-next.14 → 0.1.0-next.16
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/esm2020/lib/auth/auth-provider.types.mjs +1 -1
- package/esm2020/lib/auth/bearer-auth-provider.mjs +36 -5
- package/esm2020/lib/directives/infinity-query-trigger.directive.mjs +3 -3
- package/esm2020/lib/directives/infinity-query.directive.mjs +3 -3
- package/esm2020/lib/directives/query.directive.mjs +3 -3
- package/esm2020/lib/query/query.mjs +5 -1
- package/esm2020/lib/query-client/query-client.mjs +10 -7
- package/fesm2015/ethlete-query.mjs +60 -22
- package/fesm2015/ethlete-query.mjs.map +1 -1
- package/fesm2020/ethlete-query.mjs +57 -20
- package/fesm2020/ethlete-query.mjs.map +1 -1
- package/lib/auth/auth-provider.types.d.ts +10 -6
- package/lib/auth/auth-provider.utils.d.ts +1 -1
- package/lib/auth/bearer-auth-provider.d.ts +6 -3
- package/lib/query-client/query-client.d.ts +2 -1
- package/package.json +4 -5
|
@@ -39,21 +39,21 @@ export interface AuthProviderCustomHeaderConfig {
|
|
|
39
39
|
*/
|
|
40
40
|
value: string;
|
|
41
41
|
}
|
|
42
|
-
export interface AuthProviderBearerConfig {
|
|
42
|
+
export interface AuthProviderBearerConfig<T = unknown> {
|
|
43
43
|
/**
|
|
44
44
|
* The initial jwt
|
|
45
45
|
*/
|
|
46
|
-
token
|
|
46
|
+
token?: string;
|
|
47
47
|
/**
|
|
48
48
|
* Refresh token configuration
|
|
49
49
|
*/
|
|
50
|
-
refreshConfig?: BearerRefreshConfig
|
|
50
|
+
refreshConfig?: BearerRefreshConfig<T>;
|
|
51
51
|
}
|
|
52
|
-
export interface BearerRefreshConfig {
|
|
52
|
+
export interface BearerRefreshConfig<T = unknown> {
|
|
53
53
|
/**
|
|
54
54
|
* The initial refresh token
|
|
55
55
|
*/
|
|
56
|
-
token
|
|
56
|
+
token?: string;
|
|
57
57
|
/**
|
|
58
58
|
* The api's refresh route
|
|
59
59
|
* @example /api/auth/refresh-token
|
|
@@ -73,6 +73,10 @@ export interface BearerRefreshConfig {
|
|
|
73
73
|
* @default 'body'
|
|
74
74
|
*/
|
|
75
75
|
paramLocation?: 'body' | 'query';
|
|
76
|
+
/**
|
|
77
|
+
* The cookie name where the refresh token is stored
|
|
78
|
+
*/
|
|
79
|
+
cookieName?: string;
|
|
76
80
|
/**
|
|
77
81
|
* The time in milliseconds before the token expires when the refresh should be triggered.
|
|
78
82
|
* @default 300000 (5 minutes)
|
|
@@ -97,7 +101,7 @@ export interface BearerRefreshConfig {
|
|
|
97
101
|
* Adapter function used to extract the token and refreshToken from the response.
|
|
98
102
|
* @default { token: "token", refreshToken: "refreshToken" }
|
|
99
103
|
*/
|
|
100
|
-
responseAdapter?: (response:
|
|
104
|
+
responseAdapter?: (response: T) => TokenResponse;
|
|
101
105
|
}
|
|
102
106
|
export declare const enum AuthBearerRefreshStrategy {
|
|
103
107
|
/**
|
|
@@ -3,6 +3,6 @@ import { BasicAuthProvider } from './basic-auth-provider';
|
|
|
3
3
|
import { BearerAuthProvider } from './bearer-auth-provider';
|
|
4
4
|
import { CustomHeaderAuthProvider } from './custom-header-auth-provider';
|
|
5
5
|
export declare const isBasicAuthProvider: (authProvider: AuthProvider) => authProvider is BasicAuthProvider;
|
|
6
|
-
export declare const isBearerAuthProvider: (authProvider: AuthProvider) => authProvider is BearerAuthProvider
|
|
6
|
+
export declare const isBearerAuthProvider: (authProvider: AuthProvider) => authProvider is BearerAuthProvider<unknown>;
|
|
7
7
|
export declare const isCustomHeaderAuthProvider: (authProvider: AuthProvider) => authProvider is CustomHeaderAuthProvider;
|
|
8
8
|
export declare const decryptBearer: <Result = Record<string, unknown>>(token: string) => Result | null;
|
|
@@ -2,7 +2,7 @@ import { Subject } from 'rxjs';
|
|
|
2
2
|
import { QueryClient } from '../query-client';
|
|
3
3
|
import { RequestError } from '../request';
|
|
4
4
|
import { AuthProvider, AuthProviderBearerConfig, TokenResponse } from './auth-provider.types';
|
|
5
|
-
export declare class BearerAuthProvider implements AuthProvider {
|
|
5
|
+
export declare class BearerAuthProvider<T = unknown> implements AuthProvider {
|
|
6
6
|
private _config;
|
|
7
7
|
private _token;
|
|
8
8
|
private _refreshToken;
|
|
@@ -15,8 +15,11 @@ export declare class BearerAuthProvider implements AuthProvider {
|
|
|
15
15
|
onRefreshInitiation$: Subject<void>;
|
|
16
16
|
onRefreshSuccess$: Subject<TokenResponse>;
|
|
17
17
|
onRefreshFailure$: Subject<RequestError<unknown>>;
|
|
18
|
-
constructor(_config: AuthProviderBearerConfig);
|
|
19
|
-
cleanUp(
|
|
18
|
+
constructor(_config: AuthProviderBearerConfig<T>);
|
|
19
|
+
cleanUp(config?: {
|
|
20
|
+
keepCookie: boolean;
|
|
21
|
+
}): void;
|
|
22
|
+
private _autoDestruct;
|
|
20
23
|
private _setupRefresh;
|
|
21
24
|
private _refresh;
|
|
22
25
|
}
|
|
@@ -5,9 +5,10 @@ import { DefaultResponseTransformer, QueryClientConfig, QueryCreator, ResponseTr
|
|
|
5
5
|
export declare class QueryClient {
|
|
6
6
|
private _clientConfig;
|
|
7
7
|
private readonly _store;
|
|
8
|
-
private _authProvider;
|
|
9
8
|
get config(): QueryClientConfig;
|
|
10
9
|
get authProvider(): AuthProvider | null;
|
|
10
|
+
get authProvider$(): import("rxjs").Observable<AuthProvider | null>;
|
|
11
|
+
private readonly _authProvider$;
|
|
11
12
|
constructor(_clientConfig: QueryClientConfig);
|
|
12
13
|
get: <Route extends RouteType<Arguments>, Response_1, Arguments extends BaseArguments | undefined = undefined, ResponseTransformer extends ResponseTransformerType<Response_1> = DefaultResponseTransformer<Response_1>>(queryConfig: QueryConfigWithoutMethod<Route, Response_1, Arguments, ResponseTransformer>) => QueryCreator<Arguments, "GET", Response_1, Route, ResponseTransformer>;
|
|
13
14
|
post: <Route extends RouteType<Arguments>, Response_1, Arguments extends BaseArguments | undefined = undefined, ResponseTransformer extends ResponseTransformerType<Response_1> = DefaultResponseTransformer<Response_1>>(queryConfig: QueryConfigWithoutMethod<Route, Response_1, Arguments, ResponseTransformer>) => QueryCreator<Arguments, "POST", Response_1, Route, ResponseTransformer>;
|
package/package.json
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ethlete/query",
|
|
3
|
-
"version": "0.1.0-next.
|
|
3
|
+
"version": "0.1.0-next.16",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.3.0"
|
|
6
6
|
},
|
|
7
7
|
"peerDependencies": {
|
|
8
8
|
"@angular/common": "^14.2.0 || ^15.0.0",
|
|
9
9
|
"@angular/core": "^14.2.0 || ^15.0.0",
|
|
10
|
-
"
|
|
11
|
-
"@
|
|
12
|
-
"@angular/
|
|
13
|
-
"@angular/router": "15.1.0"
|
|
10
|
+
"@ethlete/core": "0.2.0-next.16",
|
|
11
|
+
"@angular/forms": "15.1.2",
|
|
12
|
+
"@angular/router": "15.1.2"
|
|
14
13
|
},
|
|
15
14
|
"module": "fesm2015/ethlete-query.mjs",
|
|
16
15
|
"es2020": "fesm2020/ethlete-query.mjs",
|