datafolder 1.0.5 → 1.0.6

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 (70) hide show
  1. package/README.md +4 -1
  2. package/data/sampleDataFolder/qykv/history/acl/1_acl.txt +1 -0
  3. package/data/sampleDataFolder/qykv/history/acl/2_acl.txt +1 -0
  4. package/data/sampleDataFolder/qykv/history/acl/3_acl.txt +1 -0
  5. package/data/sampleDataFolder/qykv/history/acl/4_acl.txt +1 -0
  6. package/data/sampleDataFolder/qykv/history/acl/5_acl.txt +1 -0
  7. package/data/sampleDataFolder/qykv/snapshot/1/1_pM.txt +0 -0
  8. package/data/sampleDataFolder/qykv/snapshot/1/1_prefixPM.txt +0 -0
  9. package/data/sampleDataFolder/qykv/snapshot/1/1_vL.txt +10 -0
  10. package/data/sampleDataFolder/qykv/snapshot/2/1_pM.txt +0 -0
  11. package/data/sampleDataFolder/qykv/snapshot/2/1_prefixPM.txt +0 -0
  12. package/data/sampleDataFolder/qykv/snapshot/2/1_vL.txt +1 -0
  13. package/data/sampleDataFolder/qykv/snapshot/3/1_pM.txt +0 -0
  14. package/data/sampleDataFolder/qykv/snapshot/3/1_prefixPM.txt +0 -0
  15. package/data/sampleDataFolder/qykv/snapshot/3/1_vL.txt +1 -0
  16. package/data/sampleDataFolder/qykv/snapshot/4/1_pM.txt +0 -0
  17. package/data/sampleDataFolder/qykv/snapshot/4/1_prefixPM.txt +0 -0
  18. package/data/sampleDataFolder/qykv/snapshot/4/1_vL.txt +1 -0
  19. package/data/sampleDataFolder/qykv/snapshot/4/2_pM.txt +0 -0
  20. package/data/sampleDataFolder/qykv/snapshot/4/2_prefixPM.txt +0 -0
  21. package/data/sampleDataFolder/qykv/snapshot/4/2_vL.txt +9 -0
  22. package/data/sampleDataFolder/qykv/snapshot/5/1_pM.txt +0 -0
  23. package/data/sampleDataFolder/qykv/snapshot/5/1_prefixPM.txt +0 -0
  24. package/data/sampleDataFolder/qykv/snapshot/5/1_vL.txt +55 -0
  25. package/data/sampleDataFolder/qykv/snapshot/info/1.json +1 -0
  26. package/data/sampleDataFolder/qykv/snapshot/info/2.json +1 -0
  27. package/data/sampleDataFolder/qykv/snapshot/info/3.json +1 -0
  28. package/data/sampleDataFolder/qykv/snapshot/info/4.json +1 -0
  29. package/data/sampleDataFolder/qykv/snapshot/info/5.json +1 -0
  30. package/data/sampleDataFolder/qylog/2026/02/15/08/change.txt +58 -0
  31. package/data/sampleDataFolder/qylog/2026/02/15/08/stderr.txt +11 -0
  32. package/data/sampleDataFolder/qylog/2026/02/15/08/stdout.txt +36 -0
  33. package/package.json +1 -1
  34. package/sample.js +19 -19
  35. package/src/QyAcl.js +44 -44
  36. package/src/QyAclSaver_Worker.js +2 -2
  37. package/src/QyAclWriter.js +1 -1
  38. package/src/QyBatch.js +1 -3
  39. package/src/QyBinWriter.js +65 -66
  40. package/src/QyCD.js +63 -27
  41. package/src/QyCache.js +33 -33
  42. package/src/QyDB.js +4 -30
  43. package/src/QyDefaultOptions.js +2 -1
  44. package/src/QyFetch.js +4 -22
  45. package/src/QyFileLogger.js +2 -2
  46. package/src/QyKVData.js +159 -183
  47. package/src/QyKVDataCleaner_Worker.js +15 -14
  48. package/src/QyKVDataSaver_Worker.js +16 -16
  49. package/src/QyLogFileSaver.js +1 -1
  50. package/src/QyLogFileSaver_Worker.js +2 -2
  51. package/src/QyMod.js +7 -7
  52. package/src/QyOpRunner.js +19 -16
  53. package/src/QySnapshotCompactor_Worker.js +37 -36
  54. package/src/QySnapshotSaver_Worker.js +2 -2
  55. package/src/QySnapshots.js +141 -139
  56. package/src/QyUnionNode.js +2 -2
  57. package/src/rpc/evalCode.js +4 -4
  58. package/src/rpc/getFileContent.js +4 -4
  59. package/src/rpc/getSubItems.js +12 -12
  60. package/src/rpc/queryFiles.js +1 -1
  61. package/static/codemirror.bundle/editor.bundle.js +27906 -0
  62. package/static/datafolderui/QyUIFolderTree.js +121 -145
  63. package/static/datafolderui/QyUIUtils.js +9 -4
  64. package/static/datafolderui/code-mirror.js +35 -0
  65. package/static/datafolderui/display-tree.js +52 -86
  66. package/static/datafolderui/explore-tree.js +66 -81
  67. package/static/datafolderui/index.css +7 -0
  68. package/static/datafolderui/index.html +1 -0
  69. package/static/datafolderui/main-page.js +34 -55
  70. package/static/datafolderui/query-editor.js +178 -198
