@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.
@@ -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 sub = this.query.state$.pipe(tap((state) => this._updateView(state))).subscribe();
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