tinybase 4.0.3 → 4.0.4
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/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -1
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/debug/persisters/persister-automerge.js +56 -18
- package/lib/debug/persisters/persister-browser.js +55 -22
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +106 -62
- package/lib/debug/persisters/persister-expo-sqlite.js +111 -62
- package/lib/debug/persisters/persister-file.js +51 -18
- package/lib/debug/persisters/persister-remote.js +51 -17
- package/lib/debug/persisters/persister-sqlite-wasm.js +106 -62
- package/lib/debug/persisters/persister-sqlite3.js +111 -62
- package/lib/debug/persisters/persister-yjs.js +63 -27
- package/lib/debug/persisters.js +49 -17
- package/lib/debug/tinybase.js +35 -17
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -1
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/persisters/persister-automerge.d.ts +4 -0
- package/lib/types/persisters/persister-browser.d.ts +8 -0
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +10 -2
- package/lib/types/persisters/persister-expo-sqlite.d.ts +8 -0
- package/lib/types/persisters/persister-file.d.ts +8 -1
- package/lib/types/persisters/persister-remote.d.ts +4 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +8 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +8 -0
- package/lib/types/persisters/persister-yjs.d.ts +4 -0
- package/lib/types/persisters.d.ts +16 -3
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +5 -0
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +10 -0
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +12 -2
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +10 -0
- package/lib/types/with-schemas/persisters/persister-file.d.ts +9 -1
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +5 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +10 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +10 -0
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +5 -0
- package/lib/types/with-schemas/persisters.d.ts +17 -3
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/package.json +5 -5
- package/readme.md +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,l=n.freeze,r=e=>(e=>t(e,n)&&e.constructor==n)(e)&&0==(t=>o(t).length)(e),i=JSON.parse;var
|
|
1
|
+
const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,l=n.freeze,r=e=>(e=>t(e,n)&&e.constructor==n)(e)&&0==(t=>o(t).length)(e),i=JSON.parse,u=t=>new Map(t),d=(t,e)=>null==t?void 0:t.get(e),a=(t,n,o)=>{return e(o)?(r=n,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(n,o);var l,r},s=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||a(t,e,n()),d(t,e)};var c=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const v=u(),y=u();var h=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const f=t=>t.headers.get("ETag"),p=(o,u,p,g,A)=>{let S;return((t,n,o,i,u,h,f=[])=>{let p,g,A,S=0,m=0;s(v,f,(()=>0)),s(y,f,(()=>[]));const x=t=>c(void 0,null,(function*(){return 2!=S&&(S=1,yield C.schedule((()=>c(void 0,null,(function*(){yield t(),S=0}))))),C})),C={load:(e,o)=>c(void 0,null,(function*(){return yield x((()=>c(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>c(void 0,[...e],(function*(e={},o={}){return C.stopAutoLoad(),yield C.load(e,o),m=1,A=i(((e,o)=>c(void 0,null,(function*(){if(o){const e=o();yield x((()=>c(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield x((()=>c(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){null==h||h(t)}}))))})))),C})),stopAutoLoad:()=>(m&&(u(A),A=void 0,m=0),C),save:e=>c(void 0,null,(function*(){return 1!=S&&(S=2,yield C.schedule((()=>c(void 0,null,(function*(){try{yield o(t.getContent,e)}catch(t){null==h||h(t)}S=0}))))),C})),startAutoSave:()=>c(void 0,null,(function*(){return yield C.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();r(n)&&r(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>{var n,o;return n=p,o=t.delListener,!!e(n)||o(n),C},schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(d(y,f),...t),yield c(void 0,null,(function*(){if(!d(v,f)){for(a(v,f,1);!e((t=d(y,f),g=t.shift()));)try{yield g()}catch(t){null==h||h(t)}a(v,f,0)}var t})),C})),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(C)})(o,(()=>h(void 0,null,(function*(){const t=yield fetch(u);return S=f(t),i(yield t.text())}))),(e=>h(void 0,null,(function*(){return yield fetch(p,{method:"POST",headers:{"Content-Type":"application/json"},body:(o=e(),JSON.stringify(o,((e,o)=>t(o,Map)?n.fromEntries([...o]):o)))});var o}))),(t=>setInterval((()=>h(void 0,null,(function*(){const n=yield fetch(u,{method:"HEAD"}),o=f(n);e(S)||e(o)||o==S||(S=o,t())}))),1e3*g)),(t=>clearInterval(t)),A)};export{p as createRemotePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,t)=>f(e)?null==t?void 0:t():n(e),h=n=>e(n)==l,E=e=>{return n=function*(){return v.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),P=Object,T=P.keys,w=P.freeze,A=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),R=(e,n)=>i(P.entries(e),(([e,t])=>n(t,e))),
|
|
1
|
+
const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,t)=>f(e)?null==t?void 0:t():n(e),h=n=>e(n)==l,E=e=>{return n=function*(){return v.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),P=Object,T=P.keys,w=P.freeze,A=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),R=(e,n)=>i(P.entries(e),(([e,t])=>n(t,e))),N=e=>P.values(e),S=e=>u(T(e)),x=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==S(e),g=e=>new Map(e),C=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},j=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t)=>(m(e,n)||j(e,n,t()),I(e,n)),M=(e,n,t,l=j)=>(R(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F=e=>new Set(Array.isArray(e)||f(e)?e:[e]),$=(e,n)=>null==e?void 0:e.add(n),B="_",k="_id",H=e=>`"${e.replace(/"/g,'""')}"`;var W=Object.defineProperty,q=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?W(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Y=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&V(e,t,n[t]);if(q)for(var t of q(n))U.call(n,t)&&V(e,t,n[t]);return e},z=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const G="FROM pragma_table_",K="WHERE",Q=(e,n,l)=>{const o=g();return[()=>z(void 0,null,(function*(){return M(o,A(yield E(i(yield e("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>z(void 0,[n],(function*({name:n}){return[n,A(i(yield e("SELECT name,type "+G+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>j(o,n,M(_(o,n,g),t,((e,n,t)=>{t!=I(e,n)&&j(e,n,t)}),((e,n)=>j(e,n))))),((e,n)=>j(o,n)))})),(n,t)=>z(void 0,null,(function*(){return((e,n)=>!f(I(I(o,e),n)))(n,t)?A(d(i(yield e("SELECT*FROM"+H(n)),(e=>{return[e[t],(n=Y({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!f(e)&&!x(n)))):{}})),(n,l,u,c,v,y=!1)=>z(void 0,null,(function*(){const p=F();R(null!=u?u:{},(e=>i(T(null!=e?e:{}),(e=>$(p,e)))));const h=b(p);if(!y&&v&&a(h)&&m(o,n))return yield e("DROP TABLE"+H(n)),void j(o,n);if(a(h)||m(o,n)){const t=I(o,n),r=F(C(t));yield E([...i(h,(l=>z(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${H(n)}ADD${H(l)}`),j(t,l,""))})))),...!y&&c?i(b(r),(o=>z(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${H(n)}DROP${H(o)}`),j(t,o))})))):[]])}else yield e(`CREATE TABLE${H(n)}(${H(l)} PRIMARY KEY ON CONFLICT REPLACE${r(i(h,(e=>t+H(e))))});`),j(o,n,g([[l,""],...i(h,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+H(n)+"WHERE 1"):yield E(R(u,((t,o)=>z(void 0,null,(function*(){f(t)?yield e("DELETE FROM"+H(n)+K+H(l)+"=?",[o]):a(h)||(yield X(e,n,l,T(t),[o,...N(t)]))})))));else if(a(h))m(o,n)&&(yield e("DELETE FROM"+H(n)+"WHERE 1"));else{const t=d(C(I(o,n)),(e=>e!=l)),r=[],a=[];R(null!=u?u:{},((e,n)=>{s(r,n,...i(t,(n=>null==e?void 0:e[n]))),s(a,n)})),yield X(e,n,l,t,r),yield e("DELETE FROM"+H(n)+K+H(l)+"NOT IN("+Z(a)+")",a)}})),n=>z(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},X=(e,n,l,a,d)=>z(void 0,null,(function*(){return yield e("INSERT INTO"+H(n)+"("+H(l)+r(i(a,(e=>t+H(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+H(l)+")DO UPDATE SET"+r(i(a,(e=>H(e)+"=excluded."+H(e))),t),d)})),Z=e=>r(i(e,(()=>"?")),t),ee=JSON.parse;var ne=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const te=g(),le=g(),oe=(e,n,t,l,o,r,i=[])=>{let u,a,d,c=0,v=0;_(te,i,(()=>0)),_(le,i,(()=>[]));const y=e=>ne(void 0,null,(function*(){return 2!=c&&(c=1,yield h.schedule((()=>ne(void 0,null,(function*(){yield e(),c=0}))))),h})),h={load:(t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ne(void 0,[...t],(function*(t={},o={}){return h.stopAutoLoad(),yield h.load(t,o),v=1,d=l(((t,l)=>ne(void 0,null,(function*(){if(l){const n=l();yield y((()=>ne(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>ne(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(v&&(o(d),d=void 0,v=0),h),save:n=>ne(void 0,null,(function*(){return 1!=c&&(c=2,yield h.schedule((()=>ne(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),h})),startAutoSave:()=>ne(void 0,null,(function*(){return yield h.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();x(t)&&x(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(p(u,e.delListener),h),schedule:(...e)=>ne(void 0,null,(function*(){return s(I(le,i),...e),yield ne(void 0,null,(function*(){if(!I(te,i)){for(j(te,i,1);!f((e=I(le,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}j(te,i,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(h)};var re=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ie="store",ue=(e,n,t,l,o,[r],i,u)=>{const[a,d,c,s]=Q(n,i,o);return oe(e,(()=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var e,n;return yield a(),ee(null!=(n=null==(e=(yield d(r,k))[B])?void 0:e[ie])?n:"null")}))))}))),(e=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var n,t;yield a(),yield c(r,k,{[B]:{[ie]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>y(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,u)};var ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const de=(e,n,t,l,o,[r,i,[u,a,c]],s,v)=>{const[y,p,h,m]=Q(n,s,o),b=(e,n)=>ae(void 0,null,(function*(){return yield E(D(i,((t,l)=>ae(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield h(t,l,u,o,r,n))})))))})),O=(e,n)=>ae(void 0,null,(function*(){return a?yield h(c,k,{[B]:e},!0,!0,n):null}));return oe(e,(()=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){yield y();const e=yield ae(void 0,null,(function*(){return A(d(yield E(D(r,((e,n)=>ae(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!x(e[1]))))})),n=yield ae(void 0,null,(function*(){return u?(yield p(c,k))[B]:{}}));return x(e)&&f(n)?void 0:[e,n]}))))}))),((e,n)=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){if(yield y(),f(n)){const[n,t]=e();yield b(n),yield O(t)}else{const[e,t]=n();yield b(e,!0),yield O(t,!0)}}))))}))),t,l,o,v)},ce="json",se="autoLoadIntervalSeconds",ve="rowIdColumnName",ye="tableId",fe="tableName",pe={mode:ce,[se]:1},he={load:0,save:0,[fe]:n+"_values"},Ee=(e,n,t,l)=>{const o=g();return R(e,((e,r)=>{const i=c(N(L(n,h(e)?{[t]:e}:e)),0,S(n));f(i[0])||l(r,i[0])||j(o,r,i)})),o};var me=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const be="pragma ",Oe="data_version",Pe="schema_version",Te=(e,t,l,o,r,i,u,a)=>{let d,s;const[v,y,f,p]=(e=>{const t=(e=>L(pe,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[se];if(t.mode==ce){const{storeTableName:e=n}=t;return[1,l,[e],F(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=c(N(L(he,i)),0,S(he)),a=u[2],d=F(a);return[0,l,[Ee(o,{[ye]:null,[ve]:k},ye,(e=>$(d,e)&&e==a)),Ee(r,{[fe]:null,[ve]:k,deleteEmptyColumns:0,deleteEmptyTable:0},fe,((e,n)=>$(d,n)&&n==a)),u],d]})(t);return(v?ue:de)(e,i?(e,n)=>me(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>me(void 0,null,(function*(){try{const n=(yield l(be+Oe))[0][Oe],t=(yield l(be+Pe))[0][Pe];n==(null!=d?d:d=n)&&t==(null!=s?s:s=t)||(e(),d=n,s=t)}catch(e){}}))),1e3*y),o((n=>p.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=s=null,r(n)}),u,f,b(p),a)};var we=Object.defineProperty,Ae=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,Re=Object.prototype.propertyIsEnumerable,Ne=(e,n,t)=>n in e?we(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Se=(e,n,t,l,o,r)=>Te(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))Le.call(n,t)&&Ne(e,t,n[t]);if(Ae)for(var t of Ae(n))Re.call(n,t)&&Ne(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.capi.sqlite3_update_hook(t,((n,t,l,o)=>e(o)),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)),o,r,t);export{Se as createSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,l)=>e.slice(n,l),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,l)=>f(e)?null==l?void 0:l():n(e),h=n=>e(n)==t,E=e=>{return n=function*(){return v.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},m=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),P=Object,T=P.keys,w=P.freeze,A=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),N=(e,n)=>i(P.entries(e),(([e,l])=>n(l,e))),R=e=>P.values(e),S=e=>u(T(e)),g=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==S(e),x=e=>new Map(e),C=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var l;return i([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>f(l)?(b(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(m(e,n)||j(e,n,l()),I(e,n)),M=(e,n,l,t=j)=>(N(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),$=e=>new Set(Array.isArray(e)||f(e)?e:[e]),_=(e,n)=>null==e?void 0:e.add(n),B="_",H="_id",W=e=>`"${e.replace(/"/g,'""')}"`;var k=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,G=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&z(e,l,n[l]);if(J)for(var l of J(n))Y.call(n,l)&&z(e,l,n[l]);return e},K=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const V="FROM pragma_table_",q="WHERE",Q=(e,n,t)=>{const o=x();return[()=>K(void 0,null,(function*(){return M(o,A(yield E(i(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,A(i(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(o,n,M(F(o,n,x),l,((e,n,l)=>{l!=I(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(o,n)))})),(n,l)=>K(void 0,null,(function*(){return((e,n)=>!f(I(I(o,e),n)))(n,l)?A(d(i(yield e("SELECT*FROM"+W(n)),(e=>{return[e[l],(n=G({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!f(e)&&!g(n)))):{}})),(n,t,u,c,v,y=!1)=>K(void 0,null,(function*(){const p=$();N(null!=u?u:{},(e=>i(T(null!=e?e:{}),(e=>_(p,e)))));const h=O(p);if(!y&&v&&a(h)&&m(o,n))return yield e("DROP TABLE"+W(n)),void j(o,n);if(a(h)||m(o,n)){const l=I(o,n),r=$(C(l));yield E([...i(h,(t=>K(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${W(n)}ADD${W(t)}`),j(l,t,""))})))),...!y&&c?i(O(r),(o=>K(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${W(n)}DROP${W(o)}`),j(l,o))})))):[]])}else yield e(`CREATE TABLE${W(n)}(${W(t)} PRIMARY KEY ON CONFLICT REPLACE${r(i(h,(e=>l+W(e))))});`),j(o,n,x([[t,""],...i(h,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+W(n)+"WHERE 1"):yield E(N(u,((l,o)=>K(void 0,null,(function*(){f(l)?yield e("DELETE FROM"+W(n)+q+W(t)+"=?",[o]):a(h)||(yield X(e,n,t,T(l),[o,...R(l)]))})))));else if(a(h))m(o,n)&&(yield e("DELETE FROM"+W(n)+"WHERE 1"));else{const l=d(C(I(o,n)),(e=>e!=t)),r=[],a=[];N(null!=u?u:{},((e,n)=>{s(r,n,...i(l,(n=>null==e?void 0:e[n]))),s(a,n)})),yield X(e,n,t,l,r),yield e("DELETE FROM"+W(n)+q+W(t)+"NOT IN("+Z(a)+")",a)}})),n=>K(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},X=(e,n,t,a,d)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+W(n)+"("+W(t)+r(i(a,(e=>l+W(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+W(t)+")DO UPDATE SET"+r(i(a,(e=>W(e)+"=excluded."+W(e))),l),d)})),Z=e=>r(i(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const le=x(),te=x(),oe=(e,n,l,t,o,r,i=[])=>{let u,a,d,c=0,v=0;F(le,i,(()=>0)),F(te,i,(()=>[]));const y=e=>ne(void 0,null,(function*(){return 2!=c&&(c=1,yield h.schedule((()=>ne(void 0,null,(function*(){yield e(),c=0}))))),h})),h={load:(l,t)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ne(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),v=1,d=t(((l,t)=>ne(void 0,null,(function*(){if(t){const n=t();yield y((()=>ne(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>ne(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(v&&(o(d),d=void 0,v=0),h),save:n=>ne(void 0,null,(function*(){return 1!=c&&(c=2,yield h.schedule((()=>ne(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),h})),startAutoSave:()=>ne(void 0,null,(function*(){return yield h.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();g(l)&&g(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(p(u,e.delListener),h),schedule:(...e)=>ne(void 0,null,(function*(){return s(I(te,i),...e),yield ne(void 0,null,(function*(){if(!I(le,i)){for(j(le,i,1);!f((e=I(te,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}j(le,i,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(h)};var re=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ie="store",ue=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,s]=Q(n,i,o);return oe(e,(()=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var e,n;return yield a(),ee(null!=(n=null==(e=(yield d(r,H))[B])?void 0:e[ie])?n:"null")}))))}))),(e=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var n,l;yield a(),yield c(r,H,{[B]:{[ie]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>y(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,u)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de=(e,n,l,t,o,[r,i,[u,a,c]],s,v)=>{const[y,p,h,m]=Q(n,s,o),O=(e,n)=>ae(void 0,null,(function*(){return yield E(D(i,((l,t)=>ae(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield h(l,t,u,o,r,n))})))))})),b=(e,n)=>ae(void 0,null,(function*(){return a?yield h(c,H,{[B]:e},!0,!0,n):null}));return oe(e,(()=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){yield y();const e=yield ae(void 0,null,(function*(){return A(d(yield E(D(r,((e,n)=>ae(void 0,[e,n],(function*([e,n],l){return[e,yield p(l,n)]}))))),(e=>!g(e[1]))))})),n=yield ae(void 0,null,(function*(){return u?(yield p(c,H))[B]:{}}));return g(e)&&f(n)?void 0:[e,n]}))))}))),((e,n)=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){if(yield y(),f(n)){const[n,l]=e();yield O(n),yield b(l)}else{const[e,l]=n();yield O(e,!0),yield b(l,!0)}}))))}))),l,t,o,v)},ce="json",se="autoLoadIntervalSeconds",ve="rowIdColumnName",ye="tableId",fe="tableName",pe={mode:ce,[se]:1},he={load:0,save:0,[fe]:n+"_values"},Ee=(e,n,l,t)=>{const o=x();return N(e,((e,r)=>{const i=c(R(L(n,h(e)?{[l]:e}:e)),0,S(n));f(i[0])||t(r,i[0])||j(o,r,i)})),o};var me=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Oe="pragma ",be="data_version",Pe="schema_version",Te=(e,l,t,o,r,i,u,a)=>{let d,s;const[v,y,f,p]=(e=>{const l=(e=>L(pe,h(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[se];if(l.mode==ce){const{storeTableName:e=n}=l;return[1,t,[e],$(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(R(L(he,i)),0,S(he)),a=u[2],d=$(a);return[0,t,[Ee(o,{[ye]:null,[ve]:H},ye,(e=>_(d,e)&&e==a)),Ee(r,{[fe]:null,[ve]:H,deleteEmptyColumns:0,deleteEmptyTable:0},fe,((e,n)=>_(d,n)&&n==a)),u],d]})(l);return(v?ue:de)(e,i?(e,n)=>me(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>[setInterval((()=>me(void 0,null,(function*(){try{const n=(yield t(Oe+be))[0][be],l=(yield t(Oe+Pe))[0][Pe];n==(null!=d?d:d=n)&&l==(null!=s?s:s=l)||(e(),d=n,s=l)}catch(e){}}))),1e3*y),o((n=>p.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=s=null,r(n)}),u,f,O(p),a)};var we=Object.defineProperty,Ae=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,Re=(e,n,l)=>n in e?we(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l;const Se="change",ge=(e,n,l,t,o)=>Te(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield(t=(t,o)=>n.all(e,l,((e,n)=>e?o(e):t(n.map((e=>((e,n)=>{for(var l in n||(n={}))Le.call(n,l)&&Re(e,l,n[l]);if(Ae)for(var l of Ae(n))Ne.call(n,l)&&Re(e,l,n[l]);return e})({},e)))))),new v(t));var t},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>{const l=(n,l,t)=>e(t);return n.on(Se,l),l}),(e=>n.off(Se,e)),t,o,n);export{ge as createSqlite3Persister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Map as t}from"yjs";const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,l=(t,e,n)=>o(t)?null==n?void 0:n():e(t),r=Object,
|
|
1
|
+
import{Map as t}from"yjs";const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,l=(t,e,n)=>o(t)?null==n?void 0:n():e(t),r=Object,u=r.keys,i=r.freeze,s=(t=[])=>r.fromEntries(t),a=(t,e)=>!o(((t,e)=>l(t,(t=>t[e])))(t,e)),d=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,n])=>e(n,t))),c=t=>(t=>t instanceof r&&t.constructor==r)(t)&&0==(t=>e(u(t)))(t),v=(t,e,n)=>(a(t,e)||(t[e]=n()),t[e]),f=t=>new Map(t),y=(t,e)=>null==t?void 0:t.get(e),h=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t))),g=(t,e,n)=>{return o(n)?(r=e,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(e,n);var l,r},p=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||g(t,e,n()),y(t,e)};var S=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const m=f(),w=f();var A=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const O="t",J="delete",L=t=>[t.get(O),t.get("v")],N=(e,n,l,r)=>{var u;const i=o(n)?e:null!=(u=e.get(n))?u:e.set(n,new t);let s;return d(l,((t,e)=>{r(i,e,t)&&(s=1)})),i.forEach(((t,e)=>{a(l,e)||(i.delete(e),s=1)})),o(n)||i.size||e.delete(n),s},x=(r,u,a="tinybase",f)=>{const x=u.getMap(a);return((t,e,r,u,s,a,d=[])=>{let v,f,h,A=0,O=0;p(m,d,(()=>0)),p(w,d,(()=>[]));const J=t=>S(void 0,null,(function*(){return 2!=A&&(A=1,yield L.schedule((()=>S(void 0,null,(function*(){yield t(),A=0}))))),L})),L={load:(n,o)=>S(void 0,null,(function*(){return yield J((()=>S(void 0,null,(function*(){try{t.setContent(yield e())}catch(e){t.setContent([n,o])}}))))})),startAutoLoad:(...n)=>S(void 0,[...n],(function*(n={},o={}){return L.stopAutoLoad(),yield L.load(n,o),O=1,h=u(((n,o)=>S(void 0,null,(function*(){if(o){const e=o();yield J((()=>S(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield J((()=>S(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==n?void 0:n())?o:yield e())}catch(t){null==a||a(t)}}))))})))),L})),stopAutoLoad:()=>(O&&(s(h),h=void 0,O=0),L),save:e=>S(void 0,null,(function*(){return 1!=A&&(A=2,yield L.schedule((()=>S(void 0,null,(function*(){try{yield r(t.getContent,e)}catch(t){null==a||a(t)}A=0}))))),L})),startAutoSave:()=>S(void 0,null,(function*(){return yield L.stopAutoSave().save(),v=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();c(n)&&c(o)||L.save((()=>[n,o]))})),L})),stopAutoSave:()=>(l(v,t.delListener),L),schedule:(...t)=>S(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(y(w,d),...t),yield S(void 0,null,(function*(){if(!y(m,d)){for(g(m,d,1);!o(f=n(y(w,d)));)try{yield f()}catch(t){null==a||a(t)}g(m,d,0)}})),L})),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(L)})(r,(()=>A(void 0,null,(function*(){return x.size?[x.get(O).toJSON(),x.get("v").toJSON()]:void 0}))),((e,n)=>A(void 0,null,(function*(){return u.transact((()=>((e,n,r)=>{(e=>{e.size||(e.set(O,new t),e.set("v",new t))})(e);const[u,i]=L(e),s=()=>{a=1};let a=1;if(l(null==r?void 0:r(),(([t,e])=>{a=0,d(t,((t,e)=>a?0:o(t)?u.delete(e):l(u.get(e),(e=>d(t,((t,n)=>a?0:o(t)?e.delete(n):l(e.get(n),(e=>d(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),s)))),s))),d(e,((t,e)=>a?0:o(t)?i.delete(e):i.set(e,t)))})),a){const[t,e]=n();N(u,void 0,t,((t,e,n)=>N(u,e,n,((t,e,n)=>N(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),N(i,void 0,e,((t,e,n)=>{i.get(e)!==n&&i.set(e,n)}))}})(x,e,n)))}))),(t=>{const o=o=>t(void 0,(()=>((t,o)=>{if(1==e(o)&&(r=o[0].path,0==e(r)))return[t.get("t").toJSON(),t.get("v").toJSON()];var r;const[u,i]=L(t),a={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==O?l(n(t),(o=>{const r=v(a,o,s),i=u.get(o);l(n(t),(t=>{const n=v(r,t,s),o=i.get(t);h(e,((t,{action:e})=>n[t]=e==J?null:o.get(t)))}),(()=>h(e,((t,{action:e})=>{var n;return r[t]=e==J?null:null==(n=i.get(t))?void 0:n.toJSON()}))))}),(()=>h(e,((t,{action:e})=>{var n;return a[t]=e==J?null:null==(n=u.get(t))?void 0:n.toJSON()})))):h(e,((t,{action:e})=>d[t]=e==J?null:i.get(t)))))})(o),[a,d]})(x,o)));return x.observeDeep(o),o}),(t=>{x.unobserveDeep(t)}),f)};export{x as createYjsPersister};
|
|
Binary file
|
package/lib/es6/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,n=Object,e=n.keys,o=n.freeze,l=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>e(t).length)(t);var i=(t,n,e)=>new Promise(((o,l)=>{var
|
|
1
|
+
const t=t=>null==t,n=Object,e=n.keys,o=n.freeze,l=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>e(t).length)(t),u=t=>new Map(t),i=(t,n)=>null==t?void 0:t.get(n),r=(n,e,o)=>{return t(o)?(u=e,null==(l=n)||l.delete(u),n):null==n?void 0:n.set(e,o);var l,u},d=(t,n,e)=>{var o,l,u;return l=n,null!=(u=null==(o=t)?void 0:o.has(l))&&u||r(t,n,e()),i(t,n)};var s=(t,n,e)=>new Promise(((o,l)=>{var u=t=>{try{r(e.next(t))}catch(t){l(t)}},i=t=>{try{r(e.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(u,i);r((e=e.apply(t,n)).next())}));const a=u(),c=u(),v=(n,e,u,v,y,f,h=[])=>{let p,A,g,L=0,S=0;d(a,h,(()=>0)),d(c,h,(()=>[]));const C=t=>s(void 0,null,(function*(){return 2!=L&&(L=1,yield w.schedule((()=>s(void 0,null,(function*(){yield t(),L=0}))))),w})),w={load:(t,o)=>s(void 0,null,(function*(){return yield C((()=>s(void 0,null,(function*(){try{n.setContent(yield e())}catch(e){n.setContent([t,o])}}))))})),startAutoLoad:(...t)=>s(void 0,[...t],(function*(t={},o={}){return w.stopAutoLoad(),yield w.load(t,o),S=1,g=v(((t,o)=>s(void 0,null,(function*(){if(o){const t=o();yield C((()=>s(void 0,null,(function*(){return n.setTransactionChanges(t)}))))}else yield C((()=>s(void 0,null,(function*(){var o;try{n.setContent(null!=(o=null==t?void 0:t())?o:yield e())}catch(t){null==f||f(t)}}))))})))),w})),stopAutoLoad:()=>(S&&(y(g),g=void 0,S=0),w),save:t=>s(void 0,null,(function*(){return 1!=L&&(L=2,yield w.schedule((()=>s(void 0,null,(function*(){try{yield u(n.getContent,t)}catch(t){null==f||f(t)}L=0}))))),w})),startAutoSave:()=>s(void 0,null,(function*(){return yield w.stopAutoSave().save(),p=n.addDidFinishTransactionListener(((t,n)=>{const[e,o]=n();l(e)&&l(o)||w.save((()=>[e,o]))})),w})),stopAutoSave:()=>{var e,o;return e=p,o=n.delListener,!!t(e)||o(e),w},schedule:(...n)=>s(void 0,null,(function*(){return((t,...n)=>{t.push(...n)})(i(c,h),...n),yield s(void 0,null,(function*(){if(!i(a,h)){for(r(a,h,1);!t((n=i(c,h),A=n.shift()));)try{yield A()}catch(t){null==f||f(t)}r(a,h,0)}var n})),w})),getStore:()=>n,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(w)};export{v as createCustomPersister};
|
package/lib/es6/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/es6/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",n=e(t),l=e(!0),o=e(0),s=e(e),r="type",i="default",a="Listener",d="Result",c="add",u="Ids",v="Table",h=v+"s",f=v+u,g="Row",L=g+u,y="Sorted"+g+u,S="Cell",w=S+u,I="Value",R=I+"s",T=I+u,p=e=>t+e,C=Math.max,b=Math.min,m=isFinite,V=(e,t)=>e instanceof t,E=e=>null==e,k=(e,t,n)=>E(e)?null==n?void 0:n():t(e),x=e=>e==n||e==l,M=t=>e(t)==s,D=e=>Array.isArray(e),J=()=>{},A=(e,t)=>e.includes(t),O=(e,t)=>e.every(t),F=(e,t)=>W(e)===W(t)&&O(e,((e,n)=>t[n]===e)),P=(e,t)=>O(e,((n,l)=>0==l||t(e[l-1],n)<=0)),j=(e,t)=>e.sort(t),Q=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),N=e=>$(e,((e,t)=>e+t),0),W=e=>e.length,B=e=>0==W(e),$=(e,t,n)=>e.reduce(t,n),q=(e,t,n)=>e.slice(t,n),G=(e,...t)=>e.push(...t),H=e=>e.pop(),K=e=>e.shift(),U=Object,X=U.keys,Y=U.isFrozen,Z=U.freeze,_=e=>V(e,U)&&e.constructor==U,ee=(e,t)=>!E(((e,t)=>k(e,(e=>e[t])))(e,t)),te=(e,t)=>(delete e[t],e),ne=(e,t)=>z(U.entries(e),(([e,n])=>t(n,e))),le=e=>_(e)&&0==(e=>W(X(e)))(e),oe=e=>e.size,se=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},re=e=>E(e)||0==oe(e),ie=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ae=e=>e.clear(),de=(e,t)=>null==e?void 0:e.forEach(t),ce=(e,t)=>null==e?void 0:e.delete(t),ue=e=>new Map(e),ve=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},he=(e,t)=>null==e?void 0:e.get(t),fe=(e,t)=>de(e,((e,n)=>t(n,e))),ge=(e,t,n)=>E(n)?(ce(e,t),e):null==e?void 0:e.set(t,n),Le=(e,t,n)=>(se(e,t)||ge(e,t,n()),he(e,t)),ye=(e,t,n,l=ge)=>(ne(t,((t,l)=>n(e,l,t))),fe(e,(n=>ee(t,n)?0:l(e,n))),e),Se=(e,t,n)=>{const l={};return de(e,((e,o)=>{const s=t?t(e,o):e;!(null==n?void 0:n(s,e))&&(l[o]=s)})),l},we=(e,t,n)=>Se(e,(e=>Se(e,t,n)),le),Ie=(e,t,n)=>Se(e,(e=>we(e,t,n)),le),Re=(e,t)=>{const n=ue();return de(e,((e,l)=>{var o;return n.set(l,null!=(o=null==t?void 0:t(e))?o:e)})),n},Te=e=>Re(e,Re),pe=e=>Re(e,Te),Ce=(e,t,n,l,o=0)=>k((n?Le:he)(e,t[o],o>W(t)-2?n:ue),(s=>{if(o>W(t)-2)return(null==l?void 0:l(s))&&ge(e,t[o]),s;const r=Ce(s,t,n,l,o+1);return re(s)&&ge(e,t[o]),r})),be=t=>{const n=e(t);return x(n)||n==o&&m(t)?n:void 0},me=(e,t,n,l,o)=>E(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),Ve=(e,t,n)=>E(n)?e.delValue(t):e.setValue(t,n),Ee=e=>new Set(D(e)||E(e)?e:[e]),ke=(e,t)=>null==e?void 0:e.add(t),xe=(e,t,n)=>{const l=e.hasRow,o=ue(),s=ue(),r=ue(),i=ue(),a=ue(),d=(t,n,...l)=>{const o=Le(a,t,Ee);return Q(l,(t=>ke(o,t)&&n&&e.callListener(t))),l},c=(t,...n)=>k(he(a,t),(l=>{Q(B(n)?ie(l):n,(t=>{e.delListener(t),ce(l,t)})),re(l)&&ge(a,t)})),u=(e,n)=>{ge(o,e,n),se(s,e)||(ge(s,e,t()),ge(r,e,ue()),ge(i,e,ue()))},v=e=>{ge(o,e),ge(s,e),ge(r,e),ge(i,e),c(e)};return[()=>e,()=>ve(o),e=>fe(s,e),e=>se(s,e),e=>he(o,e),e=>he(s,e),(e,t)=>ge(s,e,t),u,(t,o,s,a,v)=>{u(t,o);const h=ue(),f=ue(),g=he(r,t),L=he(i,t),y=t=>{const s=n=>e.getCell(o,t,n),r=he(g,t),i=l(o,t)?n(a(s,t)):void 0;if(r===i||D(r)&&D(i)&&F(r,i)||ge(h,t,[r,i]),!E(v)){const e=he(L,t),n=l(o,t)?v(s,t):void 0;e!=n&&ge(f,t,n)}},S=e=>{s((()=>{de(h,(([,e],t)=>ge(g,t,e))),de(f,((e,t)=>ge(L,t,e)))}),h,f,g,L,e),ae(h),ae(f)};fe(g,y),e.hasTable(o)&&Q(e.getRowIds(o),(e=>{se(g,e)||y(e)})),S(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>y(n))),e.addTableListener(o,(()=>S())))},v,()=>fe(a,v),d,c]},Me=(l,o)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=o?o:t,De=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Je=/^\d+$/,Ae=()=>{const e=[];let n=0;return[l=>{var o;return null!=(o=l?K(e):null)?o:t+n++},t=>{Je.test(t)&&W(e)<1e3&&G(e,t)}]},Oe=e=>{let n;const[l,o]=Ae(),s=ue();return[(o,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const c=l(1);return ge(s,c,[o,r,i,a,d]),ke(Ce(r,null!=i?i:[t],Ee),c),c},(e,l,...o)=>Q(((e,n=[t])=>{const l=[],o=(e,t)=>t==W(n)?G(l,e):null===n[t]?de(e,(e=>o(e,t+1))):Q([n[t],null],(n=>o(he(e,n),t+1)));return o(e,0),l})(e,l),(e=>de(e,(e=>he(s,e)[0](n,...null!=l?l:[],...o))))),e=>k(he(s,e),(([,n,l])=>(Ce(n,null!=l?l:[t],void 0,(t=>(ce(t,e),re(t)?1:0))),ge(s,e),o(e),l))),e=>k(he(s,e),(([e,,t=[],l,o])=>{const s=(...r)=>{var i,a;const d=W(r);d==W(t)?e(n,...r,...o(r)):E(t[d])?Q(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>s(...r,e))):s(...r,t[d])};s()}))]},Fe=De((e=>{let n,l,o,s=100,r=ue(),i=ue(),a=1;const d=ue(),c=ue(),[u,v,h]=Oe((()=>F)),f=ue(),g=ue(),L=[],y=[],S=(t,n)=>{a=0,e.transaction((()=>{const[l,o]=he(f,n);de(l,((n,l)=>de(n,((n,o)=>de(n,((n,s)=>me(e,l,o,s,n[t]))))))),de(o,((n,l)=>Ve(e,l,n[t])))})),a=1},w=e=>{ge(f,e),ge(g,e),v(c,[e])},I=(e,t)=>Q(((e,t)=>e.splice(0,t))(e,null!=t?t:W(e)),w),R=()=>I(L,W(L)-s),T=()=>k(n,(()=>{G(L,n),R(),I(y),n=void 0,o=1})),p=()=>{n=H(L),o=1},C=e.addCellListener(null,null,null,((e,t,n,l,o,s)=>{if(a){T();const e=Le(r,t,ue),i=Le(e,n,ue),a=Le(i,l,(()=>[s,void 0]));a[1]=o,a[0]===o&&re(ge(i,l))&&re(ge(e,n))&&re(ge(r,t))&&p(),M()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){T();const e=Le(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&re(ge(i,t))&&p(),M()}})),m=(e="")=>(E(n)&&(n=t+l++,ge(f,n,[r,i]),J(n,e),r=ue(),i=ue(),o=1),n),V=()=>{B(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),S(0,n),n=H(L),o=1)},x=()=>{B(y)||(G(L,n),n=K(y),S(1,n),o=1)},M=()=>{o&&(v(d),o=0)},D=e=>{const t=m(e);return M(),t},J=(e,t)=>(O(e)&&he(g,e)!==t&&(ge(g,e,t),v(c,[e])),F),O=e=>se(f,e),F={setSize:e=>(s=e,R(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>fe(g,e),hasCheckpoint:O,getCheckpoint:e=>he(g,e),goBackward:()=>(V(),M(),F),goForward:()=>(x(),M(),F),goTo:e=>{const t=A(L,e)?V:A(y,e)?x:null;for(;!E(t)&&e!=n;)t();return M(),F},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),F),clear:()=>(I(L),I(y),E(n)||w(n),n=void 0,l=0,D(),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return Z(F.clear())})),Pe=(e,t)=>e<t?-1:1,je=De((e=>{const n=ue(),l=ue(),[o,s,r,i,a,d,c,,u,v,h]=xe(e,ue,(e=>E(e)?t:D(e)?z(e,p):p(e))),[f,g,L]=Oe((()=>S)),y=(t,n,l)=>{const o=a(t);de(l,((t,l)=>n(l,(n=>de(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},S={setIndexDefinition:(e,t,o,s,r,i=Pe)=>{const a=E(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,o,r,u,v,h)=>{let f=0;const L=Ee(),y=Ee(),S=d(e);if(de(o,(([e,t],n)=>{const l=Ee(e),o=Ee(t);de(l,(e=>ce(o,e)?ce(l,e):0)),de(l,(e=>{ke(L,e),k(he(S,e),(t=>{ce(t,n),re(t)&&(ge(S,e),f=1)}))})),de(o,(e=>{ke(L,e),se(S,e)||(ge(S,e,Ee()),f=1),ke(he(S,e),n),E(s)||ke(y,e)}))})),t(),re(v)||(h?fe(S,(e=>ke(y,e))):fe(r,(e=>k(he(u,e),(e=>ke(y,e))))),de(y,(e=>{const t=(t,n)=>i(he(v,t),he(v,n),e),n=[...he(S,e)];P(n,t)||(ge(S,e,Ee(j(n,t))),ke(L,e))}))),(f||h)&&!E(a)){const t=[...S];P(t,a)||(c(e,ue(j(t,a))),f=1)}f&&g(n,[e]),de(L,(t=>g(l,[e,t])))}),Me(o),k(s,Me)),S},delIndexDefinition:e=>(v(e),S),getStore:o,getIndexIds:s,forEachIndex:e=>r(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>se(d(e),t),getTableId:a,getSliceIds:e=>ve(d(e)),getSliceRowIds:(e,t)=>ie(he(d(e),t)),addSliceIdsListener:(e,t)=>f(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),S),destroy:h,getListenerStats:()=>({})};return Z(S)})),Qe=ue([["avg",[(e,t)=>N(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:C(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>N(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),ze=(e,t,n,l,o,s=!1)=>{if(re(n))return;const[r,i,a,d]=o;return s||(s=E(e)),de(l,(([n,l])=>{s||(e=E(n)?null==i?void 0:i(e,l,t++):E(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=E(e)))})),s?r(ie(n),oe(n)):e},Ne=De((e=>{const n=ue(),[l,o,s,r,i,a,d,,c,u,v]=xe(e,J,(e=>isNaN(e)||E(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,f,g]=Oe((()=>L)),L={setMetricDefinition:(e,t,l,o,s,r,i)=>{var u;const v=M(l)?[l,s,r,i]:null!=(u=he(Qe,l))?u:he(Qe,"sum");return c(e,t,((t,l,o,s,r,i)=>{const c=a(e),u=oe(s);i||(i=E(c)),t();let h=ze(c,u,s,l,v,i);m(h)||(h=void 0),h!=c&&(d(e,h),f(n,[e],h,c))}),Me(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:o,forEachMetric:s,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return Z(L)}));var We=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{i(n.next(e))}catch(e){o(e)}},r=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);i((n=n.apply(e,t)).next())}));const Be=(e,t,n,l,o)=>{let s,r,i,a=0,d=0,c=0;const u=[],v=e=>We(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>We(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(n,l)=>We(void 0,null,(function*(){return yield v((()=>We(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>We(void 0,[...n],(function*(n={},o={}){return h.stopAutoLoad(),yield h.load(n,o),c=1,i=l(((n,l)=>We(void 0,null,(function*(){return yield v((()=>We(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(c&&(o(i),i=void 0,c=0),h),save:t=>We(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>We(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){}a=0}))))),h})),startAutoSave:()=>We(void 0,null,(function*(){return yield h.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();le(n)&&le(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(k(s,e.delListener),h),schedule:(...e)=>We(void 0,null,(function*(){return G(u,...e),yield We(void 0,null,(function*(){if(!d){for(d=1;!E(r=K(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Z(h)};var $e=Object.getOwnPropertySymbols,qe=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable;const He=De((e=>{const n=e.createStore,[l,o,s,r,i,,,u,,h,f,I,R]=xe(e,(()=>!0),J),T=n(),p=n(),C=ue(),b=(e,t,...n)=>Q(n,(n=>ke(Le(Le(C,t,ue),e,Ee),n))),m=e=>{k(he(C,e),(e=>{fe(e,((e,t)=>de(t,(t=>e.delListener(t))))),ae(e)})),Q([p,T],(t=>t.delTable(e)))},V=(e,t,n)=>b(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,l,o)=>{u(n,l),m(n);const s=[],r=[[null,[l,null,null,[],ue()]]],i=[],a=[],d=[];o({select:(e,n)=>{const l=M(e)?[W(s)+t,e]:[E(n)?e:n,t=>t(e,n)];return G(s,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=E(n)||M(t)?null:t,o=E(l)?t:n,s=[e,[e,l,M(o)?o:e=>e(o),[],ue()]];return G(r,s),{as:e=>s[0]=e}},where:(e,t,n)=>G(i,M(e)?e:E(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,M(t)?[t,n,l,o]:null!=(s=he(Qe,t))?s:[(e,t)=>t]]];return G(a,r),{as:e=>r[0]=e}},having:(e,t)=>G(d,M(e)?e:n=>n(e)===t)});const c=ue(s);if(re(c))return x;const v=ue(r);fe(v,((e,[,t])=>k(he(v,t),(({3:t})=>E(e)?0:G(t,e)))));const h=ue(a);let f=T;if(re(h)&&B(d))f=p;else{V(n,f,p);const e=ue();fe(h,((t,[n,l])=>ke(Le(e,n,Ee),[t,l])));const t=Ee();fe(c,(n=>se(e,n)?0:ke(t,n)));const l=ue(),o=(t,l,o,s)=>k(t,(([r,i,a,c])=>{fe(l,((t,[n])=>{const l=Le(r,t,ue),i=he(l,o),a=s?void 0:n;if(i!==a){const n=Ee([[i,a]]),s=oe(l);ge(l,o,a),de(he(e,t),(([e,t])=>{const o=ze(c[e],s,l,n,t);c[e]=E(be(o))?null:o}))}})),re(i)||!O(d,(e=>e((e=>c[e]))))?p.delRow(n,a):E(a)?t[2]=p.addRow(n,c):p.setRow(n,a,c)}));b(f,n,f.addRowListener(n,null,((s,r,i,a)=>{const d=[],c=[],u=ue(),v=f.hasRow(n,i);let h=!v;de(t,(e=>{const[t,l,o]=a(n,i,e);G(d,l),G(c,o),h||(h=t)})),fe(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&ge(u,e,[l])})),h&&o(Ce(l,d,void 0,(([,e])=>(ce(e,i),re(e)))),u,i,1),v&&o(Ce(l,c,(()=>{const e={};return de(t,(t=>e[t]=f.getCell(n,i,t))),[ue(),Ee(),void 0,e]}),(([,e])=>{ke(e,i)})),u,i)})))}V(n,e,f);const g=(t,o,s,r)=>{const a=t=>e.getCell(o,s,t);Q(r,(l=>{var o;const[s,,r,i,d]=he(v,l),c=null==r?void 0:r(a,t),[u,h]=null!=(o=he(d,t))?o:[];c!=u&&(E(h)||R(n,h),ge(d,t,E(c)?null:[c,...I(n,1,e.addRowListener(s,c,(()=>g(t,s,c,i))))]))})),(t=>{const o=(n,o)=>{var s,r,i;return e.getCell(...E(o)?[l,t,n]:n===l?[l,t,o]:[null==(s=he(v,n))?void 0:s[0],null==(i=he(null==(r=he(v,n))?void 0:r[4],t))?void 0:i[0],o])};f.transaction((()=>O(i,(e=>e(o)))?fe(c,((e,l)=>me(f,n,t,e,l(o,t)))):f.delRow(n,t)))})(t)},{3:L}=he(v,null);return f.transaction((()=>I(n,1,e.addRowListener(l,null,((t,o,s)=>{e.hasRow(l,s)?g(s,l,s,L):(f.delRow(n,s),de(v,(({4:e})=>k(he(e,s),(([,t])=>{R(n,t),ge(e,s)})))))}))))),x},delQueryDefinition:e=>(m(e),h(e),x),getStore:l,getQueryIds:o,forEachQuery:s,hasQuery:r,getTableId:i,delListener:e=>(p.delListener(e),x),destroy:f,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)qe.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&$e)for(var l of $e(e))t.indexOf(l)<0&&Ge.call(e,l)&&(n[l]=e[l]);return n})(p.getListenerStats(),["tables","tableIds","transaction"])};return ne({[v]:[1,1],[L]:[0,1],[y]:[0,5],[g]:[1,2],[w]:[0,2],[S]:[1,3]},(([e,t],n)=>{Q(e?["get","has","forEach"]:["get"],(e=>x[e+d+n]=(...t)=>p[e+n](...t))),x[c+d+n+a]=(...e)=>p[c+n+a](...q(e,0,t),((n,...l)=>e[t](x,...l)))})),Z(x)})),Ke=De((e=>{const n=ue(),l=ue(),o=ue(),s=ue(),[r,i,a,d,c,u,,,v,h,f]=xe(e,(()=>[ue(),ue(),ue(),ue()]),(e=>E(e)?void 0:e+t)),[g,L,y]=Oe((()=>R)),S=(e,t,n)=>k(u(e),(([l,,o])=>{if(!se(o,t)){const s=Ee();if(c(e)!=I(e))ke(s,t);else{let e=t;for(;!E(e)&&!se(s,e);)ke(s,e),e=he(l,e)}if(n)return s;ge(o,t,s)}return he(o,t)})),w=(e,t)=>k(u(e),(([,,e])=>ge(e,t))),I=e=>he(n,e),R={setRelationshipDefinition:(e,t,r,i)=>(ge(n,e,r),v(e,t,((t,n)=>{const r=Ee(),i=Ee(),a=Ee(),[d,c]=u(e);de(n,(([t,n],l)=>{E(t)||(ke(i,t),k(he(c,t),(e=>{ce(e,l),re(e)&&ge(c,t)}))),E(n)||(ke(i,n),se(c,n)||ge(c,n,Ee()),ke(he(c,n),l)),ke(r,l),ge(d,l,n),fe(he(s,e),(t=>{se(S(e,t),l)&&ke(a,t)}))})),t(),de(r,(t=>L(l,[e,t]))),de(i,(t=>L(o,[e,t]))),de(a,(t=>{w(e,t),L(s,[e,t])}))}),Me(i)),R),delRelationshipDefinition:e=>(ge(n,e),h(e),R),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:I,getRemoteRowId:(e,t)=>{var n;return he(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ie(he(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>E(u(e))?[t]:ie(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(S(e,t),g(n,s,[e,t])),delListener:e=>(w(...y(e)),R),destroy:f,getListenerStats:()=>({})};return Z(R)})),Ue=e=>[e,e],Xe=()=>[ue(),ue()],Ye=e=>[...e],Ze=([e,t])=>e===t,_e=e=>JSON.stringify(e,((e,t)=>V(t,Map)?U.fromEntries([...t]):t)),et=JSON.parse,tt=(e,t,n)=>E(e)||!_(e)||le(e)||Y(e)?(null==n||n(),!1):(ne(e,((n,l)=>{t(n,l)||te(e,l)})),!le(e)),nt=(e,t,n)=>ge(e,t,he(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,s=0;const d=ue(),u=ue(),y=ue(),C=ue(),b=ue(),m=ue(),V=ue(),D=ue(),J=ue(),O=ue(),P=ue(),N=ue(),W=ue(),B=Ee(),$=ue(),H=ue(),K=ue(),U=ue(),X=Xe(),Y=Xe(),_=Xe(),oe=Xe(),ie=Xe(),Ce=Xe(),xe=Xe(),Me=Xe(),De=Xe(),Je=Xe(),Fe=Xe(),je=Xe(),Qe=Xe(),ze=Xe(),Ne=ue(),We=Xe(),[Be,$e,qe,Ge]=Oe((()=>gn)),He=e=>{if(!tt(e,((e,t)=>A([r,i],t))))return!1;const t=e[r];return!(!x(t)&&t!=o||(be(e[i])!=t&&te(e,i),0))},Ke=(t,n)=>(!e||se(O,n)||Jt(n))&&tt(t,((e,t)=>ot(n,t,e)),(()=>Jt(n))),ot=(e,t,n,l)=>tt(l?n:at(n,e,t),((l,o)=>k(st(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>Jt(e,t))),st=(t,n,l,o)=>e?k(he(he(O,t),l),(e=>be(o)!=e[r]?Jt(t,n,l,o,e[i]):o),(()=>Jt(t,n,l,o))):E(be(o))?Jt(t,n,l,o):o,rt=(e,t)=>tt(t?e:dt(e),((t,n)=>k(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?k(he(N,e),(t=>be(n)!=t[r]?At(e,n,t[i]):n),(()=>At(e,n))):E(be(n))?At(e,n):n,at=(e,t,n)=>(k(he(P,t),(([l,o])=>{de(l,((t,n)=>{ee(e,n)||(e[n]=t)})),de(o,(l=>{ee(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(de(W,((t,n)=>{ee(e,n)||(e[n]=t)})),de(B,(t=>{ee(e,t)||At(t)}))),e),ct=e=>ye(O,e,((e,t,n)=>{const l=ue(),o=Ee();ye(Le(O,t,ue),n,((e,t,n)=>{ge(e,t,n),k(n[i],(e=>ge(l,t,e)),(()=>ke(o,t)))})),ge(P,t,[l,o])}),((e,t)=>{ge(O,t),ge(P,t)})),ut=e=>ye(N,e,((e,t,n)=>{ge(N,t,n),k(n[i],(e=>ge(W,t,e)),(()=>ke(B,t)))}),((e,t)=>{ge(N,t),ge(W,t),ce(B,t)})),vt=e=>le(e)?sn():en(e),ht=e=>ye(K,e,((e,t,n)=>ft(t,n)),((e,t)=>pt(t))),ft=(e,t)=>ye(Le(K,e,(()=>(Vt(e,1),ge($,e,Ae()),ge(H,e,ue()),ue()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,o)=>ye(Le(t,n,(()=>(Et(e,n,1),ue()))),l,((t,l,o)=>Lt(e,n,t,l,o)),((l,s)=>bt(e,t,n,l,s,o))),Lt=(e,t,n,l,o)=>{se(n,l)||kt(e,t,l,1);const s=he(n,l);o!==s&&(xt(e,t,l,s,o),ge(n,l,o))},yt=(e,t,n,l,o)=>k(he(t,n),(t=>Lt(e,n,t,l,o)),(()=>gt(e,t,n,at({[l]:o},e,n)))),St=e=>le(e)?dn():tn(e),wt=e=>ye(U,e,((e,t,n)=>It(t,n)),((e,t)=>mt(t))),It=(e,t)=>{se(U,e)||Mt(e,1);const n=he(U,e);t!==n&&(Dt(e,n,t),ge(U,e,t))},Rt=(e,t)=>{const[n]=he($,e),l=n(t);return se(he(K,e),l)?Rt(e,t):l},Tt=e=>{var t;return null!=(t=he(K,e))?t:ft(e,{})},pt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=he($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,o,s)=>{var r;const i=he(null==(r=he(P,e))?void 0:r[0],o);if(!E(i)&&!s)return Lt(e,n,l,o,i);const a=t=>{xt(e,n,t,he(l,t)),kt(e,n,t,-1),ge(l,t)};E(i)?a(o):fe(l,a),re(l)&&(Et(e,n,-1),re(ge(t,n))&&(Vt(e,-1),ge(K,e),ge($,e),ge(H,e)))},mt=e=>{const t=he(W,e);if(!E(t))return It(e,t);Dt(e,he(U,e)),Mt(e,-1),ge(U,e)},Vt=(e,t)=>nt(d,e,t),Et=(e,t,n)=>nt(Le(y,e,ue),t,n),kt=(e,t,n,l)=>{var o;const s=he(H,e),r=null!=(o=he(s,n))?o:0;(0==r&&1==l||1==r&&-1==l)&&nt(Le(u,e,ue),n,l),ge(s,n,r!=-l?r+l:null),nt(Le(Le(C,e,ue),t,ue),n,l)},xt=(e,t,n,l,o)=>Le(Le(Le(b,e,ue),t,ue),n,(()=>[l,0]))[1]=o,Mt=(e,t)=>nt(m,e,t),Dt=(e,t,n)=>Le(V,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,o)=>(G(Le(Le(Le(D,e,ue),t,ue),n,(()=>[])),l),o),At=(e,t,n)=>(G(Le(J,e,(()=>[])),t),n),Ot=(e,t,n)=>k(he(he(he(b,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Xt(e,t,n))])),Ft=e=>k(he(V,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(_t(e))])),Pt=e=>re(D)||re(Je[e])?0:de(e?pe(D):D,((t,n)=>de(t,((t,l)=>de(t,((t,o)=>$e(Je[e],[n,l,o],t))))))),jt=e=>re(J)||re(Fe[e])?0:de(e?Re(J):J,((t,n)=>$e(Fe[e],[n],t))),Qt=(e,t,n)=>{if(!re(t))return $e(e,n,(()=>Se(t))),1},zt=e=>{const t=re(Ce[e]),n=re(Me[e])&&re(oe[e])&&re(ie[e])&&t&&re(Y[e]),l=re(De[e])&&re(xe[e])&&re(_[e])&&re(X[e]);if(!n||!l){const o=e?[Re(d),Te(u),Te(y),pe(C),pe(b)]:[d,u,y,C,b];if(!n){Qt(Y[e],o[0]),de(o[1],((t,n)=>Qt(oe[e],t,[n])));const n=Ee();de(o[2],((l,o)=>{Qt(ie[e],l,[o])&&!t&&($e(Ce[e],[o,null]),ke(n,o))})),t||de(o[4],((t,l)=>{if(!se(n,l)){const n=Ee();de(t,(e=>de(e,(([t,l],o)=>l!==t?ke(n,o):ce(e,o))))),de(n,(t=>$e(Ce[e],[l,t])))}})),de(o[3],((t,n)=>de(t,((t,l)=>Qt(Me[e],t,[n,l])))))}if(!l){let t;de(o[4],((n,l)=>{let o;de(n,((n,s)=>{let r;de(n,(([n,i],a)=>{i!==n&&($e(De[e],[l,s,a],i,n,Ot),t=o=r=1)})),r&&$e(xe[e],[l,s],Ot)})),o&&$e(_[e],[l],Ot)})),t&&$e(X[e],void 0,Ot)}}},Nt=e=>{const t=re(Qe[e]),n=re(ze[e])&&re(je[e]);if(!t||!n){const l=e?[Re(m),Re(V)]:[m,V];if(t||Qt(Qe[e],l[0]),!n){let t;de(l[1],(([n,l],o)=>{l!==n&&($e(ze[e],[o],l,n,Ft),t=1)})),t&&$e(je[e],void 0,Ft)}}},Wt=(e,...t)=>(vn((()=>e(...z(t,p)))),gn),Bt=()=>[Se(b,((e,t)=>-1===he(d,t)?null:Se(e,((e,n)=>-1===he(he(y,t),n)?null:Se(e,(([,e])=>null!=e?e:null),((e,t)=>Ze(t)))),le)),le),Se(V,(([,e])=>null!=e?e:null),((e,t)=>Ze(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Ie(b,Ye,Ze),invalidCells:Ie(D),changedValues:Se(V,Ye,Ze),invalidValues:Se(J),changedTableIds:Se(d),changedRowIds:we(y),changedCellIds:Ie(C),changedValueIds:Se(m)}),qt=()=>Ie(K),Gt=()=>ve(K),Ht=e=>ve(he(K,p(e))),Kt=(e,t,n,l=0,o)=>{return z(q(j((s=he(K,p(e)),r=(e,n)=>[E(t)?n:he(e,p(t)),n],z([...null!=(i=null==s?void 0:s.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Pe(e,t)*(n?-1:1))),l,E(o)?o:l+o),(([,e])=>e));var s,r,i},Ut=(e,t)=>ve(he(he(K,p(e)),p(t))),Xt=(e,t,n)=>he(he(he(K,p(e)),p(t)),p(n)),Yt=()=>Se(U),Zt=()=>ve(U),_t=e=>he(U,p(e)),en=e=>Wt((()=>(e=>tt(e,Ke,Jt))(e)?ht(e):0)),tn=e=>Wt((()=>rt(e)?wt(e):0)),nn=e=>{try{vt(et(e))}catch(e){}return gn},ln=t=>Wt((()=>{if((e=tt(t,(e=>tt(e,He))))&&(ct(t),!re(K))){const e=qt();sn(),en(e)}})),on=e=>Wt((()=>{if(t=(e=>tt(e,He))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),sn=()=>Wt((()=>ht({}))),rn=e=>Wt((e=>se(K,e)?pt(e):0),e),an=(e,t)=>Wt(((e,t)=>k(he(K,e),(n=>se(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Wt((()=>wt({}))),cn=()=>Wt((()=>{ct({}),e=!1})),un=()=>Wt((()=>{ut({}),t=!1})),vn=(e,t)=>{if(-1!=s){hn();const n=e();return fn(t),n}},hn=()=>(-1!=s&&s++,1==s&&$e(Ne,void 0,Bt,$t),gn),fn=e=>(s>0&&(s--,0==s&&(n=!re(b),l=!re(V),s=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Bt,$t))&&(de(b,((e,t)=>de(e,((e,n)=>de(e,(([e],l)=>me(gn,t,n,l,e))))))),de(V,(([e],t)=>Ve(gn,t,e))),n=l=!1),$e(We[0],void 0,Bt,$t),s=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),$e(We[1],void 0,Bt,$t),s=0,n=l=!1,Q([d,u,y,C,b,D,m,V,J],ae))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>we(he(K,p(e))),getTableCellIds:e=>ve(he(H,p(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Se(he(he(K,p(e)),p(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!re(K),hasTable:e=>se(K,p(e)),hasTableCell:(e,t)=>se(he(H,p(e)),p(t)),hasRow:(e,t)=>se(he(K,p(e)),p(t)),hasCell:(e,t,n)=>se(he(he(K,p(e)),p(t)),p(n)),hasValues:()=>!re(U),hasValue:e=>se(U,p(e)),getTablesJson:()=>_e(K),getValuesJson:()=>_e(U),getJson:()=>_e([K,U]),getTablesSchemaJson:()=>_e(O),getValuesSchemaJson:()=>_e(N),getSchemaJson:()=>_e([O,N]),setContent:([e,t])=>Wt((()=>{(le(e)?sn:en)(e),(le(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Wt((e=>Ke(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Wt(((e,t)=>ot(e,t,n)?gt(e,Tt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return ot(e,l,t)&&(e=p(e),gt(e,Tt(e),l=Rt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Wt(((e,t)=>{if(ot(e,t,n,1)){const l=Tt(e);ne(n,((n,o)=>yt(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>Wt(((e,t,n)=>k(st(e,t,n,M(l)?l(Xt(e,t,n)):l),(l=>yt(e,Tt(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Wt((()=>rt(e,1)?ne(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>k(it(e,M(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{ne(e[0],((e,t)=>E(e)?rn(t):ne(e,((e,n)=>E(e)?an(t,n):ne(e,((e,l)=>me(gn,t,n,l,e))))))),ne(e[1],((e,t)=>Ve(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{St(et(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=et(e);vt(t),St(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:on,setSchema:(e,t)=>Wt((()=>{ln(e),on(t)})),delTables:sn,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Wt(((e,t,n)=>k(he(K,e),(o=>k(he(o,t),(s=>se(s,n)?bt(e,o,t,s,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Wt((e=>se(U,e)?mt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Wt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>de(K,((t,n)=>e(n,(e=>de(t,((t,n)=>e(n,(e=>fe(t,e))))))))),forEachTableCell:(e,t)=>fe(he(H,p(e)),t),forEachRow:(e,t)=>de(he(K,p(e)),((e,n)=>t(n,(t=>fe(e,t))))),forEachCell:(e,t,n)=>fe(he(he(K,p(e)),p(t)),n),forEachValue:e=>fe(U,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let i=Kt(e,t,n,l,o);return Be((()=>{const r=Kt(e,t,n,l,o);F(r,i)||(i=r,s(gn,e,t,n,l,o,i))}),Ce[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>Be(e,Ne),addWillFinishTransactionListener:e=>Be(e,We[0]),addDidFinishTransactionListener:e=>Be(e,We[1]),callListener:e=>(Ge(e),gn),delListener:e=>(qe(e),gn),getListenerStats:()=>({}),createStore:lt};return ne({[h]:[0,X],[f]:[0,Y],[v]:[1,_,[Gt]],[v+w]:[1,oe,[Gt]],[L]:[1,ie,[Gt]],[g]:[2,xe,[Gt,Ht]],[w]:[2,Me,[Gt,Ht]],[S]:[3,De,[Gt,Ht,Ut],e=>Ue(Xt(...e))],InvalidCell:[3,Je],[R]:[0,je],[T]:[0,Qe],[I]:[1,ze,[Zt],e=>Ue(_t(e[0]))],InvalidValue:[1,Fe]},(([e,t,n,l],o)=>{gn[c+o+a]=(...o)=>Be(o[e],t[o[e+1]?1:0],e>0?q(o,0,e):void 0,n,l)})),Z(gn)};export{Fe as createCheckpoints,Be as createCustomPersister,je as createIndexes,Ne as createMetrics,He as createQueries,Ke as createRelationships,lt as createStore,Pe as defaultSorter};
|
|
1
|
+
const e=e=>typeof e,t="",n=e(t),l=e(!0),o=e(0),s=e(e),r="type",i="default",a="Listener",d="Result",u="add",c="Ids",v="Table",h=v+"s",f=v+c,g="Row",L=g+c,y="Sorted"+g+c,S="Cell",w=S+c,I="Value",R=I+"s",T=I+c,p=e=>t+e,C=Math.max,b=Math.min,m=isFinite,V=(e,t)=>e instanceof t,E=e=>null==e,k=(e,t,n)=>E(e)?null==n?void 0:n():t(e),x=e=>e==n||e==l,M=t=>e(t)==s,D=e=>Array.isArray(e),J=()=>{},A=(e,t)=>e.includes(t),O=(e,t)=>e.every(t),F=(e,t)=>W(e)===W(t)&&O(e,((e,n)=>t[n]===e)),P=(e,t)=>O(e,((n,l)=>0==l||t(e[l-1],n)<=0)),j=(e,t)=>e.sort(t),Q=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),N=e=>$(e,((e,t)=>e+t),0),W=e=>e.length,B=e=>0==W(e),$=(e,t,n)=>e.reduce(t,n),q=(e,t,n)=>e.slice(t,n),G=(e,...t)=>e.push(...t),H=e=>e.pop(),K=e=>e.shift(),U=Object,X=U.keys,Y=U.isFrozen,Z=U.freeze,_=e=>V(e,U)&&e.constructor==U,ee=(e,t)=>!E(((e,t)=>k(e,(e=>e[t])))(e,t)),te=(e,t)=>(delete e[t],e),ne=(e,t)=>z(U.entries(e),(([e,n])=>t(n,e))),le=e=>_(e)&&0==(e=>W(X(e)))(e),oe=e=>e.size,se=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},re=e=>E(e)||0==oe(e),ie=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ae=e=>e.clear(),de=(e,t)=>null==e?void 0:e.forEach(t),ue=(e,t)=>null==e?void 0:e.delete(t),ce=e=>new Map(e),ve=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},he=(e,t)=>null==e?void 0:e.get(t),fe=(e,t)=>de(e,((e,n)=>t(n,e))),ge=(e,t,n)=>E(n)?(ue(e,t),e):null==e?void 0:e.set(t,n),Le=(e,t,n)=>(se(e,t)||ge(e,t,n()),he(e,t)),ye=(e,t,n,l=ge)=>(ne(t,((t,l)=>n(e,l,t))),fe(e,(n=>ee(t,n)?0:l(e,n))),e),Se=(e,t,n)=>{const l={};return de(e,((e,o)=>{const s=t?t(e,o):e;!(null==n?void 0:n(s,e))&&(l[o]=s)})),l},we=(e,t,n)=>Se(e,(e=>Se(e,t,n)),le),Ie=(e,t,n)=>Se(e,(e=>we(e,t,n)),le),Re=(e,t)=>{const n=ce();return de(e,((e,l)=>{var o;return n.set(l,null!=(o=null==t?void 0:t(e))?o:e)})),n},Te=e=>Re(e,Re),pe=e=>Re(e,Te),Ce=(e,t,n,l,o=0)=>k((n?Le:he)(e,t[o],o>W(t)-2?n:ce),(s=>{if(o>W(t)-2)return(null==l?void 0:l(s))&&ge(e,t[o]),s;const r=Ce(s,t,n,l,o+1);return re(s)&&ge(e,t[o]),r})),be=t=>{const n=e(t);return x(n)||n==o&&m(t)?n:void 0},me=(e,t,n,l,o)=>E(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),Ve=(e,t,n)=>E(n)?e.delValue(t):e.setValue(t,n),Ee=e=>new Set(D(e)||E(e)?e:[e]),ke=(e,t)=>null==e?void 0:e.add(t),xe=(e,t,n)=>{const l=e.hasRow,o=ce(),s=ce(),r=ce(),i=ce(),a=ce(),d=(t,n,...l)=>{const o=Le(a,t,Ee);return Q(l,(t=>ke(o,t)&&n&&e.callListener(t))),l},u=(t,...n)=>k(he(a,t),(l=>{Q(B(n)?ie(l):n,(t=>{e.delListener(t),ue(l,t)})),re(l)&&ge(a,t)})),c=(e,n)=>{ge(o,e,n),se(s,e)||(ge(s,e,t()),ge(r,e,ce()),ge(i,e,ce()))},v=e=>{ge(o,e),ge(s,e),ge(r,e),ge(i,e),u(e)};return[()=>e,()=>ve(o),e=>fe(s,e),e=>se(s,e),e=>he(o,e),e=>he(s,e),(e,t)=>ge(s,e,t),c,(t,o,s,a,v)=>{c(t,o);const h=ce(),f=ce(),g=he(r,t),L=he(i,t),y=t=>{const s=n=>e.getCell(o,t,n),r=he(g,t),i=l(o,t)?n(a(s,t)):void 0;if(r===i||D(r)&&D(i)&&F(r,i)||ge(h,t,[r,i]),!E(v)){const e=he(L,t),n=l(o,t)?v(s,t):void 0;e!=n&&ge(f,t,n)}},S=e=>{s((()=>{de(h,(([,e],t)=>ge(g,t,e))),de(f,((e,t)=>ge(L,t,e)))}),h,f,g,L,e),ae(h),ae(f)};fe(g,y),e.hasTable(o)&&Q(e.getRowIds(o),(e=>{se(g,e)||y(e)})),S(!0),u(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>y(n))),e.addTableListener(o,(()=>S())))},v,()=>fe(a,v),d,u]},Me=(l,o)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=o?o:t,De=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Je=/^\d+$/,Ae=()=>{const e=[];let n=0;return[l=>{var o;return null!=(o=l?K(e):null)?o:t+n++},t=>{Je.test(t)&&W(e)<1e3&&G(e,t)}]},Oe=e=>{let n;const[l,o]=Ae(),s=ce();return[(o,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const u=l(1);return ge(s,u,[o,r,i,a,d]),ke(Ce(r,null!=i?i:[t],Ee),u),u},(e,l,...o)=>Q(((e,n=[t])=>{const l=[],o=(e,t)=>t==W(n)?G(l,e):null===n[t]?de(e,(e=>o(e,t+1))):Q([n[t],null],(n=>o(he(e,n),t+1)));return o(e,0),l})(e,l),(e=>de(e,(e=>he(s,e)[0](n,...null!=l?l:[],...o))))),e=>k(he(s,e),(([,n,l])=>(Ce(n,null!=l?l:[t],void 0,(t=>(ue(t,e),re(t)?1:0))),ge(s,e),o(e),l))),e=>k(he(s,e),(([e,,t=[],l,o])=>{const s=(...r)=>{var i,a;const d=W(r);d==W(t)?e(n,...r,...o(r)):E(t[d])?Q(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>s(...r,e))):s(...r,t[d])};s()}))]},Fe=De((e=>{let n,l,o,s=100,r=ce(),i=ce(),a=1;const d=ce(),u=ce(),[c,v,h]=Oe((()=>F)),f=ce(),g=ce(),L=[],y=[],S=(t,n)=>{a=0,e.transaction((()=>{const[l,o]=he(f,n);de(l,((n,l)=>de(n,((n,o)=>de(n,((n,s)=>me(e,l,o,s,n[t]))))))),de(o,((n,l)=>Ve(e,l,n[t])))})),a=1},w=e=>{ge(f,e),ge(g,e),v(u,[e])},I=(e,t)=>Q(((e,t)=>e.splice(0,t))(e,null!=t?t:W(e)),w),R=()=>I(L,W(L)-s),T=()=>k(n,(()=>{G(L,n),R(),I(y),n=void 0,o=1})),p=()=>{n=H(L),o=1},C=e.addCellListener(null,null,null,((e,t,n,l,o,s)=>{if(a){T();const e=Le(r,t,ce),i=Le(e,n,ce),a=Le(i,l,(()=>[s,void 0]));a[1]=o,a[0]===o&&re(ge(i,l))&&re(ge(e,n))&&re(ge(r,t))&&p(),M()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){T();const e=Le(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&re(ge(i,t))&&p(),M()}})),m=(e="")=>(E(n)&&(n=t+l++,ge(f,n,[r,i]),J(n,e),r=ce(),i=ce(),o=1),n),V=()=>{B(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),S(0,n),n=H(L),o=1)},x=()=>{B(y)||(G(L,n),n=K(y),S(1,n),o=1)},M=()=>{o&&(v(d),o=0)},D=e=>{const t=m(e);return M(),t},J=(e,t)=>(O(e)&&he(g,e)!==t&&(ge(g,e,t),v(u,[e])),F),O=e=>se(f,e),F={setSize:e=>(s=e,R(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>fe(g,e),hasCheckpoint:O,getCheckpoint:e=>he(g,e),goBackward:()=>(V(),M(),F),goForward:()=>(x(),M(),F),goTo:e=>{const t=A(L,e)?V:A(y,e)?x:null;for(;!E(t)&&e!=n;)t();return M(),F},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),F),clear:()=>(I(L),I(y),E(n)||w(n),n=void 0,l=0,D(),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return Z(F.clear())})),Pe=(e,t)=>e<t?-1:1,je=De((e=>{const n=ce(),l=ce(),[o,s,r,i,a,d,u,,c,v,h]=xe(e,ce,(e=>E(e)?t:D(e)?z(e,p):p(e))),[f,g,L]=Oe((()=>S)),y=(t,n,l)=>{const o=a(t);de(l,((t,l)=>n(l,(n=>de(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},S={setIndexDefinition:(e,t,o,s,r,i=Pe)=>{const a=E(r)?void 0:([e],[t])=>r(e,t);return c(e,t,((t,o,r,c,v,h)=>{let f=0;const L=Ee(),y=Ee(),S=d(e);if(de(o,(([e,t],n)=>{const l=Ee(e),o=Ee(t);de(l,(e=>ue(o,e)?ue(l,e):0)),de(l,(e=>{ke(L,e),k(he(S,e),(t=>{ue(t,n),re(t)&&(ge(S,e),f=1)}))})),de(o,(e=>{ke(L,e),se(S,e)||(ge(S,e,Ee()),f=1),ke(he(S,e),n),E(s)||ke(y,e)}))})),t(),re(v)||(h?fe(S,(e=>ke(y,e))):fe(r,(e=>k(he(c,e),(e=>ke(y,e))))),de(y,(e=>{const t=(t,n)=>i(he(v,t),he(v,n),e),n=[...he(S,e)];P(n,t)||(ge(S,e,Ee(j(n,t))),ke(L,e))}))),(f||h)&&!E(a)){const t=[...S];P(t,a)||(u(e,ce(j(t,a))),f=1)}f&&g(n,[e]),de(L,(t=>g(l,[e,t])))}),Me(o),k(s,Me)),S},delIndexDefinition:e=>(v(e),S),getStore:o,getIndexIds:s,forEachIndex:e=>r(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>se(d(e),t),getTableId:a,getSliceIds:e=>ve(d(e)),getSliceRowIds:(e,t)=>ie(he(d(e),t)),addSliceIdsListener:(e,t)=>f(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),S),destroy:h,getListenerStats:()=>({})};return Z(S)})),Qe=ce([["avg",[(e,t)=>N(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:C(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>N(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),ze=(e,t,n,l,o,s=!1)=>{if(re(n))return;const[r,i,a,d]=o;return s||(s=E(e)),de(l,(([n,l])=>{s||(e=E(n)?null==i?void 0:i(e,l,t++):E(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=E(e)))})),s?r(ie(n),oe(n)):e},Ne=De((e=>{const n=ce(),[l,o,s,r,i,a,d,,u,c,v]=xe(e,J,(e=>isNaN(e)||E(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,f,g]=Oe((()=>L)),L={setMetricDefinition:(e,t,l,o,s,r,i)=>{var c;const v=M(l)?[l,s,r,i]:null!=(c=he(Qe,l))?c:he(Qe,"sum");return u(e,t,((t,l,o,s,r,i)=>{const u=a(e),c=oe(s);i||(i=E(u)),t();let h=ze(u,c,s,l,v,i);m(h)||(h=void 0),h!=u&&(d(e,h),f(n,[e],h,u))}),Me(o,1)),L},delMetricDefinition:e=>(c(e),L),getStore:l,getMetricIds:o,forEachMetric:s,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return Z(L)}));var We=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{i(n.next(e))}catch(e){o(e)}},r=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);i((n=n.apply(e,t)).next())}));const Be=ce(),$e=ce(),qe=(e,t,n,l,o,s,r=[])=>{let i,a,d,u=0,c=0;Le(Be,r,(()=>0)),Le($e,r,(()=>[]));const v=e=>We(void 0,null,(function*(){return 2!=u&&(u=1,yield h.schedule((()=>We(void 0,null,(function*(){yield e(),u=0}))))),h})),h={load:(n,l)=>We(void 0,null,(function*(){return yield v((()=>We(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>We(void 0,[...n],(function*(n={},o={}){return h.stopAutoLoad(),yield h.load(n,o),c=1,d=l(((n,l)=>We(void 0,null,(function*(){if(l){const t=l();yield v((()=>We(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield v((()=>We(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==n?void 0:n())?l:yield t())}catch(e){null==s||s(e)}}))))})))),h})),stopAutoLoad:()=>(c&&(o(d),d=void 0,c=0),h),save:t=>We(void 0,null,(function*(){return 1!=u&&(u=2,yield h.schedule((()=>We(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==s||s(e)}u=0}))))),h})),startAutoSave:()=>We(void 0,null,(function*(){return yield h.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();le(n)&&le(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(k(i,e.delListener),h),schedule:(...e)=>We(void 0,null,(function*(){return G(he($e,r),...e),yield We(void 0,null,(function*(){if(!he(Be,r)){for(ge(Be,r,1);!E(a=K(he($e,r)));)try{yield a()}catch(e){null==s||s(e)}ge(Be,r,0)}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Z(h)};var Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=De((e=>{const n=e.createStore,[l,o,s,r,i,,,c,,h,f,I,R]=xe(e,(()=>!0),J),T=n(),p=n(),C=ce(),b=(e,t,...n)=>Q(n,(n=>ke(Le(Le(C,t,ce),e,Ee),n))),m=e=>{k(he(C,e),(e=>{fe(e,((e,t)=>de(t,(t=>e.delListener(t))))),ae(e)})),Q([p,T],(t=>t.delTable(e)))},V=(e,t,n)=>b(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,l,o)=>{c(n,l),m(n);const s=[],r=[[null,[l,null,null,[],ce()]]],i=[],a=[],d=[];o({select:(e,n)=>{const l=M(e)?[W(s)+t,e]:[E(n)?e:n,t=>t(e,n)];return G(s,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=E(n)||M(t)?null:t,o=E(l)?t:n,s=[e,[e,l,M(o)?o:e=>e(o),[],ce()]];return G(r,s),{as:e=>s[0]=e}},where:(e,t,n)=>G(i,M(e)?e:E(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,M(t)?[t,n,l,o]:null!=(s=he(Qe,t))?s:[(e,t)=>t]]];return G(a,r),{as:e=>r[0]=e}},having:(e,t)=>G(d,M(e)?e:n=>n(e)===t)});const u=ce(s);if(re(u))return x;const v=ce(r);fe(v,((e,[,t])=>k(he(v,t),(({3:t})=>E(e)?0:G(t,e)))));const h=ce(a);let f=T;if(re(h)&&B(d))f=p;else{V(n,f,p);const e=ce();fe(h,((t,[n,l])=>ke(Le(e,n,Ee),[t,l])));const t=Ee();fe(u,(n=>se(e,n)?0:ke(t,n)));const l=ce(),o=(t,l,o,s)=>k(t,(([r,i,a,u])=>{fe(l,((t,[n])=>{const l=Le(r,t,ce),i=he(l,o),a=s?void 0:n;if(i!==a){const n=Ee([[i,a]]),s=oe(l);ge(l,o,a),de(he(e,t),(([e,t])=>{const o=ze(u[e],s,l,n,t);u[e]=E(be(o))?null:o}))}})),re(i)||!O(d,(e=>e((e=>u[e]))))?p.delRow(n,a):E(a)?t[2]=p.addRow(n,u):p.setRow(n,a,u)}));b(f,n,f.addRowListener(n,null,((s,r,i,a)=>{const d=[],u=[],c=ce(),v=f.hasRow(n,i);let h=!v;de(t,(e=>{const[t,l,o]=a(n,i,e);G(d,l),G(u,o),h||(h=t)})),fe(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&ge(c,e,[l])})),h&&o(Ce(l,d,void 0,(([,e])=>(ue(e,i),re(e)))),c,i,1),v&&o(Ce(l,u,(()=>{const e={};return de(t,(t=>e[t]=f.getCell(n,i,t))),[ce(),Ee(),void 0,e]}),(([,e])=>{ke(e,i)})),c,i)})))}V(n,e,f);const g=(t,o,s,r)=>{const a=t=>e.getCell(o,s,t);Q(r,(l=>{var o;const[s,,r,i,d]=he(v,l),u=null==r?void 0:r(a,t),[c,h]=null!=(o=he(d,t))?o:[];u!=c&&(E(h)||R(n,h),ge(d,t,E(u)?null:[u,...I(n,1,e.addRowListener(s,u,(()=>g(t,s,u,i))))]))})),(t=>{const o=(n,o)=>{var s,r,i;return e.getCell(...E(o)?[l,t,n]:n===l?[l,t,o]:[null==(s=he(v,n))?void 0:s[0],null==(i=he(null==(r=he(v,n))?void 0:r[4],t))?void 0:i[0],o])};f.transaction((()=>O(i,(e=>e(o)))?fe(u,((e,l)=>me(f,n,t,e,l(o,t)))):f.delRow(n,t)))})(t)},{3:L}=he(v,null);return f.transaction((()=>I(n,1,e.addRowListener(l,null,((t,o,s)=>{e.hasRow(l,s)?g(s,l,s,L):(f.delRow(n,s),de(v,(({4:e})=>k(he(e,s),(([,t])=>{R(n,t),ge(e,s)})))))}))))),x},delQueryDefinition:e=>(m(e),h(e),x),getStore:l,getQueryIds:o,forEachQuery:s,hasQuery:r,getTableId:i,delListener:e=>(p.delListener(e),x),destroy:f,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)He.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ge)for(var l of Ge(e))t.indexOf(l)<0&&Ke.call(e,l)&&(n[l]=e[l]);return n})(p.getListenerStats(),["tables","tableIds","transaction"])};return ne({[v]:[1,1],[L]:[0,1],[y]:[0,5],[g]:[1,2],[w]:[0,2],[S]:[1,3]},(([e,t],n)=>{Q(e?["get","has","forEach"]:["get"],(e=>x[e+d+n]=(...t)=>p[e+n](...t))),x[u+d+n+a]=(...e)=>p[u+n+a](...q(e,0,t),((n,...l)=>e[t](x,...l)))})),Z(x)})),Xe=De((e=>{const n=ce(),l=ce(),o=ce(),s=ce(),[r,i,a,d,u,c,,,v,h,f]=xe(e,(()=>[ce(),ce(),ce(),ce()]),(e=>E(e)?void 0:e+t)),[g,L,y]=Oe((()=>R)),S=(e,t,n)=>k(c(e),(([l,,o])=>{if(!se(o,t)){const s=Ee();if(u(e)!=I(e))ke(s,t);else{let e=t;for(;!E(e)&&!se(s,e);)ke(s,e),e=he(l,e)}if(n)return s;ge(o,t,s)}return he(o,t)})),w=(e,t)=>k(c(e),(([,,e])=>ge(e,t))),I=e=>he(n,e),R={setRelationshipDefinition:(e,t,r,i)=>(ge(n,e,r),v(e,t,((t,n)=>{const r=Ee(),i=Ee(),a=Ee(),[d,u]=c(e);de(n,(([t,n],l)=>{E(t)||(ke(i,t),k(he(u,t),(e=>{ue(e,l),re(e)&&ge(u,t)}))),E(n)||(ke(i,n),se(u,n)||ge(u,n,Ee()),ke(he(u,n),l)),ke(r,l),ge(d,l,n),fe(he(s,e),(t=>{se(S(e,t),l)&&ke(a,t)}))})),t(),de(r,(t=>L(l,[e,t]))),de(i,(t=>L(o,[e,t]))),de(a,(t=>{w(e,t),L(s,[e,t])}))}),Me(i)),R),delRelationshipDefinition:e=>(ge(n,e),h(e),R),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(u(n),t))))),hasRelationship:d,getLocalTableId:u,getRemoteTableId:I,getRemoteRowId:(e,t)=>{var n;return he(null==(n=c(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ie(he(null==(n=c(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>E(c(e))?[t]:ie(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(S(e,t),g(n,s,[e,t])),delListener:e=>(w(...y(e)),R),destroy:f,getListenerStats:()=>({})};return Z(R)})),Ye=e=>[e,e],Ze=()=>[ce(),ce()],_e=e=>[...e],et=([e,t])=>e===t,tt=e=>JSON.stringify(e,((e,t)=>V(t,Map)?U.fromEntries([...t]):t)),nt=JSON.parse,lt=(e,t,n)=>E(e)||!_(e)||le(e)||Y(e)?(null==n||n(),!1):(ne(e,((n,l)=>{t(n,l)||te(e,l)})),!le(e)),ot=(e,t,n)=>ge(e,t,he(e,t)==-n?void 0:n),st=()=>{let e,t,n=!1,l=!1,s=0;const d=ce(),c=ce(),y=ce(),C=ce(),b=ce(),m=ce(),V=ce(),D=ce(),J=ce(),O=ce(),P=ce(),N=ce(),W=ce(),B=Ee(),$=ce(),H=ce(),K=ce(),U=ce(),X=Ze(),Y=Ze(),_=Ze(),oe=Ze(),ie=Ze(),Ce=Ze(),xe=Ze(),Me=Ze(),De=Ze(),Je=Ze(),Fe=Ze(),je=Ze(),Qe=Ze(),ze=Ze(),Ne=ce(),We=Ze(),[Be,$e,qe,Ge]=Oe((()=>gn)),He=e=>{if(!lt(e,((e,t)=>A([r,i],t))))return!1;const t=e[r];return!(!x(t)&&t!=o||(be(e[i])!=t&&te(e,i),0))},Ke=(t,n)=>(!e||se(O,n)||Jt(n))&<(t,((e,t)=>Ue(n,t,e)),(()=>Jt(n))),Ue=(e,t,n,l)=>lt(l?n:at(n,e,t),((l,o)=>k(Xe(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>Jt(e,t))),Xe=(t,n,l,o)=>e?k(he(he(O,t),l),(e=>be(o)!=e[r]?Jt(t,n,l,o,e[i]):o),(()=>Jt(t,n,l,o))):E(be(o))?Jt(t,n,l,o):o,rt=(e,t)=>lt(t?e:dt(e),((t,n)=>k(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?k(he(N,e),(t=>be(n)!=t[r]?At(e,n,t[i]):n),(()=>At(e,n))):E(be(n))?At(e,n):n,at=(e,t,n)=>(k(he(P,t),(([l,o])=>{de(l,((t,n)=>{ee(e,n)||(e[n]=t)})),de(o,(l=>{ee(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(de(W,((t,n)=>{ee(e,n)||(e[n]=t)})),de(B,(t=>{ee(e,t)||At(t)}))),e),ut=e=>ye(O,e,((e,t,n)=>{const l=ce(),o=Ee();ye(Le(O,t,ce),n,((e,t,n)=>{ge(e,t,n),k(n[i],(e=>ge(l,t,e)),(()=>ke(o,t)))})),ge(P,t,[l,o])}),((e,t)=>{ge(O,t),ge(P,t)})),ct=e=>ye(N,e,((e,t,n)=>{ge(N,t,n),k(n[i],(e=>ge(W,t,e)),(()=>ke(B,t)))}),((e,t)=>{ge(N,t),ge(W,t),ue(B,t)})),vt=e=>le(e)?sn():en(e),ht=e=>ye(K,e,((e,t,n)=>ft(t,n)),((e,t)=>pt(t))),ft=(e,t)=>ye(Le(K,e,(()=>(Vt(e,1),ge($,e,Ae()),ge(H,e,ce()),ce()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,o)=>ye(Le(t,n,(()=>(Et(e,n,1),ce()))),l,((t,l,o)=>Lt(e,n,t,l,o)),((l,s)=>bt(e,t,n,l,s,o))),Lt=(e,t,n,l,o)=>{se(n,l)||kt(e,t,l,1);const s=he(n,l);o!==s&&(xt(e,t,l,s,o),ge(n,l,o))},yt=(e,t,n,l,o)=>k(he(t,n),(t=>Lt(e,n,t,l,o)),(()=>gt(e,t,n,at({[l]:o},e,n)))),St=e=>le(e)?dn():tn(e),wt=e=>ye(U,e,((e,t,n)=>It(t,n)),((e,t)=>mt(t))),It=(e,t)=>{se(U,e)||Mt(e,1);const n=he(U,e);t!==n&&(Dt(e,n,t),ge(U,e,t))},Rt=(e,t)=>{const[n]=he($,e),l=n(t);return se(he(K,e),l)?Rt(e,t):l},Tt=e=>{var t;return null!=(t=he(K,e))?t:ft(e,{})},pt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=he($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,o,s)=>{var r;const i=he(null==(r=he(P,e))?void 0:r[0],o);if(!E(i)&&!s)return Lt(e,n,l,o,i);const a=t=>{xt(e,n,t,he(l,t)),kt(e,n,t,-1),ge(l,t)};E(i)?a(o):fe(l,a),re(l)&&(Et(e,n,-1),re(ge(t,n))&&(Vt(e,-1),ge(K,e),ge($,e),ge(H,e)))},mt=e=>{const t=he(W,e);if(!E(t))return It(e,t);Dt(e,he(U,e)),Mt(e,-1),ge(U,e)},Vt=(e,t)=>ot(d,e,t),Et=(e,t,n)=>ot(Le(y,e,ce),t,n),kt=(e,t,n,l)=>{var o;const s=he(H,e),r=null!=(o=he(s,n))?o:0;(0==r&&1==l||1==r&&-1==l)&&ot(Le(c,e,ce),n,l),ge(s,n,r!=-l?r+l:null),ot(Le(Le(C,e,ce),t,ce),n,l)},xt=(e,t,n,l,o)=>Le(Le(Le(b,e,ce),t,ce),n,(()=>[l,0]))[1]=o,Mt=(e,t)=>ot(m,e,t),Dt=(e,t,n)=>Le(V,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,o)=>(G(Le(Le(Le(D,e,ce),t,ce),n,(()=>[])),l),o),At=(e,t,n)=>(G(Le(J,e,(()=>[])),t),n),Ot=(e,t,n)=>k(he(he(he(b,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(Xt(e,t,n))])),Ft=e=>k(he(V,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(_t(e))])),Pt=e=>re(D)||re(Je[e])?0:de(e?pe(D):D,((t,n)=>de(t,((t,l)=>de(t,((t,o)=>$e(Je[e],[n,l,o],t))))))),jt=e=>re(J)||re(Fe[e])?0:de(e?Re(J):J,((t,n)=>$e(Fe[e],[n],t))),Qt=(e,t,n)=>{if(!re(t))return $e(e,n,(()=>Se(t))),1},zt=e=>{const t=re(Ce[e]),n=re(Me[e])&&re(oe[e])&&re(ie[e])&&t&&re(Y[e]),l=re(De[e])&&re(xe[e])&&re(_[e])&&re(X[e]);if(!n||!l){const o=e?[Re(d),Te(c),Te(y),pe(C),pe(b)]:[d,c,y,C,b];if(!n){Qt(Y[e],o[0]),de(o[1],((t,n)=>Qt(oe[e],t,[n])));const n=Ee();de(o[2],((l,o)=>{Qt(ie[e],l,[o])&&!t&&($e(Ce[e],[o,null]),ke(n,o))})),t||de(o[4],((t,l)=>{if(!se(n,l)){const n=Ee();de(t,(e=>de(e,(([t,l],o)=>l!==t?ke(n,o):ue(e,o))))),de(n,(t=>$e(Ce[e],[l,t])))}})),de(o[3],((t,n)=>de(t,((t,l)=>Qt(Me[e],t,[n,l])))))}if(!l){let t;de(o[4],((n,l)=>{let o;de(n,((n,s)=>{let r;de(n,(([n,i],a)=>{i!==n&&($e(De[e],[l,s,a],i,n,Ot),t=o=r=1)})),r&&$e(xe[e],[l,s],Ot)})),o&&$e(_[e],[l],Ot)})),t&&$e(X[e],void 0,Ot)}}},Nt=e=>{const t=re(Qe[e]),n=re(ze[e])&&re(je[e]);if(!t||!n){const l=e?[Re(m),Re(V)]:[m,V];if(t||Qt(Qe[e],l[0]),!n){let t;de(l[1],(([n,l],o)=>{l!==n&&($e(ze[e],[o],l,n,Ft),t=1)})),t&&$e(je[e],void 0,Ft)}}},Wt=(e,...t)=>(vn((()=>e(...z(t,p)))),gn),Bt=()=>[Se(b,((e,t)=>-1===he(d,t)?null:Se(e,((e,n)=>-1===he(he(y,t),n)?null:Se(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),le)),le),Se(V,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Ie(b,_e,et),invalidCells:Ie(D),changedValues:Se(V,_e,et),invalidValues:Se(J),changedTableIds:Se(d),changedRowIds:we(y),changedCellIds:Ie(C),changedValueIds:Se(m)}),qt=()=>Ie(K),Gt=()=>ve(K),Ht=e=>ve(he(K,p(e))),Kt=(e,t,n,l=0,o)=>{return z(q(j((s=he(K,p(e)),r=(e,n)=>[E(t)?n:he(e,p(t)),n],z([...null!=(i=null==s?void 0:s.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Pe(e,t)*(n?-1:1))),l,E(o)?o:l+o),(([,e])=>e));var s,r,i},Ut=(e,t)=>ve(he(he(K,p(e)),p(t))),Xt=(e,t,n)=>he(he(he(K,p(e)),p(t)),p(n)),Yt=()=>Se(U),Zt=()=>ve(U),_t=e=>he(U,p(e)),en=e=>Wt((()=>(e=>lt(e,Ke,Jt))(e)?ht(e):0)),tn=e=>Wt((()=>rt(e)?wt(e):0)),nn=e=>{try{vt(nt(e))}catch(e){}return gn},ln=t=>Wt((()=>{if((e=lt(t,(e=>lt(e,He))))&&(ut(t),!re(K))){const e=qt();sn(),en(e)}})),on=e=>Wt((()=>{if(t=(e=>lt(e,He))(e)){const n=Yt();cn(),dn(),t=!0,ct(e),tn(n)}})),sn=()=>Wt((()=>ht({}))),rn=e=>Wt((e=>se(K,e)?pt(e):0),e),an=(e,t)=>Wt(((e,t)=>k(he(K,e),(n=>se(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Wt((()=>wt({}))),un=()=>Wt((()=>{ut({}),e=!1})),cn=()=>Wt((()=>{ct({}),t=!1})),vn=(e,t)=>{if(-1!=s){hn();const n=e();return fn(t),n}},hn=()=>(-1!=s&&s++,1==s&&$e(Ne,void 0,Bt,$t),gn),fn=e=>(s>0&&(s--,0==s&&(n=!re(b),l=!re(V),s=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Bt,$t))&&(de(b,((e,t)=>de(e,((e,n)=>de(e,(([e],l)=>me(gn,t,n,l,e))))))),de(V,(([e],t)=>Ve(gn,t,e))),n=l=!1),$e(We[0],void 0,Bt,$t),s=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),$e(We[1],void 0,Bt,$t),s=0,n=l=!1,Q([d,c,y,C,b,D,m,V,J],ae))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>we(he(K,p(e))),getTableCellIds:e=>ve(he(H,p(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Se(he(he(K,p(e)),p(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!re(K),hasTable:e=>se(K,p(e)),hasTableCell:(e,t)=>se(he(H,p(e)),p(t)),hasRow:(e,t)=>se(he(K,p(e)),p(t)),hasCell:(e,t,n)=>se(he(he(K,p(e)),p(t)),p(n)),hasValues:()=>!re(U),hasValue:e=>se(U,p(e)),getTablesJson:()=>tt(K),getValuesJson:()=>tt(U),getJson:()=>tt([K,U]),getTablesSchemaJson:()=>tt(O),getValuesSchemaJson:()=>tt(N),getSchemaJson:()=>tt([O,N]),setContent:([e,t])=>Wt((()=>{(le(e)?sn:en)(e),(le(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Wt((e=>Ke(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Wt(((e,t)=>Ue(e,t,n)?gt(e,Tt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return Ue(e,l,t)&&(e=p(e),gt(e,Tt(e),l=Rt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Wt(((e,t)=>{if(Ue(e,t,n,1)){const l=Tt(e);ne(n,((n,o)=>yt(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>Wt(((e,t,n)=>k(Xe(e,t,n,M(l)?l(Xt(e,t,n)):l),(l=>yt(e,Tt(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Wt((()=>rt(e,1)?ne(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>k(it(e,M(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{ne(e[0],((e,t)=>E(e)?rn(t):ne(e,((e,n)=>E(e)?an(t,n):ne(e,((e,l)=>me(gn,t,n,l,e))))))),ne(e[1],((e,t)=>Ve(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{St(nt(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=nt(e);vt(t),St(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:on,setSchema:(e,t)=>Wt((()=>{ln(e),on(t)})),delTables:sn,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Wt(((e,t,n)=>k(he(K,e),(o=>k(he(o,t),(s=>se(s,n)?bt(e,o,t,s,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Wt((e=>se(U,e)?mt(e):0),e),delTablesSchema:un,delValuesSchema:cn,delSchema:()=>Wt((()=>{un(),cn()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>de(K,((t,n)=>e(n,(e=>de(t,((t,n)=>e(n,(e=>fe(t,e))))))))),forEachTableCell:(e,t)=>fe(he(H,p(e)),t),forEachRow:(e,t)=>de(he(K,p(e)),((e,n)=>t(n,(t=>fe(e,t))))),forEachCell:(e,t,n)=>fe(he(he(K,p(e)),p(t)),n),forEachValue:e=>fe(U,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let i=Kt(e,t,n,l,o);return Be((()=>{const r=Kt(e,t,n,l,o);F(r,i)||(i=r,s(gn,e,t,n,l,o,i))}),Ce[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>Be(e,Ne),addWillFinishTransactionListener:e=>Be(e,We[0]),addDidFinishTransactionListener:e=>Be(e,We[1]),callListener:e=>(Ge(e),gn),delListener:e=>(qe(e),gn),getListenerStats:()=>({}),createStore:st};return ne({[h]:[0,X],[f]:[0,Y],[v]:[1,_,[Gt]],[v+w]:[1,oe,[Gt]],[L]:[1,ie,[Gt]],[g]:[2,xe,[Gt,Ht]],[w]:[2,Me,[Gt,Ht]],[S]:[3,De,[Gt,Ht,Ut],e=>Ye(Xt(...e))],InvalidCell:[3,Je],[R]:[0,je],[T]:[0,Qe],[I]:[1,ze,[Zt],e=>Ye(_t(e[0]))],InvalidValue:[1,Fe]},(([e,t,n,l],o)=>{gn[u+o+a]=(...o)=>Be(o[e],t[o[e+1]?1:0],e>0?q(o,0,e):void 0,n,l)})),Z(gn)};export{Fe as createCheckpoints,qe as createCustomPersister,je as createIndexes,Ne as createMetrics,Ue as createQueries,Xe as createRelationships,st as createStore,Pe as defaultSorter};
|
package/lib/es6/tinybase.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,a=(a,e,s)=>t(a)?s?.():e(a),e=Object,s=e.keys,n=e.freeze,o=(t,e)=>a(t,(t=>t[e])),c=(a,e)=>!t(o(a,e)),
|
|
1
|
+
const t=t=>null==t,a=(a,e,s)=>t(a)?s?.():e(a),e=Object,s=e.keys,n=e.freeze,o=(t,e)=>a(t,(t=>t[e])),c=(a,e)=>!t(o(a,e)),r=(t,a)=>(delete t[a],t),i=(t,a)=>((t,a)=>t.map(a))(e.entries(t),(([t,e])=>a(e,t))),d=t=>s(t).length,y=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==d(t),u=t=>new Map(t),h=(t,a)=>t?.get(a),v=(a,e,s)=>{return t(s)?(n=a,o=e,n?.delete(o),a):a?.set(e,s);var n,o},l=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||v(t,a,e()),h(t,a)},w=u(),g=u(),p=(t,a)=>[t[a].t,t[a].v],f=(a,e,s,n)=>{const o=t(e)?a:((t,a,e)=>(c(t,a)||(t[a]={}),t[a]))(a,e);let d;return i(s,((t,a)=>{n(o,a,t)&&(d=1)})),i(o,((t,a)=>{c(s,a)||(r(o,a),d=1)})),!t(e)&&y(o)&&r(a,e),d},A=(e,s,c="tinybase",u)=>(s.change((t=>t[c]={})),((e,s,o,c,r,i,d=[])=>{let u,p,f,A=0,L=0;l(w,d,(()=>0)),l(g,d,(()=>[]));const S=async t=>(2!=A&&(A=1,await C.schedule((async()=>{await t(),A=0}))),C),C={load:async(t,a)=>await S((async()=>{try{e.setContent(await s())}catch{e.setContent([t,a])}})),startAutoLoad:async(t={},a={})=>(C.stopAutoLoad(),await C.load(t,a),L=1,f=c((async(t,a)=>{if(a){const t=a();await S((async()=>e.setTransactionChanges(t)))}else await S((async()=>{try{e.setContent(t?.()??await s())}catch(t){i?.(t)}}))})),C),stopAutoLoad:()=>(L&&(r(f),f=void 0,L=0),C),save:async t=>(1!=A&&(A=2,await C.schedule((async()=>{try{await o(e.getContent,t)}catch(t){i?.(t)}A=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();y(e)&&y(s)||C.save((()=>[e,s]))})),C),stopAutoSave:()=>(a(u,e.delListener),C),schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(h(g,d),...a),await(async()=>{if(!h(w,d)){for(v(w,d,1);!t((a=h(g,d),p=a.shift()));)try{await p()}catch(t){i?.(t)}v(w,d,0)}var a})(),C),getStore:()=>e,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(C)})(e,(async()=>2==d(s.doc[c])?p(s.doc,c):void 0),(async(e,n)=>s.change((s=>((e,s,n,c)=>{((t,a)=>{y(t[a])&&(t[a]={t:{},v:{}})})(e,s);const[d,u]=p(e,s),h=()=>{v=1};let v=1;if(a(c?.(),(([e,s])=>{v=0,i(e,((e,s)=>v?0:t(e)?r(d,s):a(d[s],(s=>i(e,((e,n)=>v?0:t(e)?r(s,n):a(o(s,n),(a=>i(e,((e,s)=>t(e)?r(a,s):a[s]=e))),h)))),h))),i(s,((a,e)=>v?0:t(a)?r(u,e):u[e]=a))})),v){const[t,a]=n();f(d,void 0,t,((t,a,e)=>f(d,a,e,((t,a,e)=>f(t,a,e,((t,a,e)=>{if(o(t,a)!==e)return t[a]=e,1})))))),f(u,void 0,a,((t,a,e)=>{o(u,a)!==e&&(u[a]=e)}))}})(s,c,e,n)))),(t=>{const a=({doc:a})=>t((()=>p(a,c)));return s.on("change",a),a}),(t=>{s.removeListener("change",t)}),u));export{A as createAutomergePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,a)=>t instanceof a,a=t=>null==t,e=Object,s=e.keys,n=e.freeze,o=a=>(a=>t(a,e)&&a.constructor==e)(a)&&0==(t=>s(t).length)(a),r=JSON.parse,c="storage",
|
|
1
|
+
const t=(t,a)=>t instanceof a,a=t=>null==t,e=Object,s=e.keys,n=e.freeze,o=a=>(a=>t(a,e)&&a.constructor==e)(a)&&0==(t=>s(t).length)(a),r=JSON.parse,c=t=>new Map(t),i=(t,a)=>t?.get(a),y=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},u=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||y(t,a,e()),i(t,a)},d=c(),l=c(),w="storage",v=globalThis.window,h=(s,c,h,g)=>((t,e,s,r,c,w,v=[])=>{let h,g,p,S=0,A=0;u(d,v,(()=>0)),u(l,v,(()=>[]));const f=async t=>(2!=S&&(S=1,await L.schedule((async()=>{await t(),S=0}))),L),L={load:async(a,s)=>await f((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(L.stopAutoLoad(),await L.load(a,s),A=1,p=r((async(a,s)=>{if(s){const a=s();await f((async()=>t.setTransactionChanges(a)))}else await f((async()=>{try{t.setContent(a?.()??await e())}catch(t){w?.(t)}}))})),L),stopAutoLoad:()=>(A&&(c(p),p=void 0,A=0),L),save:async a=>(1!=S&&(S=2,await L.schedule((async()=>{try{await s(t.getContent,a)}catch(t){w?.(t)}S=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),h=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();o(e)&&o(s)||L.save((()=>[e,s]))})),L),stopAutoSave:()=>{var e,s;return e=h,s=t.delListener,a(e)||s(e),L},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(i(l,v),...t),await(async()=>{if(!i(d,v)){for(y(d,v,1);!a((t=i(l,v),g=t.shift()));)try{await g()}catch(t){w?.(t)}y(d,v,0)}var t})(),L),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(L)})(s,(async()=>r(h.getItem(c))),(async a=>{return h.setItem(c,(s=a(),JSON.stringify(s,((a,s)=>t(s,Map)?e.fromEntries([...s]):s))));var s}),(t=>{const a=a=>{a.storageArea===h&&a.key===c&&t((()=>r(a.newValue)))};return v.addEventListener(w,a),a}),(t=>v.removeEventListener(w,t)),g),g=(t,a,e)=>h(t,a,localStorage,e),p=(t,a,e)=>h(t,a,sessionStorage,e);export{g as createLocalPersister,p as createSessionPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),o=a=>a.length,r=a=>0==o(a),
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),o=a=>a.length,r=a=>0==o(a),w=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),E=Promise,u=(a,t)=>a instanceof t,d=a=>null==a,T=(a,t,e)=>d(a)?e?.():t(a),v=t=>a(t)==s,m=async a=>E.all(a),A=(a,t)=>a?.has(t)??!1,L=a=>[...a?.values()??[]],p=(a,t)=>a?.delete(t),f=Object,h=f.keys,N=f.freeze,O=(a=[])=>f.fromEntries(a),R=(...a)=>f.assign({},...a),C=(a,t)=>c(f.entries(a),(([a,e])=>t(e,a))),S=a=>f.values(a),D=a=>o(h(a)),I=a=>(a=>u(a,f)&&a.constructor==f)(a)&&0==D(a),g=a=>new Map(a),b=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>c([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>d(e)?(p(a,t),a):a?.set(t,e),_=(a,t,e)=>(A(a,t)||$(a,t,e()),F(a,t)),P=(a,t,e,s=$)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!d(((a,t)=>T(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B=a=>new Set(Array.isArray(a)||d(a)?a:[a]),H=(a,t)=>a?.add(t),W="_",j="_id",x=a=>`"${a.replace(/"/g,'""')}"`,U="FROM pragma_table_",k="WHERE",J=(a,t,s)=>{const n=g();return[async()=>P(n,O(await m(c(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+z(t)+")",t),(async({name:t})=>[t,O(c(await a("SELECT name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(n,t,P(_(n,t,g),e,((a,t,e)=>{e!=F(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(n,t))),async(t,e)=>((a,t)=>!d(F(F(n,a),t)))(t,e)?O(w(c(await a("SELECT*FROM"+x(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!d(a)&&!I(t)))):{},async(t,s,o,l,E,u=!1)=>{const T=B();C(o??{},(a=>c(h(a??{}),(a=>H(T,a)))));const v=L(T);if(!u&&E&&r(v)&&A(n,t))return await a("DROP TABLE"+x(t)),void $(n,t);if(r(v)||A(n,t)){const e=F(n,t),i=B(b(e));await m([...c(v,(async s=>{p(i,s)||(await a(`ALTER TABLE${x(t)}ADD${x(s)}`),$(e,s,""))})),...!u&&l?c(L(i),(async n=>{n!=s&&(await a(`ALTER TABLE${x(t)}DROP${x(n)}`),$(e,n))})):[]])}else await a(`CREATE TABLE${x(t)}(${x(s)} PRIMARY KEY ON CONFLICT REPLACE${i(c(v,(a=>e+x(a))))});`),$(n,t,g([[s,""],...c(v,(a=>[a,""]))]));if(u)d(o)?await a("DELETE FROM"+x(t)+"WHERE 1"):await m(C(o,(async(e,n)=>{d(e)?await a("DELETE FROM"+x(t)+k+x(s)+"=?",[n]):r(v)||await Y(a,t,s,h(e),[n,...S(e)])})));else if(r(v))A(n,t)&&await a("DELETE FROM"+x(t)+"WHERE 1");else{const e=w(b(F(n,t)),(a=>a!=s)),i=[],r=[];C(o??{},((a,t)=>{y(i,t,...c(e,(t=>a?.[t]))),y(r,t)})),await Y(a,t,s,e,i),await a("DELETE FROM"+x(t)+k+x(s)+"NOT IN("+z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Y=async(a,t,s,r,w)=>await a("INSERT INTO"+x(t)+"("+x(s)+i(c(r,(a=>e+x(a))))+")VALUES"+n(`,(?${n(",?",o(r))})`,o(w)/(o(r)+1)).substring(1)+"ON CONFLICT("+x(s)+")DO UPDATE SET"+i(c(r,(a=>x(a)+"=excluded."+x(a))),e),w),z=a=>i(c(a,(()=>"?")),e),G=JSON.parse,K=g(),V=g(),q=(a,t,e,s,n,i,c=[])=>{let o,r,w,l=0,E=0;_(K,c,(()=>0)),_(V,c,(()=>[]));const u=async a=>(2!=l&&(l=1,await v.schedule((async()=>{await a(),l=0}))),v),v={load:async(e,s)=>await u((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),E=1,w=s((async(e,s)=>{if(s){const t=s();await u((async()=>a.setTransactionChanges(t)))}else await u((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(E&&(n(w),w=void 0,E=0),v),save:async t=>(1!=l&&(l=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}l=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),o=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();I(e)&&I(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(T(o,a.delListener),v),schedule:async(...a)=>(y(F(V,c),...a),await(async()=>{if(!F(K,c)){for($(K,c,1);!d((a=F(V,c),r=a.shift()));)try{await r()}catch(a){i?.(a)}$(K,c,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return N(v)},Q="store",X=(a,t,e,s,n,[i],c,o)=>{const[r,w,l,y]=J(t,c,n);return q(a,(async()=>await y((async()=>(await r(),G((await w(i,j))[W]?.[Q]??"null"))))),(async a=>await y((async()=>{var t;await r(),await l(i,j,{[W]:{[Q]:(t=a()??null,JSON.stringify(t,((a,t)=>u(t,Map)?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,o)},Z=(a,t,e,s,n,[i,c,[o,r,l]],y,E)=>{const[u,T,v,A]=J(t,y,n),L=async(a,t)=>await m(M(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await v(e,s,o,n,i,t)}))),p=async(a,t)=>r?await v(l,j,{[W]:a},!0,!0,t):null;return q(a,(async()=>await A((async()=>{await u();const a=await(async()=>O(w(await m(M(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!I(a[1])))))(),t=await(async()=>o?(await T(l,j))[W]:{})();return I(a)&&d(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await u(),d(t)){const[t,e]=a();await L(t),await p(e)}else{const[a,e]=t();await L(a,!0),await p(e,!0)}}))),e,s,n,E)},aa="json",ta="autoLoadIntervalSeconds",ea="rowIdColumnName",sa="tableId",na="tableName",ia={mode:aa,[ta]:1},ca={load:0,save:0,[na]:t+"_values"},oa=(a,t,e,s)=>{const n=g();return C(a,((a,i)=>{const c=l(S(R(t,v(a)?{[e]:a}:a)),0,D(t));d(c[0])||s(i,c[0])||$(n,i,c)})),n},ra="pragma ",wa="data_version",la="schema_version",ya=(a,e,s,n,i,c,o,r)=>{let w,y;const[E,u,d,T]=(a=>{const e=(a=>R(ia,v(a)?{storeTableName:a}:a??{}))(a),s=e[ta];if(e.mode==aa){const{storeTableName:a=t}=e;return[1,s,[a],B(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(S(R(ca,c)),0,D(ca)),r=o[2],w=B(r);return[0,s,[oa(n,{[sa]:null,[ea]:j},sa,(a=>H(w,a)&&a==r)),oa(i,{[na]:null,[ea]:j,deleteEmptyColumns:0,deleteEmptyTable:0},na,((a,t)=>H(w,t)&&t==r)),o],w]})(e);return(E?X:Z)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>[setInterval((async()=>{try{const t=(await s(ra+wa))[0][wa],e=(await s(ra+la))[0][la];t==(w??=t)&&e==(y??=e)||(a(),w=t,y=e)}catch{}}),1e3*u),n((t=>T.has(t)?a():0))]),(([a,t])=>{clearInterval(a),w=y=null,i(t)}),o,d,L(T),r)},Ea=(a,t,e,s,n)=>ya(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t);export{Ea as createCrSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),o=a=>a.length,r=a=>0==o(a),
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),o=a=>a.length,r=a=>0==o(a),w=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),E=Promise,u=(a,t)=>a instanceof t,d=a=>null==a,m=(a,t,e)=>d(a)?e?.():t(a),v=t=>a(t)==s,T=async a=>E.all(a),A=(a,t)=>a?.has(t)??!1,L=a=>[...a?.values()??[]],p=(a,t)=>a?.delete(t),h=Object,N=h.keys,f=h.freeze,R=(a=[])=>h.fromEntries(a),O=(...a)=>h.assign({},...a),C=(a,t)=>c(h.entries(a),(([a,e])=>t(e,a))),S=a=>h.values(a),D=a=>o(N(a)),g=a=>(a=>u(a,h)&&a.constructor==h)(a)&&0==D(a),b=a=>new Map(a),I=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>c([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>d(e)?(p(a,t),a):a?.set(t,e),_=(a,t,e)=>(A(a,t)||$(a,t,e()),F(a,t)),P=(a,t,e,s=$)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!d(((a,t)=>m(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B=a=>new Set(Array.isArray(a)||d(a)?a:[a]),H=(a,t)=>a?.add(t),W="_",j="_id",x=a=>`"${a.replace(/"/g,'""')}"`,k="FROM pragma_table_",J="WHERE",U=(a,t,s)=>{const n=b();return[async()=>P(n,R(await T(c(await a("SELECT name "+k+"list WHERE schema='main'AND type='table'AND name IN("+q(t)+")",t),(async({name:t})=>[t,R(c(await a("SELECT name,type "+k+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(n,t,P(_(n,t,b),e,((a,t,e)=>{e!=F(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(n,t))),async(t,e)=>((a,t)=>!d(F(F(n,a),t)))(t,e)?R(w(c(await a("SELECT*FROM"+x(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!d(a)&&!g(t)))):{},async(t,s,o,l,E,u=!1)=>{const m=B();C(o??{},(a=>c(N(a??{}),(a=>H(m,a)))));const v=L(m);if(!u&&E&&r(v)&&A(n,t))return await a("DROP TABLE"+x(t)),void $(n,t);if(r(v)||A(n,t)){const e=F(n,t),i=B(I(e));await T([...c(v,(async s=>{p(i,s)||(await a(`ALTER TABLE${x(t)}ADD${x(s)}`),$(e,s,""))})),...!u&&l?c(L(i),(async n=>{n!=s&&(await a(`ALTER TABLE${x(t)}DROP${x(n)}`),$(e,n))})):[]])}else await a(`CREATE TABLE${x(t)}(${x(s)} PRIMARY KEY ON CONFLICT REPLACE${i(c(v,(a=>e+x(a))))});`),$(n,t,b([[s,""],...c(v,(a=>[a,""]))]));if(u)d(o)?await a("DELETE FROM"+x(t)+"WHERE 1"):await T(C(o,(async(e,n)=>{d(e)?await a("DELETE FROM"+x(t)+J+x(s)+"=?",[n]):r(v)||await Y(a,t,s,N(e),[n,...S(e)])})));else if(r(v))A(n,t)&&await a("DELETE FROM"+x(t)+"WHERE 1");else{const e=w(I(F(n,t)),(a=>a!=s)),i=[],r=[];C(o??{},((a,t)=>{y(i,t,...c(e,(t=>a?.[t]))),y(r,t)})),await Y(a,t,s,e,i),await a("DELETE FROM"+x(t)+J+x(s)+"NOT IN("+q(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Y=async(a,t,s,r,w)=>await a("INSERT INTO"+x(t)+"("+x(s)+i(c(r,(a=>e+x(a))))+")VALUES"+n(`,(?${n(",?",o(r))})`,o(w)/(o(r)+1)).substring(1)+"ON CONFLICT("+x(s)+")DO UPDATE SET"+i(c(r,(a=>x(a)+"=excluded."+x(a))),e),w),q=a=>i(c(a,(()=>"?")),e),z=JSON.parse,G=b(),K=b(),V=(a,t,e,s,n,i,c=[])=>{let o,r,w,l=0,E=0;_(G,c,(()=>0)),_(K,c,(()=>[]));const u=async a=>(2!=l&&(l=1,await v.schedule((async()=>{await a(),l=0}))),v),v={load:async(e,s)=>await u((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),E=1,w=s((async(e,s)=>{if(s){const t=s();await u((async()=>a.setTransactionChanges(t)))}else await u((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(E&&(n(w),w=void 0,E=0),v),save:async t=>(1!=l&&(l=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}l=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),o=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();g(e)&&g(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(m(o,a.delListener),v),schedule:async(...a)=>(y(F(K,c),...a),await(async()=>{if(!F(G,c)){for($(G,c,1);!d((a=F(K,c),r=a.shift()));)try{await r()}catch(a){i?.(a)}$(G,c,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return f(v)},Q="store",X=(a,t,e,s,n,[i],c,o)=>{const[r,w,l,y]=U(t,c,n);return V(a,(async()=>await y((async()=>(await r(),z((await w(i,j))[W]?.[Q]??"null"))))),(async a=>await y((async()=>{var t;await r(),await l(i,j,{[W]:{[Q]:(t=a()??null,JSON.stringify(t,((a,t)=>u(t,Map)?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,o)},Z=(a,t,e,s,n,[i,c,[o,r,l]],y,E)=>{const[u,m,v,A]=U(t,y,n),L=async(a,t)=>await T(M(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await v(e,s,o,n,i,t)}))),p=async(a,t)=>r?await v(l,j,{[W]:a},!0,!0,t):null;return V(a,(async()=>await A((async()=>{await u();const a=await(async()=>R(w(await T(M(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!g(a[1])))))(),t=await(async()=>o?(await m(l,j))[W]:{})();return g(a)&&d(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await u(),d(t)){const[t,e]=a();await L(t),await p(e)}else{const[a,e]=t();await L(a,!0),await p(e,!0)}}))),e,s,n,E)},aa="json",ta="autoLoadIntervalSeconds",ea="rowIdColumnName",sa="tableId",na="tableName",ia={mode:aa,[ta]:1},ca={load:0,save:0,[na]:t+"_values"},oa=(a,t,e,s)=>{const n=b();return C(a,((a,i)=>{const c=l(S(O(t,v(a)?{[e]:a}:a)),0,D(t));d(c[0])||s(i,c[0])||$(n,i,c)})),n},ra="pragma ",wa="data_version",la="schema_version",ya=(a,e,s,n,i,c,o,r)=>{let w,y;const[E,u,d,m]=(a=>{const e=(a=>O(ia,v(a)?{storeTableName:a}:a??{}))(a),s=e[ta];if(e.mode==aa){const{storeTableName:a=t}=e;return[1,s,[a],B(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(S(O(ca,c)),0,D(ca)),r=o[2],w=B(r);return[0,s,[oa(n,{[sa]:null,[ea]:j},sa,(a=>H(w,a)&&a==r)),oa(i,{[na]:null,[ea]:j,deleteEmptyColumns:0,deleteEmptyTable:0},na,((a,t)=>H(w,t)&&t==r)),o],w]})(e);return(E?X:Z)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>[setInterval((async()=>{try{const t=(await s(ra+wa))[0][wa],e=(await s(ra+la))[0][la];t==(w??=t)&&e==(y??=e)||(a(),w=t,y=e)}catch{}}),1e3*u),n((t=>m.has(t)?a():0))]),(([a,t])=>{clearInterval(a),w=y=null,i(t)}),o,d,L(m),r)},Ea=(a,t,e,s,n)=>ya(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t);export{Ea as createExpoSqlitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{watch as t}from"fs";import{readFile as a,writeFile as s}from"fs/promises";const e="utf8",n=(t,a)=>t instanceof a,o=t=>null==t,r=Object,c=r.keys,i=r.freeze,y=t=>(t=>n(t,r)&&t.constructor==r)(t)&&0==(t=>c(t).length)(t),u=JSON.parse,d=(
|
|
1
|
+
import{watch as t}from"fs";import{readFile as a,writeFile as s}from"fs/promises";const e="utf8",n=(t,a)=>t instanceof a,o=t=>null==t,r=Object,c=r.keys,i=r.freeze,y=t=>(t=>n(t,r)&&t.constructor==r)(t)&&0==(t=>c(t).length)(t),u=JSON.parse,d=t=>new Map(t),w=(t,a)=>t?.get(a),p=(t,a,s)=>{return o(s)?(e=t,n=a,e?.delete(n),t):t?.set(a,s);var e,n},f=(t,a,s)=>{var e,n;return e=t,n=a,e?.has(n)||p(t,a,s()),w(t,a)},h=d(),l=d(),v=(c,d,v)=>((t,a,s,e,n,r,c=[])=>{let u,d,v,A=0,S=0;f(h,c,(()=>0)),f(l,c,(()=>[]));const g=async t=>(2!=A&&(A=1,await m.schedule((async()=>{await t(),A=0}))),m),m={load:async(s,e)=>await g((async()=>{try{t.setContent(await a())}catch{t.setContent([s,e])}})),startAutoLoad:async(s={},n={})=>(m.stopAutoLoad(),await m.load(s,n),S=1,v=e((async(s,e)=>{if(e){const a=e();await g((async()=>t.setTransactionChanges(a)))}else await g((async()=>{try{t.setContent(s?.()??await a())}catch(t){r?.(t)}}))})),m),stopAutoLoad:()=>(S&&(n(v),v=void 0,S=0),m),save:async a=>(1!=A&&(A=2,await m.schedule((async()=>{try{await s(t.getContent,a)}catch(t){r?.(t)}A=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),u=t.addDidFinishTransactionListener(((t,a)=>{const[s,e]=a();y(s)&&y(e)||m.save((()=>[s,e]))})),m),stopAutoSave:()=>{var a,s;return a=u,s=t.delListener,o(a)||s(a),m},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(w(l,c),...t),await(async()=>{if(!w(h,c)){for(p(h,c,1);!o((t=w(l,c),d=t.shift()));)try{await d()}catch(t){r?.(t)}p(h,c,0)}var t})(),m),getStore:()=>t,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(m)})(c,(async()=>u(await a(d,e))),(async t=>{return await s(d,(a=t(),JSON.stringify(a,((t,a)=>n(a,Map)?r.fromEntries([...a]):a))),e);var a}),(a=>t(d,(()=>a()))),(t=>t?.close()),v);export{v as createFilePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,a)=>t instanceof a,a=t=>null==t,e=Object,s=e.keys,n=e.freeze,o=a=>(a=>t(a,e)&&a.constructor==e)(a)&&0==(t=>s(t).length)(a),
|
|
1
|
+
const t=(t,a)=>t instanceof a,a=t=>null==t,e=Object,s=e.keys,n=e.freeze,o=a=>(a=>t(a,e)&&a.constructor==e)(a)&&0==(t=>s(t).length)(a),r=JSON.parse,c=t=>new Map(t),i=(t,a)=>t?.get(a),y=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},d=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||y(t,a,e()),i(t,a)},u=c(),h=c(),w=t=>t.headers.get("ETag"),l=(s,c,l,v,p)=>{let f;return((t,e,s,r,c,w,l=[])=>{let v,p,f,g=0,A=0;d(u,l,(()=>0)),d(h,l,(()=>[]));const S=async t=>(2!=g&&(g=1,await C.schedule((async()=>{await t(),g=0}))),C),C={load:async(a,s)=>await S((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(C.stopAutoLoad(),await C.load(a,s),A=1,f=r((async(a,s)=>{if(s){const a=s();await S((async()=>t.setTransactionChanges(a)))}else await S((async()=>{try{t.setContent(a?.()??await e())}catch(t){w?.(t)}}))})),C),stopAutoLoad:()=>(A&&(c(f),f=void 0,A=0),C),save:async a=>(1!=g&&(g=2,await C.schedule((async()=>{try{await s(t.getContent,a)}catch(t){w?.(t)}g=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),v=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();o(e)&&o(s)||C.save((()=>[e,s]))})),C),stopAutoSave:()=>{var e,s;return e=v,s=t.delListener,a(e)||s(e),C},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(i(h,l),...t),await(async()=>{if(!i(u,l)){for(y(u,l,1);!a((t=i(h,l),p=t.shift()));)try{await p()}catch(t){w?.(t)}y(u,l,0)}var t})(),C),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(C)})(s,(async()=>{const t=await fetch(c);return f=w(t),r(await t.text())}),(async a=>{return await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:(s=a(),JSON.stringify(s,((a,s)=>t(s,Map)?e.fromEntries([...s]):s)))});var s}),(t=>setInterval((async()=>{const e=await fetch(c,{method:"HEAD"}),s=w(e);a(f)||a(s)||s==f||(f=s,t())}),1e3*v)),(t=>clearInterval(t)),p)};export{l as createRemotePersister};
|
|
Binary file
|