@ethlete/query 0.1.0-next.11 → 0.1.0-next.13
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 +9 -1
- package/esm2020/lib/directives/query.directive.mjs +4 -3
- package/esm2020/lib/query/query.types.mjs +1 -1
- package/esm2020/lib/query/query.utils.mjs +15 -2
- package/fesm2015/ethlete-query.mjs +25 -3
- package/fesm2015/ethlete-query.mjs.map +1 -1
- package/fesm2020/ethlete-query.mjs +24 -2
- package/fesm2020/ethlete-query.mjs.map +1 -1
- package/lib/auth/auth-provider.types.d.ts +5 -0
- package/lib/auth/bearer-auth-provider.d.ts +1 -0
- package/lib/directives/query.directive.d.ts +4 -4
- package/lib/query/query.types.d.ts +13 -1
- package/lib/query/query.utils.d.ts +8 -2
- package/package.json +2 -2
|
@@ -320,6 +320,7 @@ class BearerAuthProvider {
|
|
|
320
320
|
this._config = _config;
|
|
321
321
|
this._refreshToken = null;
|
|
322
322
|
this._refreshTimerSubscription = null;
|
|
323
|
+
this._failureCount = 0;
|
|
323
324
|
this.queryClient = null;
|
|
324
325
|
this.onRefreshInitiation$ = new Subject();
|
|
325
326
|
this.onRefreshSuccess$ = new Subject();
|
|
@@ -335,6 +336,7 @@ class BearerAuthProvider {
|
|
|
335
336
|
this._refreshTimerSubscription = null;
|
|
336
337
|
}
|
|
337
338
|
_setupRefresh(config) {
|
|
339
|
+
this.cleanUp();
|
|
338
340
|
const bearer = decryptBearer(this._token);
|
|
339
341
|
if (!bearer) {
|
|
340
342
|
return;
|
|
@@ -385,6 +387,8 @@ class BearerAuthProvider {
|
|
|
385
387
|
this._token = tokens.token;
|
|
386
388
|
this._refreshToken = tokens.refreshToken;
|
|
387
389
|
this.onRefreshSuccess$.next(tokens);
|
|
390
|
+
this._setupRefresh(config);
|
|
391
|
+
this._failureCount = 0;
|
|
388
392
|
}
|
|
389
393
|
catch (error) {
|
|
390
394
|
if (error instanceof Error) {
|
|
@@ -393,6 +397,10 @@ class BearerAuthProvider {
|
|
|
393
397
|
else {
|
|
394
398
|
this.onRefreshFailure$.next(error);
|
|
395
399
|
}
|
|
400
|
+
this._failureCount++;
|
|
401
|
+
if (this._failureCount <= (config.maxRefreshAttempts ?? 3)) {
|
|
402
|
+
this._setupRefresh(config);
|
|
403
|
+
}
|
|
396
404
|
}
|
|
397
405
|
}
|
|
398
406
|
}
|
|
@@ -475,6 +483,19 @@ const isGqlQueryConfig = (config) => {
|
|
|
475
483
|
}
|
|
476
484
|
return true;
|
|
477
485
|
};
|
|
486
|
+
const isQuery = (query) => {
|
|
487
|
+
if (!query || typeof query !== 'object' || Array.isArray(query)) {
|
|
488
|
+
return false;
|
|
489
|
+
}
|
|
490
|
+
if (!('state$' in query)) {
|
|
491
|
+
return false;
|
|
492
|
+
}
|
|
493
|
+
return true;
|
|
494
|
+
};
|
|
495
|
+
const createQueryCollection = (
|
|
496
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
497
|
+
queryMap) => new BehaviorSubject(null);
|
|
498
|
+
const extractQuery = (v) => (isQuery(v) ? v : v?.query) ?? null;
|
|
478
499
|
|
|
479
500
|
class Query {
|
|
480
501
|
get _nextId() {
|
|
@@ -707,7 +728,8 @@ class QueryDirective {
|
|
|
707
728
|
if (!this.query) {
|
|
708
729
|
return;
|
|
709
730
|
}
|
|
710
|
-
const
|
|
731
|
+
const query = isQuery(this.query) ? this.query : this.query.query;
|
|
732
|
+
const sub = query.state$.pipe(tap((state) => this._updateView(state))).subscribe();
|
|
711
733
|
this._subscription = sub;
|
|
712
734
|
}
|
|
713
735
|
_updateView(state) {
|
|
@@ -1525,5 +1547,5 @@ const def = () => null;
|
|
|
1525
1547
|
* Generated bundle index. Do not edit.
|
|
1526
1548
|
*/
|
|
1527
1549
|
|
|
1528
|
-
export { BasicAuthProvider, BearerAuthProvider, CustomHeaderAuthProvider, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, Query, QueryClient, QueryDirective, QueryError, QueryField, QueryForm, QueryStore, buildBody, buildErrorMessage, buildGqlCacheKey, buildQueryArrayString, buildQueryString, buildRequestError, buildRoute, buildTimestampFromSeconds, createInfinityQueryConfig, decryptBearer, deepFreeze, def, extractExpiresInSeconds, filterFailure, filterInvalidParams, filterNull, filterQueryStates, filterSuccess, gql, guessContentType, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAbortRequestError, isBasicAuthProvider, isBearerAuthProvider, isCustomHeaderAuthProvider, isFetchResponse, isGqlQueryConfig, isParamValid, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, mergeHeaders, pathParamsMissingInRouteFunctionError, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, request, shouldCacheQuery, skipPaginationPageParamCalculator, switchQueryState, takeUntilResponse, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray };
|
|
1550
|
+
export { BasicAuthProvider, BearerAuthProvider, CustomHeaderAuthProvider, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, Query, QueryClient, QueryDirective, QueryError, QueryField, QueryForm, QueryStore, buildBody, buildErrorMessage, buildGqlCacheKey, buildQueryArrayString, buildQueryString, buildRequestError, buildRoute, buildTimestampFromSeconds, createInfinityQueryConfig, createQueryCollection, decryptBearer, deepFreeze, def, extractExpiresInSeconds, extractQuery, filterFailure, filterInvalidParams, filterNull, filterQueryStates, filterSuccess, gql, guessContentType, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAbortRequestError, isBasicAuthProvider, isBearerAuthProvider, isCustomHeaderAuthProvider, isFetchResponse, isGqlQueryConfig, isParamValid, isQuery, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, mergeHeaders, pathParamsMissingInRouteFunctionError, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, request, shouldCacheQuery, skipPaginationPageParamCalculator, switchQueryState, takeUntilResponse, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray };
|
|
1529
1551
|
//# sourceMappingURL=ethlete-query.mjs.map
|