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
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getValByNamePath as i,
|
|
3
|
+
setValByNamePath as p,
|
|
4
|
+
delValByNamePath as l
|
|
5
|
+
} from "./QyFileContentUtils.js";
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
isEmptyObj as T
|
|
9
|
+
} from "./QyUtils.js";
|
|
10
|
+
|
|
11
|
+
class e {
|
|
12
|
+
hashPropTimeMap = {};
|
|
13
|
+
secondTimeHashPropMap = {};
|
|
14
|
+
get isEmpty() {
|
|
15
|
+
return T(this.hashPropTimeMap);
|
|
16
|
+
}
|
|
17
|
+
setExpireInfo(e, a, r = void 0) {
|
|
18
|
+
var {
|
|
19
|
+
hashPropTimeMap: t,
|
|
20
|
+
secondTimeHashPropMap: s
|
|
21
|
+
} = this, o = r ? i(t, [ e, r ]) : t[e];
|
|
22
|
+
o != a && (r ? p(t, [ e, r ], a) : t[e] = a, p(s, h(a, e, r), 1), null != o) && l(s, h(o, e, r));
|
|
23
|
+
}
|
|
24
|
+
removeExpireInfo(e, a = void 0) {
|
|
25
|
+
var {
|
|
26
|
+
hashPropTimeMap: r,
|
|
27
|
+
secondTimeHashPropMap: t
|
|
28
|
+
} = this, s = a ? i(r, [ e, a ]) : r[e];
|
|
29
|
+
null != s && (a ? l(r, [ e, a ]) : delete r[e], l(t, h(s, e, a)));
|
|
30
|
+
}
|
|
31
|
+
processExpired(e, a, r, t) {
|
|
32
|
+
if (!(this.isEmpty || e <= a)) {
|
|
33
|
+
var {
|
|
34
|
+
hashPropTimeMap: s,
|
|
35
|
+
secondTimeHashPropMap: o
|
|
36
|
+
} = this, i = j(e), p = j(a), l = o, h = r, n = i;
|
|
37
|
+
for (let e = p; e < n - 1; ++e) {
|
|
38
|
+
var f = l[e];
|
|
39
|
+
if (f) {
|
|
40
|
+
for (var m of Object.values(f)) E(h, m);
|
|
41
|
+
delete l[e];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
var v, d = o[i];
|
|
45
|
+
if (d) {
|
|
46
|
+
var u = e % 1e3;
|
|
47
|
+
for (let e = i != p ? 0 : a % 1e3 + 1; e <= u; ++e) {
|
|
48
|
+
var c = d[e];
|
|
49
|
+
c && (E(r, c), delete d[e]);
|
|
50
|
+
}
|
|
51
|
+
T(d) && delete o[i];
|
|
52
|
+
}
|
|
53
|
+
for (v in r) {
|
|
54
|
+
var P = r[v];
|
|
55
|
+
if (1 == P) delete s[v]; else {
|
|
56
|
+
var M, y = s[v];
|
|
57
|
+
for (M of P) delete y[M];
|
|
58
|
+
T(y) && (delete s[v], t.push(v));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function E(a, e) {
|
|
66
|
+
for (var r in e) {
|
|
67
|
+
var t = e[r];
|
|
68
|
+
if (1 == t) a[r] = 1; else {
|
|
69
|
+
let e = a[r];
|
|
70
|
+
(e = e || (a[r] = [])).push(...Object.keys(t));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function h(e, a, r = void 0) {
|
|
76
|
+
e = [ j(e), e % 1e3, a ];
|
|
77
|
+
return null != r && e.push(r), e;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function j(e) {
|
|
81
|
+
return Math.floor(e / 1e3);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function a(e) {
|
|
85
|
+
return e % 1e3;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export {
|
|
89
|
+
e as QyExpireInfo,
|
|
90
|
+
j as getSecond,
|
|
91
|
+
a as getSecondM
|
|
92
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { QyMessageWorker } from "./QyMessageWorker.ts";
|
|
2
|
+
import { QyExpireInfo } from "./QyExpireInfo.ts";
|
|
3
|
+
export default class QyExpire_Worker extends QyMessageWorker {
|
|
4
|
+
roundedStartTime: any;
|
|
5
|
+
checkedTime: number;
|
|
6
|
+
roundTimer: any;
|
|
7
|
+
secondInterval: any;
|
|
8
|
+
milliSecondInterval: any;
|
|
9
|
+
emptyHashList: any;
|
|
10
|
+
qyExpireInfo: QyExpireInfo;
|
|
11
|
+
constructor(options: any);
|
|
12
|
+
setRoundedStartTime(roundedStartTime: any): void;
|
|
13
|
+
setItemExpire(hashKey: any, expireTime: any): void;
|
|
14
|
+
removeItemExpire(hashKey: any): void;
|
|
15
|
+
setContentExpire(hashKey: any, flattedRelativeTimeObj: any): void;
|
|
16
|
+
removeContentExpire(hashKey: any, propNamePathStrList: any): void;
|
|
17
|
+
_op_start(): void;
|
|
18
|
+
_op_stop(): void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getDefaultOptions as t
|
|
3
|
+
} from "./QyDefaultOptions.js";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
QyMessageWorker as e
|
|
7
|
+
} from "./QyMessageWorker.js";
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
getNowTime as r,
|
|
11
|
+
isEmptyObj as c
|
|
12
|
+
} from "./QyUtils.js";
|
|
13
|
+
|
|
14
|
+
import {
|
|
15
|
+
getSecond as d,
|
|
16
|
+
getSecondM as l,
|
|
17
|
+
QyExpireInfo as i
|
|
18
|
+
} from "./QyExpireInfo.js";
|
|
19
|
+
|
|
20
|
+
export default class extends e {
|
|
21
|
+
roundedStartTime;
|
|
22
|
+
checkedTime = 0;
|
|
23
|
+
roundTimer;
|
|
24
|
+
secondInterval;
|
|
25
|
+
milliSecondInterval;
|
|
26
|
+
emptyHashList = [];
|
|
27
|
+
qyExpireInfo = new i();
|
|
28
|
+
constructor(e) {
|
|
29
|
+
super(e = {
|
|
30
|
+
...t("QyExpire_Worker"),
|
|
31
|
+
...e
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
setRoundedStartTime(e) {
|
|
35
|
+
Object.assign(this, {
|
|
36
|
+
roundedStartTime: e,
|
|
37
|
+
checkedTime: 0
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
setItemExpire(e, t) {
|
|
41
|
+
var {
|
|
42
|
+
checkedTime: r,
|
|
43
|
+
qyExpireInfo: i
|
|
44
|
+
} = this, o = h(this), n = {};
|
|
45
|
+
t <= o ? n[e] = 1 : i.setExpireInfo(e, t), r || (this.checkedTime = o),
|
|
46
|
+
v(this, !1, o, n);
|
|
47
|
+
}
|
|
48
|
+
removeItemExpire(e) {
|
|
49
|
+
var t = this.qyExpireInfo;
|
|
50
|
+
t.isEmpty || (t.removeExpireInfo(e), v(this));
|
|
51
|
+
}
|
|
52
|
+
setContentExpire(e, t) {
|
|
53
|
+
var r, {
|
|
54
|
+
checkedTime: i,
|
|
55
|
+
qyExpireInfo: o,
|
|
56
|
+
emptyHashList: n
|
|
57
|
+
} = this, s = h(this);
|
|
58
|
+
let a;
|
|
59
|
+
for (r in t) {
|
|
60
|
+
var m = t[r];
|
|
61
|
+
m <= s ? a ? a.push(r) : a = [ r ] : o.setExpireInfo(e, m, r);
|
|
62
|
+
}
|
|
63
|
+
var p = a ? {
|
|
64
|
+
[e]: a
|
|
65
|
+
} : {};
|
|
66
|
+
o.hashPropTimeMap[e] || n.push(e), i || (this.checkedTime = s), v(this, !1, s, p);
|
|
67
|
+
}
|
|
68
|
+
removeContentExpire(e, t) {
|
|
69
|
+
var r = this.qyExpireInfo;
|
|
70
|
+
if (!r.isEmpty) {
|
|
71
|
+
for (var i of t) r.removeExpireInfo(e, i);
|
|
72
|
+
v(this);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
_op_start() {}
|
|
76
|
+
_op_stop() {
|
|
77
|
+
u(this);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function h(e) {
|
|
82
|
+
return r() - e.roundedStartTime;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function v(e, t = !1, r = h(e), i = {}) {
|
|
86
|
+
var o, n, s, {
|
|
87
|
+
qyExpireInfo: a,
|
|
88
|
+
checkedTime: m,
|
|
89
|
+
emptyHashList: p
|
|
90
|
+
} = e;
|
|
91
|
+
m != r && (a.processExpired(r, m, i, p), e.checkedTime = r), c(i) || e.postParent("onExpired", i),
|
|
92
|
+
0 < p.length && (e.postParent("onEmptyHashList", p), p.length = 0), a.isEmpty ? u(e) : c(a.secondTimeHashPropMap[d(r)]) ? (f(e),
|
|
93
|
+
t || e.secondInterval ? (n = e).secondInterval || (I(n), n.secondInterval = setInterval(() => v(n, !0), 1e3)) : (s = e,
|
|
94
|
+
m = 1e3 - l(r), s.roundTimer || (s.roundTimer = setTimeout(() => v(s, !0), m)))) : (o = e).milliSecondInterval || (I(o),
|
|
95
|
+
o.milliSecondInterval = setInterval(() => v(o), 1));
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function I(e) {
|
|
99
|
+
var t = e.roundTimer;
|
|
100
|
+
t && (clearTimeout(t), e.roundTimer = void 0);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function f(e) {
|
|
104
|
+
var t = e.milliSecondInterval;
|
|
105
|
+
t && (clearInterval(t), e.milliSecondInterval = void 0);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function u(e) {
|
|
109
|
+
var t, r;
|
|
110
|
+
I(e), (r = (t = e).secondInterval) && (clearInterval(r), t.secondInterval = void 0),
|
|
111
|
+
f(e);
|
|
112
|
+
}
|
package/src/QyFile.d.ts
CHANGED
|
@@ -14,8 +14,8 @@ export declare class QyFile extends QyItem {
|
|
|
14
14
|
get isFile(): boolean;
|
|
15
15
|
get contentAsText(): any;
|
|
16
16
|
get clonedContent(): any;
|
|
17
|
-
setContent(content: any): void;
|
|
18
17
|
view(spec: string | undefined, noClone: any): any;
|
|
19
18
|
prop(namePath: any, spec: string | undefined, noClone: any): any;
|
|
20
19
|
unloadFileContent(): void;
|
|
20
|
+
ensureLoaded(): this | undefined;
|
|
21
21
|
}
|
package/src/QyFile.js
CHANGED
|
@@ -7,25 +7,31 @@ import {
|
|
|
7
7
|
SpecialFilePaths as n,
|
|
8
8
|
getContentKey as i,
|
|
9
9
|
isNotNullObj as a,
|
|
10
|
-
isSimpleType as
|
|
11
|
-
fromSingleName as
|
|
10
|
+
isSimpleType as h,
|
|
11
|
+
fromSingleName as s,
|
|
12
|
+
isEmptyObj as r,
|
|
13
|
+
getNowTime as l
|
|
12
14
|
} from "./QyUtils.js";
|
|
13
15
|
|
|
14
16
|
import {
|
|
15
|
-
getValByNamePath as
|
|
17
|
+
getValByNamePath as o
|
|
16
18
|
} from "./QyFileContentUtils.js";
|
|
17
19
|
|
|
18
20
|
import {
|
|
19
|
-
QyIndexPropTree as
|
|
21
|
+
QyIndexPropTree as f
|
|
20
22
|
} from "./QyIndexPropTree.js";
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
import {
|
|
25
|
+
handleExpiredProps as u
|
|
26
|
+
} from "./QyExpire.js";
|
|
27
|
+
|
|
28
|
+
let d = Array.isArray, C = n.IndexPropPathsFileName, {
|
|
29
|
+
$spec: p,
|
|
24
30
|
$raw: c,
|
|
25
|
-
$clone:
|
|
31
|
+
$clone: y
|
|
26
32
|
} = t;
|
|
27
33
|
|
|
28
|
-
class
|
|
34
|
+
class m extends e {
|
|
29
35
|
_fileContentKey;
|
|
30
36
|
_fileContent;
|
|
31
37
|
cChangeId = 0;
|
|
@@ -44,10 +50,7 @@ class u extends e {
|
|
|
44
50
|
return this._fileContentKey || (this._fileContentKey = i(this.fullPathHash));
|
|
45
51
|
}
|
|
46
52
|
get fileContent() {
|
|
47
|
-
|
|
48
|
-
return t.created && null == t._fileContent && !t.fileContentLoaded && (t.fileContentLoaded = !0,
|
|
49
|
-
e = t.qyCache) && (t._fileContent = e.qyKVData.getValueSync(t.fileContentKey)),
|
|
50
|
-
this.visited = !0, this._fileContent;
|
|
53
|
+
return this.ensureLoaded(), this.visited = !0, this._fileContent;
|
|
51
54
|
}
|
|
52
55
|
set fileContent(e) {
|
|
53
56
|
this.visited = !0, this._fileContent = e;
|
|
@@ -59,12 +62,12 @@ class u extends e {
|
|
|
59
62
|
fileContent: n,
|
|
60
63
|
underHiddenFolder: i
|
|
61
64
|
} = this;
|
|
62
|
-
if (e && i && t ==
|
|
65
|
+
if (e && i && t == C) {
|
|
63
66
|
e = this._qyIndexPropTree;
|
|
64
67
|
if (e) return e;
|
|
65
|
-
var r,
|
|
66
|
-
for (r in n)
|
|
67
|
-
return
|
|
68
|
+
var r, o = this._qyIndexPropTree = new f();
|
|
69
|
+
for (r in n) o.insert(s(r));
|
|
70
|
+
return o;
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
get isFile() {
|
|
@@ -77,45 +80,68 @@ class u extends e {
|
|
|
77
80
|
get clonedContent() {
|
|
78
81
|
return structuredClone(this.fileContent);
|
|
79
82
|
}
|
|
80
|
-
|
|
81
|
-
this.fileContent = e;
|
|
82
|
-
}
|
|
83
|
-
view(e = l, t) {
|
|
83
|
+
view(e = y, t) {
|
|
84
84
|
var n = this.fileContent;
|
|
85
|
-
return null == n ||
|
|
85
|
+
return null == n || h(n) ? n : function t(n, i, r, o) {
|
|
86
86
|
if (r === c) return i;
|
|
87
87
|
if (null == r) return;
|
|
88
|
-
if (
|
|
88
|
+
if (h(r)) return r ? o ? i : structuredClone(i) : void 0;
|
|
89
89
|
let e = r.$link;
|
|
90
|
-
if (null != e) return
|
|
91
|
-
if (
|
|
90
|
+
if (null != e) return v(n, i, e, r[p]);
|
|
91
|
+
if (h(i)) return i;
|
|
92
92
|
d(r) && (r = Object.fromEntries(r.filter(e => e).map(e => [ e, 1 ])));
|
|
93
|
-
let
|
|
93
|
+
let s = d(i) ? [] : {};
|
|
94
94
|
let {
|
|
95
|
-
$all:
|
|
95
|
+
$all: l,
|
|
96
96
|
"**": a
|
|
97
97
|
} = r;
|
|
98
|
-
if (
|
|
99
|
-
let e = r[f] ??
|
|
100
|
-
e && (
|
|
98
|
+
if (l || a) for (var f in i) {
|
|
99
|
+
let e = r[f] ?? l ?? a;
|
|
100
|
+
e && (s[f] = t(n, i[f], e, o));
|
|
101
101
|
} else for (var u in r) {
|
|
102
102
|
let e = r[u];
|
|
103
|
-
e && (
|
|
103
|
+
e && (s[u] = t(n, i[u], e, o));
|
|
104
104
|
}
|
|
105
|
-
return
|
|
105
|
+
return s;
|
|
106
106
|
}(this, n, e, t);
|
|
107
107
|
}
|
|
108
|
-
prop(e, t =
|
|
108
|
+
prop(e, t = y, n) {
|
|
109
109
|
var i;
|
|
110
|
-
if (t) return e =
|
|
110
|
+
if (t) return e = o(this.fileContent, d(e) ? e : [ e ]), i = t.$link, null != i ? v(this, e, i, t[p], n) : n || t === c ? e : structuredClone(e);
|
|
111
111
|
}
|
|
112
112
|
unloadFileContent() {
|
|
113
113
|
this.created && this.fileContentLoaded && null != this._fileContent && (this._fileContent = void 0,
|
|
114
114
|
this.fileContentLoaded = !1);
|
|
115
115
|
}
|
|
116
|
+
ensureLoaded() {
|
|
117
|
+
if (this.created && null == this._fileContent && !this.fileContentLoaded) {
|
|
118
|
+
this.fileContentLoaded = !0;
|
|
119
|
+
var e = this.qyCache;
|
|
120
|
+
if (!e) return;
|
|
121
|
+
if (this._fileContent = e.qyKVData.getValueSync(this.fileContentKey),
|
|
122
|
+
!this.underHiddenFolder) {
|
|
123
|
+
var t, n, i = this;
|
|
124
|
+
!i.cExpireChecked && (i.cExpireChecked = !0, t = e.getExpireInfoFile(i.fullPathHash, "c")) && ({
|
|
125
|
+
expiredProps: t,
|
|
126
|
+
remainingExpireInfoObj: n
|
|
127
|
+
} = ((e, t = l()) => {
|
|
128
|
+
let n, i = {};
|
|
129
|
+
for (var r in e) {
|
|
130
|
+
var o = e[r];
|
|
131
|
+
o <= t ? n ? n.push(r) : n = [ r ] : i[r] = o;
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
expiredProps: n,
|
|
135
|
+
remainingExpireInfoObj: i
|
|
136
|
+
};
|
|
137
|
+
})(t.fileContent), t && u(e.qyDB, i, t), r(n) || e.monitorContentExpire(i, n));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return this;
|
|
141
|
+
}
|
|
116
142
|
}
|
|
117
143
|
|
|
118
|
-
function
|
|
144
|
+
function g(e, t, n, i) {
|
|
119
145
|
if (e) {
|
|
120
146
|
e = e.getFile(t);
|
|
121
147
|
if (e) return e.view(n, i);
|
|
@@ -123,17 +149,17 @@ function p(e, t, n, i) {
|
|
|
123
149
|
return t;
|
|
124
150
|
}
|
|
125
151
|
|
|
126
|
-
function
|
|
127
|
-
let
|
|
128
|
-
if (d(t)) return t.map(e =>
|
|
152
|
+
function v(e, t, n, i, r = !1) {
|
|
153
|
+
let o = e.qyCache.getDir(n);
|
|
154
|
+
if (d(t)) return t.map(e => g(o, e, i, r));
|
|
129
155
|
if (a(t)) {
|
|
130
|
-
var
|
|
131
|
-
for (
|
|
132
|
-
return
|
|
156
|
+
var s, l = {};
|
|
157
|
+
for (s in t) l[s] = g(o, s, i, r);
|
|
158
|
+
return l;
|
|
133
159
|
}
|
|
134
|
-
return
|
|
160
|
+
return g(o, t, i, r);
|
|
135
161
|
}
|
|
136
162
|
|
|
137
163
|
export {
|
|
138
|
-
|
|
164
|
+
m as QyFile
|
|
139
165
|
};
|
|
@@ -6,5 +6,6 @@ export declare function mergeContentAndGenDelta(oldContent: any, newContent: any
|
|
|
6
6
|
};
|
|
7
7
|
export declare function setValByNamePath(rootObj: any, namePath: any, value: any): any;
|
|
8
8
|
export declare function getValByNamePath(obj: any, namePath: any): any;
|
|
9
|
+
export declare function delValByNamePath(obj: any, propPath: any, keepEmptyObj?: boolean, idx?: number): any;
|
|
9
10
|
export declare function cleanContent(obj: any, shouldCleanMark?: boolean, strict?: boolean): any;
|
|
10
11
|
export declare function objToDelMarks(obj: any): any;
|