genosdb 0.18.0 → 0.20.0

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/dist/sm.min.js.gz CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genosdb",
3
- "version": "0.18.0",
3
+ "version": "0.20.0",
4
4
  "description": "GenosDB (GDB): distributed graph database in real-time, peer-to-peer, scalable storage - efficient querying of complex relationships.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
package/dist/ii.min.js DELETED
@@ -1 +0,0 @@
1
- function S(J){let E={},Q=J.worker,U=J.indexFileName||"inverted_index.msgpack",V=J.encode,Y=J.decode,W=J.pako,Z=((q,C)=>{let K;return(...R)=>{clearTimeout(K),K=setTimeout(()=>q.apply(null,R),C)}})(()=>$(),200);async function _(){try{let q=await new Promise((C,K)=>{let R=(L)=>{if(L.data.type==="loaded"&&L.data.name===U)Q.removeEventListener("message",R),C(new Uint8Array(L.data.data));else if(L.data.type==="error")Q.removeEventListener("message",R),K(Error(L.data.message))};Q.addEventListener("message",R),Q.postMessage({type:"load",name:U})});if(q.byteLength>0){if(!Y||!W)throw Error("InvertedIndexer: decode y pako deben estar en options");let C=W.inflate(q),K=Y(C);return Object.assign(E,K),!0}}catch{}return!1}async function $(){try{if(!V||!W)throw Error("InvertedIndexer: encode y pako deben estar en options");let q=V(E),C=W.deflate(q);await new Promise((K,R)=>{let L=(H)=>{if(H.data.type==="saved"&&H.data.name===U)Q.removeEventListener("message",L),K();else if(H.data.type==="error")Q.removeEventListener("message",L),R(Error(H.data.message))};Q.addEventListener("message",L),Q.postMessage({type:"save",name:U,content:C})})}catch{}}async function z(){(typeof J.graph?.getAllNodes==="function"?await J.graph.getAllNodes():Object.values(J.graph.nodes)).forEach((C)=>X(C.id,C.value,"insert",!1)),Z()}function A(){J.map({realtime:!0},(q)=>{if(q.action==="added"||q.action==="updated")X(q.id,q.value,"insert",!0);else if(q.action==="removed")X(q.id,q.value,"remove",!0)})}function X(q,C,K="insert",R=!0){let L=B(C);if(K==="insert")L.forEach((H)=>{if(!E[H])E[H]=[];if(!E[H].includes(q))E[H].push(q)});else if(K==="remove")L.forEach((H)=>{if(E[H]){if(E[H]=E[H].filter((O)=>O!==q),E[H].length===0)delete E[H]}});if(R)Z()}function B(q){if(typeof q==="string")return Array.from({length:q.length},(C,K)=>q.substring(0,K+1));if(typeof q==="number")return[String(q)];if(typeof q==="object"&&q!==null)return Object.keys(q);return[]}function G(q){return Object.keys(E).filter((C)=>C.startsWith(q)).flatMap((C)=>E[C])}return{ready:_().then((q)=>{if(!q)z();A()}),updateIndex:X,searchAllByPrefix:G}}var D=(J)=>{let E=S(J);return J.searchByPrefix=async(Q)=>{return await E.ready,E.searchAllByPrefix(Q).map((V)=>J.graph.get(V))},J};export{D as init,S as InvertedIndexer};
package/dist/ii.min.js.gz DELETED
Binary file
package/dist/rx.min.js DELETED
@@ -1 +0,0 @@
1
- function v(r={}){let e={},l={},x=r.maxSize||1048576,h=r.encode,s=r.decode,o=r.pako;function u(t,n){if(p(n).forEach((i)=>{if(!e[i])e[i]=[];if(!e[i].includes(t))e[i].push(t)}),JSON.stringify(e).length>x)y()}function f(t,n){p(n).forEach((i)=>{if(e[i]){if(e[i]=e[i].filter((m)=>m!==t),e[i].length===0)delete e[i]}})}function p(t){let n=[];if(typeof t==="string")for(let a=1;a<=t.length;a++)n.push(t.substring(0,a));else if(typeof t==="number")n.push(String(t));else if(typeof t==="object"&&t!==null)Object.keys(t).forEach((a)=>{n.push(a.toString());let i=t[a];if(typeof i==="string"||typeof i==="number")n.push(`${a}:${i}`)});return n}function y(){let t=Object.keys(e),n=Math.ceil(t.length/2),a={},i={};t.slice(0,n).forEach((m)=>{a[m]=e[m]}),t.slice(n).forEach((m)=>{i[m]=e[m]}),l.fragment1=a,l.fragment2=i,e={}}function g(){for(let t of Object.values(l))Object.assign(e,t);l={}}function w(t){return e[t]||[]}function I(t){return Object.keys(e).filter((n)=>n.startsWith(t)).flatMap((n)=>e[n])}function E(){if(!h||!o)throw Error("Radix: encode y pako deben estar en options");let t={index:e,fragmentedIndexes:l};return o.deflate(h(t))}function c(t){if(!s||!o)throw Error("Radix: decode y pako deben estar en options");let n=o.inflate(new Uint8Array(t)),a=s(n);e=a.index||{},l=a.fragmentedIndexes||{}}function d(){if(JSON.stringify(e).length>x)throw Error("Index too large");if(!e||typeof e!=="object")e={}}return{upsert:u,remove:f,extractPrefixes:p,splitIndex:y,mergeFragments:g,searchByPrefix:w,searchAllByPrefix:I,serialize:E,deserialize:c,validateIndex:d}}function P(r){let{worker:e,encode:l,decode:x,pako:h}=r,s=v({maxSize:r.maxSize||1048576,encode:l,decode:x,pako:h}),o=r.indexFileName||"graph_radix_index.msgpack",f=((c,d)=>{let t;return(...n)=>{clearTimeout(t),t=setTimeout(()=>c.apply(null,n),d)}})(()=>y(),200);async function p(){try{let c=await new Promise((d,t)=>{let n=(a)=>{if(a.data.type==="loaded"&&a.data.name===o)e.removeEventListener("message",n),d(new Uint8Array(a.data.data));else if(a.data.type==="error")e.removeEventListener("message",n),t(Error(a.data.message||"Error loading the Radix index"))};e.addEventListener("message",n),e.postMessage({type:"load",name:o})});if(c.byteLength>0)s.deserialize(c)}catch{}}async function y(){try{let c=s.serialize();await new Promise((d,t)=>{let n=(a)=>{if(a.data.type==="saved"&&a.data.name===o)e.removeEventListener("message",n),d();else if(a.data.type==="error")e.removeEventListener("message",n),t(Error(a.data.message||"Error saving the Radix index"))};e.addEventListener("message",n),e.postMessage({type:"save",name:o,content:c})})}catch{}}async function g(){try{s.validateIndex(),(typeof r.graph?.getAllNodes==="function"?await r.graph.getAllNodes():Object.values(r.graph.nodes)).forEach((d)=>{s.upsert(d.id,d.value)})}catch{}}async function w(c,d,t="insert"){switch(t){case"insert":s.upsert(c,d);break;case"remove":s.remove(c,d);break}f()}function I(c){return s.searchAllByPrefix(c)}return{ready:p().then(g),updateIndex:w,searchByPrefix:I}}function j(r){let e=P(r),l=r.put;r.put=async function(s,o){let u=o?this.graph.get(o):null,f=await l.call(this,s,o);if(u)await e.updateIndex(f,u.value,"remove");return await e.updateIndex(f,s,"insert"),f};let x=r.remove;r.remove=async function(s){let o=this.graph.get(s);if(await x.call(this,s),o)await e.updateIndex(s,o.value,"remove")};let h=r.map;return r.map=async function(...s){let o=await h.call(this,...s),u=s.find((f)=>typeof f==="object");if(u?.query?.id?.$startsWith){let f=u.query.id.$startsWith,p=e.searchByPrefix(f);return o.filter((y)=>p.includes(y.id))}return o},r.searchByPrefix=async function(s){return e.searchByPrefix(s).map((u)=>this.graph.get(u))},r}var R=(r)=>{return j(r)};export{j as withModule,R as init,P as RadixIndexer};
package/dist/rx.min.js.gz DELETED
Binary file