@astral/mobx-query 1.3.2 → 1.4.0

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.
@@ -26,6 +26,10 @@ export declare class AuxiliaryQuery<TResult, TError = void> {
26
26
  * @description флаг, обозначающий успешность завершения последнего запроса
27
27
  */
28
28
  isSuccess: boolean;
29
+ /**
30
+ * флаг, обозначающий простаивание, т.е. запроса еще не было
31
+ */
32
+ isIdle: boolean;
29
33
  /**
30
34
  * @description единый промис, для устранения гонки запросов
31
35
  */
@@ -24,6 +24,10 @@ export class AuxiliaryQuery {
24
24
  * @description флаг, обозначающий успешность завершения последнего запроса
25
25
  */
26
26
  this.isSuccess = false;
27
+ /**
28
+ * флаг, обозначающий простаивание, т.е. запроса еще не было
29
+ */
30
+ this.isIdle = true;
27
31
  /**
28
32
  * @description метод ответственный за создание единого промиса,
29
33
  * для устранения гонки запросов
@@ -71,6 +75,7 @@ export class AuxiliaryQuery {
71
75
  * @description метод, вызываемый в самом начале запроса, чтобы сбросить флаги в соответствующее значение
72
76
  */
73
77
  this.startLoading = () => {
78
+ this.isIdle = false;
74
79
  this.isLoading = true;
75
80
  this.isError = false;
76
81
  this.isSuccess = false;
@@ -136,4 +136,5 @@ export declare class InfiniteQuery<TResult, TError = void> implements QueryBaseA
136
136
  * @description флаг обозначающий, что последний запрос был успешно завершен
137
137
  */
138
138
  get isSuccess(): boolean;
139
+ get isIdle(): boolean;
139
140
  }
@@ -193,4 +193,7 @@ export class InfiniteQuery {
193
193
  get isSuccess() {
194
194
  return this.auxiliary.isSuccess;
195
195
  }
196
+ get isIdle() {
197
+ return this.auxiliary.isIdle;
198
+ }
196
199
  }
@@ -1,9 +1,6 @@
1
- import type { QueryExecutor, QueryParams } from '../Query';
2
- import { Query } from '../Query';
3
- import type { InfiniteExecutor, InfiniteQueryParams } from '../InfiniteQuery';
4
- import { InfiniteQuery } from '../InfiniteQuery';
5
- import type { MutationExecutor, MutationParams } from '../Mutation';
6
- import { Mutation } from '../Mutation';
1
+ import { Query, type QueryExecutor, type QueryParams } from '../Query';
2
+ import { type InfiniteExecutor, InfiniteQuery, type InfiniteQueryParams } from '../InfiniteQuery';
3
+ import { Mutation, type MutationExecutor, type MutationParams } from '../Mutation';
7
4
  import type { CacheKey, FetchPolicy } from '../types';
8
5
  /**
9
6
  * @description стандартный обработчик ошибки запроса,
@@ -1,6 +1,6 @@
1
1
  import { Query } from '../Query';
2
- import { InfiniteQuery } from '../InfiniteQuery';
3
- import { Mutation } from '../Mutation';
2
+ import { InfiniteQuery, } from '../InfiniteQuery';
3
+ import { Mutation, } from '../Mutation';
4
4
  import { DataStorageFactory } from '../DataStorage';
5
5
  /**
6
6
  * @description время, спустя которое, запись о query c network-only будет удалена
@@ -87,8 +87,11 @@ export class MobxQuery {
87
87
  */
88
88
  this.createQuery = (key, executor, params) => {
89
89
  const fetchPolicy = (params === null || params === void 0 ? void 0 : params.fetchPolicy) || this.defaultFetchPolicy;
90
- return this.getCachedQuery(key, () => new Query(executor, Object.assign(Object.assign({}, params), { onError: ((params === null || params === void 0 ? void 0 : params.onError) ||
91
- this.defaultErrorHandler), enabledAutoFetch: (params === null || params === void 0 ? void 0 : params.enabledAutoFetch) || this.defaultEnabledAutoFetch, fetchPolicy: fetchPolicy, dataStorage: this.queryDataStorageFactory.getStorage(key) })), fetchPolicy);
90
+ return this.getCachedQuery(key, () => {
91
+ var _a;
92
+ return new Query(executor, Object.assign(Object.assign({}, params), { onError: ((params === null || params === void 0 ? void 0 : params.onError) ||
93
+ this.defaultErrorHandler), enabledAutoFetch: (_a = params === null || params === void 0 ? void 0 : params.enabledAutoFetch) !== null && _a !== void 0 ? _a : this.defaultEnabledAutoFetch, fetchPolicy: fetchPolicy, dataStorage: this.queryDataStorageFactory.getStorage(key) }));
94
+ }, fetchPolicy);
92
95
  };
93
96
  /**
94
97
  * @description метод создания инфинит стора, кешируется
@@ -53,4 +53,5 @@ export declare class Mutation<TResult, TError = void, TExecutorParams = void> im
53
53
  * @description флаг обозначающий, что последний запрос был успешно завершен
54
54
  */
55
55
  get isSuccess(): boolean;
56
+ get isIdle(): boolean;
56
57
  }
@@ -65,4 +65,7 @@ export class Mutation {
65
65
  get isSuccess() {
66
66
  return this.auxiliary.isSuccess;
67
67
  }
68
+ get isIdle() {
69
+ return this.auxiliary.isIdle;
70
+ }
68
71
  }
package/Query/Query.d.ts CHANGED
@@ -104,4 +104,5 @@ export declare class Query<TResult, TError = void> implements QueryBaseActions<T
104
104
  * @description флаг обозначающий, что последний запрос был успешно завершен
105
105
  */
106
106
  get isSuccess(): boolean;
107
+ get isIdle(): boolean;
107
108
  }
package/Query/Query.js CHANGED
@@ -131,4 +131,7 @@ export class Query {
131
131
  get isSuccess() {
132
132
  return this.auxiliary.isSuccess;
133
133
  }
134
+ get isIdle() {
135
+ return this.auxiliary.isIdle;
136
+ }
134
137
  }
package/README.md CHANGED
@@ -321,6 +321,8 @@ Boolean флаг, указывающий на процесс выполнени
321
321
  Boolean флаг, указывающий на успешное выполнение запроса
322
322
  ## isError
323
323
  Boolean флаг, указывающий на провалившийся запрос
324
+ ## isIdle
325
+ Boolean флаг, указывающий на простаивание query, первый же вызов запроса переключит его в false
324
326
  ## error
325
327
  Поле, содержащее информацию о последней ошибке
326
328
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astral/mobx-query",
3
- "version": "1.3.2",
3
+ "version": "1.4.0",
4
4
  "browser": "./index.js",
5
5
  "main": "./index.js",
6
6
  "dependencies": {
package/types.d.ts CHANGED
@@ -36,6 +36,10 @@ export type QueryBaseActions<TResult, TError, TExecutorParams = void> = {
36
36
  * @description флаг обзначающий, что последний запрос был успешно выполнен
37
37
  */
38
38
  isSuccess: boolean;
39
+ /**
40
+ * флаг, обозначающий простаивание, т.е. запроса еще не было
41
+ */
42
+ isIdle: boolean;
39
43
  };
40
44
  /**
41
45
  * @description политика получения данных.