datafolder 1.0.17 → 1.0.18

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.
@@ -1,184 +1,183 @@
1
1
  import {
2
+ isDeepStrictEqual as t
3
+ } from "node:util";
4
+
5
+ import {
6
+ isDate as a,
7
+ isArray as g,
2
8
  isNotNullObj as f,
3
- trimArrayTail as g,
4
- isSimpleType as h,
9
+ trimArrayTail as m,
10
+ isSimpleType as p,
5
11
  SpecialOperators as r,
6
- isEmptyObj as i
12
+ isEmptyObj as i,
13
+ isFloat32Array as u
7
14
  } from "./QyUtils.js";
8
15
 
9
- let p = Array.isArray, {
10
- $del: m,
11
- $rpl: w,
12
- $ext: y
16
+ let {
17
+ $del: y,
18
+ $rpl: h,
19
+ $ext: w,
20
+ $f32: o
13
21
  } = r;
14
22
 
15
- function a(r, n) {
16
- if (null == n) return r;
17
- if (n !== m) {
18
- if (h(n)) return n;
19
- var e = n[w];
20
- if (null != e) return e;
21
- if (null == r || h(r)) return n;
22
- if (r != n) {
23
- var l, t = p(r);
24
- for (l in n) {
25
- var u = a(r[l], n[l]);
26
- null == u ? (delete r[l], t && g(r)) : r[l] = u;
27
- }
23
+ function d(e, l) {
24
+ if (null == l) return e;
25
+ if (l !== y) {
26
+ if (p(l)) return l;
27
+ var n = l[h];
28
+ if (null != n) {
29
+ let r = n[o];
30
+ return null != r ? new Float32Array(r) : n;
28
31
  }
29
- return r;
30
- }
31
- }
32
-
33
- function o(r, n) {
34
- if (n == m) return m;
35
- if (null != n[w]) return n;
36
- var e = r[w];
37
- if (null != e) r[w] = a(e, n); else {
38
- if (r == m) return {
39
- [w]: O(n)
40
- };
41
- if (h(r) || h(n)) return n;
42
- for (var l in n) {
43
- var t = n[l], u = r[l];
44
- r[l] = null == u ? t : o(u, t);
32
+ let r = l[o];
33
+ if (null != r) return new Float32Array(r);
34
+ if (null == e || p(e)) return l;
35
+ if (e != l) {
36
+ var t, u = g(e);
37
+ for (t in l) {
38
+ var i = d(e[t], l[t]);
39
+ null == i ? (delete e[t], u && m(e)) : e[t] = i;
40
+ }
45
41
  }
42
+ return e;
46
43
  }
47
- return r;
48
44
  }
49
45
 
50
- function n(r, n) {
51
- let e = {
46
+ function e(r, e) {
47
+ let l = {
52
48
  oldValue: {},
53
49
  newValue: {}
54
50
  };
55
- r = S(r, n, [], 0, e);
56
- return e.oldValue = O(e.oldValue, !0), e.newValue = O(e.newValue, !1), {
51
+ r = S(r, e, [], 0, l);
52
+ return l.oldValue = A(l.oldValue, !0), l.newValue = A(l.newValue, !1), {
57
53
  merged: r,
58
- delta: e = e.oldValue || e.newValue ? e : void 0
54
+ delta: l = l.oldValue || l.newValue ? l : void 0
59
55
  };
60
56
  }
61
57
 
62
- function t(r, n, e) {
63
- if (!n || 0 == n.length) return e;
64
- let l = r;
65
- for (let r = 0; r < n.length - 1; ++r) {
66
- var t = n[r];
67
- f(l[t]) || (l[t] = {}), l = l[t];
58
+ function v(r, e, l) {
59
+ if (!e || 0 == e.length) return l;
60
+ let n = r;
61
+ for (let r = 0; r < e.length - 1; ++r) {
62
+ var t = e[r];
63
+ f(n[t]) || (n[t] = {}), n = n[t];
68
64
  }
69
- var u = n.at(-1);
70
- return void 0 === e ? delete l[u] : l[u] = e, r;
65
+ var u = e.at(-1);
66
+ return void 0 === l ? delete n[u] : n[u] = l, r;
71
67
  }
72
68
 
73
- function e(r, n) {
74
- if (null != n && null != (r = u(r))) {
75
- if (!p(n)) return "" == n ? r : u(r[n]);
76
- if (0 != n.length && (1 != n.length || "" != n[0])) for (var e of n) if (null == (r = u(r[e]))) return;
69
+ function l(r, e) {
70
+ if (null != e && null != (r = c(r))) {
71
+ if (!g(e)) return "" == e ? r : c(r[e]);
72
+ if (0 != e.length && (1 != e.length || "" != e[0])) for (var l of e) if (null == (r = c(r[l]))) return;
77
73
  return r;
78
74
  }
79
75
  }
80
76
 
81
- function v(r, n, e = !1, l = 0) {
82
- var t = n[l];
83
- if (l == n.length - 1) return delete r[t], !e && i(r) ? void 0 : r;
77
+ function s(r, e, l = !1, n = 0) {
78
+ var t = e[n];
79
+ if (n == e.length - 1) return delete r[t], !l && i(r) ? void 0 : r;
84
80
  var u = r[t];
85
81
  if (f(u)) {
86
- u = v(u, n, e, l + 1);
87
- if (null == u && !e) return delete r[t], i(r) ? void 0 : r;
82
+ u = s(u, e, l, n + 1);
83
+ if (null == u && !l) return delete r[t], i(r) ? void 0 : r;
88
84
  r[t] = u;
89
85
  }
90
86
  return r;
91
87
  }
92
88
 
93
- function O(r, n = !0) {
94
- return function e(l, t) {
95
- if (l instanceof Date) return l.toISOString();
96
- if (!f(l)) return t && l === m ? void 0 : l;
89
+ function A(r, e = !0) {
90
+ return function l(n, t) {
91
+ if (a(n)) return n.toISOString();
92
+ if (!f(n)) return t && n === y ? void 0 : n;
97
93
  if (t) {
98
- let r = l[w];
99
- if (null != r) return e(r, t);
100
- let n = l[y];
101
- if (null != n) return e(p(n) ? n : [ n ], t);
94
+ let r = n[h];
95
+ if (null != r) return l(r, t);
96
+ let e = n[w];
97
+ if (null != e) return l(g(e) ? e : [ e ], t);
102
98
  }
103
- let n = p(l);
99
+ let e = g(n);
104
100
  let u = !0;
105
- for (var i in l) {
106
- let r = e(l[i], t);
107
- void 0 === r ? (delete l[i], n && g(l)) : (l[i] = r, u = !1);
101
+ for (var i in n) {
102
+ let r = l(n[i], t);
103
+ void 0 === r ? (delete n[i], e && m(n)) : (n[i] = r, u = !1);
108
104
  }
109
- return u ? void 0 : l;
110
- }(r, n);
105
+ return u ? void 0 : n;
106
+ }(r, e);
111
107
  }
112
108
 
113
- function l(r) {
114
- if (h(r)) return r ? m : void 0;
115
- for (var n in r) {
116
- var e = l(r[n]);
117
- e ? r[n] = e : delete r[n];
109
+ function n(r) {
110
+ if (p(r)) return r ? y : void 0;
111
+ for (var e in r) {
112
+ var l = n(r[e]);
113
+ l ? r[e] = l : delete r[e];
118
114
  }
119
- return p(r) && g(r), r;
115
+ return g(r) && m(r), r;
120
116
  }
121
117
 
122
- function S(n, e, l, t, u) {
123
- if (void 0 === e) return n;
124
- if (e !== m && null !== e) {
125
- if (null == n || h(n) || h(e)) return j(n, e, l, u);
126
- var i = e[w];
127
- if (null != i) return j(n, i, l, u);
128
- let r = e[y];
129
- if (null != r) return p(r) || (r = [ r ]), (p(n) ? (n, e, r, l) => {
130
- e = O(e);
118
+ function S(e, l, n, t, u) {
119
+ if (void 0 === l) return e;
120
+ if (l !== y && null !== l) {
121
+ if (null == e || p(e) || p(l)) return O(e, l, n, u);
122
+ var i = l[h];
123
+ if (null != i) return O(e, i, n, u);
124
+ let r = l[w];
125
+ if (null != r) return g(r) || (r = [ r ]), (g(e) ? (e, l, r, n) => {
126
+ l = A(l);
131
127
  var t = {};
132
- for (let r = 0; r < e.length; ++r) {
133
- var u = e[r];
134
- null != u && (t[r + n.length] = h(u) ? u : {
135
- [w]: u
128
+ for (let r = 0; r < l.length; ++r) {
129
+ var u = l[r];
130
+ null != u && (t[r + e.length] = p(u) ? u : {
131
+ [h]: u
136
132
  });
137
133
  }
138
- return A(l, r, n, t), n.concat(e);
139
- } : j)(n, r, l, u);
140
- if (p(n) && !p(e) || !p(n) && p(e)) return j(n, e, l, u);
141
- var f = n, a = e, o = l, v = t, d = u;
142
- if (f != a) {
143
- var c, s = p(f);
144
- for (c in a) {
145
- o[v] = c, o.length = v + 1;
146
- var V = S(f[c], a[c], o, v + 1, d);
147
- null == V ? (delete f[c], s && g(f)) : f[c] = V;
134
+ return $(n, r, e, t), e.concat(l);
135
+ } : O)(e, r, n, u);
136
+ if (g(e) && !g(l) || !g(e) && g(l)) return O(e, l, n, u);
137
+ var a = e, f = l, o = n, d = t, v = u;
138
+ if (a != f) {
139
+ var s, c = g(a);
140
+ for (s in f) {
141
+ o[d] = s, o.length = d + 1;
142
+ var V = S(a[s], f[s], o, d + 1, v);
143
+ null == V ? (delete a[s], c && m(a)) : a[s] = V;
148
144
  }
149
145
  }
150
- return f;
146
+ return a;
151
147
  }
152
- null != n && A(u, l, n, m);
148
+ null != e && $(u, n, e, y);
153
149
  }
154
150
 
155
- function j(r, n, e, l) {
156
- n = O(n);
157
- return r === n ? r : null != n ? (null == r ? A(l, e, 0 == e.length ? void 0 : null, h(n) ? n : {
158
- [w]: n
159
- }) : A(l, e, r, h(r) ? n : {
160
- [w]: n
161
- }), n) : void A(l, e, r, m);
151
+ function O(r, e, l, n) {
152
+ e = A(e);
153
+ return r === e || u(r) && u(e) && t(r, e) ? r : null != e ? (null == r ? $(n, l, 0 == l.length ? void 0 : null, u(e) ? {
154
+ [o]: Array.from(e)
155
+ } : p(e) ? e : {
156
+ [h]: e
157
+ }) : $(n, l, r, u(e) ? {
158
+ [o]: Array.from(e)
159
+ } : p(r) ? e : {
160
+ [h]: e
161
+ }), e) : void $(n, l, r, y);
162
162
  }
163
163
 
164
- function A(r, n, e, l) {
165
- r.oldValue = t(r.oldValue, n, e), r.newValue = t(r.newValue, n, l);
164
+ function $(r, e, l, n) {
165
+ r.oldValue = v(r.oldValue, e, l), r.newValue = v(r.newValue, e, n);
166
166
  }
167
167
 
168
- function u(r) {
169
- if (null != r && r != m) {
170
- for (;null != r[w]; ) if ((r = r[w]) == m) return;
168
+ function c(r) {
169
+ if (null != r && r != y) {
170
+ for (;null != r[h]; ) if ((r = r[h]) == y) return;
171
171
  return r;
172
172
  }
173
173
  }
174
174
 
175
175
  export {
176
- a as mergeContent,
177
- o as mergeChanges,
178
- n as mergeContentAndGenDelta,
179
- t as setValByNamePath,
180
- e as getValByNamePath,
181
- v as delValByNamePath,
182
- O as cleanContent,
183
- l as objToDelMarks
176
+ d as mergeContent,
177
+ e as mergeContentAndGenDelta,
178
+ v as setValByNamePath,
179
+ l as getValByNamePath,
180
+ s as delValByNamePath,
181
+ A as cleanContent,
182
+ n as objToDelMarks
184
183
  };
@@ -0,0 +1,10 @@
1
+ export declare class QyHNSW {
2
+ items: any[];
3
+ cmpFun: any;
4
+ constructor(cmpFun?: (x: any, y: any) => number);
5
+ get size(): number;
6
+ get isEmpty(): boolean;
7
+ peek(): any;
8
+ push(item: any): void;
9
+ pop(): any;
10
+ }
package/src/QyHNSW.js ADDED
@@ -0,0 +1,57 @@
1
+ import "./QyBinaryHeap.js";
2
+
3
+ class t {
4
+ items = [];
5
+ cmpFun;
6
+ constructor(t = (t, e) => t - e) {
7
+ this.cmpFun = t;
8
+ }
9
+ get size() {
10
+ return this.items.length;
11
+ }
12
+ get isEmpty() {
13
+ return 0 == this.items.length;
14
+ }
15
+ peek() {
16
+ return this.items[0];
17
+ }
18
+ push(t) {
19
+ var e = this.items;
20
+ e.push(t), i(this);
21
+ }
22
+ pop() {
23
+ if (!this.isEmpty) {
24
+ for (var t = this.items, e = t[0], [ t, i = 0 ] = (t[0] = t.at(-1),
25
+ --t.length, [ this ]), {
26
+ items: s,
27
+ cmpFun: r
28
+ } = t, h = s.length; i < h; ) {
29
+ var n = 2 * i + 1;
30
+ if (!(n < h)) break;
31
+ {
32
+ let t = i;
33
+ 0 < r(s[n], s[t]) && (t = n);
34
+ n = 1 + n;
35
+ if ((t = n < h && 0 < r(s[n], s[t]) ? n : t) == i) break;
36
+ [ s[i], s[t] ] = [ s[t], s[i] ], i = t;
37
+ }
38
+ }
39
+ return e;
40
+ }
41
+ }
42
+ }
43
+
44
+ function i(t, e = t.items.length - 1) {
45
+ for (var {
46
+ items: i,
47
+ cmpFun: s
48
+ } = t; 0 < e; ) {
49
+ var r = Math.floor((e - 1) / 2);
50
+ if (!(0 < s(i[e], i[r]))) break;
51
+ [ i[e], i[r] ] = [ i[r], i[e] ], e = r;
52
+ }
53
+ }
54
+
55
+ export {
56
+ t as QyHNSW
57
+ };
package/src/QyIndex.js CHANGED
@@ -7,35 +7,36 @@ import {
7
7
  SpecialOperators as i,
8
8
  getSuffix as p,
9
9
  fromSingleName as r,
10
- toSingleName as o
10
+ toSingleName as o,
11
+ isArray as v
11
12
  } from "./QyUtils.js";
12
13
 
13
14
  import {
14
- getValByNamePath as v
15
+ getValByNamePath as m
15
16
  } from "./QyFileContentUtils.js";
16
17
 
17
18
  import {
18
- QyUnionNode as m
19
+ QyUnionNode as y
19
20
  } from "./QyUnionNode.js";
20
21
 
21
22
  import {
22
- QyIntersectNode as y
23
+ QyIntersectNode as b
23
24
  } from "./QyIntersectNode.js";
24
25
 
25
26
  import {
26
- logger as b
27
+ logger as S
27
28
  } from "./QyLogger.js";
28
29
 
29
- let S = Array.isArray, {
30
+ let {
30
31
  $or: h,
31
32
  $and: N
32
- } = i, $ = new m(), l = [];
33
+ } = i, $ = new y(), l = [];
33
34
 
34
35
  function e(e) {
35
36
  if (null != e && !s(e)) return function r(i, n, t, l) {
36
37
  if (C(i)) 0 < t.length && (n[o(t)] = 1); else {
37
38
  let e = i[h] || i[N];
38
- if (null != e) if (S(e)) for (var f of e) r(f, n, t, l), t.length = l; else r(e, n, t, l),
39
+ if (null != e) if (v(e)) for (var f of e) r(f, n, t, l), t.length = l; else r(e, n, t, l),
39
40
  t.length = l; else for (var u in i) t.push(u), r(i[u], n, t, l + 1),
40
41
  t.length = l;
41
42
  }
@@ -43,9 +44,9 @@ function e(e) {
43
44
  }
44
45
 
45
46
  function n(e, r, i, n, t, l) {
46
- n = v(n, r), t = v(t, r);
47
+ n = m(n, r), t = m(t, r);
47
48
  if (n !== t) {
48
- var f, u, o, a, l = S(t) || S(v(l, r)), s = Object.fromEntries(Q(n, l).map(e => [ JSON.stringify(e), e ])), d = Object.fromEntries(Q(t, l).map(e => [ JSON.stringify(e), e ])), g = [], c = [];
49
+ var f, u, o, a, l = v(t) || v(m(l, r)), s = Object.fromEntries(Q(n, l).map(e => [ JSON.stringify(e), e ])), d = Object.fromEntries(Q(t, l).map(e => [ JSON.stringify(e), e ])), g = [], c = [];
49
50
  for (f in s) d[f] || (u = s[f], (u = e.searchSubdir(u)) && (u = u.getFile(i)) && c.push(u));
50
51
  for (o in d) s[o] || (a = d[o], a = e.searchOrCreateSubdir(a), g.push(a.getOrCreateFile(i)));
51
52
  return {
@@ -70,9 +71,9 @@ function* L(e, r, i = 0) {
70
71
  if ("**" == n) {
71
72
  t.isHiddenFolder || (yield t);
72
73
  for (var e of t.allSubdirs()) yield e;
73
- } else if ("*" == n) for (var f of t.subdirList) yield* L(i, f, l + 1); else if (g(n)) for (var u of t.filterSubdirNames(n)) yield* L(i, u, l + 1); else if (S(n)) for (var o of n) yield* r(i, o, t, l); else {
74
+ } else if ("*" == n) for (var f of t.subdirList) yield* L(i, f, l + 1); else if (g(n)) for (var u of t.filterSubdirNames(n)) yield* L(i, u, l + 1); else if (v(n)) for (var o of n) yield* r(i, o, t, l); else {
74
75
  let e = n.$or || n.$in;
75
- if (S(e)) for (var a of e) yield* r(i, a, t, l); else if (H(n)) for (var s of R(t, n)) yield* L(i, s, l + 1); else {
76
+ if (v(e)) for (var a of e) yield* r(i, a, t, l); else if (H(n)) for (var s of R(t, n)) yield* L(i, s, l + 1); else {
76
77
  let e = t.getSubdir(n);
77
78
  e && (yield* L(i, e, l + 1));
78
79
  }
@@ -93,7 +94,7 @@ function O(r, i, n, t, l) {
93
94
  if (!i) return;
94
95
  for (o of function i(n, e) {
95
96
  if (null == e) return $;
96
- if (d(e)) return new m(n.getSubdir(e));
97
+ if (d(e)) return new y(n.getSubdir(e));
97
98
  if (g(e)) return j(n.filterSubdirNames(e));
98
99
  if (H(e)) return j(R(n, e));
99
100
  let {
@@ -101,21 +102,21 @@ function O(r, i, n, t, l) {
101
102
  $spec: l
102
103
  } = e;
103
104
  if (null != t) {
104
- let e = new m(), {
105
+ let e = new y(), {
105
106
  qyCache: r,
106
107
  subdirList: i
107
108
  } = n;
108
109
  for (var f of i) D(r, t, f.name, l) && e.addDir(f);
109
110
  return e;
110
111
  }
111
- let u = new y();
112
- if (S(e)) for (var r of e) u.addNode(i(n, r)); else for (var o in e) {
112
+ let u = new b();
113
+ if (v(e)) for (var r of e) u.addNode(i(n, r)); else for (var o in e) {
113
114
  let r = e[o];
114
- if (o == h) if (S(r)) {
115
- let e = new m();
115
+ if (o == h) if (v(r)) {
116
+ let e = new y();
116
117
  for (var a of r) e.addNode(i(n, a));
117
118
  u.addNode(e);
118
- } else u.addNode(i(n, r)); else if (o == N) if (S(r)) for (var s of r) u.addNode(i(n, s)); else u.addNode(i(n, r)); else {
119
+ } else u.addNode(i(n, r)); else if (o == N) if (v(r)) for (var s of r) u.addNode(i(n, s)); else u.addNode(i(n, r)); else {
119
120
  let e = n.getSubdir(o);
120
121
  if (null == e) return $;
121
122
  u.addNode(i(e, r));
@@ -124,7 +125,7 @@ function O(r, i, n, t, l) {
124
125
  return u;
125
126
  }(i, n).getFiles(l)) t.push(r.getFile(o)), ++e;
126
127
  }
127
- b.info(`Checking ${f} file${p(f)}, result: ${e} file` + p(e));
128
+ S.info(`Checking ${f} file${p(f)}, result: ${e} file` + p(e));
128
129
  }
129
130
  }
130
131
 
@@ -135,7 +136,7 @@ function u(e) {
135
136
 
136
137
  function j(e) {
137
138
  if (0 == e.length) return $;
138
- var r, i = new m();
139
+ var r, i = new y();
139
140
  for (r of e) i.addDir(r);
140
141
  return i;
141
142
  }
@@ -177,10 +178,10 @@ function D(e, r, i, n) {
177
178
  var r = e.getDir(r);
178
179
  return !!r && !!(r = r.getFile(i)) && (null == n || function r(i, n, t) {
179
180
  if (null == n) return !1;
180
- if (d(t)) return S(n) ? n.includes(t) : c(n) ? n[t] : n == t;
181
+ if (d(t)) return v(n) ? n.includes(t) : c(n) ? n[t] : n == t;
181
182
  if (g(t)) return t(n);
182
- if (S(t)) {
183
- if (!S(n)) return !1;
183
+ if (v(t)) {
184
+ if (!v(n)) return !1;
184
185
  for (let e = 0; e < t.length; ++e) if (!r(i, n[e], t[e])) return !1;
185
186
  } else {
186
187
  var e, {
@@ -189,12 +190,12 @@ function D(e, r, i, n) {
189
190
  } = t;
190
191
  if (l) {
191
192
  if (d(n)) return D(i, l, n, f);
192
- if (S(n)) {
193
+ if (v(n)) {
193
194
  for (var u of n) if (D(i, l, u, f)) return !0;
194
195
  } else for (var o in n) if (D(i, l, o, f)) return !0;
195
196
  return !1;
196
197
  }
197
- if (d(n) || S(n)) return !1;
198
+ if (d(n) || v(n)) return !1;
198
199
  for (e in t) if (!r(i, n[e], t[e])) return !1;
199
200
  }
200
201
  return !0;
@@ -203,7 +204,7 @@ function D(e, r, i, n) {
203
204
 
204
205
  function Q(e, r, i = [], n = [], t = 0) {
205
206
  if (null != e) if (u(e = c(e) && r ? Object.values(e) : e)) n[t] = e, n.length = t + 1,
206
- i.push([ ...n ]); else if (S(e)) {
207
+ i.push([ ...n ]); else if (v(e)) {
207
208
  n.length = t + 1;
208
209
  for (var l of e.filter(e => u(e))) n[t] = l, i.push([ ...n ]);
209
210
  } else if (c(e)) for (var f in e) n[t] = f, n.length = t + 1, Q(e[f], !1, i, n, t + 1);
@@ -1,4 +1,6 @@
1
- let t = Array.isArray;
1
+ import {
2
+ isArray as t
3
+ } from "./QyUtils.js";
2
4
 
3
5
  class o {
4
6
  name;