datafolder 1.0.11 → 1.0.12
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 +12 -0
- package/package.json +1 -1
- package/scripts/flights2.js +2 -0
- 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 +8 -11
- package/src/QyBatch.js +239 -211
- 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 +6 -1
- package/src/QyCache.js +72 -53
- package/src/QyCompressor.d.ts +2 -2
- package/src/QyCompressor.js +13 -13
- package/src/QyDB.d.ts +1 -22
- package/src/QyDB.js +23 -78
- package/src/QyDefaultOptions.js +5 -0
- package/src/QyDir.js +26 -27
- package/src/QyExpire.d.ts +21 -0
- package/src/QyExpire.js +113 -0
- package/src/QyExpireClock.d.ts +15 -0
- package/src/QyExpireClock.js +53 -0
- package/src/QyExpire_Worker.d.ts +20 -0
- package/src/QyExpire_Worker.js +127 -0
- package/src/QyFile.js +36 -25
- package/src/QyFileContentUtils.js +21 -21
- package/src/QyItem.d.ts +1 -0
- package/src/QyItem.js +15 -9
- package/src/QyJsonSaver.d.ts +1 -1
- package/src/QyJsonSaver.js +1 -1
- package/src/QyKVData.d.ts +4 -1
- package/src/QyKVData.js +148 -136
- 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 +3 -2
- package/src/QyUtils.js +93 -86
- 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 +43 -9
- package/static/datafolderui/QyUIFolderViewer.js +1 -5
package/README.md
CHANGED
|
@@ -4,6 +4,8 @@ datafolder is a lightning fluid JSON database for high speed SSDs, featuring an
|
|
|
4
4
|
|
|
5
5
|
### Changelog
|
|
6
6
|
|
|
7
|
+
1.0.12 Added expire support to expire a file or some properties of the JSON data in future.
|
|
8
|
+
|
|
7
9
|
1.0.11 Added [SKILL.md](https://github.com/datafolderdev/datafolder/blob/main/SKILL.md) for feeding to AI
|
|
8
10
|
|
|
9
11
|
1.0.10 Added document [datafolder for high speed SSDs](https://github.com/datafolderdev/datafolder/wiki/datafolder-for-high-speed-SSDs)
|
|
@@ -162,6 +164,16 @@ onPromptScoreChanged({ promptId: "student2", feedbackScore: { oldValue: undefine
|
|
|
162
164
|
onPromptScoreChanged({ promptId: "student1", feedbackScore: { oldValue: 80, newValue: 32 } });
|
|
163
165
|
```
|
|
164
166
|
|
|
167
|
+
### 5. Expire Support
|
|
168
|
+
|
|
169
|
+
```javascript
|
|
170
|
+
dataFolder.expireFile("aitrainingdata/tmp/prompt", 3600); // the file will be deleted after 1 hour
|
|
171
|
+
dataFolder.expireContent("users/login", { sessionId: 300, token: 3600 });
|
|
172
|
+
|
|
173
|
+
dataFolder.removeFileExpire("aitrainingdata/tmp/prompt", 3600);
|
|
174
|
+
dataFolder.removeContentExpire("users/login", { sessionId: 1, token: 1 });
|
|
175
|
+
```
|
|
176
|
+
|
|
165
177
|
## Example
|
|
166
178
|
|
|
167
179
|
Once you install datafolder via
|
package/package.json
CHANGED
package/scripts/flights2.js
CHANGED
|
@@ -14,6 +14,7 @@ const qyDB = new QyDB(dataFolder, { preloadFoldersAtStart: false });
|
|
|
14
14
|
run();
|
|
15
15
|
function insertAirports() {
|
|
16
16
|
const data = JSON.parse(readFileSync(join(arangoJsonFolderPath, "airports.json")));
|
|
17
|
+
console.log(`airports:${data.length}`);
|
|
17
18
|
console.time("insertAirports");
|
|
18
19
|
const { batch } = qyDB;
|
|
19
20
|
for (const record of data) {
|
|
@@ -25,6 +26,7 @@ function insertAirports() {
|
|
|
25
26
|
}
|
|
26
27
|
function insertFlights() {
|
|
27
28
|
const data = JSON.parse(readFileSync(join(arangoJsonFolderPath, "flights.json")));
|
|
29
|
+
console.log(`flights:${data.length}`);
|
|
28
30
|
console.time("insertFlights");
|
|
29
31
|
const { batch } = qyDB;
|
|
30
32
|
for (let i = 0; i < data.length; ++i) {
|
package/src/QyAcl.d.ts
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare const CmdNames: {
|
|
2
|
+
M: number;
|
|
3
|
+
A: number;
|
|
4
|
+
R: number;
|
|
5
|
+
D: number;
|
|
6
|
+
};
|
|
7
|
+
export declare function delCmdKey(cmdArgAsListChanges: any, key: string): void;
|
|
8
|
+
export declare function applyAclChange(aclKeyValueMap: any, cmdArgAsListChanges: any): void;
|
|
9
|
+
export declare function iterCmdKeys(cmdArgAsListChanges: any, fun: any): void;
|
|
4
10
|
export declare class QyAclCmdGenerator {
|
|
5
|
-
|
|
11
|
+
cmdArgAsMapChanges: any[];
|
|
6
12
|
cmdCount: number;
|
|
7
13
|
batchSize: number;
|
|
8
14
|
constructor();
|
|
9
|
-
pushCmd(cmdName:
|
|
10
|
-
pushCmdArgAsListObj(
|
|
11
|
-
takeCmdArgAsListObj():
|
|
15
|
+
pushCmd(cmdName: number, cmdHashKey: string, cmdArg?: any): void;
|
|
16
|
+
pushCmdArgAsListObj(cmdArgAsListChanges: any): this;
|
|
17
|
+
takeCmdArgAsListObj(): any[];
|
|
12
18
|
toAclBuffer(changeId: any): Buffer<ArrayBuffer> | undefined;
|
|
13
19
|
}
|
|
14
20
|
export declare function readAclFile(aclFilePath: any, autoRepairAclFile?: boolean, currentChangeId?: number): Promise<any[]>;
|
package/src/QyAcl.js
CHANGED
|
@@ -1,250 +1,234 @@
|
|
|
1
|
-
import
|
|
1
|
+
import l from "node:fs/promises";
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
mergeContent as g,
|
|
5
|
-
mergeContentChanges as
|
|
5
|
+
mergeContentChanges as s,
|
|
6
6
|
setValByNamePath as a
|
|
7
7
|
} from "./QyFileContentUtils.js";
|
|
8
8
|
|
|
9
9
|
import {
|
|
10
|
-
isEmptyObj as m
|
|
11
|
-
arrayLast as n
|
|
10
|
+
isEmptyObj as m
|
|
12
11
|
} from "./QyUtils.js";
|
|
13
12
|
|
|
14
13
|
import {
|
|
15
|
-
logger as
|
|
14
|
+
logger as u
|
|
16
15
|
} from "./QyLogger.js";
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
17
|
+
let f = {
|
|
18
|
+
M: 0,
|
|
19
|
+
A: 1,
|
|
20
|
+
R: 2,
|
|
21
|
+
D: 3
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
function r(r, e) {
|
|
25
|
+
var [ r, t, a, n ] = r;
|
|
26
|
+
n && delete n[e], e.startsWith("c") ? r && delete r[e] : (t && delete t[e],
|
|
27
|
+
a && delete a[e]);
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
function
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
} = t;
|
|
36
|
-
for (e in t) null != r[e] && (r[e] = void 0);
|
|
37
|
-
for (a in s) {
|
|
38
|
-
var c, l = r[a] || (r[a] = {});
|
|
39
|
-
for (c of s[a]) l[c] = 1;
|
|
30
|
+
function e(r, e) {
|
|
31
|
+
var t, a, n, s, [ i, o, f, e ] = e;
|
|
32
|
+
for (t in e) null != r[t] && (r[t] = void 0);
|
|
33
|
+
for (a in o) {
|
|
34
|
+
var c, h = r[a] || (r[a] = {});
|
|
35
|
+
for (c of o[a]) h[c] = 1;
|
|
40
36
|
}
|
|
41
|
-
for (n in
|
|
42
|
-
var
|
|
43
|
-
if (
|
|
44
|
-
var
|
|
45
|
-
if (
|
|
46
|
-
for (var
|
|
47
|
-
m(
|
|
37
|
+
for (n in f) {
|
|
38
|
+
var l = r[n];
|
|
39
|
+
if (l) {
|
|
40
|
+
var u = f[n];
|
|
41
|
+
if (u) {
|
|
42
|
+
for (var d of u) delete l[d];
|
|
43
|
+
m(l) && (r[n] = void 0);
|
|
48
44
|
}
|
|
49
45
|
}
|
|
50
46
|
}
|
|
51
|
-
for (
|
|
47
|
+
for (s in i) r[s] = g(r[s], i[s]);
|
|
52
48
|
}
|
|
53
49
|
|
|
54
|
-
function
|
|
55
|
-
var e
|
|
56
|
-
D: r,
|
|
57
|
-
A: a,
|
|
58
|
-
R: n,
|
|
59
|
-
M: i
|
|
60
|
-
} = r;
|
|
61
|
-
for (e of [ r, a, n, i ]) for (var s in e) t(s);
|
|
50
|
+
function t(r, e) {
|
|
51
|
+
for (var t of r) for (var a in t) e(a);
|
|
62
52
|
}
|
|
63
53
|
|
|
64
|
-
class
|
|
65
|
-
|
|
54
|
+
class n {
|
|
55
|
+
cmdArgAsMapChanges = [];
|
|
66
56
|
cmdCount = 0;
|
|
67
57
|
batchSize = 0;
|
|
68
58
|
constructor() {}
|
|
69
|
-
pushCmd(r,
|
|
59
|
+
pushCmd(r, e, t = void 0) {
|
|
70
60
|
switch (++this.cmdCount, r) {
|
|
71
|
-
case
|
|
72
|
-
|
|
61
|
+
case f.A:
|
|
62
|
+
i(this, [ f.A, e, t ]), o(this, [ f.R, e, t ]);
|
|
73
63
|
break;
|
|
74
64
|
|
|
75
|
-
case
|
|
76
|
-
|
|
65
|
+
case f.R:
|
|
66
|
+
i(this, [ f.R, e, t ]), o(this, [ f.A, e, t ]);
|
|
77
67
|
break;
|
|
78
68
|
|
|
79
|
-
case
|
|
80
|
-
if (
|
|
69
|
+
case f.D:
|
|
70
|
+
if (i(this, [ f.D, e ]), e.startsWith("c")) o(this, [ f.M, e ]); else for (var a of [ f.A, f.R ]) o(this, [ a, e ]);
|
|
81
71
|
break;
|
|
82
72
|
|
|
83
|
-
case
|
|
73
|
+
case f.M:
|
|
84
74
|
{
|
|
85
|
-
var n = this.
|
|
86
|
-
let r = n
|
|
87
|
-
n = (r = null == r ? n.M = {} : r)[
|
|
88
|
-
r[
|
|
75
|
+
var n = this.cmdArgAsMapChanges;
|
|
76
|
+
let [ r ] = n;
|
|
77
|
+
n = (r = null == r ? n[f.M] = {} : r)[e];
|
|
78
|
+
r[e] = null != n ? s(n, t) : t;
|
|
89
79
|
break;
|
|
90
80
|
}
|
|
91
81
|
|
|
92
82
|
default:
|
|
93
|
-
|
|
83
|
+
u.error(`unsupported cmdName:${r}, called with ${e} ` + t), --this.cmdCount;
|
|
94
84
|
}
|
|
95
85
|
}
|
|
96
86
|
pushCmdArgAsListObj(r) {
|
|
97
87
|
if (r) {
|
|
98
|
-
++this.batchSize;
|
|
99
|
-
var t
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
} = r;
|
|
103
|
-
for (t in n) this.pushCmd("D", t);
|
|
104
|
-
for (e of [ "A", "R" ]) {
|
|
105
|
-
var s, o = r[e];
|
|
106
|
-
for (s in o) for (var f of o[s]) this.pushCmd(e, s, f);
|
|
88
|
+
for (var e in ++this.batchSize, r[f.D]) this.pushCmd(f.D, e);
|
|
89
|
+
for (var t of [ f.A, f.R ]) {
|
|
90
|
+
var a, n = r[t];
|
|
91
|
+
for (a in n) for (var s of n[a]) this.pushCmd(t, a, s);
|
|
107
92
|
}
|
|
108
|
-
|
|
93
|
+
var i, [ o ] = r;
|
|
94
|
+
for (i in o) this.pushCmd(f.M, i, o[i]);
|
|
109
95
|
}
|
|
110
96
|
return this;
|
|
111
97
|
}
|
|
112
98
|
takeCmdArgAsListObj() {
|
|
113
|
-
var r,
|
|
99
|
+
var r, e = this.cmdArgAsMapChanges;
|
|
114
100
|
Object.assign(this, {
|
|
115
|
-
|
|
101
|
+
cmdArgAsMapChanges: [],
|
|
116
102
|
cmdCount: 0,
|
|
117
103
|
batchSize: 0
|
|
118
104
|
});
|
|
119
|
-
for (r of [
|
|
120
|
-
var
|
|
121
|
-
for (
|
|
122
|
-
var n = Object.keys(a[
|
|
123
|
-
0 < n.length ? a[
|
|
105
|
+
for (r of [ f.A, f.R ]) {
|
|
106
|
+
var t, a = e[r];
|
|
107
|
+
for (t in a) {
|
|
108
|
+
var n = Object.keys(a[t]);
|
|
109
|
+
0 < n.length ? a[t] = n : delete a[t];
|
|
124
110
|
}
|
|
125
|
-
m(a) && delete
|
|
111
|
+
m(a) && delete e[r];
|
|
126
112
|
}
|
|
127
|
-
var
|
|
128
|
-
|
|
129
|
-
M: s
|
|
130
|
-
} = t;
|
|
131
|
-
return i && m(i) && delete t.D, s && m(s) && delete t.M, t;
|
|
113
|
+
var s = e[f.D], s = (s && m(s) && delete e[f.D], e[f.M]);
|
|
114
|
+
return s && m(s) && delete e[f.M], e;
|
|
132
115
|
}
|
|
133
116
|
toAclBuffer(r) {
|
|
134
|
-
var
|
|
135
|
-
if (0 <
|
|
136
|
-
Buffer.concat([
|
|
117
|
+
var e, t = this.batchSize;
|
|
118
|
+
if (0 < t) return r = r, t = t, e = this.takeCmdArgAsListObj(), e = Buffer.from(JSON.stringify(e)),
|
|
119
|
+
Buffer.concat([ h([ r, t, e.length ]), e ]);
|
|
137
120
|
}
|
|
138
121
|
}
|
|
139
122
|
|
|
140
|
-
function
|
|
141
|
-
a(r.
|
|
123
|
+
function i(r, e, t = 1) {
|
|
124
|
+
a(r.cmdArgAsMapChanges, e, t);
|
|
142
125
|
}
|
|
143
126
|
|
|
144
|
-
function
|
|
145
|
-
let
|
|
146
|
-
if (
|
|
147
|
-
for (let r = 0; r <
|
|
148
|
-
delete e
|
|
127
|
+
function o(r, e) {
|
|
128
|
+
let t = r.cmdArgAsMapChanges;
|
|
129
|
+
if (t && e && !(e.length <= 1)) {
|
|
130
|
+
for (let r = 0; r < e.length - 1; ++r) if (null == (t = t[e[r]])) return;
|
|
131
|
+
delete t[e.at(-1)];
|
|
149
132
|
}
|
|
150
133
|
}
|
|
151
134
|
|
|
152
|
-
async function c(
|
|
135
|
+
async function c(e, r = !1, t = 0) {
|
|
153
136
|
try {
|
|
154
|
-
return await A(
|
|
137
|
+
return await A(e, await l.readFile(e), r, t);
|
|
155
138
|
} catch (r) {
|
|
156
|
-
throw
|
|
139
|
+
throw u.error(`Reading ${e} failed:`, r), r;
|
|
157
140
|
}
|
|
158
141
|
}
|
|
159
142
|
|
|
160
143
|
let v = [ 1, 2, 4, 8 ];
|
|
161
144
|
|
|
162
|
-
function
|
|
163
|
-
var
|
|
164
|
-
let
|
|
165
|
-
for (let r = 0; r <
|
|
166
|
-
var o = a[r] = (o =
|
|
145
|
+
function h(e) {
|
|
146
|
+
var t = e.length, a = new Array(t), n = new Array(t);
|
|
147
|
+
let s = t << 6, i = 1;
|
|
148
|
+
for (let r = 0; r < t; ++r) {
|
|
149
|
+
var o = a[r] = (o = e[r]) <= 255 ? 0 : o <= 65535 ? 1 : o <= 4294967295 ? 2 : 3, o = (s |= o << (r << 1),
|
|
167
150
|
n[r] = v[o]);
|
|
168
|
-
|
|
151
|
+
i += o;
|
|
169
152
|
}
|
|
170
|
-
var f = Buffer.allocUnsafe(
|
|
171
|
-
f.writeUInt8(
|
|
153
|
+
var f = Buffer.allocUnsafe(i);
|
|
154
|
+
f.writeUInt8(s);
|
|
172
155
|
let c = 1;
|
|
173
|
-
for (let r = 0; r <
|
|
174
|
-
|
|
175
|
-
var [ l, u, d
|
|
176
|
-
switch (
|
|
156
|
+
for (let r = 0; r < t; ++r) {
|
|
157
|
+
d = u = l = h = void 0;
|
|
158
|
+
var [ h, l, u, d = 0 ] = [ f, e[r], n[r], c ];
|
|
159
|
+
switch (u) {
|
|
177
160
|
case 1:
|
|
178
|
-
|
|
161
|
+
h.writeUInt8(l, d);
|
|
179
162
|
break;
|
|
180
163
|
|
|
181
164
|
case 2:
|
|
182
|
-
|
|
165
|
+
h.writeUInt16BE(l, d);
|
|
183
166
|
break;
|
|
184
167
|
|
|
185
168
|
case 4:
|
|
186
|
-
|
|
169
|
+
h.writeUInt32BE(l, d);
|
|
187
170
|
break;
|
|
188
171
|
|
|
189
172
|
default:
|
|
190
|
-
|
|
173
|
+
h.writeBigUInt64BE(BigInt(l), d);
|
|
191
174
|
}
|
|
192
175
|
c += n[r];
|
|
193
176
|
}
|
|
194
177
|
return f;
|
|
195
178
|
}
|
|
196
179
|
|
|
197
|
-
function
|
|
198
|
-
var n =
|
|
199
|
-
for (let r = 0; r <
|
|
200
|
-
var
|
|
201
|
-
a[r] = ((r,
|
|
202
|
-
switch (
|
|
180
|
+
function d(e, t, a) {
|
|
181
|
+
var n = e.readUInt8(t), s = (++t, n >> 6 & 3);
|
|
182
|
+
for (let r = 0; r < s; ++r) {
|
|
183
|
+
var i = v[n >> (r << 1) & 3];
|
|
184
|
+
a[r] = ((r, e, t = 0) => {
|
|
185
|
+
switch (e) {
|
|
203
186
|
case 1:
|
|
204
|
-
return r.readUInt8(
|
|
187
|
+
return r.readUInt8(t);
|
|
205
188
|
|
|
206
189
|
case 2:
|
|
207
|
-
return r.readUInt16BE(
|
|
190
|
+
return r.readUInt16BE(t);
|
|
208
191
|
|
|
209
192
|
case 4:
|
|
210
|
-
return r.readUInt32BE(
|
|
193
|
+
return r.readUInt32BE(t);
|
|
211
194
|
|
|
212
195
|
default:
|
|
213
|
-
return Number(r.readBigUInt64BE(
|
|
196
|
+
return Number(r.readBigUInt64BE(t));
|
|
214
197
|
}
|
|
215
|
-
})(
|
|
198
|
+
})(e, i, t), t += i;
|
|
216
199
|
}
|
|
217
|
-
return
|
|
200
|
+
return t;
|
|
218
201
|
}
|
|
219
202
|
|
|
220
|
-
async function A(
|
|
221
|
-
var
|
|
222
|
-
for (let
|
|
223
|
-
var
|
|
224
|
-
if (
|
|
225
|
-
|
|
226
|
-
n + f !=
|
|
203
|
+
async function A(t, r, a, n) {
|
|
204
|
+
var s = [];
|
|
205
|
+
for (let e = 0; e < r.length; ) {
|
|
206
|
+
var i = [], o = d(r, e, i), [ i, f, c ] = i;
|
|
207
|
+
if (i <= n) u.warn(`changeId ${i} <= currentChangeId ${n} at ${t}:${e}. Ignored.`),
|
|
208
|
+
e = o + c; else {
|
|
209
|
+
n + f != i && u.warn(`currentChangeId ${n} + batchSize ${f} != changeId ` + i);
|
|
227
210
|
try {
|
|
228
|
-
var
|
|
229
|
-
|
|
211
|
+
var h = JSON.parse(r.subarray(o, o + c));
|
|
212
|
+
s.push([ i, h ]), n = i, e = o + c;
|
|
230
213
|
} catch (r) {
|
|
231
|
-
if (
|
|
232
|
-
null == (f = await
|
|
233
|
-
|
|
214
|
+
if (u.error(`Parse ${t} failed at ${e}:`, r), a) return u.warn(`Autorepair by truncating ${t} to ` + e),
|
|
215
|
+
null == (f = await l.truncate(t, e)) ? u.log("truncate success") : u.error("truncate failed:", f),
|
|
216
|
+
s;
|
|
234
217
|
throw r;
|
|
235
218
|
}
|
|
236
219
|
}
|
|
237
220
|
}
|
|
238
|
-
return
|
|
221
|
+
return s;
|
|
239
222
|
}
|
|
240
223
|
|
|
241
224
|
export {
|
|
225
|
+
f as CmdNames,
|
|
242
226
|
r as delCmdKey,
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
227
|
+
e as applyAclChange,
|
|
228
|
+
t as iterCmdKeys,
|
|
229
|
+
n as QyAclCmdGenerator,
|
|
246
230
|
c as readAclFile,
|
|
247
|
-
|
|
248
|
-
|
|
231
|
+
h as numsToBuffer,
|
|
232
|
+
d as bufferToNums,
|
|
249
233
|
A as readAclBuffer
|
|
250
234
|
};
|
package/src/QyAclSaver.js
CHANGED
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
|
|
9
9
|
class e extends s {
|
|
10
10
|
constructor(s, e) {
|
|
11
|
-
super(
|
|
11
|
+
super("QyAclSaver_Worker", e = {
|
|
12
12
|
...r("QyAclSaver"),
|
|
13
13
|
...e
|
|
14
|
-
}, e, [ "callSave" ], [ "switch", "castSave" ]);
|
|
14
|
+
}, e, [ "callSave" ], [ "switch", "castSave" ], s);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -5,6 +5,6 @@ export default class QyAclSaver_Worker extends QyMessageWorker {
|
|
|
5
5
|
_op_start(aclFilePath: any): Promise<void>;
|
|
6
6
|
_op_stop(): Promise<void>;
|
|
7
7
|
switch(aclFilePath: any): void;
|
|
8
|
-
callSave(changeId: any,
|
|
9
|
-
castSave(changeId: any,
|
|
8
|
+
callSave(changeId: any, cmdArgAsListChanges: any): Promise<void>;
|
|
9
|
+
castSave(changeId: any, cmdArgAsListChanges: any): void;
|
|
10
10
|
}
|
package/src/QyBatch.d.ts
CHANGED
|
@@ -7,27 +7,22 @@ export declare class QyBatch extends QyCD {
|
|
|
7
7
|
syncList: any;
|
|
8
8
|
qyAclCmdGenerator: any;
|
|
9
9
|
qyCmdObjHistory: any;
|
|
10
|
+
running: any;
|
|
10
11
|
constructor(qyCache?: any, options?: any);
|
|
11
12
|
createDir(namePath: any, parentDir?: any): any;
|
|
12
|
-
createDirP(namePath: any, parentDir?: any): any;
|
|
13
13
|
delDir(namePath: any, parentDir?: any): any;
|
|
14
|
-
delDirP(namePath: any, parentDir?: any): any;
|
|
15
14
|
createFile(namePath: any, parentDir?: any): any;
|
|
16
|
-
createFileP(namePath: any, parentDir?: any): any;
|
|
17
15
|
delFile(namePath: any, parentDir?: any): any;
|
|
18
|
-
|
|
16
|
+
expireFile(namePath: any, expireSeconds: number, parentDir?: any): any;
|
|
17
|
+
expireContent(namePath: any, expireInfoObj: any, parentDir?: any): any;
|
|
18
|
+
removeFileExpire(namePath: any, parentDir?: any): any;
|
|
19
|
+
removeContentExpire(namePath: any, expireInfoObj: any, infoFileOnly?: any, parentDir?: any): any;
|
|
19
20
|
createIndex(indexHostDirNamePath: any, indexPropPathList: any, parentDir?: any): any;
|
|
20
|
-
createIndexP(indexHostDirNamePath: any, indexPropPathList: any, parentDir?: any): any;
|
|
21
21
|
delIndex(indexHostDirNamePath: any, indexPropPath: any, parentDir?: any): any;
|
|
22
|
-
|
|
23
|
-
insert(namePath: any, content: any, parentDir?: any): any;
|
|
24
|
-
insertP(namePath: any, content: any, parentDir?: any): any;
|
|
22
|
+
insert(namePath: any, content: any, noClone?: boolean, parentDir?: any): any;
|
|
25
23
|
remove(namePath: any, content: any, parentDir?: any): any;
|
|
26
|
-
removeP(namePath: any, content: any, parentDir?: any): any;
|
|
27
24
|
replace(namePath: any, content: any, parentDir?: any): any;
|
|
28
|
-
replaceP(namePath: any, content: any, parentDir?: any): any;
|
|
29
25
|
delContent(namePath: any, parentDir?: any): any;
|
|
30
|
-
delContentP(namePath: any, parentDir?: any): any;
|
|
31
26
|
insertTrigger(triggerName: any, fileNamePath: any, propNamePathList: any, modCode: any): any;
|
|
32
27
|
removeTrigger(triggerName: any): any;
|
|
33
28
|
insertRpc(rpcFunName: any, modCode: any): any;
|
|
@@ -46,4 +41,6 @@ export declare class QyBatch extends QyCD {
|
|
|
46
41
|
_action_insert(action: any): boolean;
|
|
47
42
|
_action_createFile(action: any): boolean;
|
|
48
43
|
_action_createDir(action: any): boolean;
|
|
44
|
+
_action_expireContent(action: any): boolean;
|
|
45
|
+
_action_removeContentExpire(action: any): boolean | undefined;
|
|
49
46
|
}
|