@legendapp/state 1.0.0-rc.21 → 1.0.0-rc.22

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@legendapp/state",
3
- "version": "1.0.0-rc.21",
3
+ "version": "1.0.0-rc.22",
4
4
  "description": "legend-state",
5
5
  "sideEffects": false,
6
6
  "private": false,
@@ -121,6 +121,11 @@
121
121
  "require": "./react-hooks/useObservableQuery.js",
122
122
  "types": "./react-hooks/useObservableQuery.d.ts"
123
123
  },
124
+ "./react-hooks/useObservableRouter": {
125
+ "import": "./react-hooks/useObservableRouter.mjs",
126
+ "require": "./react-hooks/useObservableRouter.js",
127
+ "types": "./react-hooks/useObservableRouter.d.ts"
128
+ },
124
129
  "./react-hooks/usePersistedObservable": {
125
130
  "import": "./react-hooks/usePersistedObservable.mjs",
126
131
  "require": "./react-hooks/usePersistedObservable.js",
@@ -132,6 +137,7 @@
132
137
  },
133
138
  "peerDependencies": {
134
139
  "@tanstack/react-query": "^4.14.6",
140
+ "next": "^12",
135
141
  "react": ">=16.8",
136
142
  "react-native": ">=0.61",
137
143
  "react-native-mmkv": "^2"
@@ -4,6 +4,10 @@ export declare class ObservablePersistIndexedDB implements ObservablePersistLoca
4
4
  private tableMetadata;
5
5
  private tablesAdjusted;
6
6
  private db;
7
+ private isSaveTaskQueued;
8
+ private pendingSaves;
9
+ private promisesQueued;
10
+ constructor();
7
11
  initialize(config: ObservablePersistenceConfig['persistLocalOptions']): Promise<void>;
8
12
  loadTable(table: string, config: PersistOptionsLocal): void | Promise<void>;
9
13
  getTable(table: string, config: PersistOptionsLocal): any;
@@ -12,6 +16,7 @@ export declare class ObservablePersistIndexedDB implements ObservablePersistLoca
12
16
  updateMetadata(table: string, metadata: PersistMetadata, config: PersistOptionsLocal): Promise<IDBRequest<IDBValidKey>>;
13
17
  deleteMetadata(table: string, config: PersistOptionsLocal): Promise<void>;
14
18
  set(table: string, changes: Change[], config: PersistOptionsLocal): Promise<void>;
19
+ private doSave;
15
20
  deleteTable(table: string, config: PersistOptionsLocal): Promise<void>;
16
21
  private getMetadataTableName;
17
22
  private initTable;
@@ -11,6 +11,10 @@ class ObservablePersistIndexedDB {
11
11
  this.tableData = {};
12
12
  this.tableMetadata = {};
13
13
  this.tablesAdjusted = new Map();
14
+ this.isSaveTaskQueued = false;
15
+ this.pendingSaves = new Map();
16
+ this.promisesQueued = [];
17
+ this.doSave = this.doSave.bind(this);
14
18
  }
15
19
  initialize(config) {
16
20
  if (typeof indexedDB === 'undefined')
@@ -163,16 +167,22 @@ class ObservablePersistIndexedDB {
163
167
  var _a, _b;
164
168
  if (typeof indexedDB === 'undefined')
165
169
  return;
166
- const store = this.transactionStore(table);
170
+ if (!this.pendingSaves.has(config)) {
171
+ this.pendingSaves.set(config, {});
172
+ }
173
+ const pendingSaves = this.pendingSaves.get(config);
174
+ const realTable = table;
167
175
  const prefixID = (_a = config.indexedDB) === null || _a === void 0 ? void 0 : _a.prefixID;
168
176
  if (prefixID) {
169
177
  table += '/' + prefixID;
170
178
  }
171
179
  const prev = this.tableData[table];
172
180
  const itemID = (_b = config.indexedDB) === null || _b === void 0 ? void 0 : _b.itemID;
181
+ if (!pendingSaves[table]) {
182
+ pendingSaves[table] = { tableName: realTable, items: new Set() };
183
+ }
184
+ const pendingTable = pendingSaves[table];
173
185
  // Combine changes into a minimal set of saves
174
- const savesItems = {};
175
- let saveTable;
176
186
  for (let i = 0; i < changes.length; i++) {
177
187
  // eslint-disable-next-line prefer-const
178
188
  let { path, valueAtPath, pathTypes } = changes[i];
@@ -187,19 +197,56 @@ class ObservablePersistIndexedDB {
187
197
  this.tableData[table] = {};
188
198
  }
189
199
  this.tableData[table] = state.setAtPath(this.tableData[table], path, pathTypes, valueAtPath);
190
- savesItems[key] = this.tableData[table][key];
200
+ pendingTable.items.add(key);
191
201
  }
192
202
  else {
193
203
  // Set the whole table
194
- saveTable = valueAtPath;
204
+ this.tableData[table] = valueAtPath;
205
+ pendingTable.tablePrev = prev;
195
206
  break;
196
207
  }
197
208
  }
198
- const puts = await Promise.all(saveTable
199
- ? [this._setTable(table, prev, saveTable, store, config)]
200
- : Object.keys(savesItems).map((key) => this._setItem(table, key, savesItems[key], store, config)));
201
- const lastPut = puts[puts.length - 1];
202
- return requestToPromise(lastPut);
209
+ return new Promise((resolve) => {
210
+ this.promisesQueued.push(resolve);
211
+ if (!this.isSaveTaskQueued) {
212
+ this.isSaveTaskQueued = true;
213
+ queueMicrotask(this.doSave);
214
+ }
215
+ });
216
+ }
217
+ async doSave() {
218
+ this.isSaveTaskQueued = false;
219
+ const promisesQueued = this.promisesQueued;
220
+ this.promisesQueued = [];
221
+ const promises = [];
222
+ let lastPut;
223
+ this.pendingSaves.forEach((pendingSaves, config) => {
224
+ Object.keys(pendingSaves).forEach((table) => {
225
+ const pendingTable = pendingSaves[table];
226
+ const { tablePrev, items, tableName } = pendingTable;
227
+ const store = this.transactionStore(tableName);
228
+ const tableValue = this.tableData[table];
229
+ if (tablePrev) {
230
+ promises.push(this._setTable(table, tablePrev, tableValue, store, config));
231
+ }
232
+ else {
233
+ items.forEach((key) => {
234
+ lastPut = this._setItem(table, key, tableValue[key], store, config);
235
+ });
236
+ }
237
+ // Clear pending saves
238
+ items.clear();
239
+ delete pendingTable.tablePrev;
240
+ });
241
+ });
242
+ // setTable awaits multiple sets and deletes so we need to await that to get
243
+ // the lastPut from it.
244
+ if (promises.length) {
245
+ const puts = await Promise.all(promises);
246
+ lastPut = puts[puts.length - 1];
247
+ }
248
+ await requestToPromise(lastPut);
249
+ promisesQueued.forEach((resolve) => resolve());
203
250
  }
204
251
  async deleteTable(table, config) {
205
252
  const configIDB = config.indexedDB;
@@ -302,7 +349,7 @@ class ObservablePersistIndexedDB {
302
349
  const transaction = this.db.transaction(table, 'readwrite');
303
350
  return transaction.objectStore(table);
304
351
  }
305
- async _setItem(table, key, value, store, config) {
352
+ _setItem(table, key, value, store, config) {
306
353
  var _a;
307
354
  if (!value) {
308
355
  if (this.tableData[table]) {
@@ -1 +1 @@
1
- {"version":3,"file":"indexeddb.js","sources":["../../../../src/persist-plugins/indexeddb.ts"],"sourcesContent":[null],"names":["when","isPromise","observable","setAtPath","isPrimitive"],"mappings":"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"}
1
+ {"version":3,"file":"indexeddb.js","sources":["../../../../src/persist-plugins/indexeddb.ts"],"sourcesContent":[null],"names":["when","isPromise","observable","setAtPath","isPrimitive"],"mappings":"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"}
@@ -9,6 +9,10 @@ class ObservablePersistIndexedDB {
9
9
  this.tableData = {};
10
10
  this.tableMetadata = {};
11
11
  this.tablesAdjusted = new Map();
12
+ this.isSaveTaskQueued = false;
13
+ this.pendingSaves = new Map();
14
+ this.promisesQueued = [];
15
+ this.doSave = this.doSave.bind(this);
12
16
  }
13
17
  initialize(config) {
14
18
  if (typeof indexedDB === 'undefined')
@@ -161,16 +165,22 @@ class ObservablePersistIndexedDB {
161
165
  var _a, _b;
162
166
  if (typeof indexedDB === 'undefined')
163
167
  return;
164
- const store = this.transactionStore(table);
168
+ if (!this.pendingSaves.has(config)) {
169
+ this.pendingSaves.set(config, {});
170
+ }
171
+ const pendingSaves = this.pendingSaves.get(config);
172
+ const realTable = table;
165
173
  const prefixID = (_a = config.indexedDB) === null || _a === void 0 ? void 0 : _a.prefixID;
166
174
  if (prefixID) {
167
175
  table += '/' + prefixID;
168
176
  }
169
177
  const prev = this.tableData[table];
170
178
  const itemID = (_b = config.indexedDB) === null || _b === void 0 ? void 0 : _b.itemID;
179
+ if (!pendingSaves[table]) {
180
+ pendingSaves[table] = { tableName: realTable, items: new Set() };
181
+ }
182
+ const pendingTable = pendingSaves[table];
171
183
  // Combine changes into a minimal set of saves
172
- const savesItems = {};
173
- let saveTable;
174
184
  for (let i = 0; i < changes.length; i++) {
175
185
  // eslint-disable-next-line prefer-const
176
186
  let { path, valueAtPath, pathTypes } = changes[i];
@@ -185,19 +195,56 @@ class ObservablePersistIndexedDB {
185
195
  this.tableData[table] = {};
186
196
  }
187
197
  this.tableData[table] = setAtPath(this.tableData[table], path, pathTypes, valueAtPath);
188
- savesItems[key] = this.tableData[table][key];
198
+ pendingTable.items.add(key);
189
199
  }
190
200
  else {
191
201
  // Set the whole table
192
- saveTable = valueAtPath;
202
+ this.tableData[table] = valueAtPath;
203
+ pendingTable.tablePrev = prev;
193
204
  break;
194
205
  }
195
206
  }
196
- const puts = await Promise.all(saveTable
197
- ? [this._setTable(table, prev, saveTable, store, config)]
198
- : Object.keys(savesItems).map((key) => this._setItem(table, key, savesItems[key], store, config)));
199
- const lastPut = puts[puts.length - 1];
200
- return requestToPromise(lastPut);
207
+ return new Promise((resolve) => {
208
+ this.promisesQueued.push(resolve);
209
+ if (!this.isSaveTaskQueued) {
210
+ this.isSaveTaskQueued = true;
211
+ queueMicrotask(this.doSave);
212
+ }
213
+ });
214
+ }
215
+ async doSave() {
216
+ this.isSaveTaskQueued = false;
217
+ const promisesQueued = this.promisesQueued;
218
+ this.promisesQueued = [];
219
+ const promises = [];
220
+ let lastPut;
221
+ this.pendingSaves.forEach((pendingSaves, config) => {
222
+ Object.keys(pendingSaves).forEach((table) => {
223
+ const pendingTable = pendingSaves[table];
224
+ const { tablePrev, items, tableName } = pendingTable;
225
+ const store = this.transactionStore(tableName);
226
+ const tableValue = this.tableData[table];
227
+ if (tablePrev) {
228
+ promises.push(this._setTable(table, tablePrev, tableValue, store, config));
229
+ }
230
+ else {
231
+ items.forEach((key) => {
232
+ lastPut = this._setItem(table, key, tableValue[key], store, config);
233
+ });
234
+ }
235
+ // Clear pending saves
236
+ items.clear();
237
+ delete pendingTable.tablePrev;
238
+ });
239
+ });
240
+ // setTable awaits multiple sets and deletes so we need to await that to get
241
+ // the lastPut from it.
242
+ if (promises.length) {
243
+ const puts = await Promise.all(promises);
244
+ lastPut = puts[puts.length - 1];
245
+ }
246
+ await requestToPromise(lastPut);
247
+ promisesQueued.forEach((resolve) => resolve());
201
248
  }
202
249
  async deleteTable(table, config) {
203
250
  const configIDB = config.indexedDB;
@@ -300,7 +347,7 @@ class ObservablePersistIndexedDB {
300
347
  const transaction = this.db.transaction(table, 'readwrite');
301
348
  return transaction.objectStore(table);
302
349
  }
303
- async _setItem(table, key, value, store, config) {
350
+ _setItem(table, key, value, store, config) {
304
351
  var _a;
305
352
  if (!value) {
306
353
  if (this.tableData[table]) {
@@ -1 +1 @@
1
- {"version":3,"file":"indexeddb.mjs","sources":["../../../../src/persist-plugins/indexeddb.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexeddb.mjs","sources":["../../../../src/persist-plugins/indexeddb.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}