datafolder 1.0.14 → 1.0.16

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 (43) hide show
  1. package/README.md +4 -0
  2. package/package.json +3 -2
  3. package/src/QyAcl.d.ts +4 -4
  4. package/src/QyAcl.js +92 -93
  5. package/src/QyAclSaver_Worker.d.ts +2 -2
  6. package/src/QyAclWriter.d.ts +3 -2
  7. package/src/QyAclWriter.js +14 -5
  8. package/src/QyBatch.js +0 -2
  9. package/src/QyBinWriter.js +0 -2
  10. package/src/QyCD.d.ts +1 -1
  11. package/src/QyCache.d.ts +1 -1
  12. package/src/QyCache.js +25 -23
  13. package/src/QyDefaultOptions.js +3 -2
  14. package/src/QyExpire.js +1 -3
  15. package/src/QyFileLogger.js +6 -7
  16. package/src/QyItem.js +1 -1
  17. package/src/QyKVData.d.ts +2 -2
  18. package/src/QyKVData.js +2 -2
  19. package/src/QyKVDataCleaner_Worker.js +49 -49
  20. package/src/QyKVDataLoader.d.ts +1 -1
  21. package/src/QyKVDataLoader.js +18 -18
  22. package/src/QyKVDataSaver_Worker.d.ts +2 -2
  23. package/src/QyKVDataSaver_Worker.js +5 -14
  24. package/src/QyMessageWorker.js +24 -25
  25. package/src/QyMessager.d.ts +3 -3
  26. package/src/QyMessager.js +29 -29
  27. package/src/QyMod.d.ts +1 -1
  28. package/src/QyMod.js +6 -6
  29. package/src/QyOpRunner.d.ts +1 -1
  30. package/src/QyOpRunner.js +3 -2
  31. package/src/QyQueue.d.ts +1 -1
  32. package/src/QyQueue.js +5 -5
  33. package/src/QySaver.d.ts +1 -1
  34. package/src/QySaver.js +1 -1
  35. package/src/QySnapshotCompactor_Worker.js +5 -5
  36. package/src/QySnapshotSaver_Worker.d.ts +1 -1
  37. package/src/QySnapshotSaver_Worker.js +2 -2
  38. package/src/QySnapshots.d.ts +1 -1
  39. package/src/QySnapshots.js +6 -6
  40. package/src/QyUnionNode.d.ts +1 -1
  41. package/src/QyUnionNode.js +1 -1
  42. package/static/codemirror.bundle/editor.bundle.js +155 -87
  43. package/test/testQyGraphQL.js +198 -0
