datafolder 1.0.11 → 1.0.13
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/README.md +16 -0
- package/package.json +1 -1
- package/scripts/airbnb.js +1 -1
- package/scripts/airbnb2.js +1 -1
- package/scripts/flights.js +2 -2
- package/scripts/flights2.js +4 -2
- package/src/QyAcl.d.ts +13 -7
- package/src/QyAcl.js +122 -138
- package/src/QyAclSaver.js +2 -2
- package/src/QyAclSaver_Worker.d.ts +2 -2
- package/src/QyBatch.d.ts +16 -12
- package/src/QyBatch.js +339 -228
- package/src/QyBinWriter.d.ts +1 -1
- package/src/QyBinWriter.js +15 -15
- package/src/QyCD.d.ts +2 -2
- package/src/QyCD.js +29 -29
- package/src/QyCache.d.ts +9 -1
- package/src/QyCache.js +110 -73
- package/src/QyCompressor.d.ts +2 -2
- package/src/QyCompressor.js +13 -13
- package/src/QyDB.d.ts +4 -22
- package/src/QyDB.js +49 -89
- package/src/QyDefaultOptions.js +2 -0
- package/src/QyDir.d.ts +1 -0
- package/src/QyDir.js +58 -30
- package/src/QyExpire.d.ts +15 -0
- package/src/QyExpire.js +105 -0
- package/src/QyExpireInfo.d.ts +10 -0
- package/src/QyExpireInfo.js +92 -0
- package/src/QyExpire_Worker.d.ts +19 -0
- package/src/QyExpire_Worker.js +112 -0
- package/src/QyFile.d.ts +1 -1
- package/src/QyFile.js +68 -42
- package/src/QyFileContentUtils.d.ts +1 -0
- package/src/QyFileContentUtils.js +108 -94
- package/src/QyItem.d.ts +7 -0
- package/src/QyItem.js +39 -15
- package/src/QyJsonSaver.d.ts +1 -1
- package/src/QyJsonSaver.js +1 -1
- package/src/QyKVData.d.ts +6 -1
- package/src/QyKVData.js +176 -157
- package/src/QyKVDataCleaner.js +2 -2
- package/src/QyKVDataSaver.js +2 -2
- package/src/QyKVDataSaver_Worker.d.ts +2 -2
- package/src/QyKVDataSaver_Worker.js +5 -5
- package/src/QyLogFileSaver.js +2 -2
- package/src/QyMessageWorker.d.ts +1 -1
- package/src/QyMessageWorker.js +10 -10
- package/src/QyMessager.d.ts +1 -1
- package/src/QyMessager.js +37 -36
- package/src/QyMessager_Run.js +9 -6
- package/src/QyQueue.js +8 -12
- package/src/QySaver.d.ts +1 -1
- package/src/QySaver.js +1 -1
- package/src/QySnapshotCompactor.js +2 -2
- package/src/QySnapshotCompactor_Worker.js +1 -1
- package/src/QySnapshotSaver.js +2 -2
- package/src/QySnapshotSaver_Worker.js +1 -1
- package/src/QyTrigger.d.ts +1 -1
- package/src/QyTrigger.js +20 -21
- package/src/QyUtils.d.ts +5 -2
- package/src/QyUtils.js +112 -98
- package/src/hackernews.js +1 -1
- package/src/simulate.js +6 -6
- package/src/simulate2.js +4 -4
- package/src/soc_pokec.js +1 -1
- package/static/codemirror.bundle/editor.bundle.js +49 -10
- package/static/datafolderui/QyUIFolderViewer.js +1 -5
- package/src/rpc/evalCode.js +0 -9
- package/src/rpc/getFileContent.js +0 -16
- package/src/rpc/getRpcFiles.js +0 -1
- package/src/rpc/getSubItems.js +0 -16
- package/src/rpc/getTriggerFiles.js +0 -1
- package/src/rpc/queryFiles.js +0 -10
- package/src/rpc/reloadRpc.js +0 -1
package/src/QyMessager.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
|
-
join as
|
|
2
|
+
join as s,
|
|
3
3
|
extname as e
|
|
4
4
|
} from "node:path";
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
|
-
Worker as
|
|
8
|
-
setEnvironmentData as
|
|
7
|
+
Worker as l,
|
|
8
|
+
setEnvironmentData as o
|
|
9
9
|
} from "node:worker_threads";
|
|
10
10
|
|
|
11
11
|
import {
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./QyLogger.js";
|
|
18
18
|
|
|
19
19
|
import {
|
|
20
|
-
setPromise as
|
|
20
|
+
setPromise as p,
|
|
21
21
|
__dirname as m
|
|
22
22
|
} from "./QyUtils.js";
|
|
23
23
|
|
|
@@ -32,50 +32,51 @@ class r {
|
|
|
32
32
|
worker;
|
|
33
33
|
receiverQueueMap;
|
|
34
34
|
options;
|
|
35
|
-
constructor(e, r,
|
|
35
|
+
constructor(e, r, s, o = [], t = [], a = this) {
|
|
36
36
|
s = {
|
|
37
37
|
...i("QyMessager"),
|
|
38
38
|
...s
|
|
39
|
-
},
|
|
40
|
-
|
|
41
|
-
workerTypeFileName:
|
|
42
|
-
initArgMap:
|
|
39
|
+
}, Object.assign(this, {
|
|
40
|
+
workerMsgProcessor: a,
|
|
41
|
+
workerTypeFileName: e,
|
|
42
|
+
initArgMap: r,
|
|
43
43
|
options: s,
|
|
44
44
|
receiverQueueMap: {}
|
|
45
45
|
});
|
|
46
46
|
for (let r of o) this[r] || (this[r] = (...e) => this.callWorker(r, e));
|
|
47
|
-
for (let r of
|
|
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,
|
|
51
|
-
var
|
|
52
|
-
if (!
|
|
50
|
+
this.started = !0, o("logLevel", n.level);
|
|
51
|
+
var p = this;
|
|
52
|
+
if (!p.worker) {
|
|
53
53
|
let {
|
|
54
|
-
|
|
54
|
+
workerMsgProcessor: t,
|
|
55
|
+
workerTypeFileName: o,
|
|
55
56
|
initArgMap: e,
|
|
56
|
-
receiverQueueMap:
|
|
57
|
-
} =
|
|
57
|
+
receiverQueueMap: a
|
|
58
|
+
} = p;
|
|
58
59
|
var r = {
|
|
59
|
-
workerTypeFileName:
|
|
60
|
+
workerTypeFileName: o,
|
|
60
61
|
initArgMap: e
|
|
61
62
|
};
|
|
62
|
-
let
|
|
63
|
+
let i = p.worker = new l(s(m, "QyMessager_Run" + k), {
|
|
63
64
|
workerData: r
|
|
64
65
|
});
|
|
65
|
-
|
|
66
|
-
n.error(`Worker ${
|
|
67
|
-
}),
|
|
66
|
+
i.on("error", e => {
|
|
67
|
+
n.error(`Worker ${o} error:`, e);
|
|
68
|
+
}), i.on("message", e => {
|
|
68
69
|
var {
|
|
69
70
|
opName: r,
|
|
70
|
-
ack:
|
|
71
|
-
result:
|
|
71
|
+
ack: s,
|
|
72
|
+
result: o
|
|
72
73
|
} = e;
|
|
73
74
|
r ? "%o_" == r ? n.handleOutMsg(e) : "%e_" == r ? n.handleErrMsg(e) : (e = e.args || [],
|
|
74
|
-
|
|
75
|
-
}),
|
|
76
|
-
for (var r in
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
t[r](...e)) : a[s]?.shift().resolve(o);
|
|
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();
|
|
79
|
+
p.worker = void 0;
|
|
79
80
|
});
|
|
80
81
|
}
|
|
81
82
|
return this.callWorker("start", e);
|
|
@@ -92,18 +93,18 @@ class r {
|
|
|
92
93
|
}
|
|
93
94
|
callWorker(e, r) {
|
|
94
95
|
var {
|
|
95
|
-
worker:
|
|
96
|
-
receiverQueueMap:
|
|
97
|
-
options:
|
|
96
|
+
worker: s,
|
|
97
|
+
receiverQueueMap: o,
|
|
98
|
+
options: t
|
|
98
99
|
} = this;
|
|
99
|
-
|
|
100
|
+
s.postMessage({
|
|
100
101
|
opName: e,
|
|
101
102
|
args: r
|
|
102
103
|
});
|
|
103
|
-
let a =
|
|
104
|
-
a = a || (
|
|
105
|
-
|
|
106
|
-
return a.push(
|
|
104
|
+
let a = o[e];
|
|
105
|
+
a = a || (o[e] = new h(t));
|
|
106
|
+
s = p({});
|
|
107
|
+
return a.push(s), s.promise;
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
|
package/src/QyMessager_Run.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
var t = this && this.__rewriteRelativeImportExtension || function(e, i) {
|
|
2
|
-
return "string" == typeof e && /^\.\.?\//.test(e) ? e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(e, r, t,
|
|
3
|
-
return r ? i ? ".jsx" : ".js" : !t ||
|
|
2
|
+
return "string" == typeof e && /^\.\.?\//.test(e) ? e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(e, r, t, a, o) {
|
|
3
|
+
return r ? i ? ".jsx" : ".js" : !t || a && o ? t + a + "." + o.toLowerCase() + "js" : e;
|
|
4
4
|
}) : e;
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
|
-
|
|
8
|
+
extname as e,
|
|
9
|
+
join as a
|
|
9
10
|
} from "node:path";
|
|
10
11
|
|
|
11
12
|
import {
|
|
12
|
-
getEnvironmentData as
|
|
13
|
+
getEnvironmentData as o,
|
|
13
14
|
workerData as i
|
|
14
15
|
} from "node:worker_threads";
|
|
15
16
|
|
|
@@ -22,11 +23,13 @@ import {
|
|
|
22
23
|
__dirname as m
|
|
23
24
|
} from "./QyUtils.js";
|
|
24
25
|
|
|
26
|
+
let l = e(import.meta.filename);
|
|
27
|
+
|
|
25
28
|
(async () => {
|
|
26
|
-
s.level =
|
|
29
|
+
s.level = o("logLevel");
|
|
27
30
|
var {
|
|
28
31
|
workerTypeFileName: e,
|
|
29
32
|
initArgMap: r
|
|
30
33
|
} = i;
|
|
31
|
-
new (await import(t("file://" +
|
|
34
|
+
new (await import(t("file://" + a(m, e + l)))).default(r), s.log("" + n + e);
|
|
32
35
|
})();
|
package/src/QyQueue.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
arrayLast as t
|
|
3
|
-
} from "./QyUtils.js";
|
|
4
|
-
|
|
5
1
|
import {
|
|
6
2
|
getDefaultOptions as e
|
|
7
3
|
} from "./QyDefaultOptions.js";
|
|
8
4
|
|
|
9
|
-
class
|
|
5
|
+
class t {
|
|
10
6
|
options;
|
|
11
7
|
queue = [];
|
|
12
8
|
firstIdx = 0;
|
|
@@ -21,7 +17,7 @@ class s {
|
|
|
21
17
|
return this.queue[this.firstIdx];
|
|
22
18
|
}
|
|
23
19
|
get last() {
|
|
24
|
-
return this.isEmpty ? void 0 :
|
|
20
|
+
return this.isEmpty ? void 0 : this.queue.at(-1);
|
|
25
21
|
}
|
|
26
22
|
get isEmpty() {
|
|
27
23
|
return this.firstIdx >= this.queue.length;
|
|
@@ -44,15 +40,15 @@ class s {
|
|
|
44
40
|
if (!this.isEmpty) {
|
|
45
41
|
var t = this.first, e = this, {
|
|
46
42
|
queue: s,
|
|
47
|
-
firstIdx:
|
|
48
|
-
options:
|
|
49
|
-
} = e, u = s.length, h =
|
|
43
|
+
firstIdx: i,
|
|
44
|
+
options: r
|
|
45
|
+
} = e, u = s.length, h = i + 1;
|
|
50
46
|
if (u <= h) e.reset(); else {
|
|
51
47
|
var a = u - h;
|
|
52
|
-
if (h >
|
|
48
|
+
if (h > r.maxLenBeforeRecycle || a <= h) {
|
|
53
49
|
for (let t = 0; t < a; ++t) s[t] = s[t + h];
|
|
54
50
|
e.firstIdx = 0, s.length = a;
|
|
55
|
-
} else e.firstIdx = h, s[
|
|
51
|
+
} else e.firstIdx = h, s[i] = void 0;
|
|
56
52
|
}
|
|
57
53
|
return t;
|
|
58
54
|
}
|
|
@@ -60,5 +56,5 @@ class s {
|
|
|
60
56
|
}
|
|
61
57
|
|
|
62
58
|
export {
|
|
63
|
-
|
|
59
|
+
t as QyQueue
|
|
64
60
|
};
|
package/src/QySaver.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare class QySaver {
|
|
|
6
6
|
processAfterLoad(data: any): any;
|
|
7
7
|
processBeforeSave(data: any): Buffer<any>;
|
|
8
8
|
removeFile(fileName: any): Promise<void>;
|
|
9
|
-
loadFromFile(fileName: any, defaultValue
|
|
9
|
+
loadFromFile(fileName: any, defaultValue?: any): Promise<any>;
|
|
10
10
|
saveToFile(data: any, fileName: any, override?: boolean): Promise<boolean>;
|
|
11
11
|
_saveTmpFileAndRename(contentBuffer: any, tmpFilePath: any, targetFilePath: any): Promise<boolean>;
|
|
12
12
|
_saveContent(filePath: any, contentBuffer: any): Promise<number | false>;
|
package/src/QySaver.js
CHANGED
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
|
|
9
9
|
class s extends o {
|
|
10
10
|
constructor(o, s, t) {
|
|
11
|
-
super(
|
|
11
|
+
super("QySnapshotCompactor_Worker", {
|
|
12
12
|
kvFolder: s,
|
|
13
13
|
options: t = {
|
|
14
14
|
...a("QySnapshotCompactor"),
|
|
15
15
|
...t
|
|
16
16
|
}
|
|
17
|
-
}, t, [], [ "compactSnapshots", "saveSnapshotInfos" ]);
|
|
17
|
+
}, t, [], [ "compactSnapshots", "saveSnapshotInfos" ], o);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -125,7 +125,7 @@ export default class extends a {
|
|
|
125
125
|
combinedSnapshotNumVerList: p,
|
|
126
126
|
posMap: n.posMap
|
|
127
127
|
};
|
|
128
|
-
})(this, s, t)), await Promise.all(e), this.
|
|
128
|
+
})(this, s, t)), await Promise.all(e), this.postParent("onCompactUpdates", t);
|
|
129
129
|
}
|
|
130
130
|
async _op_saveSnapshotInfos() {
|
|
131
131
|
var a, s, {
|
package/src/QySnapshotSaver.js
CHANGED
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
|
|
9
9
|
class e extends s {
|
|
10
10
|
constructor(s, e, a) {
|
|
11
|
-
super(
|
|
11
|
+
super("QySnapshotSaver_Worker", {
|
|
12
12
|
kvFolder: e,
|
|
13
13
|
options: a = {
|
|
14
14
|
...o("QySnapshotSaver"),
|
|
15
15
|
...a
|
|
16
16
|
}
|
|
17
|
-
}, a, [], [ "saveSnapshot", "castSave", "releaseSnapshot" ]);
|
|
17
|
+
}, a, [], [ "saveSnapshot", "castSave", "releaseSnapshot" ], s);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -113,7 +113,7 @@ export default class extends a {
|
|
|
113
113
|
})(this)).prefixPM, delete (u = {
|
|
114
114
|
...s
|
|
115
115
|
}).keyValueMap, delete s.posMap, s.isOut = !0, m.info("Sending snapshot " + s.snapshotNum)),
|
|
116
|
-
this.
|
|
116
|
+
this.postParent("onSnapshotSavedChangeId", t, u);
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
package/src/QyTrigger.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare class QyTriggerNode {
|
|
|
4
4
|
children: {};
|
|
5
5
|
triggerMap: {};
|
|
6
6
|
constructor(name?: any, parent?: any);
|
|
7
|
-
insertTrigger(triggerName: any, fileNamePath: any, propNamePathList: any, fun
|
|
7
|
+
insertTrigger(triggerName: any, fileNamePath: any, propNamePathList: any, fun?: any): void;
|
|
8
8
|
removeTrigger(triggerName: any, fileNamePath: any): boolean;
|
|
9
9
|
get isEmpty(): boolean;
|
|
10
10
|
removeEmptyNodes(): void;
|
package/src/QyTrigger.js
CHANGED
|
@@ -11,7 +11,6 @@ import {
|
|
|
11
11
|
isEmptyObj as e,
|
|
12
12
|
isMatchName as l,
|
|
13
13
|
getMatchParam as d,
|
|
14
|
-
arrayLast as f,
|
|
15
14
|
propNameJoin as v
|
|
16
15
|
} from "./QyUtils.js";
|
|
17
16
|
|
|
@@ -21,7 +20,7 @@ import {
|
|
|
21
20
|
|
|
22
21
|
let y = Array.isArray;
|
|
23
22
|
|
|
24
|
-
class
|
|
23
|
+
class f {
|
|
25
24
|
name;
|
|
26
25
|
parent;
|
|
27
26
|
children = {};
|
|
@@ -32,12 +31,12 @@ class h {
|
|
|
32
31
|
parent: r
|
|
33
32
|
});
|
|
34
33
|
}
|
|
35
|
-
insertTrigger(e, r, t, a) {
|
|
34
|
+
insertTrigger(e, r, t, a = void 0) {
|
|
36
35
|
let i = this;
|
|
37
|
-
for (var
|
|
38
|
-
l(
|
|
39
|
-
var
|
|
40
|
-
i = o
|
|
36
|
+
for (var o of r) {
|
|
37
|
+
l(o) && (o = "*");
|
|
38
|
+
var s = i.children;
|
|
39
|
+
i = s[o] || (s[o] = new f(o, i));
|
|
41
40
|
}
|
|
42
41
|
var n = i.triggerMap, g = n[e];
|
|
43
42
|
g ? Object.assign(g, {
|
|
@@ -45,7 +44,7 @@ class h {
|
|
|
45
44
|
fileNamePath: r,
|
|
46
45
|
propNamePathList: t,
|
|
47
46
|
fun: a
|
|
48
|
-
}) : n[e] = new
|
|
47
|
+
}) : n[e] = new h(e, r, t, a);
|
|
49
48
|
}
|
|
50
49
|
removeTrigger(e, r) {
|
|
51
50
|
let t = this;
|
|
@@ -74,7 +73,7 @@ class h {
|
|
|
74
73
|
}
|
|
75
74
|
}
|
|
76
75
|
|
|
77
|
-
class
|
|
76
|
+
class h {
|
|
78
77
|
triggerName;
|
|
79
78
|
fileNamePath;
|
|
80
79
|
propNamePathList;
|
|
@@ -91,11 +90,11 @@ class m {
|
|
|
91
90
|
var t, {
|
|
92
91
|
triggerName: a,
|
|
93
92
|
fileNamePath: i,
|
|
94
|
-
propNamePathList:
|
|
95
|
-
fun:
|
|
93
|
+
propNamePathList: o,
|
|
94
|
+
fun: s
|
|
96
95
|
} = this, n = e.fileContent;
|
|
97
96
|
let g;
|
|
98
|
-
for (t of
|
|
97
|
+
for (t of o) {
|
|
99
98
|
var l = c(r.oldValue, t), f = c(r.newValue, t);
|
|
100
99
|
p(l, f) || (l = {
|
|
101
100
|
oldValue: l,
|
|
@@ -108,14 +107,14 @@ class m {
|
|
|
108
107
|
if (g) {
|
|
109
108
|
var {
|
|
110
109
|
namePath: h,
|
|
111
|
-
qyCache:
|
|
110
|
+
qyCache: o
|
|
112
111
|
} = e;
|
|
113
112
|
for (let e = 0; e < h.length; ++e) {
|
|
114
113
|
var m = d(i[e]);
|
|
115
114
|
m && (g[m] = h[e]);
|
|
116
115
|
}
|
|
117
116
|
try {
|
|
118
|
-
|
|
117
|
+
s && s(g), o.emit(a, g);
|
|
119
118
|
} catch (e) {
|
|
120
119
|
N.error(`Running trigger ${a} failed:`, g, e);
|
|
121
120
|
}
|
|
@@ -125,7 +124,7 @@ class m {
|
|
|
125
124
|
|
|
126
125
|
let t = [];
|
|
127
126
|
|
|
128
|
-
function
|
|
127
|
+
function m(e, r) {
|
|
129
128
|
return e ? l(r) ? Object.values(e) : (e = e[r]) ? [ e ] : t : t;
|
|
130
129
|
}
|
|
131
130
|
|
|
@@ -133,18 +132,18 @@ function r(e, a) {
|
|
|
133
132
|
if (0 != a.length) {
|
|
134
133
|
let r = [ e ], t = [];
|
|
135
134
|
for (let e = 0; e < a.length - 1; ++e) {
|
|
136
|
-
var i,
|
|
137
|
-
for (i of r) for (var
|
|
138
|
-
t.push(
|
|
135
|
+
var i, o = a[e];
|
|
136
|
+
for (i of r) for (var s of m(i.subdirMap, o)) i.setChildTriggerNodes(s),
|
|
137
|
+
t.push(s);
|
|
139
138
|
if (0 == t.length) return;
|
|
140
139
|
[ r, t ] = [ t, r ], t.length = 0;
|
|
141
140
|
}
|
|
142
|
-
var n, g =
|
|
143
|
-
for (n of r) for (var l of
|
|
141
|
+
var n, g = a.at(-1);
|
|
142
|
+
for (n of r) for (var l of m(n.fileMap, g)) n.setChildTriggerNodes(l);
|
|
144
143
|
}
|
|
145
144
|
}
|
|
146
145
|
|
|
147
146
|
export {
|
|
148
|
-
|
|
147
|
+
f as QyTriggerNode,
|
|
149
148
|
r as updateTriggerNodes
|
|
150
149
|
};
|
package/src/QyUtils.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export declare const SpecialFilePaths: {
|
|
|
7
7
|
TriggerDirPath: string[];
|
|
8
8
|
RpcDirPath: string[];
|
|
9
9
|
IndexDirPath: string[];
|
|
10
|
+
ExpireDirPath: string[];
|
|
11
|
+
MetaFilePath: string[];
|
|
10
12
|
IndexPropPathsFileName: string;
|
|
11
13
|
};
|
|
12
14
|
export declare function isMatchName(name: any): any;
|
|
@@ -18,7 +20,6 @@ export declare function getSubdirMapKey(fullPathHash: any): string;
|
|
|
18
20
|
export declare function getFileMapKey(fullPathHash: any): string;
|
|
19
21
|
export declare function getContentKey(fullPathHash: any): string;
|
|
20
22
|
export declare function getRandomStr(byteCount?: number): string;
|
|
21
|
-
export declare function arrayLast(array: any): any;
|
|
22
23
|
export declare function isEmptyObj(obj: any): boolean;
|
|
23
24
|
export declare function isNotNullObj(item: any): boolean;
|
|
24
25
|
export declare function isString(item: any): item is string;
|
|
@@ -40,7 +41,7 @@ export declare function unlockExclusiveFilePath(exclusiveFilePath: any): void;
|
|
|
40
41
|
export declare function fromSingleName(name: any): any;
|
|
41
42
|
export declare function toSingleName(list: any): any;
|
|
42
43
|
export declare function pathSplit(itemPath: any): any;
|
|
43
|
-
export declare function
|
|
44
|
+
export declare function ensurePropNamePathList(propNamePathList: any): any[] | undefined;
|
|
44
45
|
export declare function propNameJoin(propName: any): any;
|
|
45
46
|
export declare function randomInt(max: any, min?: number): number;
|
|
46
47
|
export declare function listToMap(list: any): {};
|
|
@@ -50,4 +51,6 @@ export declare function loadFileList(fileList: any, preloadCount?: number): Asyn
|
|
|
50
51
|
filePath: any;
|
|
51
52
|
bin: any;
|
|
52
53
|
}, void, unknown>;
|
|
54
|
+
export declare function getNowTime(now?: Date): number;
|
|
55
|
+
export declare function getNowRounded(now?: Date): number;
|
|
53
56
|
export * as default from "./QyUtils.ts";
|