@@ -1,50 +1,52 @@
1
1
  import {
2
- close as o,
2
+ close as e,
3
3
  readSync as i,
4
4
  openSync as p
5
5
  } from "node:fs";
6
6
 
7
7
  import {
8
8
  readdir as l,
9
- readFile as d
9
+ readFile as m
10
10
  } from "node:fs/promises";
11
11
 
12
12
  import {
13
13
  join as s
14
14
  } from "node:path";
15
15
 
16
+ import d from "node:zlib";
17
+
16
18
  import {
17
19
  getDefaultOptions as n
18
20
  } from "./QyDefaultOptions.js";
19
21
 
20
22
  import {
21
23
  Hash_Key_Length as u,
22
- folderOrFileExists as m,
24
+ folderOrFileExists as v,
23
25
  listToMap as r,
24
- isEmptyObj as h,
25
- isString as v
26
+ isEmptyObj as f,
27
+ isString as M
26
28
  } from "./QyUtils.js";
27
29
 
28
30
  import {
29
- QyBinWriter as M
31
+ QyBinWriter as g
30
32
  } from "./QyBinWriter.js";
31
33
 
32
34
  import {
33
- bufferToNums as g,
34
- numsToBuffer as y,
35
- applyAclChange as f,
36
- iterCmdKeys as S
35
+ bufferToNums as y,
36
+ numsToBuffer as S,
37
+ applyAclChange as h,
38
+ iterCmdKeys as c
37
39
  } from "./QyAcl.js";
38
40
 
39
41
  import {
40
- QyJsonSaver as c
42
+ QyJsonSaver as C
41
43
  } from "./QyJsonSaver.js";
42
44
 
43
45
  import {
44
- logger as C
46
+ logger as P
45
47
  } from "./QyLogger.js";
46
48
 
47
- let P = Array.isArray, x = Buffer.from("\n"), O = Buffer.from("'");
49
+ let x = Array.isArray, O = Buffer.from("\n"), F = Buffer.from("'"), j = Buffer.from("z"), L = F[0], b = j[0];
48
50
 
