localdb-ces6q 0.2.53 → 0.2.54

Sign up to get free protection for your applications and to get access to all the features.
package/dist/LocalDB.js CHANGED
@@ -38,8 +38,7 @@ export class LocalDB {
38
38
  this._saveCols = {};
39
39
  this._indexes = {};
40
40
  const colNames = objectKeys(config);
41
- for (let i = 0, il = colNames.length; i < il; i += 1) {
42
- const col = colNames[i];
41
+ for (const col of colNames) {
43
42
  this.defineCollection(col, config[col], initialData?.[col]);
44
43
  }
45
44
  }
@@ -121,8 +120,7 @@ export class LocalDB {
121
120
  }
122
121
  }
123
122
  const fieldIndexes = {};
124
- for (let fi = 0, fl = fieldNames.length; fi < fl; fi += 1) {
125
- const field = fieldNames[fi];
123
+ for (const field of fieldNames) {
126
124
  const { type, compare, index } = config.fields[field];
127
125
  if (index) {
128
126
  let comparator;
@@ -210,8 +208,8 @@ export class LocalDB {
210
208
  _rollback() {
211
209
  if (this._txSnapshot) {
212
210
  this._collections = this._txSnapshot;
213
- for (let i = 0, il = this._txRollbacks.length; i < il; i += 1) {
214
- this._txRollbacks[i]();
211
+ for (const rollback of this._txRollbacks) {
212
+ rollback();
215
213
  }
216
214
  // reset
217
215
  this._txChangedFields = {};
@@ -327,8 +325,7 @@ export class LocalDB {
327
325
  if (prev != null) {
328
326
  const copy = {};
329
327
  // delete unset fields
330
- for (let i = 0, il = keys.length; i < il; i += 1) {
331
- const key = keys[i];
328
+ for (const key of keys) {
332
329
  if (key in doc) {
333
330
  copy[key] = doc[key];
334
331
  }
@@ -344,8 +341,7 @@ export class LocalDB {
344
341
  const _txChange = this._txChanges;
345
342
  const _txChangedFields = this._txChangedFields;
346
343
  const next = {};
347
- for (let i = 0, il = keys.length; i < il; i += 1) {
348
- const key = keys[i];
344
+ for (const key of keys) {
349
345
  if (key in doc && doc[key] !== undefined) {
350
346
  next[key] = doc[key];
351
347
  // set changes
@@ -398,8 +394,8 @@ export class LocalDB {
398
394
  // begin tx
399
395
  const txKey = this.beginTx(options);
400
396
  // TODO undo, computes
401
- for (let i = 0, il = docs.length; i < il; i += 1) {
402
- this.setDoc(colName, docs[i], options);
397
+ for (const doc of docs) {
398
+ this.setDoc(colName, doc, options);
403
399
  }
404
400
  // end tx
405
401
  this.endTx(txKey);
@@ -413,8 +409,7 @@ export class LocalDB {
413
409
  let next = { ...prev };
414
410
  let changed = false;
415
411
  let updateNormalized = {};
416
- for (let ki = 0, kl = keys.length; ki < kl; ki += 1) {
417
- const key = keys[ki];
412
+ for (const key of keys) {
418
413
  if (!(key in update))
419
414
  continue;
420
415
  let nextVal = update[key];
@@ -455,13 +450,11 @@ export class LocalDB {
455
450
  let changedByIter = false;
456
451
  let count = 0;
457
452
  while (true) {
458
- for (let ci = 0, cl = computes.length; ci < cl; ci += 1) {
459
- const { compute } = computes[ci];
453
+ for (const computeItem of computes) {
454
+ const { compute, deps } = computeItem;
460
455
  // check deps has changed
461
456
  let depsChanged = false;
462
- const deps = computes[ci].deps;
463
- for (let di = 0, dl = deps.length; di < dl; di += 1) {
464
- const dep = deps[di];
457
+ for (const dep of deps) {
465
458
  if (dep in updateBeforeIter) {
466
459
  depsChanged = true;
467
460
  }
@@ -471,8 +464,7 @@ export class LocalDB {
471
464
  const computedUpdate = compute(docBeforeIter, docBeforeUpdate);
472
465
  if (!computedUpdate)
473
466
  continue;
474
- for (let ki = 0, kl = keys.length; ki < kl; ki += 1) {
475
- const key = keys[ki];
467
+ for (const key of keys) {
476
468
  if (!(key in computedUpdate))
477
469
  continue;
478
470
  let nextVal = computedUpdate[key];
@@ -546,8 +538,7 @@ export class LocalDB {
546
538
  const _txChangedFields = this._txChangedFields;
547
539
  const prevFields = {};
548
540
  const nextFields = {};
549
- for (let ki = 0, kl = changedKeys.length; ki < kl; ki += 1) {
550
- const key = changedKeys[ki];
541
+ for (const key of changedKeys) {
551
542
  const nextVal = next[key];
552
543
  const prevVal = prev[key];
553
544
  // update field
@@ -617,8 +608,7 @@ export class LocalDB {
617
608
  let changed = false;
618
609
  const ignoreNotFound = !!(options?.ignoreNotFound || this._txOptions?.ignoreNotFound);
619
610
  const ids = objectKeys(update);
620
- for (let i = 0, il = ids.length; i < il; i += 1) {
621
- const id = ids[i];
611
+ for (const id of ids) {
622
612
  const prevDoc = prevCol[id];
623
613
  if (prevDoc == null) {
624
614
  if (ignoreNotFound)
@@ -636,8 +626,7 @@ export class LocalDB {
636
626
  const { next: nextDoc, changedKeys } = result;
637
627
  const prevFields = {};
638
628
  const nextFields = {};
639
- for (let ki = 0, kl = changedKeys.length; ki < kl; ki += 1) {
640
- const key = changedKeys[ki];
629
+ for (const key of changedKeys) {
641
630
  const nextVal = nextDoc[key];
642
631
  const prevVal = prevDoc[key];
643
632
  // update field
@@ -709,8 +698,7 @@ export class LocalDB {
709
698
  const _txChange = this._txChanges;
710
699
  const _txChangedFields = this._txChangedFields;
711
700
  const keys = this._fields[colName];
712
- for (let i = 0, il = keys.length; i < il; i += 1) {
713
- const key = keys[i];
701
+ for (const key of keys) {
714
702
  if (key in prev && prev[key] !== undefined) {
715
703
  // set changes
716
704
  const changeMapCol = _txChangedFields[colName] || (_txChangedFields[colName] = {});
@@ -768,8 +756,7 @@ export class LocalDB {
768
756
  const fields = this._fields[colName];
769
757
  const prevDocs = [];
770
758
  const foreignComputeArgs = [];
771
- for (let i = 0, il = ids.length; i < il; i += 1) {
772
- const id = ids[i];
759
+ for (const id of ids) {
773
760
  const prev = prevCol[id];
774
761
  if (prev == null) {
775
762
  if (idempotent)
@@ -778,8 +765,7 @@ export class LocalDB {
778
765
  throw new Error(`Cannot delete non-existing document, ${colName}/${id}`);
779
766
  }
780
767
  // changes
781
- for (let fi = 0, fl = fields.length; fi < fl; fi += 1) {
782
- const key = fields[fi];
768
+ for (const key of fields) {
783
769
  if (key in prev && prev[key] !== undefined) {
784
770
  // set changes
785
771
  const changeMapCol = _txChangedFields[colName] || (_txChangedFields[colName] = {});
@@ -833,9 +819,7 @@ export class LocalDB {
833
819
  const _txChangedFields = this._txChangedFields;
834
820
  const txContext = this._txOptions?.context || {};
835
821
  // listeners
836
- const fieldListeners = this._fieldListeners;
837
- for (let i = 0, il = fieldListeners.length; i < il; i += 1) {
838
- const { collection, id, field, handler } = fieldListeners[i];
822
+ for (const { collection, id, field, handler } of this._fieldListeners) {
839
823
  const field2 = field;
840
824
  const nextDoc = next[collection][id];
841
825
  const prevDoc = prev[collection][id];
@@ -843,29 +827,21 @@ export class LocalDB {
843
827
  handler(nextDoc?.[field2], prevDoc?.[field2], nextDoc, prevDoc, txContext);
844
828
  }
845
829
  }
846
- const docListeners = this._docListeners;
847
- for (let i = 0, il = docListeners.length; i < il; i += 1) {
848
- const { collection, id, handler } = docListeners[i];
830
+ for (const { collection, id, handler } of this._docListeners) {
849
831
  if (next[collection][id] !== prev[collection][id]) {
850
832
  handler(next[collection][id], prev[collection][id], _txChanges[collection][id], txContext);
851
833
  }
852
834
  }
853
- const colListeners = this._colListeners;
854
- for (let i = 0, il = colListeners.length; i < il; i += 1) {
855
- const { collection, handler } = colListeners[i];
835
+ for (const { collection, handler } of this._colListeners) {
856
836
  if (next[collection] !== prev[collection]) {
857
837
  handler(next[collection], prev[collection], _txChanges[collection], _txChangedFields[collection], txContext);
858
838
  }
859
839
  }
860
- const dbListeners = this._dbListeners;
861
- for (let i = 0, il = dbListeners.length; i < il; i += 1) {
862
- const { handler } = dbListeners[i];
840
+ for (const { handler } of this._dbListeners) {
863
841
  handler(next, prev, _txChanges, _txChangedFields, txContext);
864
842
  }
865
843
  // save to storage
866
- const cols = this._collectionNames;
867
- for (let i = 0, il = cols.length; i < il; i += 1) {
868
- const col = cols[i];
844
+ for (const col of this._collectionNames) {
869
845
  if (next[col] !== prev[col]) {
870
846
  this._saveCols[col].debounced();
871
847
  }
@@ -925,8 +901,7 @@ export class LocalDB {
925
901
  if (redoItem) {
926
902
  this._inUndoOrRedo = true;
927
903
  this.tx(() => {
928
- for (let i = 0, il = redoItem.length; i < il; i += 1) {
929
- const { redo } = redoItem[i];
904
+ for (const { redo } of redoItem) {
930
905
  this[redo.op].apply(this, redo.args);
931
906
  }
932
907
  this.state.historyIndex++;
@@ -957,9 +932,7 @@ export class LocalDB {
957
932
  }
958
933
  loadFromStorage() {
959
934
  const data = this._collections;
960
- const cols = this._collectionNames;
961
- for (let i = 0, il = cols.length; i < il; i += 1) {
962
- const col = cols[i];
935
+ for (const col of this._collectionNames) {
963
936
  const colData = this.loadCollectionFromStorage(col);
964
937
  if (colData) {
965
938
  data[col] = colData;
@@ -968,9 +941,7 @@ export class LocalDB {
968
941
  }
969
942
  saveToStorage() {
970
943
  const data = this._collections;
971
- const cols = this._collectionNames;
972
- for (let i = 0, il = cols.length; i < il; i += 1) {
973
- const col = cols[i];
944
+ for (const col of this._collectionNames) {
974
945
  const { localStorageKey } = this._config[col];
975
946
  if (localStorageKey) {
976
947
  localStorage.setItem(localStorageKey, JSON.stringify(data[col]));
@@ -34,8 +34,7 @@ export class LocalDBDocument extends PubSub {
34
34
  const changed = {};
35
35
  const changedKeys = [];
36
36
  const next = { ...prev };
37
- for (let i = 0, il = keys.length; i < il; i += 1) {
38
- const key = keys[i];
37
+ for (const key of keys) {
39
38
  if (!deepEqual(update[key], prev[key])) {
40
39
  changed[key] = update[key];
41
40
  if (update[key] === undefined) {
package/dist/hooks.js CHANGED
@@ -23,8 +23,8 @@ export const useLocalDbDocs = (db, col, ids, deps = [db, col, ids]) => {
23
23
  if (!ids?.length)
24
24
  return;
25
25
  return db.subToCol(col, (next, prev, change) => {
26
- for (let i = 0, il = ids.length; i < il; i += 1) {
27
- if (ids[i] in change) {
26
+ for (const id of ids) {
27
+ if (id in change) {
28
28
  docsRef.current = ids.map((id) => next[id]);
29
29
  return setDocs(docsRef.current);
30
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "localdb-ces6q",
3
- "version": "0.2.53",
3
+ "version": "0.2.54",
4
4
  "description": "TypeScript ECMAScript Module Library Template",
5
5
  "type": "module",
6
6
  "module": "dist/index.js",