@astral/mobx-query 1.0.1 → 1.1.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.
@@ -58,6 +58,10 @@ export declare class MobxQuery {
58
58
  * предполагается использование из домена
59
59
  */
60
60
  invalidate: (keysParts: CacheKey[]) => void;
61
+ /**
62
+ * @description метод инвалидации всех query
63
+ */
64
+ invalidateQueries: () => void;
61
65
  /**
62
66
  * @description метод, который занимается проверкой наличия стора по ключу,
63
67
  * и если нет, создает новый, добавляет его к себе в память, и возвращает его пользователю
@@ -45,6 +45,14 @@ export class MobxQuery {
45
45
  }
46
46
  });
47
47
  };
48
+ /**
49
+ * @description метод инвалидации всех query
50
+ */
51
+ this.invalidateQueries = () => {
52
+ [...this.cacheableStores.entries()].forEach(([, store]) => {
53
+ store.invalidate();
54
+ });
55
+ };
48
56
  /**
49
57
  * @description метод, который занимается проверкой наличия стора по ключу,
50
58
  * и если нет, создает новый, добавляет его к себе в память, и возвращает его пользователю
package/README.md CHANGED
@@ -174,6 +174,12 @@ mobxQuery.invalidate(['key one']); // ключ не совпадает, query Н
174
174
 
175
175
  - Инвалидация будет происходить только для query, поле `data` которых считывается в данный момент. Для query, `data` которых будут отрендерены позже, запрос произойдет только в момент использования. Для превентивного обновления данных потребуется последовательное использование `sync/async` методов сразу после `invalidate`.
176
176
 
177
+ ### Массовая инвалидация
178
+ Для инвалидации всех query необходимо использовать метод `invalidateQueries`
179
+ ```ts
180
+ mobxQuery.invalidateQueries();
181
+ ```
182
+
177
183
  # InfiniteQuery
178
184
  Существует необходимость постепенного запроса массивов данных, в постраничном режиме. Типичный пример, инфинити скролл, когда новая пачка данных запрашивается, в момент когда пользователь докрутил список до конца.
179
185
  Для удобства, мы создали специальный `query`, который содержит дополнительный метод `fetchMore` и при вызове оного, происходит запрос с увеличенными счетчиками. Данные ответа на этот запрос, будут сконкатенированы с уже имеющимся. В случае, если количество данных меньше, чем длина страницы, будет считаться что мы дошли до конца списка.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astral/mobx-query",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "browser": "./index.js",
5
5
  "main": "./index.js",
6
6
  "dependencies": {