tinybase 4.0.0-beta.5.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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-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-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 +22 -20
- package/lib/debug/persisters/persister-browser.js +28 -20
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +199 -150
- package/lib/debug/persisters/persister-file.js +28 -20
- package/lib/debug/persisters/persister-remote.js +28 -20
- package/lib/debug/persisters/persister-sqlite-wasm.js +204 -150
- package/lib/debug/persisters/persister-sqlite3.js +199 -150
- package/lib/debug/persisters/persister-yjs.js +28 -20
- package/lib/debug/persisters.js +29 -20
- package/lib/debug/tinybase.js +22 -20
- 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-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-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-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +2 -0
- 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-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-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 +16 -16
- package/readme.md +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="tinybase",l=",",r=t(""),o=(e,t="")=>e.join(t),i=(e,t)=>e.map(t),u=e=>e.length,a=e=>0==u(e),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="tinybase",l=",",r=t(""),o=(e,t="")=>e.join(t),i=(e,t)=>e.map(t),u=e=>e.length,a=e=>0==u(e),d=(e,t)=>e.filter(t),s=(e,t,n)=>e.slice(t,n),c=(e,...t)=>e.push(...t),v=Promise,y=JSON.parse,f=(e,t)=>e instanceof t,p=e=>null==e,h=(e,t,n)=>p(e)?null==n?void 0:n():t(e),m=e=>t(e)==r,E=e=>{return t=function*(){return v.all(e)},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t},b=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},O=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},P=(e,t)=>null==e?void 0:e.delete(t),T=Object,w=T.keys,A=T.freeze,L=(e=[])=>T.fromEntries(e),S=(...e)=>T.assign({},...e),x=(e,t)=>(delete e[t],e),g=(e,t)=>i(T.entries(e),(([e,n])=>t(n,e))),N=e=>T.values(e),C=e=>u(w(e)),R=e=>(e=>f(e,T)&&e.constructor==T)(e)&&0==C(e),I=e=>new Map(e),j=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},_=(e,t)=>null==e?void 0:e.get(t),D=(e,t)=>{var n;return i([...null!=(n=null==e?void 0:e.entries())?n:[]],(([e,n])=>t(n,e)))},$=(e,t,n)=>p(n)?(P(e,t),e):null==e?void 0:e.set(t,n),M=(e,t,n,l=$)=>(g(t,((t,l)=>n(e,l,t))),((e,t)=>{((e,t)=>{null==e||e.forEach(t)})(e,((e,n)=>t(n)))})(e,(n=>((e,t)=>!p(((e,t)=>h(e,(e=>e[t])))(e,t)))(t,n)?0:l(e,n))),e),F="_id",B=e=>`"${e.replace(/"/g,'""')}"`,k=e=>new Set(Array.isArray(e)||p(e)?e:[e]),q=(e,t)=>null==e?void 0:e.add(t);var W=Object.defineProperty,H=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,V=(e,t,n)=>t in e?W(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y=(e,t)=>{for(var n in t||(t={}))J.call(t,n)&&V(e,n,t[n]);if(H)for(var n of H(t))U.call(t,n)&&V(e,n,t[n]);return e},z=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const K="SELECT*FROM",G="FROM pragma_table_",Q="WHERE",X=(e,t)=>{const n=I(),r=(e,t)=>!p(_(_(n,e),t)),s=(t,r,s,v,y)=>z(void 0,null,(function*(){const f=k();g(null!=y?y:{},(e=>i(w(e),(e=>q(f,e)))));const p=O(f);if(a(p)&&b(n,t)&&v)return yield e("DROP TABLE"+B(t)),void $(n,t);if(a(p)||b(n,t)){const l=_(n,t),o=k(j(l));yield E([...i(p,(n=>z(void 0,null,(function*(){P(o,n)||(yield e(`ALTER TABLE${B(t)}ADD${B(n)}`),$(l,n,""))})))),...s?i(O(o),(n=>z(void 0,null,(function*(){n!=r&&(yield e(`ALTER TABLE${B(t)}DROP${B(n)}`),$(l,n))})))):[]])}else yield e(`CREATE TABLE${B(t)}(${B(r)} PRIMARY KEY ON CONFLICT REPLACE${o(i(p,(e=>l+B(e))))});`),$(n,t,I([[r,""],...i(p,(e=>[e,""]))]));if(a(p))b(n,t)&&(yield e("DELETE FROM"+B(t)));else{const a=[],s=[],v=[],f=d(j(_(n,t)),(e=>e!=r));g(y,((e,t)=>{var n;c(a,`(?${n=u(f),",?".repeat(n)})`),c(s,t,...i(f,(t=>e[t]))),c(v,t)})),yield e("INSERT INTO"+B(t)+"("+B(r)+o(i(f,(e=>l+B(e))))+")VALUES"+o(a,l)+"ON CONFLICT("+B(r)+")DO UPDATE SET"+o(i(f,(e=>B(e)+"=excluded."+B(e))),l),s),yield e("DELETE FROM"+B(t)+Q+B(r)+"NOT IN("+Z(v)+")",v)}}));return[()=>z(void 0,null,(function*(){return M(n,L(yield E(i(yield e("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+Z(t)+")",t),(t=>z(void 0,[t],(function*({name:t}){return[t,L(i(yield e("SELECT name,type "+G+"info(?)",[t]),(({name:e,type:t})=>[e,t])))]})))))),((e,t,l)=>{return $(n,t,M((i=I,b(r=n,o=t)||$(r,o,i()),_(r,o)),l,((e,t,n)=>{n!=_(e,t)&&$(e,t,n)}),((e,t)=>$(e,t))));var r,o,i}),((e,t)=>$(n,t)))})),(t,n)=>z(void 0,null,(function*(){const l=r(t,n)?yield e(K+B(t)+Q+B(n)+"=?",["_"]):[];return a(l)?null:x(l[0],n)})),(e,t,n,l)=>z(void 0,null,(function*(){return yield s(e,t,!0,!0,{[n]:l})})),(t,n)=>z(void 0,null,(function*(){return r(t,n)?L(d(i(yield e(K+B(t)),(e=>[e[n],x(Y({},e),n)])),(([e,t])=>!p(e)&&!R(t)))):{}})),s]},Z=e=>o(i(e,(()=>"?")),l);var ee=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const te=(e,t,n,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>ee(void 0,null,(function*(){return 2!=a&&(a=1,yield f.schedule((()=>ee(void 0,null,(function*(){yield e(),a=0}))))),f})),f={load:(n,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>ee(void 0,[...n],(function*(n={},r={}){return f.stopAutoLoad(),yield f.load(n,r),s=1,u=l(((n,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==n?void 0:n())?r:yield t())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),f),save:t=>ee(void 0,null,(function*(){return 1!=a&&(a=2,yield f.schedule((()=>ee(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){}a=0}))))),f})),startAutoSave:()=>ee(void 0,null,(function*(){return yield f.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();R(n)&&R(l)||f.save((()=>[n,l]))})),f})),stopAutoSave:()=>(h(o,e.delListener),f),schedule:(...e)=>ee(void 0,null,(function*(){return c(v,...e),yield ee(void 0,null,(function*(){if(!d){for(d=1;!p((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return A(f)};var ne=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const le="store",re=(e,t,n,l,[r],o)=>{const[i,u,a]=X(t,o),d=te(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),y((null!=(e=yield u(r,F))?e:{})[le])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var t;yield a(r,F,"_",{[le]:(t=e(),JSON.stringify(t,((e,t)=>{return f(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),l={},[...t].reduce(n,l)):t;var n,l})))})}))))}))),n,l);return d};var oe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const ie=(e,t,n,l,[r,o,[i,u,a]],s)=>{const[c,v,y,f,h]=X(t,s);return te(e,(()=>oe(void 0,null,(function*(){yield c();const e=yield oe(void 0,null,(function*(){return L(d(yield E(D(r,((e,t)=>oe(void 0,[e,t],(function*([e,t],n){return[e,yield f(n,t)]}))))),(e=>!R(e[1]))))})),t=yield oe(void 0,null,(function*(){return i?yield v(a,F):{}}));return R(e)&&p(t)?void 0:[e,t]}))),(e=>oe(void 0,null,(function*(){const[t,n]=e();yield c(),yield(e=>oe(void 0,null,(function*(){return yield E(D(o,((t,n)=>oe(void 0,[t,n],(function*([t,n,l,r],o){return yield h(t,n,l,r,e[o])})))))})))(t),yield(e=>oe(void 0,null,(function*(){return u?yield y(a,F,"_",e):null})))(n)}))),n,l)},ue="json",ae="autoLoadIntervalSeconds",de="rowIdColumnName",se="tableId",ce="tableName",ve={mode:ue,[ae]:1},ye={load:0,save:0,[ce]:n+"_values"},fe=(e,t,n,l)=>{const r=I();return g(e,((e,o)=>{const i=s(N(S(t,m(e)?{[n]:e}:e)),0,C(t));p(i[0])||l(o,i[0])||$(r,o,i)})),r},pe="pragma ",he="data_version",me="schema_version",Ee=(e,t,l,r,o)=>{let i,u;const[a,d,c,v]=(e=>{const t=(e=>S(ve,m(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ae];if(t.mode==ue){const{storeTableName:e=n}=t;return[1,l,[e],k(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=s(N(S(ye,i)),0,C(ye)),a=u[2],d=k(a);return[0,l,[fe(r,{[se]:null,[de]:F},se,(e=>q(d,e)&&e==a)),fe(o,{[ce]:null,[de]:F,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,t)=>q(d,t)&&t==a)),u],d]})(t);return(a?re:ie)(e,l,(e=>[setInterval((()=>{return t=function*(){try{const t=(yield l(pe+he))[0][he],n=(yield l(pe+me))[0][me];t==(null!=i?i:i=t)&&n==(null!=u?u:u=n)||(e(),i=t,u=n)}catch(e){}},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t}),1e3*d),r((t=>v.has(t)?e():0))]),(([e,t])=>{clearInterval(e),i=u=null,o(t)}),c,O(v))};var be=Object.defineProperty,Oe=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,we=(e,t,n)=>t in e?be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;e.createSqliteWasmPersister=(e,t,n,l)=>Ee(e,l,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return n.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,t)=>{for(var n in t||(t={}))Pe.call(t,n)&&we(e,n,t[n]);if(Oe)for(var n of Oe(t))Te.call(t,n)&&we(e,n,t[n]);return e})({},e)))},new Promise(((e,t)=>{var n=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>t.capi.sqlite3_update_hook(n,((t,n,l,r)=>e(r)),0)),(()=>t.capi.sqlite3_update_hook(n,(()=>0),0)))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterSqliteWasm={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",r=n(""),o=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),
|
|
1
|
+
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",r=n(""),o=(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),s=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),v=Promise,y=JSON.parse,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),m=e=>n(e)==r,E=e=>{return n=function*(){return v.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),P=Object,A=P.keys,w=P.freeze,L=(e=[])=>P.fromEntries(e),S=(...e)=>P.assign({},...e),g=(e,n)=>(delete e[n],e),N=(e,n)=>i(P.entries(e),(([e,t])=>n(t,e))),x=e=>P.values(e),C=e=>u(A(e)),R=e=>(e=>f(e,P)&&e.constructor==P)(e)&&0==C(e),I=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},_=(e,n,t)=>p(t)?(T(e,n),e):null==e?void 0:e.set(n,t),F=(e,n,t,l=_)=>(N(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)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),M="_id",B=e=>`"${e.replace(/"/g,'""')}"`,k=e=>new Set(Array.isArray(e)||p(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var H=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?H(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&Y(e,t,n[t]);if(J)for(var t of J(n))W.call(n,t)&&Y(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const V="SELECT*FROM",G="FROM pragma_table_",Q="WHERE",X=(e,n)=>{const t=I(),r=(e,n)=>!p(D(D(t,e),n)),s=(n,r,s,v,y)=>K(void 0,null,(function*(){const f=k();N(null!=y?y:{},(e=>i(A(e),(e=>q(f,e)))));const p=O(f);if(a(p)&&b(t,n)&&v)return yield e("DROP TABLE"+B(n)),void _(t,n);if(a(p)||b(t,n)){const l=D(t,n),o=k(j(l));yield E([...i(p,(t=>K(void 0,null,(function*(){T(o,t)||(yield e(`ALTER TABLE${B(n)}ADD${B(t)}`),_(l,t,""))})))),...s?i(O(o),(t=>K(void 0,null,(function*(){t!=r&&(yield e(`ALTER TABLE${B(n)}DROP${B(t)}`),_(l,t))})))):[]])}else yield e(`CREATE TABLE${B(n)}(${B(r)} PRIMARY KEY ON CONFLICT REPLACE${o(i(p,(e=>l+B(e))))});`),_(t,n,I([[r,""],...i(p,(e=>[e,""]))]));if(a(p))b(t,n)&&(yield e("DELETE FROM"+B(n)));else{const a=[],s=[],v=[],f=d(j(D(t,n)),(e=>e!=r));N(y,((e,n)=>{var t;c(a,`(?${t=u(f),",?".repeat(t)})`),c(s,n,...i(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+B(n)+"("+B(r)+o(i(f,(e=>l+B(e))))+")VALUES"+o(a,l)+"ON CONFLICT("+B(r)+")DO UPDATE SET"+o(i(f,(e=>B(e)+"=excluded."+B(e))),l),s),yield e("DELETE FROM"+B(n)+Q+B(r)+"NOT IN("+Z(v)+")",v)}}));return[()=>K(void 0,null,(function*(){return F(t,L(yield E(i(yield e("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,L(i(yield e("SELECT name,type "+G+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>{return _(t,n,F((i=I,b(r=t,o=n)||_(r,o,i()),D(r,o)),l,((e,n,t)=>{t!=D(e,n)&&_(e,n,t)}),((e,n)=>_(e,n))));var r,o,i}),((e,n)=>_(t,n)))})),(n,t)=>K(void 0,null,(function*(){const l=r(n,t)?yield e(V+B(n)+Q+B(t)+"=?",["_"]):[];return a(l)?null:g(l[0],t)})),(e,n,t,l)=>K(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>K(void 0,null,(function*(){return r(n,t)?L(d(i(yield e(V+B(n)),(e=>[e[t],g(z({},e),t)])),(([e,n])=>!p(e)&&!R(n)))):{}})),s]},Z=e=>o(i(e,(()=>"?")),l);var ee=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ne=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>ee(void 0,null,(function*(){return 2!=a&&(a=1,yield f.schedule((()=>ee(void 0,null,(function*(){yield e(),a=0}))))),f})),f={load:(t,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ee(void 0,[...t],(function*(t={},r={}){return f.stopAutoLoad(),yield f.load(t,r),s=1,u=l(((t,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),f),save:n=>ee(void 0,null,(function*(){return 1!=a&&(a=2,yield f.schedule((()=>ee(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),f})),startAutoSave:()=>ee(void 0,null,(function*(){return yield f.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();R(t)&&R(l)||f.save((()=>[t,l]))})),f})),stopAutoSave:()=>(h(o,e.delListener),f),schedule:(...e)=>ee(void 0,null,(function*(){return c(v,...e),yield ee(void 0,null,(function*(){if(!d){for(d=1;!p((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(f)};var te=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const le="store",re=(e,n,t,l,[r],o)=>{const[i,u,a]=X(n,o),d=ne(e,(()=>te(void 0,null,(function*(){var e;return yield i(),y((null!=(e=yield u(r,M))?e:{})[le])}))),(e=>te(void 0,null,(function*(){return d.schedule(i,(()=>te(void 0,null,(function*(){var n;yield a(r,M,"_",{[le]:(n=e(),JSON.stringify(n,((e,n)=>{return f(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),t,l);return d};var oe=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ie=(e,n,t,l,[r,o,[i,u,a]],s)=>{const[c,v,y,f,h]=X(n,s);return ne(e,(()=>oe(void 0,null,(function*(){yield c();const e=yield oe(void 0,null,(function*(){return L(d(yield E($(r,((e,n)=>oe(void 0,[e,n],(function*([e,n],t){return[e,yield f(t,n)]}))))),(e=>!R(e[1]))))})),n=yield oe(void 0,null,(function*(){return i?yield v(a,M):{}}));return R(e)&&p(n)?void 0:[e,n]}))),(e=>oe(void 0,null,(function*(){const[n,t]=e();yield c(),yield(e=>oe(void 0,null,(function*(){return yield E($(o,((n,t)=>oe(void 0,[n,t],(function*([n,t,l,r],o){return yield h(n,t,l,r,e[o])})))))})))(n),yield(e=>oe(void 0,null,(function*(){return u?yield y(a,M,"_",e):null})))(t)}))),t,l)},ue="json",ae="autoLoadIntervalSeconds",de="rowIdColumnName",se="tableId",ce="tableName",ve={mode:ue,[ae]:1},ye={load:0,save:0,[ce]:t+"_values"},fe=(e,n,t,l)=>{const r=I();return N(e,((e,o)=>{const i=s(x(S(n,m(e)?{[t]:e}:e)),0,C(n));p(i[0])||l(o,i[0])||_(r,o,i)})),r},pe="pragma ",he="data_version",me="schema_version",Ee=(e,n,l,r,o)=>{let i,u;const[a,d,c,v]=(e=>{const n=(e=>S(ve,m(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[ae];if(n.mode==ue){const{storeTableName:e=t}=n;return[1,l,[e],k(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=n,u=s(x(S(ye,i)),0,C(ye)),a=u[2],d=k(a);return[0,l,[fe(r,{[se]:null,[de]:M},se,(e=>q(d,e)&&e==a)),fe(o,{[ce]:null,[de]:M,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>q(d,n)&&n==a)),u],d]})(n);return(a?re:ie)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(pe+he))[0][he],t=(yield l(pe+me))[0][me];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*d),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),c,O(v))};var be=Object.defineProperty,Oe=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,Ae=(e,n,t)=>n in e?be(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const we="change";e.createSqlite3Persister=(e,n,t)=>Ee(e,t,((e,t=[])=>new v(((l,r)=>n.all(e,t,((e,n)=>e?r(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))Te.call(n,t)&&Ae(e,t,n[t]);if(Oe)for(var t of Oe(n))Pe.call(n,t)&&Ae(e,t,n[t]);return e})({},e))))))))),(e=>{const t=(n,t,l)=>e(l);return n.on(we,t),t}),(e=>n.off(we,e)))},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterSqlite3={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const n=e=>e.length,o=e=>e.shift(),
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const n=e=>e.length,o=e=>e.shift(),r=e=>null==e,l=(e,t,n)=>r(e)?null==n?void 0:n():t(e),i=Object,s=i.keys,u=i.freeze,a=(e=[])=>i.fromEntries(e),d=(e,t)=>!r(((e,t)=>l(e,(e=>e[t])))(e,t)),c=(e,t)=>((e,t)=>e.map(t))(i.entries(e),(([e,n])=>t(n,e))),v=e=>(e=>e instanceof i&&e.constructor==i)(e)&&0==(e=>n(s(e)))(e),f=(e,t,n)=>(d(e,t)||(e[t]=n()),e[t]);var y=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{s(n.next(e))}catch(e){r(e)}},i=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);s((n=n.apply(e,t)).next())}));const h=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e)));var p=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{s(n.next(e))}catch(e){r(e)}},i=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);s((n=n.apply(e,t)).next())}));const g="t",S="delete",m=e=>[e.get(g),e.get("v")],A=(e,n,o,l)=>{var i;const s=r(n)?e:null!=(i=e.get(n))?i:e.set(n,new t.Map);let u;return c(o,((e,t)=>{l(s,t,e)&&(u=1)})),s.forEach(((e,t)=>{d(o,t)||(s.delete(t),u=1)})),r(n)||s.size||e.delete(n),u};e.createYjsPersister=(e,i,s="tinybase")=>{const d=i.getMap(s);return((e,s,b,j,w)=>{let x,O,J,L=0,N=0,P=0;const C=[],T=e=>y(void 0,null,(function*(){return 2!=L&&(L=1,yield z.schedule((()=>y(void 0,null,(function*(){yield e(),L=0}))))),z})),z={load:(t,n)=>y(void 0,null,(function*(){return yield T((()=>y(void 0,null,(function*(){try{e.setContent(yield s())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>y(void 0,[...t],(function*(t={},r={}){return z.stopAutoLoad(),yield z.load(t,r),P=1,J=(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==n(t)&&(r=t[0].path,0==n(r)))return[e.get("t").toJSON(),e.get("v").toJSON()];var r;const[i,s]=m(e),u={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>o(e)==g?l(o(e),(n=>{const r=f(u,n,a),s=i.get(n);l(o(e),(e=>{const n=f(r,e,a),o=s.get(e);h(t,((e,{action:t})=>n[e]=t==S?null:o.get(e)))}),(()=>h(t,((e,{action:t})=>{var n;return r[e]=t==S?null:null==(n=s.get(e))?void 0:n.toJSON()}))))}),(()=>h(t,((e,{action:t})=>{var n;return u[e]=t==S?null:null==(n=i.get(e))?void 0:n.toJSON()})))):h(t,((e,{action:t})=>d[e]=t==S?null:s.get(e)))))})(t),[u,d]})(d,t)));return d.observeDeep(t),t})(((t,n)=>y(void 0,null,(function*(){return yield T((()=>y(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield s())}catch(e){}}))))})))),z})),stopAutoLoad:()=>{return P&&(e=J,d.unobserveDeep(e),J=void 0,P=0),z;var e},save:n=>y(void 0,null,(function*(){return 1!=L&&(L=2,yield z.schedule((()=>y(void 0,null,(function*(){try{yield((e,n)=>p(void 0,null,(function*(){return i.transact((()=>((e,n,o)=>{(e=>{e.size||(e.set(g,new t.Map),e.set("v",new t.Map))})(e);const[i,s]=m(e),u=()=>{a=1};let a=1;if(l(null==o?void 0:o(),(([e,t])=>{a=0,c(e,((e,t)=>a?0:r(e)?i.delete(t):l(i.get(t),(t=>c(e,((e,n)=>a?0:r(e)?t.delete(n):l(t.get(n),(t=>c(e,((e,n)=>r(e)?t.delete(n):t.set(n,e)))),u)))),u))),c(t,((e,t)=>a?0:r(e)?s.delete(t):s.set(t,e)))})),a){const[e,t]=n();A(i,void 0,e,((e,t,n)=>A(i,t,n,((e,t,n)=>A(e,t,n,((e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1})))))),A(s,void 0,t,((e,t,n)=>{s.get(t)!==n&&s.set(t,n)}))}})(d,e,n)))})))(e.getContent,n)}catch(e){}L=0}))))),z})),startAutoSave:()=>y(void 0,null,(function*(){return yield z.stopAutoSave().save(),x=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();v(n)&&v(o)||z.save((()=>[n,o]))})),z})),stopAutoSave:()=>(l(x,e.delListener),z),schedule:(...e)=>y(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(C,...e),yield y(void 0,null,(function*(){if(!N){for(N=1;!r(O=o(C));)try{yield O()}catch(e){}N=0}})),z})),getStore:()=>e,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u(z)})(e,(()=>p(void 0,null,(function*(){return d.size?[d.get(g).toJSON(),d.get("v").toJSON()]:void 0}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,n=Object.freeze;var
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,n=Object,o=n.keys,i=n.freeze,l=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>o(t).length)(t);var u=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{r(n.next(t))}catch(t){i(t)}},u=t=>{try{r(n.throw(t))}catch(t){i(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,u);r((n=n.apply(t,e)).next())}));t.createCustomPersister=(t,n,o,r,s)=>{let d,a,c,f=0,v=0,y=0;const h=[],p=t=>u(void 0,null,(function*(){return 2!=f&&(f=1,yield A.schedule((()=>u(void 0,null,(function*(){yield t(),f=0}))))),A})),A={load:(e,o)=>u(void 0,null,(function*(){return yield p((()=>u(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>u(void 0,[...e],(function*(e={},o={}){return A.stopAutoLoad(),yield A.load(e,o),y=1,c=r(((e,o)=>u(void 0,null,(function*(){return yield p((()=>u(void 0,null,(function*(){var i;if(o)t.setTransactionChanges(o());else try{t.setContent(null!=(i=null==e?void 0:e())?i:yield n())}catch(t){}}))))})))),A})),stopAutoLoad:()=>(y&&(s(c),c=void 0,y=0),A),save:e=>u(void 0,null,(function*(){return 1!=f&&(f=2,yield A.schedule((()=>u(void 0,null,(function*(){try{yield o(t.getContent,e)}catch(t){}f=0}))))),A})),startAutoSave:()=>u(void 0,null,(function*(){return yield A.stopAutoSave().save(),d=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();l(n)&&l(o)||A.save((()=>[n,o]))})),A})),stopAutoSave:()=>{var n,o;return n=d,o=t.delListener,!!e(n)||o(n),A},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(h,...t),yield u(void 0,null,(function*(){if(!v){for(v=1;!e((t=h,a=t.shift()));)try{yield a()}catch(t){}v=0}var t})),A})),getStore:()=>t,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(A)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
|
|
Binary file
|
package/lib/umd-es6/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),s=t(!0),o=t(0),r=t(t),i="type",a="default",d="Listener",c="Result",u="add",v="Ids",h="Table",f=h+"s",g=h+v,L="Row",y=L+v,p="Sorted"+L+v,S="Cell",T=S+v,w="Value",I=w+"s",R=w+v,C=e=>n+e,b=(e,t)=>e.includes(t),m=(e,t)=>e.every(t),V=(e,t)=>J(e)===J(t)&&m(e,((e,n)=>t[n]===e)),E=(e,t)=>m(e,((n,l)=>0==l||t(e[l-1],n)<=0)),k=(e,t)=>e.sort(t),x=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),D=e=>O(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),O=(e,t,n)=>e.reduce(t,n),F=(e,t,n)=>e.slice(t,n),P=(e,...t)=>e.push(...t),j=e=>e.pop(),Q=e=>e.shift(),z=e=>JSON.stringify(e,((e,t)=>q(t,Map)?O([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),N=JSON.parse,B=Math.max,W=Math.min,$=isFinite,q=(e,t)=>e instanceof t,G=e=>null==e,H=(e,t,n)=>G(e)?null==n?void 0:n():t(e),K=e=>e==l||e==s,U=e=>t(e)==r,X=e=>Array.isArray(e),Y=()=>{},Z=Object,_=Z.keys,ee=Z.isFrozen,te=Z.freeze,ne=e=>q(e,Z)&&e.constructor==Z,le=(e,t)=>!G(((e,t)=>H(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),oe=(e,t)=>M(Z.entries(e),(([e,n])=>t(n,e))),re=e=>ne(e)&&0==(e=>J(_(e)))(e),ie=e=>e.size,ae=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},de=e=>G(e)||0==ie(e),ce=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ue=e=>e.clear(),ve=(e,t)=>null==e?void 0:e.forEach(t),he=(e,t)=>null==e?void 0:e.delete(t),fe=e=>new Map(e),ge=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Le=(e,t)=>null==e?void 0:e.get(t),ye=(e,t)=>ve(e,((e,n)=>t(n,e))),pe=(e,t,n)=>G(n)?(he(e,t),e):null==e?void 0:e.set(t,n),Se=(e,t,n)=>(ae(e,t)||pe(e,t,n()),Le(e,t)),Te=(e,t,n,l=pe)=>(oe(t,((t,l)=>n(e,l,t))),ye(e,(n=>le(t,n)?0:l(e,n))),e),we=(e,t,n)=>{const l={};return ve(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Ie=(e,t,n)=>we(e,(e=>we(e,t,n)),re),Re=(e,t,n)=>we(e,(e=>Ie(e,t,n)),re),Ce=(e,t)=>{const n=fe();return ve(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},be=e=>Ce(e,Ce),me=e=>Ce(e,be),Ve=(e,t,n,l,s=0)=>H((n?Se:Le)(e,t[s],s>J(t)-2?n:fe),(o=>{if(s>J(t)-2)return(null==l?void 0:l(o))&&pe(e,t[s]),o;const r=Ve(o,t,n,l,s+1);return de(o)&&pe(e,t[s]),r})),Ee=e=>{const n=t(e);return K(n)||n==o&&$(e)?n:void 0},ke=(e,t,n,l,s)=>G(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),xe=(e,t,n)=>G(n)?e.delValue(t):e.setValue(t,n),Me=e=>new Set(X(e)||G(e)?e:[e]),De=(e,t)=>null==e?void 0:e.add(t),Je=(e,t,n)=>{const l=e.hasRow,s=fe(),o=fe(),r=fe(),i=fe(),a=fe(),d=(t,n,...l)=>{const s=Se(a,t,Me);return x(l,(t=>De(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>H(Le(a,t),(l=>{x(A(n)?ce(l):n,(t=>{e.delListener(t),he(l,t)})),de(l)&&pe(a,t)})),u=(e,n)=>{pe(s,e,n),ae(o,e)||(pe(o,e,t()),pe(r,e,fe()),pe(i,e,fe()))},v=e=>{pe(s,e),pe(o,e),pe(r,e),pe(i,e),c(e)};return[()=>e,()=>ge(s),e=>ye(o,e),e=>ae(o,e),e=>Le(s,e),e=>Le(o,e),(e,t)=>pe(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=fe(),f=fe(),g=Le(r,t),L=Le(i,t),y=t=>{const o=n=>e.getCell(s,t,n),r=Le(g,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||X(r)&&X(i)&&V(r,i)||pe(h,t,[r,i]),!G(v)){const e=Le(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&pe(f,t,n)}},p=e=>{o((()=>{ve(h,(([,e],t)=>pe(g,t,e))),ve(f,((e,t)=>pe(L,t,e)))}),h,f,g,L,e),ue(h),ue(f)};ye(g,y),e.hasTable(s)&&x(e.getRowIds(s),(e=>{ae(g,e)||y(e)})),p(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>y(n))),e.addTableListener(s,(()=>p())))},v,()=>ye(a,v),d,c]},Ae=(e,s)=>t(e)==l?t=>t(e):null!=e?e:()=>null!=s?s:n,Oe=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Fe=/^\d+$/,Pe=()=>{const e=[];let t=0;return[l=>{var s;return null!=(s=l?Q(e):null)?s:n+t++},t=>{Fe.test(t)&&J(e)<1e3&&P(e,t)}]},je=e=>{let t;const[l,s]=Pe(),o=fe();return[(s,r,i,a=[],d=(()=>[]))=>{null!=t||(t=e());const c=l(1);return pe(o,c,[s,r,i,a,d]),De(Ve(r,null!=i?i:[n],Me),c),c},(e,l,...s)=>x(((e,t=[n])=>{const l=[],s=(e,n)=>n==J(t)?P(l,e):null===t[n]?ve(e,(e=>s(e,n+1))):x([t[n],null],(t=>s(Le(e,t),n+1)));return s(e,0),l})(e,l),(e=>ve(e,(e=>Le(o,e)[0](t,...null!=l?l:[],...s))))),e=>H(Le(o,e),(([,t,l])=>(Ve(t,null!=l?l:[n],void 0,(t=>(he(t,e),de(t)?1:0))),pe(o,e),s(e),l))),e=>H(Le(o,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var i,a;const d=J(r);d==J(n)?e(t,...r,...s(r)):G(n[d])?x(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},Qe=Oe((e=>{let t,l,s,o=100,r=fe(),i=fe(),a=1;const d=fe(),c=fe(),[u,v,h]=je((()=>z)),f=fe(),g=fe(),L=[],y=[],p=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=Le(f,n);ve(l,((n,l)=>ve(n,((n,s)=>ve(n,((n,o)=>ke(e,l,s,o,n[t]))))))),ve(s,((n,l)=>xe(e,l,n[t])))})),a=1},S=e=>{pe(f,e),pe(g,e),v(c,[e])},T=(e,t)=>x(((e,t)=>e.splice(0,t))(e,null!=t?t:J(e)),S),w=()=>T(L,J(L)-o),I=()=>H(t,(()=>{P(L,t),w(),T(y),t=void 0,s=1})),R=()=>{t=j(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){I();const e=Se(r,t,fe),i=Se(e,n,fe),a=Se(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&de(pe(i,l))&&de(pe(e,n))&&de(pe(r,t))&&R(),M()}})),m=e.addValueListener(null,((e,t,n,l)=>{if(a){I();const e=Se(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&de(pe(i,t))&&R(),M()}})),V=(e="")=>(G(t)&&(t=n+l++,pe(f,t,[r,i]),O(t,e),r=fe(),i=fe(),s=1),t),E=()=>{A(L)||(((e,...t)=>{e.unshift(...t)})(y,V()),p(0,t),t=j(L),s=1)},k=()=>{A(y)||(P(L,t),t=Q(y),p(1,t),s=1)},M=()=>{s&&(v(d),s=0)},D=e=>{const t=V(e);return M(),t},O=(e,t)=>(F(e)&&Le(g,e)!==t&&(pe(g,e,t),v(c,[e])),z),F=e=>ae(f,e),z={setSize:e=>(o=e,w(),z),addCheckpoint:D,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>ye(g,e),hasCheckpoint:F,getCheckpoint:e=>Le(g,e),goBackward:()=>(E(),M(),z),goForward:()=>(k(),M(),z),goTo:e=>{const n=b(L,e)?E:b(y,e)?k:null;for(;!G(n)&&e!=t;)n();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(T(L),T(y),G(t)||S(t),t=void 0,l=0,D(),z),destroy:()=>{e.delListener(C),e.delListener(m)},getListenerStats:()=>({})};return te(z.clear())})),ze=(e,t)=>e<t?-1:1,Ne=Oe((e=>{const t=fe(),l=fe(),[s,o,r,i,a,d,c,,u,v,h]=Je(e,fe,(e=>G(e)?n:X(e)?M(e,C):C(e))),[f,g,L]=je((()=>p)),y=(t,n,l)=>{const s=a(t);ve(l,((t,l)=>n(l,(n=>ve(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},p={setIndexDefinition:(e,n,s,o,r,i=ze)=>{const a=G(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,s,r,u,v,h)=>{let f=0;const L=Me(),y=Me(),p=d(e);if(ve(s,(([e,t],n)=>{const l=Me(e),s=Me(t);ve(l,(e=>he(s,e)?he(l,e):0)),ve(l,(e=>{De(L,e),H(Le(p,e),(t=>{he(t,n),de(t)&&(pe(p,e),f=1)}))})),ve(s,(e=>{De(L,e),ae(p,e)||(pe(p,e,Me()),f=1),De(Le(p,e),n),G(o)||De(y,e)}))})),n(),de(v)||(h?ye(p,(e=>De(y,e))):ye(r,(e=>H(Le(u,e),(e=>De(y,e))))),ve(y,(e=>{const t=(t,n)=>i(Le(v,t),Le(v,n),e),n=[...Le(p,e)];E(n,t)||(pe(p,e,Me(k(n,t))),De(L,e))}))),(f||h)&&!G(a)){const t=[...p];E(t,a)||(c(e,fe(k(t,a))),f=1)}f&&g(t,[e]),ve(L,(t=>g(l,[e,t])))}),Ae(s),H(o,Ae)),p},delIndexDefinition:e=>(v(e),p),getStore:s,getIndexIds:o,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)=>ae(d(e),t),getTableId:a,getSliceIds:e=>ge(d(e)),getSliceRowIds:(e,t)=>ce(Le(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),p),destroy:h,getListenerStats:()=>({})};return te(p)})),Be=fe([["avg",[(e,t)=>D(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=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:B(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:W(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(de(n))return;const[r,i,a,d]=s;return o||(o=G(e)),ve(l,(([n,l])=>{o||(e=G(n)?null==i?void 0:i(e,l,t++):G(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=G(e)))})),o?r(ce(n),ie(n)):e},$e=Oe((e=>{const t=fe(),[l,s,o,r,i,a,d,,c,u,v]=Je(e,Y,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,f,g]=je((()=>L)),L={setMetricDefinition:(e,n,l,s,o,r,i)=>{var u;const v=U(l)?[l,o,r,i]:null!=(u=Le(Be,l))?u:Le(Be,"sum");return c(e,n,((n,l,s,o,r,i)=>{const c=a(e),u=ie(o);i||(i=G(c)),n();let h=We(c,u,o,l,v,i);$(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Ae(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return te(L)}));var qe=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())})),Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Oe((e=>{const t=e.createStore,[l,s,o,r,i,,,a,,v,f,g,w]=Je(e,(()=>!0),Y),I=t(),R=t(),C=fe(),b=(e,t,...n)=>x(n,(n=>De(Se(Se(C,t,fe),e,Me),n))),V=e=>{H(Le(C,e),(e=>{ye(e,((e,t)=>ve(t,(t=>e.delListener(t))))),ue(e)})),x([R,I],(t=>t.delTable(e)))},E=(e,t,n)=>b(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),k={setQueryDefinition:(t,l,s)=>{a(t,l),V(t);const o=[],r=[[null,[l,null,null,[],fe()]]],i=[],d=[],c=[];s({select:(e,t)=>{const l=U(e)?[J(o)+n,e]:[G(t)?e:t,n=>n(e,t)];return P(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=G(n)||U(t)?null:t,s=G(l)?t:n,o=[e,[e,l,U(s)?s:e=>e(s),[],fe()]];return P(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>P(i,U(e)?e:G(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,U(t)?[t,n,l,s]:null!=(o=Le(Be,t))?o:[(e,t)=>t]]];return P(d,r),{as:e=>r[0]=e}},having:(e,t)=>P(c,U(e)?e:n=>n(e)===t)});const u=fe(o);if(de(u))return k;const v=fe(r);ye(v,((e,[,t])=>H(Le(v,t),(({3:t})=>G(e)?0:P(t,e)))));const h=fe(d);let f=I;if(de(h)&&A(c))f=R;else{E(t,f,R);const e=fe();ye(h,((t,[n,l])=>De(Se(e,n,Me),[t,l])));const n=Me();ye(u,(t=>ae(e,t)?0:De(n,t)));const l=fe(),s=(n,l,s,o)=>H(n,(([r,i,a,d])=>{ye(l,((t,[n])=>{const l=Se(r,t,fe),i=Le(l,s),a=o?void 0:n;if(i!==a){const n=Me([[i,a]]),o=ie(l);pe(l,s,a),ve(Le(e,t),(([e,t])=>{const s=We(d[e],o,l,n,t);d[e]=G(Ee(s))?null:s}))}})),de(i)||!m(c,(e=>e((e=>d[e]))))?R.delRow(t,a):G(a)?n[2]=R.addRow(t,d):R.setRow(t,a,d)}));b(f,t,f.addRowListener(t,null,((o,r,i,a)=>{const d=[],c=[],u=fe(),v=f.hasRow(t,i);let h=!v;ve(n,(e=>{const[n,l,s]=a(t,i,e);P(d,l),P(c,s),h||(h=n)})),ye(e,(e=>{const[n,,l]=a(t,i,e);(h||n)&&pe(u,e,[l])})),h&&s(Ve(l,d,void 0,(([,e])=>(he(e,i),de(e)))),u,i,1),v&&s(Ve(l,c,(()=>{const e={};return ve(n,(n=>e[n]=f.getCell(t,i,n))),[fe(),Me(),void 0,e]}),(([,e])=>{De(e,i)})),u,i)})))}E(t,e,f);const L=(n,s,o,r)=>{const a=t=>e.getCell(s,o,t);x(r,(l=>{var s;const[o,,r,i,d]=Le(v,l),c=null==r?void 0:r(a,n),[u,h]=null!=(s=Le(d,n))?s:[];c!=u&&(G(h)||w(t,h),pe(d,n,G(c)?null:[c,...g(t,1,e.addRowListener(o,c,(()=>L(n,o,c,i))))]))})),(n=>{const s=(t,s)=>{var o,r,i;return e.getCell(...G(s)?[l,n,t]:t===l?[l,n,s]:[null==(o=Le(v,t))?void 0:o[0],null==(i=Le(null==(r=Le(v,t))?void 0:r[4],n))?void 0:i[0],s])};f.transaction((()=>m(i,(e=>e(s)))?ye(u,((e,l)=>ke(f,t,n,e,l(s,n)))):f.delRow(t,n)))})(n)},{3:y}=Le(v,null);return f.transaction((()=>g(t,1,e.addRowListener(l,null,((n,s,o)=>{e.hasRow(l,o)?L(o,l,o,y):(f.delRow(t,o),ve(v,(({4:e})=>H(Le(e,o),(([,n])=>{w(t,n),pe(e,o)})))))}))))),k},delQueryDefinition:e=>(V(e),v(e),k),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:i,delListener:e=>(R.delListener(e),k),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})(R.getListenerStats(),["tables","tableIds","transaction"])};return oe({[h]:[1,1],[y]:[0,1],[p]:[0,5],[L]:[1,2],[T]:[0,2],[S]:[1,3]},(([e,t],n)=>{x(e?["get","has","forEach"]:["get"],(e=>k[e+c+n]=(...t)=>R[e+n](...t))),k[u+c+n+d]=(...e)=>R[u+n+d](...F(e,0,t),((n,...l)=>e[t](k,...l)))})),te(k)})),Xe=Oe((e=>{const t=fe(),l=fe(),s=fe(),o=fe(),[r,i,a,d,c,u,,,v,h,f]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>G(e)?void 0:e+n)),[g,L,y]=je((()=>w)),p=(e,t,n)=>H(u(e),(([l,,s])=>{if(!ae(s,t)){const o=Me();if(c(e)!=T(e))De(o,t);else{let e=t;for(;!G(e)&&!ae(o,e);)De(o,e),e=Le(l,e)}if(n)return o;pe(s,t,o)}return Le(s,t)})),S=(e,t)=>H(u(e),(([,,e])=>pe(e,t))),T=e=>Le(t,e),w={setRelationshipDefinition:(e,n,r,i)=>(pe(t,e,r),v(e,n,((t,n)=>{const r=Me(),i=Me(),a=Me(),[d,c]=u(e);ve(n,(([t,n],l)=>{G(t)||(De(i,t),H(Le(c,t),(e=>{he(e,l),de(e)&&pe(c,t)}))),G(n)||(De(i,n),ae(c,n)||pe(c,n,Me()),De(Le(c,n),l)),De(r,l),pe(d,l,n),ye(Le(o,e),(t=>{ae(p(e,t),l)&&De(a,t)}))})),t(),ve(r,(t=>L(l,[e,t]))),ve(i,(t=>L(s,[e,t]))),ve(a,(t=>{S(e,t),L(o,[e,t])}))}),Ae(i)),w),delRelationshipDefinition:e=>(pe(t,e),h(e),w),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:T,getRemoteRowId:(e,t)=>{var n;return Le(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ce(Le(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>G(u(e))?[t]:ce(p(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(p(e,t),g(n,o,[e,t])),delListener:e=>(S(...y(e)),w),destroy:f,getListenerStats:()=>({})};return te(w)})),Ye=e=>[e,e],Ze=()=>[fe(),fe()],_e=e=>[...e],et=([e,t])=>e===t,tt=(e,t,n)=>G(e)||!ne(e)||re(e)||ee(e)?(null==n||n(),!1):(oe(e,((n,l)=>{t(n,l)||se(e,l)})),!re(e)),nt=(e,t,n)=>pe(e,t,Le(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,s=0;const r=fe(),c=fe(),v=fe(),p=fe(),m=fe(),E=fe(),D=fe(),J=fe(),A=fe(),O=fe(),j=fe(),Q=fe(),B=fe(),W=Me(),$=fe(),q=fe(),X=fe(),Y=fe(),Z=Ze(),_=Ze(),ee=Ze(),ne=Ze(),ie=Ze(),ce=Ze(),Ve=Ze(),Je=Ze(),Ae=Ze(),Oe=Ze(),Fe=Ze(),Qe=Ze(),Ne=Ze(),Be=Ze(),We=fe(),$e=Ze(),[qe,Ge,He,Ke]=je((()=>gn)),Ue=e=>{if(!tt(e,((e,t)=>b([i,a],t))))return!1;const t=e[i];return!(!K(t)&&t!=o||(Ee(e[a])!=t&&se(e,a),0))},Xe=(t,n)=>(!e||ae(O,n)||Jt(n))&&tt(t,((e,t)=>st(n,t,e)),(()=>Jt(n))),st=(e,t,n,l)=>tt(l?n:at(n,e,t),((l,s)=>H(ot(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,n,l,s)=>e?H(Le(Le(O,t),l),(e=>Ee(s)!=e[i]?Jt(t,n,l,s,e[a]):s),(()=>Jt(t,n,l,s))):G(Ee(s))?Jt(t,n,l,s):s,rt=(e,t)=>tt(t?e:dt(e),((t,n)=>H(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?H(Le(Q,e),(t=>Ee(n)!=t[i]?At(e,n,t[a]):n),(()=>At(e,n))):G(Ee(n))?At(e,n):n,at=(e,t,n)=>(H(Le(j,t),(([l,s])=>{ve(l,((t,n)=>{le(e,n)||(e[n]=t)})),ve(s,(l=>{le(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ve(B,((t,n)=>{le(e,n)||(e[n]=t)})),ve(W,(t=>{le(e,t)||At(t)}))),e),ct=e=>Te(O,e,((e,t,n)=>{const l=fe(),s=Me();Te(Se(O,t,fe),n,((e,t,n)=>{pe(e,t,n),H(n[a],(e=>pe(l,t,e)),(()=>De(s,t)))})),pe(j,t,[l,s])}),((e,t)=>{pe(O,t),pe(j,t)})),ut=e=>Te(Q,e,((e,t,n)=>{pe(Q,t,n),H(n[a],(e=>pe(B,t,e)),(()=>De(W,t)))}),((e,t)=>{pe(Q,t),pe(B,t),he(W,t)})),vt=e=>re(e)?on():en(e),ht=e=>Te(X,e,((e,t,n)=>ft(t,n)),((e,t)=>Rt(t))),ft=(e,t)=>Te(Se(X,e,(()=>(Vt(e,1),pe($,e,Pe()),pe(q,e,fe()),fe()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,s)=>Te(Se(t,n,(()=>(Et(e,n,1),fe()))),l,((t,l,s)=>Lt(e,n,t,l,s)),((l,o)=>bt(e,t,n,l,o,s))),Lt=(e,t,n,l,s)=>{ae(n,l)||kt(e,t,l,1);const o=Le(n,l);s!==o&&(xt(e,t,l,o,s),pe(n,l,s))},yt=(e,t,n,l,s)=>H(Le(t,n),(t=>Lt(e,n,t,l,s)),(()=>gt(e,t,n,at({[l]:s},e,n)))),pt=e=>re(e)?dn():tn(e),St=e=>Te(Y,e,((e,t,n)=>Tt(t,n)),((e,t)=>mt(t))),Tt=(e,t)=>{ae(Y,e)||Mt(e,1);const n=Le(Y,e);t!==n&&(Dt(e,n,t),pe(Y,e,t))},wt=(e,t)=>{const[n]=Le($,e),l=n(t);return ae(Le(X,e),l)?wt(e,t):l},It=e=>{var t;return null!=(t=Le(X,e))?t:ft(e,{})},Rt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=Le($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,s,o)=>{var r;const i=Le(null==(r=Le(j,e))?void 0:r[0],s);if(!G(i)&&!o)return Lt(e,n,l,s,i);const a=t=>{xt(e,n,t,Le(l,t)),kt(e,n,t,-1),pe(l,t)};G(i)?a(s):ye(l,a),de(l)&&(Et(e,n,-1),de(pe(t,n))&&(Vt(e,-1),pe(X,e),pe($,e),pe(q,e)))},mt=e=>{const t=Le(B,e);if(!G(t))return Tt(e,t);Dt(e,Le(Y,e)),Mt(e,-1),pe(Y,e)},Vt=(e,t)=>nt(r,e,t),Et=(e,t,n)=>nt(Se(v,e,fe),t,n),kt=(e,t,n,l)=>{var s;const o=Le(q,e),r=null!=(s=Le(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&nt(Se(c,e,fe),n,l),pe(o,n,r!=-l?r+l:null),nt(Se(Se(p,e,fe),t,fe),n,l)},xt=(e,t,n,l,s)=>Se(Se(Se(m,e,fe),t,fe),n,(()=>[l,0]))[1]=s,Mt=(e,t)=>nt(E,e,t),Dt=(e,t,n)=>Se(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,s)=>(P(Se(Se(Se(J,e,fe),t,fe),n,(()=>[])),l),s),At=(e,t,n)=>(P(Se(A,e,(()=>[])),t),n),Ot=(e,t,n)=>H(Le(Le(Le(m,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(Xt(e,t,n))])),Ft=e=>H(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(_t(e))])),Pt=e=>de(J)||de(Oe[e])?0:ve(e?me(J):J,((t,n)=>ve(t,((t,l)=>ve(t,((t,s)=>Ge(Oe[e],[n,l,s],t))))))),jt=e=>de(A)||de(Fe[e])?0:ve(e?Ce(A):A,((t,n)=>Ge(Fe[e],[n],t))),Qt=(e,t,n)=>{if(!de(t))return Ge(e,n,(()=>we(t))),1},zt=e=>{const t=de(ce[e]),n=de(Je[e])&&de(ne[e])&&de(ie[e])&&t&&de(_[e]),l=de(Ae[e])&&de(Ve[e])&&de(ee[e])&&de(Z[e]);if(!n||!l){const s=e?[Ce(r),be(c),be(v),me(p),me(m)]:[r,c,v,p,m];if(!n){Qt(_[e],s[0]),ve(s[1],((t,n)=>Qt(ne[e],t,[n])));const n=Me();ve(s[2],((l,s)=>{Qt(ie[e],l,[s])&&!t&&(Ge(ce[e],[s,null]),De(n,s))})),t||ve(s[4],((t,l)=>{if(!ae(n,l)){const n=Me();ve(t,(e=>ve(e,(([t,l],s)=>l!==t?De(n,s):he(e,s))))),ve(n,(t=>Ge(ce[e],[l,t])))}})),ve(s[3],((t,n)=>ve(t,((t,l)=>Qt(Je[e],t,[n,l])))))}if(!l){let t;ve(s[4],((n,l)=>{let s;ve(n,((n,o)=>{let r;ve(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,o,a],i,n,Ot),t=s=r=1)})),r&&Ge(Ve[e],[l,o],Ot)})),s&&Ge(ee[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=de(Ne[e]),n=de(Be[e])&&de(Qe[e]);if(!t||!n){const l=e?[Ce(E),Ce(D)]:[E,D];if(t||Qt(Ne[e],l[0]),!n){let t;ve(l[1],(([n,l],s)=>{l!==n&&(Ge(Be[e],[s],l,n,Ft),t=1)})),t&&Ge(Qe[e],void 0,Ft)}}},Bt=(e,...t)=>(vn((()=>e(...M(t,C)))),gn),Wt=()=>[we(m,((e,t)=>-1===Le(r,t)?null:we(e,((e,n)=>-1===Le(Le(v,t),n)?null:we(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),re)),re),we(D,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(m,_e,et),invalidCells:Re(J),changedValues:we(D,_e,et),invalidValues:we(A),changedTableIds:we(r),changedRowIds:Ie(v),changedCellIds:Re(p),changedValueIds:we(E)}),qt=()=>Re(X),Gt=()=>ge(X),Ht=e=>ge(Le(X,C(e))),Kt=(e,t,n,l=0,s)=>{return M(F(k((o=Le(X,C(e)),r=(e,n)=>[G(t)?n:Le(e,C(t)),n],M([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>ze(e,t)*(n?-1:1))),l,G(s)?s:l+s),(([,e])=>e));var o,r,i},Ut=(e,t)=>ge(Le(Le(X,C(e)),C(t))),Xt=(e,t,n)=>Le(Le(Le(X,C(e)),C(t)),C(n)),Yt=()=>we(Y),Zt=()=>ge(Y),_t=e=>Le(Y,C(e)),en=e=>Bt((()=>(e=>tt(e,Xe,Jt))(e)?ht(e):0)),tn=e=>Bt((()=>rt(e)?St(e):0)),nn=e=>{try{vt(N(e))}catch(e){}return gn},ln=t=>Bt((()=>{if((e=tt(t,(e=>tt(e,Ue))))&&(ct(t),!de(X))){const e=qt();on(),en(e)}})),sn=e=>Bt((()=>{if(t=(e=>tt(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),on=()=>Bt((()=>ht({}))),rn=e=>Bt((e=>ae(X,e)?Rt(e):0),e),an=(e,t)=>Bt(((e,t)=>H(Le(X,e),(n=>ae(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Bt((()=>St({}))),cn=()=>Bt((()=>{ct({}),e=!1})),un=()=>Bt((()=>{ut({}),t=!1})),vn=(e,t)=>{if(-1!=s){hn();const n=e();return fn(t),n}},hn=()=>(-1!=s&&s++,1==s&&Ge(We,void 0,Wt,$t),gn),fn=e=>(s>0&&(s--,0==s&&(n=!de(m),l=!de(D),s=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Wt,$t))&&(ve(m,((e,t)=>ve(e,((e,n)=>ve(e,(([e],l)=>ke(gn,t,n,l,e))))))),ve(D,(([e],t)=>xe(gn,t,e))),n=l=!1),Ge($e[0],void 0,Wt,$t),s=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),Ge($e[1],void 0,Wt,$t),s=0,n=l=!1,x([r,c,v,p,m,J,E,D,A],ue))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Ie(Le(X,C(e))),getTableCellIds:e=>ge(Le(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>we(Le(Le(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!de(X),hasTable:e=>ae(X,C(e)),hasTableCell:(e,t)=>ae(Le(q,C(e)),C(t)),hasRow:(e,t)=>ae(Le(X,C(e)),C(t)),hasCell:(e,t,n)=>ae(Le(Le(X,C(e)),C(t)),C(n)),hasValues:()=>!de(Y),hasValue:e=>ae(Y,C(e)),getTablesJson:()=>z(X),getValuesJson:()=>z(Y),getJson:()=>z([X,Y]),getTablesSchemaJson:()=>z(O),getValuesSchemaJson:()=>z(Q),getSchemaJson:()=>z([O,Q]),setContent:([e,t])=>Bt((()=>{(re(e)?on:en)(e),(re(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Bt((e=>Xe(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Bt(((e,t)=>st(e,t,n)?gt(e,It(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return st(e,l,t)&&(e=C(e),gt(e,It(e),l=wt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Bt(((e,t)=>{if(st(e,t,n,1)){const l=It(e);oe(n,((n,s)=>yt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Bt(((e,t,n)=>H(ot(e,t,n,U(l)?l(Xt(e,t,n)):l),(l=>yt(e,It(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Bt((()=>rt(e,1)?oe(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Bt((e=>H(it(e,U(t)?t(_t(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{oe(e[0],((e,t)=>G(e)?rn(t):oe(e,((e,n)=>G(e)?an(t,n):oe(e,((e,l)=>ke(gn,t,n,l,e))))))),oe(e[1],((e,t)=>xe(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{pt(N(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=N(e);vt(t),pt(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:sn,setSchema:(e,t)=>Bt((()=>{ln(e),sn(t)})),delTables:on,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Bt(((e,t,n)=>H(Le(X,e),(s=>H(Le(s,t),(o=>ae(o,n)?bt(e,s,t,o,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Bt((e=>ae(Y,e)?mt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Bt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ve(X,((t,n)=>e(n,(e=>ve(t,((t,n)=>e(n,(e=>ye(t,e))))))))),forEachTableCell:(e,t)=>ye(Le(q,C(e)),t),forEachRow:(e,t)=>ve(Le(X,C(e)),((e,n)=>t(n,(t=>ye(e,t))))),forEachCell:(e,t,n)=>ye(Le(Le(X,C(e)),C(t)),n),forEachValue:e=>ye(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=Kt(e,t,n,l,s);return qe((()=>{const r=Kt(e,t,n,l,s);V(r,i)||(i=r,o(gn,e,t,n,l,s,i))}),ce[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,We),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(Ke(e),gn),delListener:e=>(He(e),gn),getListenerStats:()=>({}),createStore:lt};return oe({[f]:[0,Z],[g]:[0,_],[h]:[1,ee,[Gt]],[h+T]:[1,ne,[Gt]],[y]:[1,ie,[Gt]],[L]:[2,Ve,[Gt,Ht]],[T]:[2,Je,[Gt,Ht]],[S]:[3,Ae,[Gt,Ht,Ut],e=>Ye(Xt(...e))],InvalidCell:[3,Oe],[I]:[0,Qe],[R]:[0,Ne],[w]:[1,Be,[Zt],e=>Ye(_t(e[0]))],InvalidValue:[1,Fe]},(([e,t,n,l],s)=>{gn[u+s+d]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?F(s,0,e):void 0,n,l)})),te(gn)};e.createCheckpoints=Qe,e.createCustomPersister=(e,t,n,l,s)=>{let o,r,i,a=0,d=0,c=0;const u=[],v=e=>qe(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(n,l)=>qe(void 0,null,(function*(){return yield v((()=>qe(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),h})),startAutoLoad:(...n)=>qe(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,i=l(((n,l)=>qe(void 0,null,(function*(){yield v((()=>qe(void 0,null,(function*(){var s;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(s=null==n?void 0:n())?s:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(c&&(s(i),i=void 0,c=0),h),save:t=>qe(void 0,null,(function*(){return yield h.schedule((()=>qe(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),h})),startAutoSave:()=>qe(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();h.save((()=>n))})),h})),stopAutoSave:()=>(H(o,e.delListener),h),schedule:(...e)=>qe(void 0,null,(function*(){return P(u,...e),yield qe(void 0,null,(function*(){if(!d){for(d=1;!G(r=Q(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return te(h)},e.createIndexes=Ne,e.createMetrics=$e,e.createQueries=Ue,e.createRelationships=Xe,e.createStore=lt,e.defaultSorter=ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),s=t(!0),o=t(0),r=t(t),i="type",a="default",d="Listener",c="Result",u="add",v="Ids",h="Table",f=h+"s",g=h+v,L="Row",y=L+v,p="Sorted"+L+v,S="Cell",T=S+v,w="Value",I=w+"s",R=w+v,C=e=>n+e,b=(e,t)=>e.includes(t),m=(e,t)=>e.every(t),V=(e,t)=>J(e)===J(t)&&m(e,((e,n)=>t[n]===e)),E=(e,t)=>m(e,((n,l)=>0==l||t(e[l-1],n)<=0)),k=(e,t)=>e.sort(t),x=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),D=e=>O(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),O=(e,t,n)=>e.reduce(t,n),F=(e,t,n)=>e.slice(t,n),P=(e,...t)=>e.push(...t),j=e=>e.pop(),Q=e=>e.shift(),z=e=>JSON.stringify(e,((e,t)=>q(t,Map)?O([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),N=JSON.parse,B=Math.max,W=Math.min,$=isFinite,q=(e,t)=>e instanceof t,G=e=>null==e,H=(e,t,n)=>G(e)?null==n?void 0:n():t(e),K=e=>e==l||e==s,U=e=>t(e)==r,X=e=>Array.isArray(e),Y=()=>{},Z=Object,_=Z.keys,ee=Z.isFrozen,te=Z.freeze,ne=e=>q(e,Z)&&e.constructor==Z,le=(e,t)=>!G(((e,t)=>H(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),oe=(e,t)=>M(Z.entries(e),(([e,n])=>t(n,e))),re=e=>ne(e)&&0==(e=>J(_(e)))(e),ie=e=>e.size,ae=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},de=e=>G(e)||0==ie(e),ce=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ue=e=>e.clear(),ve=(e,t)=>null==e?void 0:e.forEach(t),he=(e,t)=>null==e?void 0:e.delete(t),fe=e=>new Map(e),ge=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Le=(e,t)=>null==e?void 0:e.get(t),ye=(e,t)=>ve(e,((e,n)=>t(n,e))),pe=(e,t,n)=>G(n)?(he(e,t),e):null==e?void 0:e.set(t,n),Se=(e,t,n)=>(ae(e,t)||pe(e,t,n()),Le(e,t)),Te=(e,t,n,l=pe)=>(oe(t,((t,l)=>n(e,l,t))),ye(e,(n=>le(t,n)?0:l(e,n))),e),we=(e,t,n)=>{const l={};return ve(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Ie=(e,t,n)=>we(e,(e=>we(e,t,n)),re),Re=(e,t,n)=>we(e,(e=>Ie(e,t,n)),re),Ce=(e,t)=>{const n=fe();return ve(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},be=e=>Ce(e,Ce),me=e=>Ce(e,be),Ve=(e,t,n,l,s=0)=>H((n?Se:Le)(e,t[s],s>J(t)-2?n:fe),(o=>{if(s>J(t)-2)return(null==l?void 0:l(o))&&pe(e,t[s]),o;const r=Ve(o,t,n,l,s+1);return de(o)&&pe(e,t[s]),r})),Ee=e=>{const n=t(e);return K(n)||n==o&&$(e)?n:void 0},ke=(e,t,n,l,s)=>G(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),xe=(e,t,n)=>G(n)?e.delValue(t):e.setValue(t,n),Me=e=>new Set(X(e)||G(e)?e:[e]),De=(e,t)=>null==e?void 0:e.add(t),Je=(e,t,n)=>{const l=e.hasRow,s=fe(),o=fe(),r=fe(),i=fe(),a=fe(),d=(t,n,...l)=>{const s=Se(a,t,Me);return x(l,(t=>De(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>H(Le(a,t),(l=>{x(A(n)?ce(l):n,(t=>{e.delListener(t),he(l,t)})),de(l)&&pe(a,t)})),u=(e,n)=>{pe(s,e,n),ae(o,e)||(pe(o,e,t()),pe(r,e,fe()),pe(i,e,fe()))},v=e=>{pe(s,e),pe(o,e),pe(r,e),pe(i,e),c(e)};return[()=>e,()=>ge(s),e=>ye(o,e),e=>ae(o,e),e=>Le(s,e),e=>Le(o,e),(e,t)=>pe(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=fe(),f=fe(),g=Le(r,t),L=Le(i,t),y=t=>{const o=n=>e.getCell(s,t,n),r=Le(g,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||X(r)&&X(i)&&V(r,i)||pe(h,t,[r,i]),!G(v)){const e=Le(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&pe(f,t,n)}},p=e=>{o((()=>{ve(h,(([,e],t)=>pe(g,t,e))),ve(f,((e,t)=>pe(L,t,e)))}),h,f,g,L,e),ue(h),ue(f)};ye(g,y),e.hasTable(s)&&x(e.getRowIds(s),(e=>{ae(g,e)||y(e)})),p(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>y(n))),e.addTableListener(s,(()=>p())))},v,()=>ye(a,v),d,c]},Ae=(e,s)=>t(e)==l?t=>t(e):null!=e?e:()=>null!=s?s:n,Oe=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Fe=/^\d+$/,Pe=()=>{const e=[];let t=0;return[l=>{var s;return null!=(s=l?Q(e):null)?s:n+t++},t=>{Fe.test(t)&&J(e)<1e3&&P(e,t)}]},je=e=>{let t;const[l,s]=Pe(),o=fe();return[(s,r,i,a=[],d=(()=>[]))=>{null!=t||(t=e());const c=l(1);return pe(o,c,[s,r,i,a,d]),De(Ve(r,null!=i?i:[n],Me),c),c},(e,l,...s)=>x(((e,t=[n])=>{const l=[],s=(e,n)=>n==J(t)?P(l,e):null===t[n]?ve(e,(e=>s(e,n+1))):x([t[n],null],(t=>s(Le(e,t),n+1)));return s(e,0),l})(e,l),(e=>ve(e,(e=>Le(o,e)[0](t,...null!=l?l:[],...s))))),e=>H(Le(o,e),(([,t,l])=>(Ve(t,null!=l?l:[n],void 0,(t=>(he(t,e),de(t)?1:0))),pe(o,e),s(e),l))),e=>H(Le(o,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var i,a;const d=J(r);d==J(n)?e(t,...r,...s(r)):G(n[d])?x(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},Qe=Oe((e=>{let t,l,s,o=100,r=fe(),i=fe(),a=1;const d=fe(),c=fe(),[u,v,h]=je((()=>z)),f=fe(),g=fe(),L=[],y=[],p=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=Le(f,n);ve(l,((n,l)=>ve(n,((n,s)=>ve(n,((n,o)=>ke(e,l,s,o,n[t]))))))),ve(s,((n,l)=>xe(e,l,n[t])))})),a=1},S=e=>{pe(f,e),pe(g,e),v(c,[e])},T=(e,t)=>x(((e,t)=>e.splice(0,t))(e,null!=t?t:J(e)),S),w=()=>T(L,J(L)-o),I=()=>H(t,(()=>{P(L,t),w(),T(y),t=void 0,s=1})),R=()=>{t=j(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){I();const e=Se(r,t,fe),i=Se(e,n,fe),a=Se(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&de(pe(i,l))&&de(pe(e,n))&&de(pe(r,t))&&R(),M()}})),m=e.addValueListener(null,((e,t,n,l)=>{if(a){I();const e=Se(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&de(pe(i,t))&&R(),M()}})),V=(e="")=>(G(t)&&(t=n+l++,pe(f,t,[r,i]),O(t,e),r=fe(),i=fe(),s=1),t),E=()=>{A(L)||(((e,...t)=>{e.unshift(...t)})(y,V()),p(0,t),t=j(L),s=1)},k=()=>{A(y)||(P(L,t),t=Q(y),p(1,t),s=1)},M=()=>{s&&(v(d),s=0)},D=e=>{const t=V(e);return M(),t},O=(e,t)=>(F(e)&&Le(g,e)!==t&&(pe(g,e,t),v(c,[e])),z),F=e=>ae(f,e),z={setSize:e=>(o=e,w(),z),addCheckpoint:D,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>ye(g,e),hasCheckpoint:F,getCheckpoint:e=>Le(g,e),goBackward:()=>(E(),M(),z),goForward:()=>(k(),M(),z),goTo:e=>{const n=b(L,e)?E:b(y,e)?k:null;for(;!G(n)&&e!=t;)n();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(T(L),T(y),G(t)||S(t),t=void 0,l=0,D(),z),destroy:()=>{e.delListener(C),e.delListener(m)},getListenerStats:()=>({})};return te(z.clear())})),ze=(e,t)=>e<t?-1:1,Ne=Oe((e=>{const t=fe(),l=fe(),[s,o,r,i,a,d,c,,u,v,h]=Je(e,fe,(e=>G(e)?n:X(e)?M(e,C):C(e))),[f,g,L]=je((()=>p)),y=(t,n,l)=>{const s=a(t);ve(l,((t,l)=>n(l,(n=>ve(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},p={setIndexDefinition:(e,n,s,o,r,i=ze)=>{const a=G(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,s,r,u,v,h)=>{let f=0;const L=Me(),y=Me(),p=d(e);if(ve(s,(([e,t],n)=>{const l=Me(e),s=Me(t);ve(l,(e=>he(s,e)?he(l,e):0)),ve(l,(e=>{De(L,e),H(Le(p,e),(t=>{he(t,n),de(t)&&(pe(p,e),f=1)}))})),ve(s,(e=>{De(L,e),ae(p,e)||(pe(p,e,Me()),f=1),De(Le(p,e),n),G(o)||De(y,e)}))})),n(),de(v)||(h?ye(p,(e=>De(y,e))):ye(r,(e=>H(Le(u,e),(e=>De(y,e))))),ve(y,(e=>{const t=(t,n)=>i(Le(v,t),Le(v,n),e),n=[...Le(p,e)];E(n,t)||(pe(p,e,Me(k(n,t))),De(L,e))}))),(f||h)&&!G(a)){const t=[...p];E(t,a)||(c(e,fe(k(t,a))),f=1)}f&&g(t,[e]),ve(L,(t=>g(l,[e,t])))}),Ae(s),H(o,Ae)),p},delIndexDefinition:e=>(v(e),p),getStore:s,getIndexIds:o,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)=>ae(d(e),t),getTableId:a,getSliceIds:e=>ge(d(e)),getSliceRowIds:(e,t)=>ce(Le(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),p),destroy:h,getListenerStats:()=>({})};return te(p)})),Be=fe([["avg",[(e,t)=>D(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=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:B(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:W(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(de(n))return;const[r,i,a,d]=s;return o||(o=G(e)),ve(l,(([n,l])=>{o||(e=G(n)?null==i?void 0:i(e,l,t++):G(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=G(e)))})),o?r(ce(n),ie(n)):e},$e=Oe((e=>{const t=fe(),[l,s,o,r,i,a,d,,c,u,v]=Je(e,Y,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,f,g]=je((()=>L)),L={setMetricDefinition:(e,n,l,s,o,r,i)=>{var u;const v=U(l)?[l,o,r,i]:null!=(u=Le(Be,l))?u:Le(Be,"sum");return c(e,n,((n,l,s,o,r,i)=>{const c=a(e),u=ie(o);i||(i=G(c)),n();let h=We(c,u,o,l,v,i);$(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Ae(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return te(L)}));var qe=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())})),Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Oe((e=>{const t=e.createStore,[l,s,o,r,i,,,a,,v,f,g,w]=Je(e,(()=>!0),Y),I=t(),R=t(),C=fe(),b=(e,t,...n)=>x(n,(n=>De(Se(Se(C,t,fe),e,Me),n))),V=e=>{H(Le(C,e),(e=>{ye(e,((e,t)=>ve(t,(t=>e.delListener(t))))),ue(e)})),x([R,I],(t=>t.delTable(e)))},E=(e,t,n)=>b(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),k={setQueryDefinition:(t,l,s)=>{a(t,l),V(t);const o=[],r=[[null,[l,null,null,[],fe()]]],i=[],d=[],c=[];s({select:(e,t)=>{const l=U(e)?[J(o)+n,e]:[G(t)?e:t,n=>n(e,t)];return P(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=G(n)||U(t)?null:t,s=G(l)?t:n,o=[e,[e,l,U(s)?s:e=>e(s),[],fe()]];return P(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>P(i,U(e)?e:G(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,U(t)?[t,n,l,s]:null!=(o=Le(Be,t))?o:[(e,t)=>t]]];return P(d,r),{as:e=>r[0]=e}},having:(e,t)=>P(c,U(e)?e:n=>n(e)===t)});const u=fe(o);if(de(u))return k;const v=fe(r);ye(v,((e,[,t])=>H(Le(v,t),(({3:t})=>G(e)?0:P(t,e)))));const h=fe(d);let f=I;if(de(h)&&A(c))f=R;else{E(t,f,R);const e=fe();ye(h,((t,[n,l])=>De(Se(e,n,Me),[t,l])));const n=Me();ye(u,(t=>ae(e,t)?0:De(n,t)));const l=fe(),s=(n,l,s,o)=>H(n,(([r,i,a,d])=>{ye(l,((t,[n])=>{const l=Se(r,t,fe),i=Le(l,s),a=o?void 0:n;if(i!==a){const n=Me([[i,a]]),o=ie(l);pe(l,s,a),ve(Le(e,t),(([e,t])=>{const s=We(d[e],o,l,n,t);d[e]=G(Ee(s))?null:s}))}})),de(i)||!m(c,(e=>e((e=>d[e]))))?R.delRow(t,a):G(a)?n[2]=R.addRow(t,d):R.setRow(t,a,d)}));b(f,t,f.addRowListener(t,null,((o,r,i,a)=>{const d=[],c=[],u=fe(),v=f.hasRow(t,i);let h=!v;ve(n,(e=>{const[n,l,s]=a(t,i,e);P(d,l),P(c,s),h||(h=n)})),ye(e,(e=>{const[n,,l]=a(t,i,e);(h||n)&&pe(u,e,[l])})),h&&s(Ve(l,d,void 0,(([,e])=>(he(e,i),de(e)))),u,i,1),v&&s(Ve(l,c,(()=>{const e={};return ve(n,(n=>e[n]=f.getCell(t,i,n))),[fe(),Me(),void 0,e]}),(([,e])=>{De(e,i)})),u,i)})))}E(t,e,f);const L=(n,s,o,r)=>{const a=t=>e.getCell(s,o,t);x(r,(l=>{var s;const[o,,r,i,d]=Le(v,l),c=null==r?void 0:r(a,n),[u,h]=null!=(s=Le(d,n))?s:[];c!=u&&(G(h)||w(t,h),pe(d,n,G(c)?null:[c,...g(t,1,e.addRowListener(o,c,(()=>L(n,o,c,i))))]))})),(n=>{const s=(t,s)=>{var o,r,i;return e.getCell(...G(s)?[l,n,t]:t===l?[l,n,s]:[null==(o=Le(v,t))?void 0:o[0],null==(i=Le(null==(r=Le(v,t))?void 0:r[4],n))?void 0:i[0],s])};f.transaction((()=>m(i,(e=>e(s)))?ye(u,((e,l)=>ke(f,t,n,e,l(s,n)))):f.delRow(t,n)))})(n)},{3:y}=Le(v,null);return f.transaction((()=>g(t,1,e.addRowListener(l,null,((n,s,o)=>{e.hasRow(l,o)?L(o,l,o,y):(f.delRow(t,o),ve(v,(({4:e})=>H(Le(e,o),(([,n])=>{w(t,n),pe(e,o)})))))}))))),k},delQueryDefinition:e=>(V(e),v(e),k),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:i,delListener:e=>(R.delListener(e),k),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})(R.getListenerStats(),["tables","tableIds","transaction"])};return oe({[h]:[1,1],[y]:[0,1],[p]:[0,5],[L]:[1,2],[T]:[0,2],[S]:[1,3]},(([e,t],n)=>{x(e?["get","has","forEach"]:["get"],(e=>k[e+c+n]=(...t)=>R[e+n](...t))),k[u+c+n+d]=(...e)=>R[u+n+d](...F(e,0,t),((n,...l)=>e[t](k,...l)))})),te(k)})),Xe=Oe((e=>{const t=fe(),l=fe(),s=fe(),o=fe(),[r,i,a,d,c,u,,,v,h,f]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>G(e)?void 0:e+n)),[g,L,y]=je((()=>w)),p=(e,t,n)=>H(u(e),(([l,,s])=>{if(!ae(s,t)){const o=Me();if(c(e)!=T(e))De(o,t);else{let e=t;for(;!G(e)&&!ae(o,e);)De(o,e),e=Le(l,e)}if(n)return o;pe(s,t,o)}return Le(s,t)})),S=(e,t)=>H(u(e),(([,,e])=>pe(e,t))),T=e=>Le(t,e),w={setRelationshipDefinition:(e,n,r,i)=>(pe(t,e,r),v(e,n,((t,n)=>{const r=Me(),i=Me(),a=Me(),[d,c]=u(e);ve(n,(([t,n],l)=>{G(t)||(De(i,t),H(Le(c,t),(e=>{he(e,l),de(e)&&pe(c,t)}))),G(n)||(De(i,n),ae(c,n)||pe(c,n,Me()),De(Le(c,n),l)),De(r,l),pe(d,l,n),ye(Le(o,e),(t=>{ae(p(e,t),l)&&De(a,t)}))})),t(),ve(r,(t=>L(l,[e,t]))),ve(i,(t=>L(s,[e,t]))),ve(a,(t=>{S(e,t),L(o,[e,t])}))}),Ae(i)),w),delRelationshipDefinition:e=>(pe(t,e),h(e),w),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:T,getRemoteRowId:(e,t)=>{var n;return Le(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ce(Le(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>G(u(e))?[t]:ce(p(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(p(e,t),g(n,o,[e,t])),delListener:e=>(S(...y(e)),w),destroy:f,getListenerStats:()=>({})};return te(w)})),Ye=e=>[e,e],Ze=()=>[fe(),fe()],_e=e=>[...e],et=([e,t])=>e===t,tt=(e,t,n)=>G(e)||!ne(e)||re(e)||ee(e)?(null==n||n(),!1):(oe(e,((n,l)=>{t(n,l)||se(e,l)})),!re(e)),nt=(e,t,n)=>pe(e,t,Le(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,s=0;const r=fe(),c=fe(),v=fe(),p=fe(),m=fe(),E=fe(),D=fe(),J=fe(),A=fe(),O=fe(),j=fe(),Q=fe(),B=fe(),W=Me(),$=fe(),q=fe(),X=fe(),Y=fe(),Z=Ze(),_=Ze(),ee=Ze(),ne=Ze(),ie=Ze(),ce=Ze(),Ve=Ze(),Je=Ze(),Ae=Ze(),Oe=Ze(),Fe=Ze(),Qe=Ze(),Ne=Ze(),Be=Ze(),We=fe(),$e=Ze(),[qe,Ge,He,Ke]=je((()=>gn)),Ue=e=>{if(!tt(e,((e,t)=>b([i,a],t))))return!1;const t=e[i];return!(!K(t)&&t!=o||(Ee(e[a])!=t&&se(e,a),0))},Xe=(t,n)=>(!e||ae(O,n)||Jt(n))&&tt(t,((e,t)=>st(n,t,e)),(()=>Jt(n))),st=(e,t,n,l)=>tt(l?n:at(n,e,t),((l,s)=>H(ot(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,n,l,s)=>e?H(Le(Le(O,t),l),(e=>Ee(s)!=e[i]?Jt(t,n,l,s,e[a]):s),(()=>Jt(t,n,l,s))):G(Ee(s))?Jt(t,n,l,s):s,rt=(e,t)=>tt(t?e:dt(e),((t,n)=>H(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?H(Le(Q,e),(t=>Ee(n)!=t[i]?At(e,n,t[a]):n),(()=>At(e,n))):G(Ee(n))?At(e,n):n,at=(e,t,n)=>(H(Le(j,t),(([l,s])=>{ve(l,((t,n)=>{le(e,n)||(e[n]=t)})),ve(s,(l=>{le(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ve(B,((t,n)=>{le(e,n)||(e[n]=t)})),ve(W,(t=>{le(e,t)||At(t)}))),e),ct=e=>Te(O,e,((e,t,n)=>{const l=fe(),s=Me();Te(Se(O,t,fe),n,((e,t,n)=>{pe(e,t,n),H(n[a],(e=>pe(l,t,e)),(()=>De(s,t)))})),pe(j,t,[l,s])}),((e,t)=>{pe(O,t),pe(j,t)})),ut=e=>Te(Q,e,((e,t,n)=>{pe(Q,t,n),H(n[a],(e=>pe(B,t,e)),(()=>De(W,t)))}),((e,t)=>{pe(Q,t),pe(B,t),he(W,t)})),vt=e=>re(e)?on():en(e),ht=e=>Te(X,e,((e,t,n)=>ft(t,n)),((e,t)=>Rt(t))),ft=(e,t)=>Te(Se(X,e,(()=>(Vt(e,1),pe($,e,Pe()),pe(q,e,fe()),fe()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,s)=>Te(Se(t,n,(()=>(Et(e,n,1),fe()))),l,((t,l,s)=>Lt(e,n,t,l,s)),((l,o)=>bt(e,t,n,l,o,s))),Lt=(e,t,n,l,s)=>{ae(n,l)||kt(e,t,l,1);const o=Le(n,l);s!==o&&(xt(e,t,l,o,s),pe(n,l,s))},yt=(e,t,n,l,s)=>H(Le(t,n),(t=>Lt(e,n,t,l,s)),(()=>gt(e,t,n,at({[l]:s},e,n)))),pt=e=>re(e)?dn():tn(e),St=e=>Te(Y,e,((e,t,n)=>Tt(t,n)),((e,t)=>mt(t))),Tt=(e,t)=>{ae(Y,e)||Mt(e,1);const n=Le(Y,e);t!==n&&(Dt(e,n,t),pe(Y,e,t))},wt=(e,t)=>{const[n]=Le($,e),l=n(t);return ae(Le(X,e),l)?wt(e,t):l},It=e=>{var t;return null!=(t=Le(X,e))?t:ft(e,{})},Rt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=Le($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,s,o)=>{var r;const i=Le(null==(r=Le(j,e))?void 0:r[0],s);if(!G(i)&&!o)return Lt(e,n,l,s,i);const a=t=>{xt(e,n,t,Le(l,t)),kt(e,n,t,-1),pe(l,t)};G(i)?a(s):ye(l,a),de(l)&&(Et(e,n,-1),de(pe(t,n))&&(Vt(e,-1),pe(X,e),pe($,e),pe(q,e)))},mt=e=>{const t=Le(B,e);if(!G(t))return Tt(e,t);Dt(e,Le(Y,e)),Mt(e,-1),pe(Y,e)},Vt=(e,t)=>nt(r,e,t),Et=(e,t,n)=>nt(Se(v,e,fe),t,n),kt=(e,t,n,l)=>{var s;const o=Le(q,e),r=null!=(s=Le(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&nt(Se(c,e,fe),n,l),pe(o,n,r!=-l?r+l:null),nt(Se(Se(p,e,fe),t,fe),n,l)},xt=(e,t,n,l,s)=>Se(Se(Se(m,e,fe),t,fe),n,(()=>[l,0]))[1]=s,Mt=(e,t)=>nt(E,e,t),Dt=(e,t,n)=>Se(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,s)=>(P(Se(Se(Se(J,e,fe),t,fe),n,(()=>[])),l),s),At=(e,t,n)=>(P(Se(A,e,(()=>[])),t),n),Ot=(e,t,n)=>H(Le(Le(Le(m,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(Xt(e,t,n))])),Ft=e=>H(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(_t(e))])),Pt=e=>de(J)||de(Oe[e])?0:ve(e?me(J):J,((t,n)=>ve(t,((t,l)=>ve(t,((t,s)=>Ge(Oe[e],[n,l,s],t))))))),jt=e=>de(A)||de(Fe[e])?0:ve(e?Ce(A):A,((t,n)=>Ge(Fe[e],[n],t))),Qt=(e,t,n)=>{if(!de(t))return Ge(e,n,(()=>we(t))),1},zt=e=>{const t=de(ce[e]),n=de(Je[e])&&de(ne[e])&&de(ie[e])&&t&&de(_[e]),l=de(Ae[e])&&de(Ve[e])&&de(ee[e])&&de(Z[e]);if(!n||!l){const s=e?[Ce(r),be(c),be(v),me(p),me(m)]:[r,c,v,p,m];if(!n){Qt(_[e],s[0]),ve(s[1],((t,n)=>Qt(ne[e],t,[n])));const n=Me();ve(s[2],((l,s)=>{Qt(ie[e],l,[s])&&!t&&(Ge(ce[e],[s,null]),De(n,s))})),t||ve(s[4],((t,l)=>{if(!ae(n,l)){const n=Me();ve(t,(e=>ve(e,(([t,l],s)=>l!==t?De(n,s):he(e,s))))),ve(n,(t=>Ge(ce[e],[l,t])))}})),ve(s[3],((t,n)=>ve(t,((t,l)=>Qt(Je[e],t,[n,l])))))}if(!l){let t;ve(s[4],((n,l)=>{let s;ve(n,((n,o)=>{let r;ve(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,o,a],i,n,Ot),t=s=r=1)})),r&&Ge(Ve[e],[l,o],Ot)})),s&&Ge(ee[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=de(Ne[e]),n=de(Be[e])&&de(Qe[e]);if(!t||!n){const l=e?[Ce(E),Ce(D)]:[E,D];if(t||Qt(Ne[e],l[0]),!n){let t;ve(l[1],(([n,l],s)=>{l!==n&&(Ge(Be[e],[s],l,n,Ft),t=1)})),t&&Ge(Qe[e],void 0,Ft)}}},Bt=(e,...t)=>(vn((()=>e(...M(t,C)))),gn),Wt=()=>[we(m,((e,t)=>-1===Le(r,t)?null:we(e,((e,n)=>-1===Le(Le(v,t),n)?null:we(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),re)),re),we(D,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(m,_e,et),invalidCells:Re(J),changedValues:we(D,_e,et),invalidValues:we(A),changedTableIds:we(r),changedRowIds:Ie(v),changedCellIds:Re(p),changedValueIds:we(E)}),qt=()=>Re(X),Gt=()=>ge(X),Ht=e=>ge(Le(X,C(e))),Kt=(e,t,n,l=0,s)=>{return M(F(k((o=Le(X,C(e)),r=(e,n)=>[G(t)?n:Le(e,C(t)),n],M([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>ze(e,t)*(n?-1:1))),l,G(s)?s:l+s),(([,e])=>e));var o,r,i},Ut=(e,t)=>ge(Le(Le(X,C(e)),C(t))),Xt=(e,t,n)=>Le(Le(Le(X,C(e)),C(t)),C(n)),Yt=()=>we(Y),Zt=()=>ge(Y),_t=e=>Le(Y,C(e)),en=e=>Bt((()=>(e=>tt(e,Xe,Jt))(e)?ht(e):0)),tn=e=>Bt((()=>rt(e)?St(e):0)),nn=e=>{try{vt(N(e))}catch(e){}return gn},ln=t=>Bt((()=>{if((e=tt(t,(e=>tt(e,Ue))))&&(ct(t),!de(X))){const e=qt();on(),en(e)}})),sn=e=>Bt((()=>{if(t=(e=>tt(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),on=()=>Bt((()=>ht({}))),rn=e=>Bt((e=>ae(X,e)?Rt(e):0),e),an=(e,t)=>Bt(((e,t)=>H(Le(X,e),(n=>ae(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Bt((()=>St({}))),cn=()=>Bt((()=>{ct({}),e=!1})),un=()=>Bt((()=>{ut({}),t=!1})),vn=(e,t)=>{if(-1!=s){hn();const n=e();return fn(t),n}},hn=()=>(-1!=s&&s++,1==s&&Ge(We,void 0,Wt,$t),gn),fn=e=>(s>0&&(s--,0==s&&(n=!de(m),l=!de(D),s=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Wt,$t))&&(ve(m,((e,t)=>ve(e,((e,n)=>ve(e,(([e],l)=>ke(gn,t,n,l,e))))))),ve(D,(([e],t)=>xe(gn,t,e))),n=l=!1),Ge($e[0],void 0,Wt,$t),s=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),Ge($e[1],void 0,Wt,$t),s=0,n=l=!1,x([r,c,v,p,m,J,E,D,A],ue))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Ie(Le(X,C(e))),getTableCellIds:e=>ge(Le(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>we(Le(Le(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!de(X),hasTable:e=>ae(X,C(e)),hasTableCell:(e,t)=>ae(Le(q,C(e)),C(t)),hasRow:(e,t)=>ae(Le(X,C(e)),C(t)),hasCell:(e,t,n)=>ae(Le(Le(X,C(e)),C(t)),C(n)),hasValues:()=>!de(Y),hasValue:e=>ae(Y,C(e)),getTablesJson:()=>z(X),getValuesJson:()=>z(Y),getJson:()=>z([X,Y]),getTablesSchemaJson:()=>z(O),getValuesSchemaJson:()=>z(Q),getSchemaJson:()=>z([O,Q]),setContent:([e,t])=>Bt((()=>{(re(e)?on:en)(e),(re(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Bt((e=>Xe(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Bt(((e,t)=>st(e,t,n)?gt(e,It(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return st(e,l,t)&&(e=C(e),gt(e,It(e),l=wt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Bt(((e,t)=>{if(st(e,t,n,1)){const l=It(e);oe(n,((n,s)=>yt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Bt(((e,t,n)=>H(ot(e,t,n,U(l)?l(Xt(e,t,n)):l),(l=>yt(e,It(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Bt((()=>rt(e,1)?oe(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Bt((e=>H(it(e,U(t)?t(_t(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{oe(e[0],((e,t)=>G(e)?rn(t):oe(e,((e,n)=>G(e)?an(t,n):oe(e,((e,l)=>ke(gn,t,n,l,e))))))),oe(e[1],((e,t)=>xe(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{pt(N(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=N(e);vt(t),pt(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:sn,setSchema:(e,t)=>Bt((()=>{ln(e),sn(t)})),delTables:on,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Bt(((e,t,n)=>H(Le(X,e),(s=>H(Le(s,t),(o=>ae(o,n)?bt(e,s,t,o,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Bt((e=>ae(Y,e)?mt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Bt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ve(X,((t,n)=>e(n,(e=>ve(t,((t,n)=>e(n,(e=>ye(t,e))))))))),forEachTableCell:(e,t)=>ye(Le(q,C(e)),t),forEachRow:(e,t)=>ve(Le(X,C(e)),((e,n)=>t(n,(t=>ye(e,t))))),forEachCell:(e,t,n)=>ye(Le(Le(X,C(e)),C(t)),n),forEachValue:e=>ye(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=Kt(e,t,n,l,s);return qe((()=>{const r=Kt(e,t,n,l,s);V(r,i)||(i=r,o(gn,e,t,n,l,s,i))}),ce[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,We),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(Ke(e),gn),delListener:e=>(He(e),gn),getListenerStats:()=>({}),createStore:lt};return oe({[f]:[0,Z],[g]:[0,_],[h]:[1,ee,[Gt]],[h+T]:[1,ne,[Gt]],[y]:[1,ie,[Gt]],[L]:[2,Ve,[Gt,Ht]],[T]:[2,Je,[Gt,Ht]],[S]:[3,Ae,[Gt,Ht,Ut],e=>Ye(Xt(...e))],InvalidCell:[3,Oe],[I]:[0,Qe],[R]:[0,Ne],[w]:[1,Be,[Zt],e=>Ye(_t(e[0]))],InvalidValue:[1,Fe]},(([e,t,n,l],s)=>{gn[u+s+d]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?F(s,0,e):void 0,n,l)})),te(gn)};e.createCheckpoints=Qe,e.createCustomPersister=(e,t,n,l,s)=>{let o,r,i,a=0,d=0,c=0;const u=[],v=e=>qe(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>qe(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(n,l)=>qe(void 0,null,(function*(){return yield v((()=>qe(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>qe(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,i=l(((n,l)=>qe(void 0,null,(function*(){return yield v((()=>qe(void 0,null,(function*(){var s;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(s=null==n?void 0:n())?s:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(c&&(s(i),i=void 0,c=0),h),save:t=>qe(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>qe(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){}a=0}))))),h})),startAutoSave:()=>qe(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();re(n)&&re(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(H(o,e.delListener),h),schedule:(...e)=>qe(void 0,null,(function*(){return P(u,...e),yield qe(void 0,null,(function*(){if(!d){for(d=1;!G(r=Q(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return te(h)},e.createIndexes=Ne,e.createMetrics=$e,e.createQueries=Ue,e.createRelationships=Xe,e.createStore=lt,e.defaultSorter=ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tinybase",
|
|
3
|
-
"version": "4.0.0
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"author": "jamesgpearce",
|
|
5
5
|
"repository": "github:tinyplex/tinybase",
|
|
6
6
|
"license": "MIT",
|
|
@@ -218,21 +218,21 @@
|
|
|
218
218
|
"@babel/preset-typescript": "^7.22.5",
|
|
219
219
|
"@rollup/plugin-replace": "^5.0.2",
|
|
220
220
|
"@rollup/plugin-terser": "^0.4.3",
|
|
221
|
-
"@sqlite.org/sqlite-wasm": "^3.42.0-
|
|
221
|
+
"@sqlite.org/sqlite-wasm": "^3.42.0-build2",
|
|
222
222
|
"@types/asciichart": "^1.5.6",
|
|
223
223
|
"@types/expect-puppeteer": "^5.0.3",
|
|
224
224
|
"@types/http-server": "^0.12.1",
|
|
225
225
|
"@types/jest": "^29.5.2",
|
|
226
226
|
"@types/jest-environment-puppeteer": "^5.0.3",
|
|
227
227
|
"@types/less": "^3.0.3",
|
|
228
|
-
"@types/node": "^20.3.
|
|
228
|
+
"@types/node": "^20.3.2",
|
|
229
229
|
"@types/puppeteer": "^5.4.7",
|
|
230
230
|
"@types/react": "^18.2.14",
|
|
231
231
|
"@types/react-dom": "^18.2.6",
|
|
232
232
|
"@types/react-test-renderer": "^18.0.0",
|
|
233
233
|
"@types/tmp": "^0.2.3",
|
|
234
|
-
"@typescript-eslint/eslint-plugin": "^5.60.
|
|
235
|
-
"@typescript-eslint/parser": "^5.60.
|
|
234
|
+
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
|
235
|
+
"@typescript-eslint/parser": "^5.60.1",
|
|
236
236
|
"@vlcn.io/crsqlite-wasm": "^0.13.0",
|
|
237
237
|
"asciichart": "^1.5.25",
|
|
238
238
|
"automerge-repo": "^0.1.0",
|
|
@@ -243,11 +243,11 @@
|
|
|
243
243
|
"buffer-replace": "^1.0.0",
|
|
244
244
|
"country-flag-emoji-json": "^2.0.0",
|
|
245
245
|
"cspell": "^6.31.1",
|
|
246
|
-
"esbuild": "^0.18.
|
|
246
|
+
"esbuild": "^0.18.10",
|
|
247
247
|
"eslint": "^8.43.0",
|
|
248
248
|
"eslint-config-prettier": "^8.8.0",
|
|
249
249
|
"eslint-plugin-jest": "^27.2.2",
|
|
250
|
-
"eslint-plugin-jsdoc": "^46.2
|
|
250
|
+
"eslint-plugin-jsdoc": "^46.4.2",
|
|
251
251
|
"eslint-plugin-react": "^7.32.2",
|
|
252
252
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
253
253
|
"fake-indexeddb": "^4.0.1",
|
|
@@ -260,11 +260,11 @@
|
|
|
260
260
|
"jest-puppeteer": "^9.0.0",
|
|
261
261
|
"less": "^4.1.3",
|
|
262
262
|
"prettier": "^2.8.8",
|
|
263
|
-
"puppeteer": "^20.7.
|
|
263
|
+
"puppeteer": "^20.7.4",
|
|
264
264
|
"react": "^18.2.0",
|
|
265
265
|
"react-dom": "^18.2.0",
|
|
266
266
|
"react-test-renderer": "^18.2.0",
|
|
267
|
-
"rollup": "^3.
|
|
267
|
+
"rollup": "^3.26.0",
|
|
268
268
|
"rollup-plugin-esbuild": "^5.0.0",
|
|
269
269
|
"rollup-plugin-gzip": "^3.1.0",
|
|
270
270
|
"rollup-plugin-preserve-shebang": "^1.0.1",
|
|
@@ -274,17 +274,17 @@
|
|
|
274
274
|
"tinydocs": "^0.1.27",
|
|
275
275
|
"tmp": "^0.2.1",
|
|
276
276
|
"ts-unused-exports": "^9.0.5",
|
|
277
|
-
"typescript": "5.1.
|
|
278
|
-
"yjs": "^13.6.
|
|
277
|
+
"typescript": "5.1.6",
|
|
278
|
+
"yjs": "^13.6.6"
|
|
279
279
|
},
|
|
280
280
|
"peerDependencies": {
|
|
281
|
-
"@sqlite.org/sqlite-wasm": "^3.42.0-
|
|
281
|
+
"@sqlite.org/sqlite-wasm": "^3.42.0-build2",
|
|
282
282
|
"@vlcn.io/crsqlite-wasm": "^0.13.0",
|
|
283
|
-
"automerge-repo": "^0.0
|
|
284
|
-
"prettier": "
|
|
285
|
-
"react": "
|
|
283
|
+
"automerge-repo": "^0.1.0",
|
|
284
|
+
"prettier": "^2.8.8",
|
|
285
|
+
"react": "^18.2.0",
|
|
286
286
|
"sqlite3": "^5.1.6",
|
|
287
|
-
"yjs": "
|
|
287
|
+
"yjs": "^13.6.6"
|
|
288
288
|
},
|
|
289
289
|
"peerDependenciesMeta": {
|
|
290
290
|
"@sqlite.org/sqlite-wasm": {
|