@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.
@@ -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: string;
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: string;
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: unknown) => TokenResponse;
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(): void;
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.14",
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
- "rxjs": "7.8.0",
11
- "@ethlete/core": "0.2.0-next.12",
12
- "@angular/forms": "15.1.0",
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",