datafolder 1.0.18 → 1.0.19

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.
@@ -3,40 +3,42 @@ import {
3
3
  } from "node:util";
4
4
 
5
5
  import {
6
- isDate as a,
7
- isArray as g,
8
- isNotNullObj as f,
9
- trimArrayTail as m,
10
- isSimpleType as p,
6
+ isDate as f,
7
+ isArray as d,
8
+ isNotNullObj as a,
9
+ trimArrayTail as o,
10
+ isSimpleType as s,
11
11
  SpecialOperators as r,
12
12
  isEmptyObj as i,
13
- isFloat32Array as u
13
+ isUint8Array as u,
14
+ isNumber as c
14
15
  } from "./QyUtils.js";
15
16
 
16
17
  let {
17
- $del: y,
18
- $rpl: h,
19
- $ext: w,
20
- $f32: o
18
+ $del: g,
19
+ $rpl: p,
20
+ $ext: V,
21
+ $pop: m,
22
+ $u8: v
21
23
  } = r;
22
24
 
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;
25
+ function h(e, n) {
26
+ if (null == n) return e;
27
+ if (n !== g) {
28
+ if (s(n)) return n;
29
+ var l = n[p];
30
+ if (null != l) {
31
+ let r = l[v];
32
+ return null != r ? new Uint8Array(r) : l;
31
33
  }
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;
34
+ let r = n[v];
35
+ if (null != r) return new Uint8Array(r);
36
+ if (null == e || s(e)) return n;
37
+ if (e != n) {
38
+ var t, u = d(e);
39
+ for (t in n) {
40
+ var i = h(e[t], n[t]);
41
+ null == i ? (delete e[t], u && o(e)) : e[t] = i;
40
42
  }
41
43
  }
42
44
  return e;
@@ -44,140 +46,150 @@ function d(e, l) {
44
46
  }
45
47
 
46
48
  function e(r, e) {
47
- let l = {
49
+ let n = {
48
50
  oldValue: {},
49
51
  newValue: {}
50
52
  };
51
- r = S(r, e, [], 0, l);
52
- return l.oldValue = A(l.oldValue, !0), l.newValue = A(l.newValue, !1), {
53
+ r = $(r, e, [], 0, n);
54
+ return n.oldValue = A(n.oldValue, !0), n.newValue = A(n.newValue, !1), {
53
55
  merged: r,
54
- delta: l = l.oldValue || l.newValue ? l : void 0
56
+ delta: n = n.oldValue || n.newValue ? n : void 0
55
57
  };
56
58
  }
57
59
 
58
- function v(r, e, l) {
59
- if (!e || 0 == e.length) return l;
60
- let n = r;
60
+ function y(r, e, n) {
61
+ if (!e || 0 == e.length) return n;
62
+ let l = r;
61
63
  for (let r = 0; r < e.length - 1; ++r) {
62
64
  var t = e[r];
63
- f(n[t]) || (n[t] = {}), n = n[t];
65
+ a(l[t]) || (l[t] = {}), l = l[t];
64
66
  }
65
67
  var u = e.at(-1);
66
- return void 0 === l ? delete n[u] : n[u] = l, r;
68
+ return void 0 === n ? delete l[u] : l[u] = n, r;
67
69
  }
68
70
 
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;
71
+ function n(r, e) {
72
+ if (null != e && null != (r = b(r))) {
73
+ if (!d(e)) return "" == e ? r : b(r[e]);
74
+ if (0 != e.length && (1 != e.length || "" != e[0])) for (var n of e) if (null == (r = b(r[n]))) return;
73
75
  return r;
74
76
  }
75
77
  }
76
78
 
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;
79
+ function w(r, e, n = !1, l = 0) {
80
+ var t = e[l];
81
+ if (l == e.length - 1) return delete r[t], !n && i(r) ? void 0 : r;
80
82
  var u = r[t];
81
- if (f(u)) {
82
- u = s(u, e, l, n + 1);
83
- if (null == u && !l) return delete r[t], i(r) ? void 0 : r;
83
+ if (a(u)) {
84
+ u = w(u, e, n, l + 1);
85
+ if (null == u && !n) return delete r[t], i(r) ? void 0 : r;
84
86
  r[t] = u;
85
87
  }
86
88
  return r;
87
89
  }
88
90
 
89
91
  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;
93
- if (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);
92
+ return function l(t, u) {
93
+ if (f(t)) return t.toISOString();
94
+ if (!a(t)) return u && t === g ? void 0 : t;
95
+ if (u) {
96
+ let r = t[p];
97
+ if (null != r) return l(r, u);
98
+ let e = t[V];
99
+ if (null != e) return l(d(e) ? e : [ e ], u);
100
+ let n = t[m];
101
+ if (null != n) return;
98
102
  }
99
- let e = g(n);
100
- let u = !0;
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);
103
+ let e = d(t);
104
+ let n = !0;
105
+ for (var i in t) {
106
+ let r = l(t[i], u);
107
+ void 0 === r ? (delete t[i], e && o(t)) : (t[i] = r, n = !1);
104
108
  }
105
- return u ? void 0 : n;
109
+ return n ? void 0 : t;
106
110
  }(r, e);
107
111
  }
108
112
 
109
- function n(r) {
110
- if (p(r)) return r ? y : void 0;
113
+ function l(r) {
114
+ if (s(r)) return r ? g : void 0;
111
115
  for (var e in r) {
112
- var l = n(r[e]);
113
- l ? r[e] = l : delete r[e];
116
+ var n = l(r[e]);
117
+ n ? r[e] = n : delete r[e];
114
118
  }
115
- return g(r) && m(r), r;
119
+ return d(r) && o(r), r;
116
120
  }
117
121
 
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);
122
+ function S(r, e, n, l, t) {
123
+ if (r != e) {
124
+ var u, i = d(r);
125
+ for (u in e) {
126
+ n[l] = u, n.length = l + 1;
127
+ var f = $(r[u], e[u], n, l + 1, t);
128
+ null == f ? (delete r[u], i && o(r)) : r[u] = f;
129
+ }
130
+ }
131
+ return r;
132
+ }
133
+
134
+ function $(e, n, l, t, u) {
135
+ if (void 0 === n) return e;
136
+ if (n !== g && null !== n) {
137
+ if (null == e || s(e) || s(n)) return O(e, n, l, u);
138
+ var i = n[p];
139
+ if (null != i) return O(e, i, l, u);
140
+ let r = n[V];
141
+ if (null != r) return d(r) || (r = [ r ]), (d(e) ? (e, n, r, l) => {
142
+ n = A(n);
127
143
  var t = {};
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
144
+ for (let r = 0; r < n.length; ++r) {
145
+ var u = n[r];
146
+ null != u && (t[r + e.length] = s(u) ? u : {
147
+ [p]: u
132
148
  });
133
149
  }
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;
144
- }
145
- }
146
- return a;
150
+ return U(l, r, e, t), e.concat(n);
151
+ } : O)(e, r, l, u);
152
+ i = n[m];
153
+ if (null == i) return d(e) && !d(n) || !d(e) && d(n) ? O(e, n, l, u) : S(e, n, l, t, u);
154
+ var n = e, f = l, a = u;
155
+ if (!i || !d(n)) return n;
156
+ var o = n.length, v = [];
157
+ for (let r = c(i) ? i <= o ? i : o : 1; 0 < r; --r) v[o - r] = g;
158
+ return S(n, v, f, t, a);
147
159
  }
148
- null != e && $(u, n, e, y);
160
+ null != e && U(u, l, e, g);
149
161
  }
150
162
 
151
- function O(r, e, l, n) {
163
+ function O(r, e, n, l) {
152
164
  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);
165
+ return r === e || u(r) && u(e) && t(r, e) ? r : null != e ? (null == r ? U(l, n, 0 == n.length ? void 0 : null, u(e) ? {
166
+ [v]: Array.from(e)
167
+ } : s(e) ? e : {
168
+ [p]: e
169
+ }) : U(l, n, r, u(e) ? {
170
+ [v]: Array.from(e)
171
+ } : s(r) ? e : {
172
+ [p]: e
173
+ }), e) : void U(l, n, r, g);
162
174
  }
163
175
 
164
- function $(r, e, l, n) {
165
- r.oldValue = v(r.oldValue, e, l), r.newValue = v(r.newValue, e, n);
176
+ function U(r, e, n, l) {
177
+ r.oldValue = y(r.oldValue, e, n), r.newValue = y(r.newValue, e, l);
166
178
  }
167
179
 
168
- function c(r) {
169
- if (null != r && r != y) {
170
- for (;null != r[h]; ) if ((r = r[h]) == y) return;
180
+ function b(r) {
181
+ if (null != r && r != g) {
182
+ for (;null != r[p]; ) if ((r = r[p]) == g) return;
171
183
  return r;
172
184
  }
173
185
  }
174
186
 
175
187
  export {
176
- d as mergeContent,
188
+ h as mergeContent,
177
189
  e as mergeContentAndGenDelta,
178
- v as setValByNamePath,
179
- l as getValByNamePath,
180
- s as delValByNamePath,
190
+ y as setValByNamePath,
191
+ n as getValByNamePath,
192
+ w as delValByNamePath,
181
193
  A as cleanContent,
182
- n as objToDelMarks
194
+ l as objToDelMarks
183
195
  };
package/src/QyHNSW.d.ts CHANGED
@@ -1,10 +1,7 @@
1
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;
2
+ probs: any;
3
+ constructor(M: any);
4
+ _determineLayer(prob: any): number | undefined;
10
5
  }
6
+ export declare function cosineSimilarity(a: any, b: any): number;
7
+ export declare function euclideanSimilarity(a: any, b: any): number;
package/src/QyHNSW.js CHANGED
@@ -1,57 +1,49 @@
1
1
  import "./QyBinaryHeap.js";
2
2
 
3
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;
4
+ probs;
5
+ constructor(t) {
6
+ this.probs = (t => {
7
+ let r = 1 / Math.log(t), e = [], n = 0;
8
+ for (;;) {
9
+ var a = Math.exp(-e.length / r) * (1 - Math.exp(-1 / r));
10
+ if (a < 1e-9) {
11
+ e.push(1);
12
+ break;
37
13
  }
14
+ e.push(n += a);
38
15
  }
39
16
  return e;
40
- }
17
+ })(t);
18
+ }
19
+ _determineLayer(r) {
20
+ var e = this.probs, n = e.length;
21
+ for (let t = 0; t < n; ++t) if (r <= e[t]) return t;
41
22
  }
42
23
  }
43
24
 
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
- }
25
+ function e(r, e = r) {
26
+ var n = r.length;
27
+ let a = 0;
28
+ for (let t = 0; t < n; ++t) a += r[t] * e[t];
29
+ return a;
30
+ }
31
+
32
+ function r(t, r) {
33
+ return e(t, r) / (Math.sqrt(e(t)) * Math.sqrt(e(r)));
34
+ }
35
+
36
+ function n(t, r) {
37
+ return 1 / (1 + ((r, e) => {
38
+ var n = r.length;
39
+ let a = 0;
40
+ for (let t = 0; t < n; ++t) a += (r[t] - e[t]) ** 2;
41
+ return Math.sqrt(a);
42
+ })(t, r));
53
43
  }
54
44
 
55
45
  export {
56
- t as QyHNSW
46
+ t as QyHNSW,
47
+ r as cosineSimilarity,
48
+ n as euclideanSimilarity
57
49
  };