datafolder 1.0.7 → 1.0.9

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.
Files changed (124) hide show
  1. package/README.md +4 -1
  2. package/index.js +1 -1
  3. package/internal.md +5 -3
  4. package/package.json +7 -5
  5. package/scripts/airbnb.js +77 -72
  6. package/scripts/airbnb2.js +78 -73
  7. package/scripts/airbnb2_queries.js +181 -229
  8. package/scripts/airbnb_queries.js +214 -265
  9. package/scripts/convertBinFiles.js +47 -49
  10. package/scripts/downloadFile.js +41 -40
  11. package/scripts/express.js +44 -48
  12. package/scripts/fastify.js +71 -80
  13. package/scripts/flights.js +71 -75
  14. package/scripts/flights2.js +78 -81
  15. package/scripts/flights2_queries.js +417 -455
  16. package/scripts/flights_queries.js +381 -407
  17. package/src/QyAcl.d.ts +17 -0
  18. package/src/QyAcl.js +113 -116
  19. package/src/QyAclSaver.d.ts +4 -0
  20. package/src/QyAclSaver.js +3 -3
  21. package/src/QyAclSaver_Worker.d.ts +9 -0
  22. package/src/QyAclSaver_Worker.js +2 -4
  23. package/src/QyAclWriter.d.ts +5 -0
  24. package/src/QyBatch.d.ts +42 -0
  25. package/src/QyBatch.js +8 -8
  26. package/src/QyBinWriter.d.ts +15 -0
  27. package/src/QyCD.d.ts +37 -0
  28. package/src/QyCD.js +8 -6
  29. package/src/QyCache.d.ts +44 -0
  30. package/src/QyCache.js +65 -59
  31. package/src/QyCompressor.d.ts +9 -0
  32. package/src/QyCompressor.js +29 -29
  33. package/src/QyCompressor_Worker.d.ts +1 -0
  34. package/src/QyDB.d.ts +42 -0
  35. package/src/QyDB.js +13 -11
  36. package/src/QyDefaultOptions.d.ts +1 -0
  37. package/src/QyDefaultOptions.js +3 -0
  38. package/src/QyDir.d.ts +48 -0
  39. package/src/QyDir.js +41 -41
  40. package/src/QyFetch.d.ts +7 -0
  41. package/src/QyFetch.js +2 -3
  42. package/src/QyFile.d.ts +19 -0
  43. package/src/QyFile.js +35 -34
  44. package/src/QyFileContentUtils.d.ts +13 -0
  45. package/src/QyFileContentUtils.js +126 -126
  46. package/src/QyFileLogger.d.ts +11 -0
  47. package/src/QyIndex.d.ts +6 -0
  48. package/src/QyIndex.js +73 -75
  49. package/src/QyIndexPropTree.d.ts +7 -0
  50. package/src/QyIndexPropTree.js +24 -24
  51. package/src/QyIntersectNode.d.ts +7 -0
  52. package/src/QyIntersectNode.js +15 -15
  53. package/src/QyItem.d.ts +30 -0
  54. package/src/QyItem.js +32 -28
  55. package/src/QyJsonSaver.d.ts +6 -0
  56. package/src/QyKVData.d.ts +12 -0
  57. package/src/QyKVData.js +11 -10
  58. package/src/QyKVDataCleaner.d.ts +4 -0
  59. package/src/QyKVDataCleaner.js +1 -1
  60. package/src/QyKVDataCleaner_Worker.d.ts +13 -0
  61. package/src/QyKVDataCleaner_Worker.js +2 -4
  62. package/src/QyKVDataLoader.d.ts +9 -0
  63. package/src/QyKVDataLoader.js +11 -11
  64. package/src/QyKVDataSaver.d.ts +4 -0
  65. package/src/QyKVDataSaver.js +6 -6
  66. package/src/QyKVDataSaver_Worker.d.ts +13 -0
  67. package/src/QyKVDataSaver_Worker.js +7 -9
  68. package/src/QyLogFileSaver.d.ts +4 -0
  69. package/src/QyLogFileSaver.js +1 -1
  70. package/src/QyLogFileSaver_Worker.d.ts +8 -0
  71. package/src/QyLogFileSaver_Worker.js +2 -4
  72. package/src/QyLogger.d.ts +10 -0
  73. package/src/QyLogger.js +40 -40
  74. package/src/QyMessageWorker.d.ts +5 -0
  75. package/src/QyMessageWorker.js +7 -7
  76. package/src/QyMessager.d.ts +7 -0
  77. package/src/QyMessager.js +30 -27
  78. package/src/QyMessager_Run.d.ts +1 -0
  79. package/src/QyMessager_Run.js +11 -6
  80. package/src/QyMod.d.ts +1 -0
  81. package/src/QyMod.js +6 -6
  82. package/src/QyOpRunner.d.ts +10 -0
  83. package/src/QyOpRunner.js +39 -39
  84. package/src/QyQueue.d.ts +11 -0
  85. package/src/QySaver.d.ts +10 -0
  86. package/src/QySnapshotCompactor.d.ts +4 -0
  87. package/src/QySnapshotCompactor.js +1 -1
  88. package/src/QySnapshotCompactor_Worker.d.ts +11 -0
  89. package/src/QySnapshotCompactor_Worker.js +2 -4
  90. package/src/QySnapshotSaver.d.ts +4 -0
  91. package/src/QySnapshotSaver.js +1 -1
  92. package/src/QySnapshotSaver_Worker.d.ts +16 -0
  93. package/src/QySnapshotSaver_Worker.js +17 -16
  94. package/src/QySnapshots.d.ts +27 -0
  95. package/src/QySnapshots.js +3 -3
  96. package/src/QyStructure.d.ts +1 -0
  97. package/src/QyStructure.js +18 -18
  98. package/src/QyTrigger.d.ts +9 -0
  99. package/src/QyTrigger.js +30 -30
  100. package/src/QyUnionNode.d.ts +17 -0
  101. package/src/QyUnionNode.js +2 -2
  102. package/src/QyUtils.d.ts +53 -0
  103. package/src/QyUtils.js +140 -117
  104. package/src/QyWorker.d.ts +5 -0
  105. package/src/QyWorker.js +18 -18
  106. package/src/hackernews.d.ts +1 -0
  107. package/src/hackernews.js +59 -47
  108. package/src/rpc/getRpcFiles.js +1 -0
  109. package/src/simulate.d.ts +1 -0
  110. package/src/simulate2.d.ts +1 -0
  111. package/src/soc_pokec.d.ts +1 -0
  112. package/static/codemirror.bundle/editor.bundle.js +399 -184
  113. package/static/datafolderui/QyStyledElement.js +2 -2
  114. package/static/datafolderui/QyUIFolderViewer.js +97 -77
  115. package/static/datafolderui/QyUIUtils.js +4 -4
  116. package/static/datafolderui/code-mirror.js +7 -7
  117. package/static/datafolderui/display-tree.js +13 -10
  118. package/static/datafolderui/hscrpt.js +26 -7
  119. package/static/datafolderui/json-view.js +27 -0
  120. package/static/datafolderui/main-page.js +65 -37
  121. package/static/datafolderui/query-editor.js +8 -8
  122. package/static/datafolderui/rpc-editor.js +31 -0
  123. package/static/datafolderui/trigger-editor.js +9 -6
  124. package/static/datafolderui/QyUIFolderTree.js +0 -188