49
51
  class t {
50
52
  constructor(t, a) {
@@ -52,12 +54,12 @@ class t {
52
54
  ...n("QySnapshots"),
53
55
  ...a
54
56
  }).vLOutdatedPercent = 2 * a.pMOutdatedPercent;
55
- var e = s(t, "info");
57
+ var o = s(t, "info");
56
58
  Object.assign(this, {
57
59
  snapshotFolder: t,
58
- snapshotInfoFolder: e,
60
+ snapshotInfoFolder: o,
59
61
  options: a,
60
- qyJsonSaver: new c(e, a),
62
+ qyJsonSaver: new C(o, a),
61
63
  numToSnapshotMap: {},
62
64
  keyToSnapshotMap: {},
63
65
  fDMap: {},
@@ -70,73 +72,73 @@ class t {
70
72
  async loadSnapshotInfos() {
71
73
  let {
72
74
  snapshotInfoFolder: t,
73
- qyJsonSaver: h,
74
- numToSnapshotMap: f
75
+ qyJsonSaver: f,
76
+ numToSnapshotMap: h
75
77
  } = this;
76
- if (await m(t)) {
78
+ if (await v(t)) {
77
79
  var a = (await l(t)).filter(t => /^[1-9]/.test(t)).map(t => parseInt(t)).sort((t, a) => t - a);
78
80
  let p = 0, u = 0;
79
81
  await Promise.all(a.map(async t => {
80
- var a = await h.loadFromFile(t + ".json"), e = f[t] = {
82
+ var a = await f.loadFromFile(t + ".json"), o = h[t] = {
81
83
  snapshotNum: t,
82
84
  info: a,
83
85
  posMap: {},
84
86
  outdatedCount: 0
85
87
  };
86
88
  ++this.snapshotCount, t > p && (p = t, u = a.maxChangeId);
87
- var t = e, a = L(a = this, t), o = (C.info("Loading " + a), await d(a)), s = o.length, n = t.prefixPM = {};
89
+ var t = o, a = V(a = this, t), e = (P.info("Loading " + a), await m(a)), s = e.length, n = t.prefixPM = {};
88
90
  for (let t = 0; t < s; ) {
89
- var r = t + V, i = o.toString("latin1", t, r), i = n[i] = [];
90
- t = g(o, r, i);
91
+ var r = t + k, i = e.toString("latin1", t, r), i = n[i] = [];
92
+ t = y(e, r, i);
91
93
  }
92
94
  })), Object.assign(this, {
93
95
  maxSnapshotNum: p,
94
96
  snapshotMaxChangeId: u
95
97
  });
96
98
  var {
97
- numToSnapshotMap: e,
98
- prefixMap: o
99
+ numToSnapshotMap: o,
100
+ prefixMap: e
99
101
  } = this;
100
102
  for (r of a) {
101
- var s, n = e[r], r = n.prefixPM;
103
+ var s, n = o[r], r = n.prefixPM;
102
104
  for (s in r) {
103
- var i = o[s];
104
- i ? i.push(n) : o[s] = [ n ];
105
+ var i = e[s];
106
+ i ? i.push(n) : e[s] = [ n ];
105
107
  }
106
108
  }
107
109
  }
108
110
  }
109
111
  closeAllFDs() {
110
112
  var t, a = this.fDMap;
111
- for (t in a) o(a[t]), delete a[t];
113
+ for (t in a) e(a[t]), delete a[t];
112
114
  }
113
115
  saveKeyValueMap(t) {
114
- var a, {
116
+ var a, o = this.options.minLenToCompress, {
115
117
  keyValueMap: e,
116
- info: o
117
- } = t, s = (++o.vLVersion, new M()), n = (s.start(this.getVLFilePath(t)),
118
- Object.keys(e).sort()), r = {};
119
- let i = 0, p = 0, u;
120
- for (a of n) {
121
- var h, f = e[a];
118
+ info: s
119
+ } = t, n = (++s.vLVersion, new g()), r = (n.start(this.getVLFilePath(t)),
120
+ Object.keys(e).sort()), i = {};
121
+ let p = 0, u = 0, f, h;
122
+ for (a of r) {
123
+ var l = e[a];
122
124
  let t;
123
- null == f ? t = N : (u = Buffer.isBuffer(f) ? (s.save(f), f.length) : v(f) ? (h = Buffer.from(f),
124
- s.save(O), s.save(h), s.save(x), h.length + 2) : (h = Buffer.from(JSON.stringify(B(a) && !P(f) ? Object.keys(f) : f)),
125
- s.save(h), s.save(x), h.length + 1), t = [ i, u ], i += u), r[a] = t,
126
- ++p;
125
+ null == l ? t = T : (h = Buffer.isBuffer(l) ? (f = l, 0) : M(l) ? (f = l.length >= o ? (n.save(j),
126
+ d.zstdCompressSync(l)) : (n.save(F), Buffer.from(l)), 1) : (f = Buffer.from(JSON.stringify(w(a) && !x(l) ? Object.keys(l) : l)),
127
+ 0), n.save([ f, O ]), l = h + f.length, t = [ p, l ], p += l + 1), i[a] = t,
128
+ ++u;
127
129
  }
128
130
  return Object.assign(t, {
129
- posMap: r,
131
+ posMap: i,
130
132
  outdatedCount: 0
131
- }), Object.assign(o, {
132
- totalCount: p,
133
+ }), Object.assign(s, {
134
+ totalCount: u,
133
135
  outdatedCount: 0
134
- }), Promise.all([ this.savePosMap(t, n), s.stop() ]);
136
+ }), Promise.all([ this.savePosMap(t, r), n.stop() ]);
135
137
  }
136
138
  addMaxSnapshot(t) {
137
139
  var a, {
138
- numToSnapshotMap: e,
139
- keyToSnapshotMap: o
140
+ numToSnapshotMap: o,
141
+ keyToSnapshotMap: e
140
142
  } = this, {
141
143
  posMap: s,
142
144
  keyValueMap: n,
@@ -146,77 +148,77 @@ class t {
146
148
  maxSnapshotNum: r,
147
149
  snapshotMaxChangeId: i
148
150
  }), n || s);
149
- for (a in i) o[a] = t;
150
- e[r] = t, ++this.snapshotCount;
151
+ for (a in i) e[a] = t;
152
+ o[r] = t, ++this.snapshotCount;
151
153
  }
152
154
  removeKey(t) {
153
- var a = this.keyToSnapshotMap, e = a[t];
154
- if (e) return this.removeKeyFromSnapshot(e, t), delete a[t], !0;
155
+ var a = this.keyToSnapshotMap, o = a[t];
156
+ if (o) return this.removeKeyFromSnapshot(o, t), delete a[t], !0;
155
157
  }
156
- applyCmdObj(t, a, e) {
157
- if (null != e) {
158
- var o = e.length;
159
- for (let t = 0; t < o; t += 2) {
160
- var s = e[t], n = e[t + 1];
161
- a[s] = null != n && B(s) ? r(n) : n;
158
+ applyCmdObj(t, a, o) {
159
+ if (null != o) {
160
+ var e = o.length;
161
+ for (let t = 0; t < e; t += 2) {
162
+ var s = o[t], n = o[t + 1];
163
+ a[s] = null != n && w(s) ? r(n) : n;
162
164
  }
163
165
  }
164
- S(t, t => {
166
+ c(t, t => {
165
167
  t in a || (a[t] = this.getValueSync(t)), this.removeKey(t);
166
- }), f(a, t);
168
+ }), h(a, t);
167
169
  }
168
170
  getValueSync(t) {
169
171
  var a = ((t, a) => {
170
172
  let {
171
- keyToSnapshotMap: e,
172
- prefixMap: o
173
- } = t, s = e[a];
173
+ keyToSnapshotMap: o,
174
+ prefixMap: e
175
+ } = t, s = o[a];
174
176
  if (s) return s;
175
- var n = b(a), r = o[n];
177
+ var n = I(a), r = e[n];
176
178
  if (r) for (;0 < r.length; ) {
177
179
  s = r.pop();
178
- var i = ((t, a, e) => {
179
- var o, {
180
+ var i = ((t, a, o) => {
181
+ var e, {
180
182
  posMap: s,
181
183
  prefixPM: n
182
184
  } = a;
183
- if (n = n[e]) return [ n, o ] = n, n = F(t, t.getPMFilePath(a), n, o),
184
- t.loadPartialPosMapBuffer(a, e, n), s;
185
+ if (n = n[o]) return [ n, e ] = n, n = B(t, t.getPMFilePath(a), n, e),
186
+ t.loadPartialPosMapBuffer(a, o, n), s;
185
187
  })(t, s, n);
186
188
  if (i && a in i) return s;
187
189
  }
188
190
  })(this, t);
189
191
  if (a) {
190
192
  var {
191
- keyValueMap: e,
192
- posMap: o
193
+ keyValueMap: o,
194
+ posMap: e
193
195
  } = a;
194
- if (e) return e[t];
195
- e = o[t];
196
- if (e) {
197
- var [ o, e ] = e;
198
- if (0 != e) {
196
+ if (o) return o[t];
197
+ o = e[t];
198
+ if (o) {
199
+ var [ e, o ] = o;
200
+ if (0 != o) {
199
201
  var s = this;
200
- if (a = s.getVLFilePath(a), s = F(s, a, o, e)) return s[0] == O[0] ? s.toString("utf8", 1, s.length - 1) : (a = JSON.parse(s),
201
- B(t) ? r(a) : a);
202
+ if (a = s.getVLFilePath(a), s = B(s, a, e, o)) return (a = s[0]) == L ? s.toString("utf8", 1) : a == b ? d.zstdDecompressSync(s.subarray(1)).toString() : (e = JSON.parse(s),
203
+ w(t) ? r(e) : e);
202
204
  }
203
205
  }
204
206
  }
205
207
  }
206
- iterPMBuffer(a, e) {
207
- var o = a.length;
208
- for (let t = 0; t < o; ) {
208
+ iterPMBuffer(a, o) {
209
+ var e = a.length;
210
+ for (let t = 0; t < e; ) {
209
211
  var s = t + u, n = a.toString("latin1", t, s), r = [];
210
- t = g(a, s, r), e(n, r);
212
+ t = y(a, s, r), o(n, r);
211
213
  }
212
214
  }
213
- loadPartialPosMapBuffer(e, t, a) {
215
+ loadPartialPosMapBuffer(o, t, a) {
214
216
  let {
215
- posMap: o,
217
+ posMap: e,
216
218
  prefixPM: s
217
- } = e, n = (delete s[t], this).keyToSnapshotMap;
219
+ } = o, n = (delete s[t], this).keyToSnapshotMap;
218
220
  this.iterPMBuffer(a, (t, a) => {
219
- t in n ? ++e.outdatedCount : (o[t] = a, n[t] = e);
221
+ t in n ? ++o.outdatedCount : (e[t] = a, n[t] = o);
220
222
  });
221
223
  }
222
224
  delSnapshot(t) {
@@ -224,7 +226,7 @@ class t {
224
226
  a(this, this.getPMFilePath(t));
225
227
  }
226
228
  calOutdates() {
227
- var t, a = [], e = [], o = [], s = [], {
229
+ var t, a = [], o = [], e = [], s = [], {
228
230
  options: n,
229
231
  numToSnapshotMap: r
230
232
  } = this, {
@@ -232,24 +234,24 @@ class t {
232
234
  vLOutdatedPercent: p
233
235
  } = n;
234
236
  for (t in r) {
235
- var u, h = r[t];
236
- h.isOut || (100 == (u = T(h)) ? (this.delSnapshot(h), a.push(t)) : p < u ? (j(h) ? e : s).push(h) : Math.round(h.outdatedCount / h.info.totalCount * 100) > i ? o.push(h) : (u = this,
237
- h.info.totalCount < u.options.minSnapshotKeyCount && j(h) && e.push(h)));
237
+ var u, f = r[t];
238
+ f.isOut || (100 == (u = Q(f)) ? (this.delSnapshot(f), a.push(t)) : p < u ? (N(f) ? o : s).push(f) : Math.round(f.outdatedCount / f.info.totalCount * 100) > i ? e.push(f) : (u = this,
239
+ f.info.totalCount < u.options.minSnapshotKeyCount && N(f) && o.push(f)));
238
240
  }
239
- return 1 == e.length && T(e[0]) < p && (e.length = 0), 0 < o.length && C.log("pMCompacts:" + o.map(t => t.snapshotNum)),
240
- 0 < s.length && C.log("vLCompacts:" + s.map(t => t.snapshotNum)), 0 < e.length && C.log("combiningSnapshots:" + e.map(t => t.snapshotNum)),
241
+ return 1 == o.length && Q(o[0]) < p && (o.length = 0), 0 < e.length && P.log("pMCompacts:" + e.map(t => t.snapshotNum)),
242
+ 0 < s.length && P.log("vLCompacts:" + s.map(t => t.snapshotNum)), 0 < o.length && P.log("combiningSnapshots:" + o.map(t => t.snapshotNum)),
241
243
  {
242
244
  emptySnapshotNumList: a,
243
- combiningSnapshotList: e,
244
- pMCompactSnapshotList: o,
245
+ combiningSnapshotList: o,
246
+ pMCompactSnapshotList: e,
245
247
  vLCompactSnapshotList: s
246
248
  };
247
249
  }
248
250
  getMaxCombinedSnapshot(t) {
249
- let a, e;
250
- for (var o of t) {
251
- var s = o.snapshotNum;
252
- (!e || e < s) && (a = o, e = s);
251
+ let a, o;
252
+ for (var e of t) {
253
+ var s = e.snapshotNum;
254
+ (!o || o < s) && (a = e, o = s);
253
255
  }
254
256
  return a;
255
257
  }
@@ -269,30 +271,30 @@ class t {
269
271
  }
270
272
  saveSnapshotInfo(t, a) {
271
273
  var {
272
- outdatedCount: e,
273
- totalCount: o
274
+ outdatedCount: o,
275
+ totalCount: e
274
276
  } = a;
275
- return a.outdated = Math.round(100 * e / o) + "%", C.log("Saving snapshotInfo:" + t),
277
+ return a.outdated = Math.round(100 * o / e) + "%", P.log("Saving snapshotInfo:" + t),
276
278
  this.qyJsonSaver.saveToFile(a, t + ".json", !0);
277
279
  }
278
280
  savePosMap(t, a) {
279
- var e, {
280
- outdatedCount: o,
281
+ var o, {
282
+ outdatedCount: e,
281
283
  info: s,
282
284
  posMap: n
283
- } = t, r = (s.outdatedCount += o, t.outdatedCount = 0, ++s.pMVersion, new M()), i = (r.start(this.getPMFilePath(t)),
285
+ } = t, r = (s.outdatedCount += e, t.outdatedCount = 0, ++s.pMVersion, new g()), i = (r.start(this.getPMFilePath(t)),
284
286
  t.prefixPM = {});
285
- let p = 0, u = 0, h;
286
- for (e of a = a || Object.keys(n).sort()) {
287
- null == h ? h = b(e) : e.startsWith(h) || (i[h] = [ p, u ], h = b(e),
287
+ let p = 0, u = 0, f;
288
+ for (o of a = a || Object.keys(n).sort()) {
289
+ null == f ? f = I(o) : o.startsWith(f) || (i[f] = [ p, u ], f = I(o),
288
290
  p += u, u = 0);
289
- var f = Buffer.from(e), l = y(n[e]);
290
- r.save(f), r.save(l), u += f.length + l.length;
291
+ var h = Buffer.from(o), l = S(n[o]);
292
+ r.save([ h, l ]), u += h.length + l.length;
291
293
  }
292
- return null != h && (i[h] = [ p, u ]), Promise.all([ r.stop(), ((t, a) => {
293
- var e, o = new M(), s = (o.start(L(t, a)), a).prefixPM;
294
- for (e in s) o.save(Buffer.from(e)), o.save(y(s[e]));
295
- return o.stop();
294
+ return null != f && (i[f] = [ p, u ]), Promise.all([ r.stop(), ((t, a) => {
295
+ var o, e = new g(), s = (e.start(V(t, a)), a).prefixPM;
296
+ for (o in s) e.save([ Buffer.from(o), S(s[o]) ]);
297
+ return e.stop();
296
298
  })(this, t) ]);
297
299
  }
298
300
  isEmptySnapshot(t) {
@@ -304,71 +306,71 @@ class t {
304
306
  }
305
307
  removeKeyFromSnapshot(t, a) {
306
308
  var {
307
- posMap: e,
308
- keyValueMap: o
309
+ posMap: o,
310
+ keyValueMap: e
309
311
  } = t;
310
- o && delete o[a], e && delete e[a], ++t.outdatedCount;
312
+ e && delete e[a], o && delete o[a], ++t.outdatedCount;
311
313
  }
312
314
  }
313
315
 
314
- function F(t, a, e, o) {
316
+ function B(t, a, o, e) {
315
317
  var s = ((t, a) => {
316
- let e = t.fDMap, o = e[a];
317
- if (!o) {
318
- C.info("Opening " + a);
318
+ let o = t.fDMap, e = o[a];
319
+ if (!e) {
320
+ P.info("Opening " + a);
319
321
  try {
320
- o = e[a] = p(a, "r");
322
+ e = o[a] = p(a, "r");
321
323
  } catch (t) {
322
- throw C.error(`Opening ${a} failed:`, t), t;
324
+ throw P.error(`Opening ${a} failed:`, t), t;
323
325
  }
324
326
  }
325
- return o;
326
- })(t, a), n = Buffer.allocUnsafe(o);
327
- for (let t = 0; t < o; ) {
328
- var r = i(s, n, t, o - t, e + t);
329
- if (0 == r) return void C.error(`readSync ${a} at ${e + t} returning 0 byte`);
327
+ return e;
328
+ })(t, a), n = Buffer.allocUnsafe(e);
329
+ for (let t = 0; t < e; ) {
330
+ var r = i(s, n, t, e - t, o + t);
331
+ if (0 == r) return void P.error(`readSync ${a} at ${o + t} returning 0 byte`);
330
332
  t += r;
331
333
  }
332
334
  return n;
333
335
  }
334
336
 
335
- function j(t) {
337
+ function N(t) {
336
338
  var {
337
339
  keyValueMap: a,
338
- prefixPM: e
340
+ prefixPM: o
339
341
  } = t;
340
- return a || null == e || h(t.prefixPM);
342
+ return a || null == o || f(t.prefixPM);
341
343
  }
342
344
 
343
- function L(t, a) {
345
+ function V(t, a) {
344
346
  var {
345
347
  snapshotNum: a,
346
- info: e
348
+ info: o
347
349
  } = a;
348
- return s(t.snapshotFolder, "" + a, e.pMVersion + "_prefixPM.txt");
350
+ return s(t.snapshotFolder, "" + a, o.pMVersion + "_prefixPM.txt");
349
351
  }
350
352
 
351
353
  function a(t, a) {
352
- var t = t.fDMap, e = t[a];
353
- null != e && (o(e), delete t[a]);
354
+ var t = t.fDMap, o = t[a];
355
+ null != o && (e(o), delete t[a]);
354
356
  }
355
357
 
356
- let N = [ 0, 0 ], V = 3;
358
+ let T = [ 0, 0 ], k = 3;
357
359
 
358
- function b(t) {
359
- return t.substring(0, V);
360
+ function I(t) {
361
+ return t.substring(0, k);
360
362
  }
361
363
 
362
- function B(t) {
364
+ function w(t) {
363
365
  return !t.startsWith("c");
364
366
  }
365
367
 
366
- function T(t) {
368
+ function Q(t) {
367
369
  var {
368
370
  outdatedCount: t,
369
371
  info: a
370
- } = t, e = a.totalCount, t = t + a.outdatedCount;
371
- return t == e ? 100 : Math.round(t / e * 100);
372
+ } = t, o = a.totalCount, t = t + a.outdatedCount;
373
+ return t == o ? 100 : Math.round(t / o * 100);
372
374
  }
373
375
 
374
376
  export {
@@ -1,6 +1,6 @@
1
1
  class i {
2
- constructor(i = 1 / 0, e = 0) {
3
- Object.assign(this, {
2
+ constructor(i, e = 0) {
3
+ i = i || 1 / 0, Object.assign(this, {
4
4
  limit: i,
5
5
  cursor: e,
6
6
  added: 0,
@@ -1,9 +1,9 @@
1
- module.exports = code => {
1
+ module.exports = r => {
2
2
  try {
3
- return eval(code);
4
- } catch (exception) {
3
+ return new Function("dataFolder", `return (${r})();`)(dataFolder);
4
+ } catch (r) {
5
5
  return {
6
- error: exception.message
6
+ error: r.message
7
7
  };
8
8
  }
9
9
  };
@@ -1,16 +1,16 @@
1
- let o = new Error("No such file");
1
+ let a = new Error("No such file");
2
2
 
3
3
  module.exports = ({
4
4
  filePath: e,
5
5
  cChangeId: n
6
6
  }) => {
7
- var t, l, i, e = qyDB.fileP(e);
7
+ var t, l, o, e = dataFolder.fileP(e);
8
8
  return e ? ({
9
9
  fileContent: e,
10
10
  cChangeId: t,
11
11
  fileContentKey: l
12
- } = e, i = {}, n != t && (Object.assign(i, {
12
+ } = e, o = {}, n != t && (Object.assign(o, {
13
13
  fileContent: e,
14
14
  cChangeId: t
15
- }), null == n) && (i.fileContentKey = l), i) : o;
15
+ }), null == n) && (o.fileContentKey = l), o) : a;
16
16
  };
@@ -1,16 +1,16 @@
1
- let h = new Error("No such dir");
1
+ let s = new Error("No such dir");
2
2
 
3
3
  module.exports = ({
4
- dirPath: e,
5
- dChangeId: a,
6
- fChangeId: d
4
+ dirPath: a,
5
+ dChangeId: d,
6
+ fChangeId: e
7
7
  }) => {
8
- var s, e = qyDB.dirP(e);
9
- return e ? (s = {}, a || d || (s.fullPathHash = e.fullPathHash), a != e.dChangeId && Object.assign(s, {
10
- subdirList: e.sortedSubdirList.map(e => e.name),
11
- dChangeId: e.dChangeId
12
- }), d != e.fChangeId && Object.assign(s, {
13
- fileList: e.sortedFileList.map(e => e.name),
14
- fChangeId: e.fChangeId
15
- }), s) : h;
8
+ var r, a = dataFolder.dirP(a);
9
+ return a ? (r = {}, d || e || (r.fullPathHash = a.fullPathHash), d != a.dChangeId && Object.assign(r, {
10
+ subdirList: a.sortedSubdirList.map(a => a.name),
11
+ dChangeId: a.dChangeId
12
+ }), e != a.fChangeId && Object.assign(r, {
13
+ fileList: a.sortedFileList.map(a => a.name),
14
+ fChangeId: a.fChangeId
15
+ }), r) : s;
16
16
  };
@@ -6,5 +6,5 @@ module.exports = queryText => {
6
6
  limit,
7
7
  cursor
8
8
  } = eval("((x)=>x)(" + queryText + ")");
9
- return qyDB.fileListToTree(qyDB.queryFiles(folder, value, limit, cursor), view);
9
+ return dataFolder.queryTree(folder, value, view, limit, cursor);
10
10
  };