package/src/QyItem.js CHANGED
@@ -11,7 +11,7 @@ class e {
11
11
  flagInt;
12
12
  constructor(t, e = !1, a) {
13
13
  this.name = t.toString(), this.parentDir = a, this.flagInt = 0, this._created = e,
14
- (t == r || a && (a.name == r || a.underHiddenFolder)) && (this.flagInt |= 2);
14
+ (t == r || a && (a.name == r || a.underHiddenFolder)) && s(this, 2, !0);
15
15
  }
16
16
  get qyCache() {
17
17
  var t = this.parentDir;
package/src/QyKVData.d.ts CHANGED
@@ -17,10 +17,10 @@ export declare class QyKVData {
17
17
  compactInterval: any;
18
18
  unloadInterval: any;
19
19
  qyExpire: any;
20
- constructor(kvFolder: any, options: any, qyCache: any);
20
+ constructor(kvFolder: any, options?: any, qyCache?: any);
21
21
  start(maxChangeId: any, loadedMaxAclNum: any, qySnapshots: any, aclKeyValueMap: any): this;
22
22
  stop(): Promise<void>;
23
- save(changeId: any, cmdArgAsListChanges: any, syncList: any, needPromise: any): any;
23
+ save(changeId: any, cmdArgAsListObj: any, syncList: any, needPromise: any): any;
24
24
  increaseChangeId(): number;
25
25
  decreaseChangeId(): void;
26
26
  getValueSync(key: any): any;
package/src/QyKVData.js CHANGED
@@ -54,7 +54,7 @@ class t {
54
54
  compactInterval;
55
55
  unloadInterval;
56
56
  qyExpire;
57
- constructor(t, a, o) {
57
+ constructor(t, a = void 0, o = void 0) {
58
58
  a = {
59
59
  ...s("QyKVData"),
60
60
  ...a
@@ -159,7 +159,7 @@ class t {
159
159
  o && o.closeAllFDs(), await a.stop(), await s.stop();
160
160
  }
161
161
  save(t, a, o, e) {
162
- var n = this.qyKVDataSaver;
162
+ var n = this.qyKVDataSaver, a = JSON.stringify(a), o = JSON.stringify(o);
163
163
  if (e) return n.callSave(t, a, o);
164
164
  n.castSave(t, a, o);
165
165
  }
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  rm as c,
7
7
  rename as r,
8
- readdir as h
8
+ readdir as d
9
9
  } from "node:fs/promises";
10
10
 
11
11
  import {
@@ -13,12 +13,12 @@ import {
13
13
  } from "./QyDefaultOptions.js";
14
14
 
15
15
  import {
16
- QyMessageWorker as e
16
+ QyMessageWorker as s
17
17
  } from "./QyMessageWorker.js";
18
18
 
19
19
  import {
20
- folderOrFileExists as d,
21
- ensureDir as F
20
+ folderOrFileExists as h,
21
+ ensureDir as f
22
22
  } from "./QyUtils.js";
23
23
 
24
24
  import {
@@ -27,14 +27,14 @@ import {
27
27
  } from "./QyCompressor.js";
28
28
 
29
29
  import {
30
- logger as f
30
+ logger as F
31
31
  } from "./QyLogger.js";
32
32
 
33
33
  import {
34
34
  getInfoFileName as l
35
35
  } from "./QySnapshots.js";
36
36
 
37
- export default class extends e {
37
+ export default class extends s {
38
38
  kvFolder;
39
39
  snapshotFolder;
40
40
  snapshotInfoFolder;
@@ -42,82 +42,82 @@ export default class extends e {
42
42
  historyAclFolder;
43
43
  historySnapshotFolder;
44
44
  constructor({
45
- kvFolder: e,
46
- options: s
45
+ kvFolder: s,
46
+ options: o
47
47
  }) {
48
- super(s = {
48
+ super(o = {
49
49
  ...a("QyKVDataCleaner_Worker"),
50
- ...s
51
- }, [], [ "cleanAclFiles", "cleanPMFiles", "cleanVLFiles", "removeSnapshotsFiles" ]);
52
- var s = m(e, "history"), o = m(e, "snapshot");
50
+ ...o
51
+ });
52
+ var o = m(s, "history"), e = m(s, "snapshot");
53
53
  Object.assign(this, {
54
- kvFolder: e,
55
- snapshotFolder: o,
56
- snapshotInfoFolder: m(o, "info"),
57
- aclFolder: m(e, "acl"),
58
- historyAclFolder: m(s, "acl"),
59
- historySnapshotFolder: m(s, "snapshot")
54
+ kvFolder: s,
55
+ snapshotFolder: e,
56
+ snapshotInfoFolder: m(e, "info"),
57
+ aclFolder: m(s, "acl"),
58
+ historyAclFolder: m(o, "acl"),
59
+ historySnapshotFolder: m(o, "snapshot")
60
60
  });
61
61
  }
62
62
  _op_start() {}
63
63
  _op_stop() {}
64
- async _op_cleanAclFiles(e) {
65
- var s = this, o = e, e = s.aclFolder;
66
- if (await d(e)) {
64
+ async _op_cleanAclFiles(s) {
65
+ var o = this, e = s, s = o.aclFolder;
66
+ if (await h(s)) {
67
67
  var a, r = [];
68
- for (a of (await h(e)).filter(e => /^[1-9]/.test(e))) parseInt(a) <= o && r.push((async (e, s) => {
68
+ for (a of (await d(s)).filter(s => /^[1-9]/.test(s))) parseInt(a) <= e && r.push((async (s, o) => {
69
69
  var {
70
- aclFolder: o,
70
+ aclFolder: e,
71
71
  historyAclFolder: a
72
- } = e;
73
- return await F(a), y(e, s, o, a);
74
- })(s, a));
72
+ } = s;
73
+ return await f(a), y(s, o, e, a);
74
+ })(o, a));
75
75
  0 < r.length && await Promise.allSettled(r);
76
76
  }
77
77
  }
78
- async _op_cleanPMFiles(e) {
79
- await Promise.allSettled(e.map(([ e, s ]) => {
80
- return o = this, a = e, r = s, Promise.all([ "pM", "prefixPM" ].map(e => n(o, a, r, e)));
81
- var o, a, r;
78
+ async _op_cleanPMFiles(s) {
79
+ await Promise.allSettled(s.map(([ s, o ]) => {
80
+ return e = this, a = s, r = o, Promise.all([ "pM", "prefixPM" ].map(s => n(e, a, r, s)));
81
+ var e, a, r;
82
82
  }));
83
83
  }
84
- async _op_cleanVLFiles(e, s) {
85
- await n(this, e, s, "vL");
84
+ async _op_cleanVLFiles(s, o) {
85
+ await n(this, s, o, "vL");
86
86
  }
87
- async _op_removeSnapshotsFiles(e) {
87
+ async _op_removeSnapshotsFiles(s) {
88
88
  let {
89
- snapshotFolder: o,
89
+ snapshotFolder: e,
90
90
  snapshotInfoFolder: a
91
91
  } = this;
92
- await Promise.all(e.map(async ([ s, e ]) => {
93
- await c(m(a, l(s, e))), await Promise.all([ "pM", "prefixPM", "vL" ].map(e => n(this, s, 1 / 0, e))),
94
- await c(m(o, "" + s), {
92
+ await Promise.all(s.map(async ([ o, s ]) => {
93
+ await c(m(a, l(o, s))), await Promise.all([ "pM", "prefixPM", "vL" ].map(s => n(this, o, 1 / 0, s))),
94
+ await c(m(e, "" + o), {
95
95
  recursive: !0
96
96
  });
97
97
  }));
98
98
  }
99
99
  }
100
100
 
101
- function y(e, s, o, a) {
102
- o = m(o, s), a = m(a, s);
103
- return e.options.compressRedundantFile ? t(o, a + i, {
101
+ function y(s, o, e, a) {
102
+ e = m(e, o), a = m(a, o);
103
+ return s.options.compressRedundantFile ? t(e, a + i, {
104
104
  override: !0,
105
105
  removeSrcAfterSuccess: !0
106
- }) : (f.info(`rename ${o} to ` + a), r(o, a));
106
+ }) : (F.info(`rename ${e} to ` + a), r(e, a));
107
107
  }
108
108
 
109
- async function n(s, o, a, r) {
109
+ async function n(o, e, a, r) {
110
110
  var {
111
- snapshotFolder: e,
111
+ snapshotFolder: s,
112
112
  historySnapshotFolder: t
113
- } = s, i = m(e, "" + o);
114
- if (await d(i)) {
115
- let e;
113
+ } = o, i = m(s, "" + e);
114
+ if (await h(i)) {
115
+ let s;
116
116
  var l, n = [];
117
- for (l of await h(i)) {
117
+ for (l of await d(i)) {
118
118
  var p = new RegExp("^([0-9]+)_" + r).exec(l);
119
- p && (p = parseInt(p[1])) < a && (1 == p ? (e || (e = m(t, "" + o),
120
- await F(e)), n.push(y(s, l, i, e))) : (p = m(i, l), f.info("Removing " + p),
119
+ p && (p = parseInt(p[1])) < a && (1 == p ? (s || (s = m(t, "" + e),
120
+ await f(s)), n.push(y(o, l, i, s))) : (p = m(i, l), F.info("Removing " + p),
121
121
  n.push(c(p))));
122
122
  }
123
123
  0 < n.length && await Promise.allSettled(n);
@@ -7,7 +7,7 @@ export declare class QyKVDataLoader {
7
7
  loadedMaxAclNum: number;
8
8
  aclKeyValueMap: any;
9
9
  maxChangeId: number;
10
- constructor(kvFolder: any, options: any);
10
+ constructor(kvFolder: any, options?: any);
11
11
  load(): Promise<{
12
12
  maxChangeId: number;
13
13
  loadedMaxAclNum: number;
@@ -32,36 +32,36 @@ class a {
32
32
  loadedMaxAclNum = 0;
33
33
  aclKeyValueMap = {};
34
34
  maxChangeId = 0;
35
- constructor(a, s) {
36
- s = {
35
+ constructor(a, o = void 0) {
36
+ o = {
37
37
  ...l("QyKVDataLoader"),
38
- ...s
38
+ ...o
39
39
  };
40
- var o = t(a, "snapshot");
40
+ var s = t(a, "snapshot");
41
41
  Object.assign(this, {
42
42
  kvFolder: a,
43
- options: s,
43
+ options: o,
44
44
  aclFolder: t(a, "acl"),
45
- snapshotFolder: o,
46
- qySnapshots: new e(o, s)
45
+ snapshotFolder: s,
46
+ qySnapshots: new e(s, o)
47
47
  });
48
48
  }
49
49
  async load() {
50
- var a = this.qySnapshots, [ s ] = await Promise.all([ (async a => {
50
+ var a = this.qySnapshots, [ o ] = await Promise.all([ (async a => {
51
51
  if (a = a.aclFolder, await g(a)) return (await x(a)).filter(a => /^[1-9]/.test(a)).map(a => parseInt(a));
52
52
  })(this), a.loadSnapshotInfos() ]);
53
53
  let {
54
- maxSnapshotNum: o,
54
+ maxSnapshotNum: s,
55
55
  snapshotMaxChangeId: t
56
56
  } = a;
57
- if (this.maxChangeId = t, s) {
58
- var e = this, l = s.filter(a => a > o), {
57
+ if (this.maxChangeId = t, o) {
58
+ var e = this, l = o.filter(a => a > s), {
59
59
  aclKeyValueMap: r,
60
60
  qySnapshots: n,
61
- options: s
62
- } = (l.sort((a, s) => a - s), e), i = s.autoRepairAclFile, p = await Promise.all(l.map(async a => u(I(e, a))));
61
+ options: o
62
+ } = (l.sort((a, o) => a - o), e), i = o.autoRepairAclFile, p = await Promise.all(l.map(async a => u(v(e, a))));
63
63
  for (let a = 0; a < l.length; ++a) {
64
- var d = l[a], m = I(e, d), m = await F(m, p[a], i, e.maxChangeId);
64
+ var d = l[a], m = v(e, d), m = await F(m, p[a], i, e.maxChangeId);
65
65
  if (0 < m.length) {
66
66
  for (var [ h, c ] of m) n.applyCmdObj(c, r), e.maxChangeId = h;
67
67
  e.loadedMaxAclNum = d;
@@ -70,12 +70,12 @@ class a {
70
70
  await 0;
71
71
  }
72
72
  var {
73
- maxChangeId: s,
73
+ maxChangeId: o,
74
74
  loadedMaxAclNum: f,
75
75
  aclKeyValueMap: y
76
76
  } = this;
77
77
  return {
78
- maxChangeId: s,
78
+ maxChangeId: o,
79
79
  loadedMaxAclNum: f,
80
80
  qySnapshots: a,
81
81
  aclKeyValueMap: y
@@ -83,8 +83,8 @@ class a {
83
83
  }
84
84
  }
85
85
 
86
- function I(a, s) {
87
- return t(a.aclFolder, s + "_acl.txt");
86
+ function v(a, o) {
87
+ return t(a.aclFolder, o + "_acl.txt");
88
88
  }
89
89
 
90
90
  export {
@@ -16,8 +16,8 @@ export default class QyKVDataSaver_Worker extends QyMessageWorker {
16
16
  });
17
17
  _op_start(maxChangeId: any, maxSnapshotNum: any, loadedMaxAclNum: any, aclKeyValueMap: any): void;
18
18
  _op_stop(): Promise<any>;
19
- callSave(changeId: any, cmdArgAsListChanges: any, syncList: any): any;
20
- castSave(changeId: any, cmdArgAsListChanges: any, syncList: any): any;
19
+ callSave(changeId: any, cmdArgAsListObj: any, syncList: any): any;
20
+ castSave(changeId: any, cmdArgAsListObj: any, syncList: any): any;
21
21
  releaseSnapshot(snapshotNum: any): void;
22
22
  onSnapshotSavedChangeId(snapshotSavedChangeId: any, pMOnlySnapshot: any): void;
23
23
  }
@@ -18,10 +18,6 @@ import {
18
18
  QySnapshotSaver as n
19
19
  } from "./QySnapshotSaver.js";
20
20
 
21
- import {
22
- delCmdKey as m
23
- } from "./QyAcl.js";
24
-
25
21
  import {
26
22
  logger as r
27
23
  } from "./QyLogger.js";
@@ -60,7 +56,7 @@ export default class extends a {
60
56
  maxChangeId: a,
61
57
  snapshotMaxChangeId: a,
62
58
  currentAclNum: (t || s) + 1
63
- }), o && o.start(d(this)), n.start(a, t, e);
59
+ }), o && o.start(l(this)), n.start(a, t, e);
64
60
  }
65
61
  async _op_stop() {
66
62
  var {
@@ -98,19 +94,14 @@ function h(a, s, t, e, o = !1) {
98
94
  isSavingSnapshot: S
99
95
  } = a;
100
96
  let v;
101
- n && (o ? v = n.callSave(s, t) : n.castSave(s, t));
102
- var l = t, c = e;
103
- if (c) {
104
- var g = c.length;
105
- for (let a = 0; a < g; a += 2) m(l, c[a]);
106
- }
107
- return r.castSave(s, t, e), a.maxChangeId = s, !S && s - p >= h.snapshotMaxChangeCount && (++a.currentAclNum,
108
- n && n.switch(d(a)), r.saveSnapshot(i), Object.assign(a, {
97
+ return n && (o ? v = n.callSave(s, t) : n.castSave(s, t)), r.castSave(s, t, e),
98
+ a.maxChangeId = s, !S && s - p >= h.snapshotMaxChangeCount && (++a.currentAclNum,
99
+ n && n.switch(l(a)), r.saveSnapshot(i), Object.assign(a, {
109
100
  snapshotMaxChangeId: s,
110
101
  isSavingSnapshot: !0
111
102
  })), v;
112
103
  }
113
104
 
114
- function d(a) {
105
+ function l(a) {
115
106
  return t(a.aclFolder, a.currentAclNum + "_acl.txt");
116
107
  }
@@ -11,45 +11,44 @@ import {
11
11
  } from "./QyLogger.js";
12
12
 
13
13
  import {
14
- QyOpRunner as s
14
+ QyOpRunner as e
15
15
  } from "./QyOpRunner.js";
16
16
 
17
- class e extends s {
18
- constructor(s, e = [], r = []) {
19
- super(s = {
17
+ class s extends e {
18
+ constructor(e, s = [], r = []) {
19
+ super(e = {
20
20
  ...a("QyMessageWorker"),
21
- ...s
22
- }, e, r), t?.on("message", async s => {
21
+ ...e
22
+ }, s, r), t?.on("message", async e => {
23
23
  var {
24
- opName: e,
25
- _cast: r
26
- } = s;
27
- if (e) {
28
- var a = s.args || [];
24
+ opName: s,
25
+ _call: r
26
+ } = e;
27
+ if (s) {
28
+ var a = e.args || [];
29
29
  try {
30
- var o = await this[e](...a);
31
- r || t?.postMessage({
32
- ack: e,
30
+ var o = await this[s](...a);
31
+ r && t?.postMessage({
32
+ ack: s,
33
33
  result: o
34
- }), "stop" == e && process.exit();
35
- } catch (s) {
36
- p.error(`Running ${e} failed:`, s), r || t?.postMessage({
37
- ack: e,
38
- exception: s
34
+ }), "stop" == s && process.exit();
35
+ } catch (e) {
36
+ p.error(`Running ${s} failed:`, e), r && t?.postMessage({
37
+ ack: s,
38
+ exception: e
39
39
  });
40
40
  }
41
- } else p.warn("Msg ignored:", s);
41
+ } else p.warn("Msg ignored:", e);
42
42
  });
43
43
  }
44
- postParent(s, ...e) {
44
+ postParent(e, ...s) {
45
45
  t?.postMessage({
46
- opName: s,
47
- args: e,
48
- _cast: !0
46
+ opName: e,
47
+ args: s
49
48
  });
50
49
  }
51
50
  }
52
51
 
53
52
  export {
54
- e as QyMessageWorker
53
+ s as QyMessageWorker
55
54
  };
@@ -3,9 +3,9 @@ export declare class QyMessager {
3
3
  worker: any;
4
4
  receiverQueueMap: any;
5
5
  options: any;
6
- constructor(workerTypeFileName: any, initArgMap: any, options: any, callOpNameList?: any[], castOpNameList?: any[], workerMsgProcessor?: this);
6
+ constructor(workerTypeFileName: any, initArgMap: any, options: any, callOpNameList: any, castOpNameList: any, workerMsgProcessor?: this);
7
7
  start(...args: any[]): any;
8
8
  stop(...args: any[]): any;
9
- castWorker(opName: any, args: any): void;
10
- callWorker(opName: any, args: any): any;
9
+ castWorker(opName: any, args: any, transferList?: any): void;
10
+ callWorker(opName: any, args: any, transferList?: any): any;
11
11
  }
package/src/QyMessager.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
- join as s,
2
+ join as o,
3
3
  extname as e
4
4
  } from "node:path";
5
5
 
6
6
  import {
7
7
  Worker as l,
8
- setEnvironmentData as o
8
+ setEnvironmentData as s
9
9
  } from "node:worker_threads";
10
10
 
11
11
  import {
@@ -32,50 +32,50 @@ class r {
32
32
  worker;
33
33
  receiverQueueMap;
34
34
  options;
35
- constructor(e, r, s, o = [], t = [], a = this) {
36
- s = {
35
+ constructor(e, r, o, s, t, a = this) {
36
+ o = {
37
37
  ...i("QyMessager"),
38
- ...s
38
+ ...o
39
39
  }, Object.assign(this, {
40
40
  workerMsgProcessor: a,
41
41
  workerTypeFileName: e,
42
42
  initArgMap: r,
43
- options: s,
43
+ options: o,
44
44
  receiverQueueMap: {}
45
45
  });
46
- for (let r of o) this[r] || (this[r] = (...e) => this.callWorker(r, e));
46
+ for (let r of s) this[r] || (this[r] = (...e) => this.callWorker(r, e));
47
47
  for (let r of t) this[r] || (this[r] = (...e) => this.castWorker(r, e));
48
48
  }
49
49
  start(...e) {
50
- this.started = !0, o("logLevel", n.level);
50
+ this.started = !0, s("logLevel", n.level);
51
51
  var p = this;
52
52
  if (!p.worker) {
53
53
  let {
54
54
  workerMsgProcessor: t,
55
- workerTypeFileName: o,
55
+ workerTypeFileName: s,
56
56
  initArgMap: e,
57
57
  receiverQueueMap: a
58
58
  } = p;
59
59
  var r = {
60
- workerTypeFileName: o,
60
+ workerTypeFileName: s,
61
61
  initArgMap: e
62
62
  };
63
- let i = p.worker = new l(s(m, "QyMessager_Run" + k), {
63
+ let i = p.worker = new l(o(m, "QyMessager_Run" + k), {
64
64
  workerData: r
65
65
  });
66
66
  i.on("error", e => {
67
- n.error(`Worker ${o} error:`, e);
67
+ n.error(`Worker ${s} error:`, e);
68
68
  }), i.on("message", e => {
69
69
  var {
70
70
  opName: r,
71
- ack: s,
72
- result: o
71
+ ack: o,
72
+ result: s
73
73
  } = e;
74
74
  r ? "%o_" == r ? n.handleOutMsg(e) : "%e_" == r ? n.handleErrMsg(e) : (e = e.args || [],
75
- t[r](...e)) : a[s]?.shift().resolve(o);
75
+ t[r](...e)) : a[o]?.shift().resolve(s);
76
76
  }), i.on("exit", e => {
77
- for (var r in i.removeAllListeners(), 0 != e ? n.warn(`Worker ${o} stopped with exitCode ` + e) : n.info(`Worker ${o} stopped.`),
78
- a) for (var s = a[r]; !s.isEmpty; ) s.shift()?.resolve();
77
+ for (var r in i.removeAllListeners(), 0 != e ? n.warn(`Worker ${s} stopped with exitCode ` + e) : n.info(`Worker ${s} stopped.`),
78
+ a) for (var o = a[r]; !o.isEmpty; ) o.shift()?.resolve();
79
79
  p.worker = void 0;
80
80
  });
81
81
  }
@@ -84,27 +84,27 @@ class r {
84
84
  stop(...e) {
85
85
  if (this.started) return this.started = !1, this.callWorker("stop", e);
86
86
  }
87
- castWorker(e, r) {
87
+ castWorker(e, r, o = void 0) {
88
88
  this.worker.postMessage({
89
89
  opName: e,
90
- args: r,
91
- _cast: !0
92
- });
90
+ args: r
91
+ }, o);
93
92
  }
94
- callWorker(e, r) {
93
+ callWorker(e, r, o = void 0) {
95
94
  var {
96
95
  worker: s,
97
- receiverQueueMap: o,
98
- options: t
96
+ receiverQueueMap: t,
97
+ options: a
99
98
  } = this;
100
99
  s.postMessage({
101
100
  opName: e,
102
- args: r
103
- });
104
- let a = o[e];
105
- a = a || (o[e] = new h(t));
101
+ args: r,
102
+ _call: !0
103
+ }, o);
104
+ let i = t[e];
105
+ i = i || (t[e] = new h(a));
106
106
  s = p({});
107
- return a.push(s), s.promise;
107
+ return i.push(s), s.promise;
108
108
  }
109
109
  }
110
110
 
package/src/QyMod.d.ts CHANGED
@@ -1 +1 @@
1
- export declare function requireFromModCode(modFolder: any, modName: any, modCode: any, qyDB: any): any;
1
+ export declare function requireFromModCode(modFolder: any, modName: any, modCode: any, qyDB?: any): any;
package/src/QyMod.js CHANGED
@@ -1,15 +1,15 @@
1
- import d from "node:module";
1
+ import a from "node:module";
2
2
 
3
3
  import {
4
4
  logger as s
5
5
  } from "./QyLogger.js";
6
6
 
7
- function o(e, r, l, o) {
7
+ function o(e, r, l, o = void 0) {
8
8
  if (l) try {
9
- var t = e + "_" + r, g = `_${t}_qydb`, i = `_${t}_logger`, a = (globalThis[g] = o,
10
- globalThis[i] = s, new d(r));
11
- return a._compile(`(function(dataFolder, logger){${l}})(${g},${i});`, t + ".ts"),
12
- delete globalThis[g], delete globalThis[i], a.exports;
9
+ var i = e + "_" + r, t = `_${i}_qydb`, g = `_${i}_logger`, d = (globalThis[t] = o,
10
+ globalThis[g] = s, new a(r));
11
+ return d._compile(`(function(dataFolder, logger){${l}})(${t},${g});`, i + ".ts"),
12
+ delete globalThis[t], delete globalThis[g], d.exports;
13
13
  } catch (o) {
14
14
  s.error("requireFromModCode failed:", e, r, l, o);
15
15
  }
@@ -4,7 +4,7 @@ export declare class QyOpRunner extends EventEmitter {
4
4
  opQueue: any;
5
5
  options: any;
6
6
  runningOp: any;
7
- constructor(options: any, callOpNameList?: any[], castOpNameList?: any[]);
7
+ constructor(options: any, callOpNameList?: any, castOpNameList?: any);
8
8
  get firstOp(): any;
9
9
  get lastOp(): any;
10
10
  finish(): any;
package/src/QyOpRunner.js CHANGED
@@ -21,11 +21,12 @@ class e extends t {
21
21
  opQueue;
22
22
  options;
23
23
  runningOp;
24
- constructor(t, s = [], e = []) {
24
+ constructor(t, s = void 0, e = void 0) {
25
25
  super(), t = this.options = {
26
26
  ...i("QyOpRunner"),
27
27
  ...t
28
- }, this.opQueue = new r(t), n(this, s, !0), n(this, e), n(this, [ "start", "stop" ], !0);
28
+ }, this.opQueue = new r(t), s && n(this, s, !0), n(this, [ "start", "stop" ], !0),
29
+ e && n(this, e), n(this, Object.getOwnPropertyNames(Object.getPrototypeOf(this)).filter(t => t.startsWith("_op_")).map(t => t.substring(4)));
29
30
  }
30
31
  get firstOp() {
31
32
  return this.opQueue.first;
package/src/QyQueue.d.ts CHANGED
@@ -3,7 +3,7 @@ export declare class QyQueue {
3
3
  queue: any[];
4
4
  firstIdx: number;
5
5
  _waterMark: number;
6
- constructor(options: any);
6
+ constructor(options?: any);
7
7
  get first(): any;
8
8
  get last(): any;
9
9
  get isEmpty(): boolean;
package/src/QyQueue.js CHANGED
@@ -7,7 +7,7 @@ class t {
7
7
  queue = [];
8
8
  firstIdx = 0;
9
9
  _waterMark = 0;
10
- constructor(t) {
10
+ constructor(t = void 0) {
11
11
  this.options = {
12
12
  ...e("QyQueue"),
13
13
  ...t
@@ -44,10 +44,10 @@ class t {
44
44
  options: r
45
45
  } = e, u = s.length, h = i + 1;
46
46
  if (u <= h) e.reset(); else {
47
- var a = u - h;
48
- if (h > r.maxLenBeforeRecycle || a <= h) {
49
- for (let t = 0; t < a; ++t) s[t] = s[t + h];
50
- e.firstIdx = 0, s.length = a;
47
+ var o = u - h;
48
+ if (h > r.maxLenBeforeRecycle || o <= h) {
49
+ for (let t = 0; t < o; ++t) s[t] = s[t + h];
50
+ e.firstIdx = 0, s.length = o;
51
51
  } else e.firstIdx = h, s[i] = void 0;
52
52
  }
53
53
  return t;
package/src/QySaver.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export declare class QySaver {
2
2
  dataFolder: any;
3
3
  options: any;
4
- constructor(dataFolder: any, options: any);
4
+ constructor(dataFolder?: any, options?: any);
5
5
  setDataFolder(dataFolder: any): this;
6
6
  processAfterLoad(data: any): any;
7
7
  processBeforeSave(data: any): Buffer<any>;