@@ -9,41 +9,41 @@ class i {
9
9
  });
10
10
  }
11
11
  insert(e, t) {
12
- var r = this.children;
12
+ var n = this.children;
13
13
  if (t == e.length) return !this.indexPropPath && (this.indexPropPath = e,
14
14
  !0);
15
- var n = e[t];
15
+ var r = e[t];
16
16
  let h;
17
- return r ? (h = r[n]) || (h = r[n] = new i(n, this), ++this.childCount) : (h = new i(n, this),
17
+ return n ? (h = n[r]) || (h = n[r] = new i(r, this), ++this.childCount) : (h = new i(r, this),
18
18
  this.children = {
19
- [n]: h
19
+ [r]: h
20
20
  }, ++this.childCount), h.insert(e, t + 1);
21
21
  }
22
- remove(e, t = 0, r = {}) {
22
+ remove(e, t = 0, n = {}) {
23
23
  var {
24
- parent: n,
24
+ parent: r,
25
25
  name: h,
26
26
  children: i
27
27
  } = this;
28
- if (t == e.length) return this.indexPropPath && (r.removed = !0, delete this.indexPropPath),
29
- n && o(this) && function e(t, r) {
28
+ if (t == e.length) return this.indexPropPath && (n.removed = !0, delete this.indexPropPath),
29
+ r && o(this) && function e(t, n) {
30
30
  let {
31
- children: n,
31
+ children: r,
32
32
  parent: h,
33
33
  name: i
34
34
  } = t;
35
- n[r] && (delete n[r], 0 == --t.childCount && delete t.children, h) && o(t) && e(h, i);
36
- }(n, h), r;
37
- this.indexPropPath && (r.hasPrefix = !0);
38
- n = i && i[e[t]];
39
- return n ? n.remove(e, t + 1, r) : r;
35
+ r[n] && (delete r[n], 0 == --t.childCount && delete t.children, h) && o(t) && e(h, i);
36
+ }(r, h), n;
37
+ this.indexPropPath && (n.hasPrefix = !0);
38
+ r = i && i[e[t]];
39
+ return r ? r.remove(e, t + 1, n) : n;
40
40
  }
41
41
  getAllIndexPropPaths(e) {
42
42
  var {
43
43
  children: t,
44
- indexPropPath: r
44
+ indexPropPath: n
45
45
  } = this;
46
- if (r) e.push(r); else for (var n in t) t[n].getAllIndexPropPaths(e);
46
+ if (n) e.push(n); else for (var r in t) t[r].getAllIndexPropPaths(e);
47
47
  }
48
48
  }
49
49
 
@@ -51,7 +51,7 @@ function o(e) {
51
51
  return !e.indexPropPath && 0 == e.childCount;
52
52
  }
53
53
 
54
- class n {
54
+ class r {
55
55
  constructor() {
56
56
  Object.assign(this, {
57
57
  rootNode: new i(),
@@ -71,22 +71,22 @@ class n {
71
71
  var {
72
72
  _cachedChangeCount: e,
73
73
  allIndexPropPaths: t,
74
- rootNode: r,
75
- changeCount: n
74
+ rootNode: n,
75
+ changeCount: r
76
76
  } = this;
77
- return e != n && (t.length = 0, r.getAllIndexPropPaths(t), this._cachedChangeCount = n),
77
+ return e != r && (t.length = 0, n.getAllIndexPropPaths(t), this._cachedChangeCount = r),
78
78
  t;
79
79
  }
80
80
  }
81
81
 
82
82
  function e(e) {
83
83
  if (0 == e.length) return [];
84
- var t, r = new n();
85
- for (t of e) r.insert(t);
86
- return r.getAllIndexPropPaths();
84
+ var t, n = new r();
85
+ for (t of e) n.insert(t);
86
+ return n.getAllIndexPropPaths();
87
87
  }
88
88
 
89
89
  export {
90
- n as QyIndexPropTree,
90
+ r as QyIndexPropTree,
91
91
  e as getPrefixPropPaths
92
92
  };
@@ -0,0 +1,7 @@
1
+ import { QyQueryNode } from "./QyUnionNode.ts";
2
+ export declare class QyIntersectNode extends QyQueryNode {
3
+ constructor();
4
+ containsFile(fileName: any): any;
5
+ getFiles(queryCounter: any, resultMap?: {}): Generator<any, void, unknown>;
6
+ addNode(node: any): void;
7
+ }
@@ -2,7 +2,7 @@ import {
2
2
  QyQueryNode as t
3
3
  } from "./QyUnionNode.js";
4
4
 
5
- class i extends t {
5
+ class n extends t {
6
6
  constructor() {
7
7
  super(), Object.assign(this, {
8
8
  fileCount: void 0
@@ -11,28 +11,28 @@ class i extends t {
11
11
  containsFile(t) {
12
12
  var {
13
13
  nodeList: e,
14
- fileCount: n
14
+ fileCount: i
15
15
  } = this;
16
- if (0 != e.length && 0 != n) return s(this), e[0].containsFile(t) && l(e, t);
16
+ if (0 != e.length && 0 != i) return s(this), e[0].containsFile(t) && l(e, t);
17
17
  }
18
18
  *getFiles(t, e = {}) {
19
19
  var {
20
- nodeList: n,
21
- fileCount: i
20
+ nodeList: i,
21
+ fileCount: n
22
22
  } = this;
23
- if (0 != n.length && 0 != i) {
23
+ if (0 != i.length && 0 != n) {
24
24
  s(this);
25
- for (var o of n[0].getFiles()) if (!(o in e) && l(n, o) && this.encounterOne(e, o, t) && (yield o,
25
+ for (var o of i[0].getFiles()) if (!(o in e) && l(i, o) && this.encounterOne(e, o, t) && (yield o,
26
26
  t?.isFull)) return;
27
27
  }
28
28
  }
29
29
  addNode(t) {
30
- var e, n;
30
+ var e, i;
31
31
  t && null != t.fileCount && ({
32
32
  fileCount: e,
33
- nodeList: n
34
- } = this, 0 < n.length && 0 == e || (t instanceof i ? (n.push(...t.nodeList),
35
- this.sorted = !1) : n.push(t), (null == e || e > t.fileCount) && (this.fileCount = t.fileCount)));
33
+ nodeList: i
34
+ } = this, 0 < i.length && 0 == e || (t instanceof n ? (i.push(...t.nodeList),
35
+ this.sorted = !1) : i.push(t), (null == e || e > t.fileCount) && (this.fileCount = t.fileCount)));
36
36
  }
37
37
  }
38
38
 
@@ -40,12 +40,12 @@ function s(t) {
40
40
  t.sorted || (t.nodeList.sort((t, e) => t.fileCount - e.fileCount), t.sorted = !0);
41
41
  }
42
42
 
43
- function l(e, n) {
44
- var i = e.length;
45
- for (let t = 1; t < i; ++t) if (!e[t].containsFile(n)) return !1;
43
+ function l(e, i) {
44
+ var n = e.length;
45
+ for (let t = 1; t < n; ++t) if (!e[t].containsFile(i)) return !1;
46
46
  return !0;
47
47
  }
48
48
 
49
49
  export {
50
- i as QyIntersectNode
50
+ n as QyIntersectNode
51
51
  };
@@ -0,0 +1,30 @@
1
+ import type { QyDir } from "./QyDir.ts";
2
+ import type { QyCache } from "./QyCache.ts";
3
+ export declare class QyItem {
4
+ name: string;
5
+ parentDir: QyDir | undefined;
6
+ flagInt: number;
7
+ constructor(name: string | number, created?: boolean, parentDir?: QyDir);
8
+ get qyCache(): QyCache | undefined;
9
+ get _created(): boolean;
10
+ set _created(val: boolean);
11
+ get subdirMapLoaded(): boolean;
12
+ set subdirMapLoaded(val: boolean);
13
+ get fileMapLoaded(): boolean;
14
+ set fileMapLoaded(val: boolean);
15
+ get fileContentLoaded(): boolean;
16
+ set fileContentLoaded(val: boolean);
17
+ get visited(): boolean;
18
+ set visited(val: boolean);
19
+ get nameNum(): number | string;
20
+ cmp({ nameNum: num2 }: {
21
+ nameNum: any;
22
+ }): 1 | 0 | -1;
23
+ get fullPath(): string;
24
+ get fullPathHash(): string;
25
+ get isItem(): boolean;
26
+ get underHiddenFolder(): boolean;
27
+ get parentList(): QyDir[];
28
+ get parentNamePath(): string[];
29
+ get namePath(): string[];
30
+ }
package/src/QyItem.js CHANGED
@@ -3,59 +3,53 @@ import {
3
3
  SpecialFilePaths as t
4
4
  } from "./QyUtils.js";
5
5
 
6
- let s = t.HiddenFolderName;
6
+ let i = t.HiddenFolderName;
7
7
 
8
8
  class e {
9
- constructor(t, e, a) {
10
- t = t.toString(), Object.assign(this, {
11
- name: t,
12
- parentDir: a,
13
- flagInt: 0
14
- }), this._created = e, a && (a.name == s || a.underHiddenFolder) && (this.flagInt |= 2);
15
- }
16
- _getFlag(t) {
17
- return 0 != (this.flagInt & t);
18
- }
19
- _setFlag(t, e) {
20
- e ? this.flagInt |= t : this.flagInt &= ~t;
9
+ name;
10
+ parentDir;
11
+ flagInt;
12
+ constructor(t, e = !1, a) {
13
+ this.name = t.toString(), this.parentDir = a, this.flagInt = 0, this._created = e,
14
+ a && (a.name == i || a.underHiddenFolder) && (this.flagInt |= 2);
21
15
  }
22
16
  get qyCache() {
23
17
  var t = this.parentDir;
24
18
  return t ? t.qyCache : this._qyCache;
25
19
  }
26
20
  get _created() {
27
- return this._getFlag(1);
21
+ return r(this, 1);
28
22
  }
29
23
  set _created(t) {
30
- this._setFlag(1, t);
24
+ n(this, 1, t);
31
25
  }
32
26
  get subdirMapLoaded() {
33
- return this._getFlag(4);
27
+ return r(this, 4);
34
28
  }
35
29
  set subdirMapLoaded(t) {
36
- return this._setFlag(4, t);
30
+ n(this, 4, t);
37
31
  }
38
32
  get fileMapLoaded() {
39
- return this._getFlag(8);
33
+ return r(this, 8);
40
34
  }
41
35
  set fileMapLoaded(t) {
42
- this._setFlag(8, t);
36
+ n(this, 8, t);
43
37
  }
44
38
  get fileContentLoaded() {
45
- return this._getFlag(16);
39
+ return r(this, 16);
46
40
  }
47
41
  set fileContentLoaded(t) {
48
- this._setFlag(16, t);
42
+ n(this, 16, t);
49
43
  }
50
44
  get visited() {
51
- return this._getFlag(32);
45
+ return r(this, 32);
52
46
  }
53
47
  set visited(t) {
54
- this._setFlag(32, t);
48
+ n(this, 32, t);
55
49
  }
56
50
  get nameNum() {
57
- var t;
58
- return this._nameNum || (t = +this.name, this._nameNum = isNaN(t) ? this.name : t);
51
+ var t = this._nameNum;
52
+ return null != t ? t : (t = +this.name, this._nameNum = isNaN(t) ? this.name : t);
59
53
  }
60
54
  cmp({
61
55
  nameNum: t
@@ -81,14 +75,16 @@ class e {
81
75
  return !0;
82
76
  }
83
77
  get underHiddenFolder() {
84
- return 2 & this.flagInt;
78
+ return r(this, 2);
85
79
  }
86
80
  get parentList() {
87
81
  if (null == this._parentList) {
88
82
  var e = this._parentList = [];
89
83
  let t = this.parentDir;
90
- for (;t.parentDir; ) e.push(t), t = t.parentDir;
91
- e.reverse();
84
+ if (null != t) {
85
+ for (;t.parentDir; ) e.push(t), t = t.parentDir;
86
+ e.reverse();
87
+ }
92
88
  }
93
89
  return this._parentList;
94
90
  }
@@ -102,6 +98,14 @@ class e {
102
98
  }
103
99
  }
104
100
 
101
+ function r(t, e) {
102
+ return 0 != (t.flagInt & e);
103
+ }
104
+
105
+ function n(t, e, a) {
106
+ a ? t.flagInt |= e : t.flagInt &= ~e;
107
+ }
108
+
105
109
  export {
106
110
  e as QyItem
107
111
  };
@@ -0,0 +1,6 @@
1
+ import { QySaver } from "./QySaver.ts";
2
+ export declare class QyJsonSaver extends QySaver {
3
+ constructor(dataFolder: any, options: any);
4
+ processAfterLoad(binData: any, fileName: any): any;
5
+ processBeforeSave(json: any, fileName: any): Buffer<any>;
6
+ }
@@ -0,0 +1,12 @@
1
+ export declare class QyKVData {
2
+ constructor(kvFolder: any, options: any, qyCache: any);
3
+ start(maxChangeId: any, loadedMaxAclNum: any, qySnapshots: any, aclKeyValueMap: any): this;
4
+ stop(): Promise<void>;
5
+ save(changeId: any, cmdArgAsListObj: any, syncList: any, needPromise: any): any;
6
+ increaseChangeId(): number;
7
+ decreaseChangeId(): void;
8
+ getValueSync(key: any): any;
9
+ removeKey(key: any): any;
10
+ onSnapshotSavedChangeId(snapshotSavedChangeId: any, pMOnlySnapshot: any): void;
11
+ onCompactUpdates(compactUpdates: any): void;
12
+ }
package/src/QyKVData.js CHANGED
@@ -24,7 +24,7 @@ import {
24
24
 
25
25
  import {
26
26
  arrayLast as y,
27
- readBufferAsync as C,
27
+ readBufferAsync as g,
28
28
  sleep as c
29
29
  } from "./QyUtils.js";
30
30
 
@@ -87,6 +87,7 @@ class a {
87
87
  qySnapshots: o,
88
88
  options: e
89
89
  } = a;
90
+ console.time("bgLoadPosMaps");
90
91
  for (t of Object.keys(o.numToSnapshotMap).sort((a, t) => t - a)) {
91
92
  if (await async function s(p, i, r, h, c, l) {
92
93
  if (p.isStopping) return void (l && l.close());
@@ -105,7 +106,7 @@ class a {
105
106
  for (;0 < r.length; ) {
106
107
  let e = y(r), n = f[e];
107
108
  if (n) {
108
- let [ a, t ] = n, o = await C(c, l, a, t);
109
+ let [ a, t ] = n, o = await g(c, l, a, t);
109
110
  if (p.isStopping || !m[i]) return void l.close();
110
111
  if (h != S.pMVersion) return l.close(), s(p, i, r);
111
112
  e in f && d.loadPartialPosMapBuffer(u, e, o);
@@ -117,7 +118,7 @@ class a {
117
118
  }(a, t), a.isStopping) break;
118
119
  if (await c(0), a.isStopping) break;
119
120
  }
120
- !a.isStopping && e.compactAtStart && l(a);
121
+ console.timeEnd("bgLoadPosMaps"), !a.isStopping && e.compactAtStart && l(a);
121
122
  })(this) : n.compactAtStart && l(this), this;
122
123
  }
123
124
  async stop() {
@@ -166,7 +167,7 @@ class a {
166
167
  compactMaxChangeId: e,
167
168
  qyKVDataSaver: n
168
169
  } = this;
169
- if (3 == o && e <= a && (K(this), this.compactState = 1), t) {
170
+ if (3 == o && e <= a && (x(this), this.compactState = 1), t) {
170
171
  var s, o = t, p = this.qySnapshots, i = p.keyToSnapshotMap;
171
172
  for (s in o.posMap) {
172
173
  var r = i[s];
@@ -208,12 +209,12 @@ class a {
208
209
  prefixPM: f
209
210
  } = r[v], v = h[v], {
210
211
  posMap: y,
211
- prefixPM: C,
212
- info: g
212
+ prefixPM: g,
213
+ info: C
213
214
  } = v;
214
215
  for (c in y) y[c] = S[c];
215
- for (u in C) C[u] = f[u];
216
- ++g.pMVersion, ++g.vLVersion, V(v);
216
+ for (u in g) g[u] = f[u];
217
+ ++C.pMVersion, ++C.vLVersion, V(v);
217
218
  }
218
219
  }
219
220
  if (m) {
@@ -243,7 +244,7 @@ class a {
243
244
  }
244
245
  ++o.pMVersion, ++o.vLVersion, o.totalCount = h, i.outdatedCount = c;
245
246
  }
246
- this.snapshotSavedChangeId >= this.compactMaxChangeId ? (K(this), this.compactState = 1) : this.compactState = 3;
247
+ this.snapshotSavedChangeId >= this.compactMaxChangeId ? (x(this), this.compactState = 1) : this.compactState = 3;
247
248
  }
248
249
  }
249
250
  }
@@ -299,7 +300,7 @@ function h(a) {
299
300
  0 < t.length && (a.removeSnapshotsFiles(t), t.length = 0);
300
301
  }
301
302
 
302
- function K(a) {
303
+ function x(a) {
303
304
  a.qySnapshotCompactor.saveSnapshotInfos(), h(a);
304
305
  }
305
306
 
@@ -0,0 +1,4 @@
1
+ import { QyMessager } from "./QyMessager.ts";
2
+ export declare class QyKVDataCleaner extends QyMessager {
3
+ constructor(parent: any, kvFolder: any, options: any);
4
+ }
@@ -8,7 +8,7 @@ import {
8
8
 
9
9
  class s extends e {
10
10
  constructor(e, s, a) {
11
- super(e, "QyKVDataCleaner_Worker.js", {
11
+ super(e, "QyKVDataCleaner_Worker", {
12
12
  kvFolder: s,
13
13
  options: a = {
14
14
  ...r("QyKVDataCleaner"),
@@ -0,0 +1,13 @@
1
+ import { QyMessageWorker } from "./QyMessageWorker.ts";
2
+ export default class QyKVDataCleaner_Worker extends QyMessageWorker {
3
+ constructor({ kvFolder, options }: {
4
+ kvFolder: any;
5
+ options: any;
6
+ });
7
+ _op_start(): void;
8
+ _op_stop(): void;
9
+ _op_cleanAclFiles(maxSnapshotNum: any): Promise<void>;
10
+ _op_cleanPMFiles(pMChangeList: any): Promise<void>;
11
+ _op_cleanVLFiles(snapshotNum: any, vLVersion: any): Promise<void>;
12
+ _op_removeSnapshotsFiles(snapshotNumList: any): Promise<void>;
13
+ }
@@ -26,7 +26,7 @@ import {
26
26
  Zip_File_Extension as i
27
27
  } from "./QyCompressor.js";
28
28
 
29
- class s extends e {
29
+ export default class extends e {
30
30
  constructor({
31
31
  kvFolder: e,
32
32
  options: s
@@ -108,6 +108,4 @@ async function l(s, a, o, r) {
108
108
  }
109
109
  0 < n.length && await Promise.allSettled(n);
110
110
  }
111
- }
112
-
113
- export default s;
111
+ }
@@ -0,0 +1,9 @@
1
+ export declare class QyKVDataLoader {
2
+ constructor(kvFolder: any, options: any);
3
+ load(): Promise<{
4
+ maxChangeId: any;
5
+ loadedMaxAclNum: any;
6
+ qySnapshots: any;
7
+ aclKeyValueMap: any;
8
+ }>;
9
+ }
@@ -1,5 +1,5 @@
1
1
  import {
2
- readFile as u,
2
+ readFile as y,
3
3
  readdir as x
4
4
  } from "node:fs/promises";
5
5
 
@@ -20,13 +20,13 @@ import {
20
20
  } from "./QySnapshots.js";
21
21
 
22
22
  import {
23
- getDefaultOptions as r
23
+ getDefaultOptions as l
24
24
  } from "./QyDefaultOptions.js";
25
25
 
26
26
  class a {
27
27
  constructor(a, s) {
28
28
  s = {
29
- ...r("QyKVDataLoader"),
29
+ ...l("QyKVDataLoader"),
30
30
  ...s
31
31
  };
32
32
  var t = o(a, "snapshot");
@@ -49,15 +49,15 @@ class a {
49
49
  snapshotMaxChangeId: o
50
50
  } = a;
51
51
  if (this.maxChangeId = o, s) {
52
- var e = this, r = s.filter(a => a > t), {
53
- aclKeyValueMap: l,
52
+ var e = this, l = s.filter(a => a > t), {
53
+ aclKeyValueMap: r,
54
54
  qySnapshots: i,
55
55
  options: s
56
- } = (r.sort((a, s) => a - s), e), n = s.autoRepairAclFile, p = await Promise.all(r.map(async a => u(F(e, a))));
57
- for (let a = 0; a < r.length; ++a) {
58
- var d = r[a], m = F(e, d), m = await M(m, p[a], n, e.maxChangeId);
56
+ } = (l.sort((a, s) => a - s), e), n = s.autoRepairAclFile, p = await Promise.all(l.map(async a => y(F(e, a))));
57
+ for (let a = 0; a < l.length; ++a) {
58
+ var d = l[a], m = F(e, d), m = await M(m, p[a], n, e.maxChangeId);
59
59
  if (0 < m.length) {
60
- for (var [ h, c ] of m) i.applyCmdObj(c, l), e.maxChangeId = h;
60
+ for (var [ h, c ] of m) i.applyCmdObj(c, r), e.maxChangeId = h;
61
61
  e.loadedMaxAclNum = d;
62
62
  }
63
63
  }
@@ -66,13 +66,13 @@ class a {
66
66
  var {
67
67
  maxChangeId: s,
68
68
  loadedMaxAclNum: f,
69
- aclKeyValueMap: y
69
+ aclKeyValueMap: u
70
70
  } = this;
71
71
  return {
72
72
  maxChangeId: s,
73
73
  loadedMaxAclNum: f,
74
74
  qySnapshots: a,
75
- aclKeyValueMap: y
75
+ aclKeyValueMap: u
76
76
  };
77
77
  }
78
78
  }
@@ -0,0 +1,4 @@
1
+ import { QyMessager } from "./QyMessager.ts";
2
+ export declare class QyKVDataSaver extends QyMessager {
3
+ constructor(parent: any, kvFolder: any, options: any);
4
+ }
@@ -1,15 +1,15 @@
1
1
  import {
2
- QyMessager as a
2
+ QyMessager as e
3
3
  } from "./QyMessager.js";
4
4
 
5
5
  import {
6
6
  getDefaultOptions as r
7
7
  } from "./QyDefaultOptions.js";
8
8
 
9
- class e extends a {
10
- constructor(a, e, s) {
11
- super(a, "QyKVDataSaver_Worker.js", {
12
- kvFolder: e,
9
+ class a extends e {
10
+ constructor(e, a, s) {
11
+ super(e, "QyKVDataSaver_Worker", {
12
+ kvFolder: a,
13
13
  options: s = {
14
14
  ...r("QyKVDataSaver"),
15
15
  ...s
@@ -19,5 +19,5 @@ class e extends a {
19
19
  }
20
20
 
21
21
  export {
22
- e as QyKVDataSaver
22
+ a as QyKVDataSaver
23
23
  };
@@ -0,0 +1,13 @@
1
+ import { QyMessageWorker } from "./QyMessageWorker.ts";
2
+ export default class QyKVDataSaver_Worker extends QyMessageWorker {
3
+ constructor({ kvFolder, options }: {
4
+ kvFolder: any;
5
+ options: any;
6
+ });
7
+ _op_start(maxChangeId: any, maxSnapshotNum: any, loadedMaxAclNum: any, aclKeyValueMap: any): void;
8
+ _op_stop(): Promise<any>;
9
+ callSave(changeId: any, cmdArgAsListObj: any, syncList: any): any;
10
+ castSave(changeId: any, cmdArgAsListObj: any, syncList: any): any;
11
+ releaseSnapshot(snapshotNum: any): void;
12
+ onSnapshotSavedChangeId(snapshotSavedChangeId: any, pMOnlySnapshot: any): void;
13
+ }
@@ -22,7 +22,7 @@ import {
22
22
  delCmdKey as u
23
23
  } from "./QyAcl.js";
24
24
 
25
- class s extends a {
25
+ export default class extends a {
26
26
  constructor({
27
27
  kvFolder: a,
28
28
  options: s
@@ -33,7 +33,7 @@ class s extends a {
33
33
  }), Object.assign(this, {
34
34
  kvFolder: a,
35
35
  aclFolder: t(a, "acl"),
36
- qyAclSaver: new o(this, s),
36
+ qyAclSaver: s.noAcl ? void 0 : new o(this, s),
37
37
  qySnapshotSaver: new n(this, a, s)
38
38
  });
39
39
  }
@@ -46,7 +46,7 @@ class s extends a {
46
46
  maxChangeId: a,
47
47
  snapshotMaxChangeId: a,
48
48
  currentAclNum: (t || s) + 1
49
- }), o.start(m(this)), n.start(a, t, e);
49
+ }), o && o.start(m(this)), n.start(a, t, e);
50
50
  }
51
51
  async _op_stop() {
52
52
  var {
@@ -57,7 +57,7 @@ class s extends a {
57
57
  maxChangeId: o,
58
58
  snapshotMaxChangeId: n
59
59
  } = this;
60
- return this.isStopping = !0, await a.stop(), s.saveSnapshotAtStop && n < o && (this.isSavingSnapshot && await new Promise(a => this.saveSnapshotResolve = a),
60
+ return this.isStopping = !0, a && await a.stop(), s.saveSnapshotAtStop && n < o && (this.isSavingSnapshot && await new Promise(a => this.saveSnapshotResolve = a),
61
61
  logger.log(`Saving snapshot ${e} at stop.`), t.saveSnapshot(e)), t.stop();
62
62
  }
63
63
  callSave(a, s, t) {
@@ -84,14 +84,14 @@ function r(a, s, t, e, o) {
84
84
  isSavingSnapshot: S
85
85
  } = a;
86
86
  let v;
87
- o ? v = n.callSave(s, t) : n.castSave(s, t);
87
+ n && (o ? v = n.callSave(s, t) : n.castSave(s, t));
88
88
  var l = t, c = e;
89
89
  if (c) {
90
90
  var g = c.length;
91
91
  for (let a = 0; a < g; a += 2) u(l, c[a]);
92
92
  }
93
93
  return r.castSave(s, t, e), a.maxChangeId = s, !S && s - i >= h.snapshotMaxChangeCount && (++a.currentAclNum,
94
- n.switch(m(a)), r.saveSnapshot(p), Object.assign(a, {
94
+ n && n.switch(m(a)), r.saveSnapshot(p), Object.assign(a, {
95
95
  snapshotMaxChangeId: s,
96
96
  isSavingSnapshot: !0
97
97
  })), v;
@@ -99,6 +99,4 @@ function r(a, s, t, e, o) {
99
99
 
100
100
  function m(a) {
101
101
  return t(a.aclFolder, a.currentAclNum + "_acl.txt");
102
- }
103
-
104
- export default s;
102
+ }
@@ -0,0 +1,4 @@
1
+ import { QyMessager } from "./QyMessager.ts";
2
+ export declare class QyLogFileSaver extends QyMessager {
3
+ constructor(parent: any, options: any);
4
+ }
@@ -8,7 +8,7 @@ import {
8
8
 
9
9
  class s extends e {
10
10
  constructor(e, s) {
11
- super(e, "QyLogFileSaver_Worker.js", s = {
11
+ super(e, "QyLogFileSaver_Worker", s = {
12
12
  ...r("QyLogFileSaver"),
13
13
  ...s
14
14
  }, s, [], [ "switch", "save" ]);
@@ -0,0 +1,8 @@
1
+ import { QyMessageWorker } from "./QyMessageWorker.ts";
2
+ export default class QyLogFileSaver_Worker extends QyMessageWorker {
3
+ constructor(options: any);
4
+ _op_start(logFilePath: any): Promise<void>;
5
+ _op_stop(): Promise<void>;
6
+ switch(logFilePath: any): Promise<void>;
7
+ save(changeId: any, data: any): void;
8
+ }