tinybase 4.0.0-beta.5 → 4.0.0-beta.5.1
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/store.cjs +1 -1
- package/lib/cjs/store.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/store.cjs +1 -1
- package/lib/cjs-es6/store.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 +1 -1
- package/lib/debug/persisters/persister-browser.js +1 -1
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +3 -3
- package/lib/debug/persisters/persister-file.js +1 -1
- package/lib/debug/persisters/persister-remote.js +1 -1
- package/lib/debug/persisters/persister-sqlite-wasm.js +3 -3
- package/lib/debug/persisters/persister-sqlite3.js +3 -3
- package/lib/debug/persisters/persister-yjs.js +1 -1
- package/lib/debug/persisters.js +1 -1
- package/lib/debug/store.js +2 -2
- package/lib/debug/tinybase.js +3 -3
- 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/store.js +1 -1
- package/lib/es6/store.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/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -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/store.js +1 -1
- package/lib/umd/store.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/store.js +1 -1
- package/lib/umd-es6/store.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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.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},E=Object,A=E.keys,w=E.freeze,P=(e=[])=>E.fromEntries(e),b=(...e)=>E.assign({},...e),L=(e,n)=>(delete e[n],e),T=(e,n)=>o(E.entries(e),(([e,t])=>n(t,e))),O=e=>E.values(e),x=e=>i(A(e)),S=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==x(e),R=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},C=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),_=e=>new Map(e),g=(e,n)=>null==e?void 0:e.get(n),I=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(N(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(T(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)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),j="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var 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 B="SELECT*FROM",q="FROM pragma_table_",J="WHERE",V=J+" schema='main'AND type='table'AND name!='sqlite_schema'",Y=e=>{const n=_(),l=(e,t)=>!f(g(g(n,e),t)),d=(l,a,d,s,v)=>k(void 0,null,(function*(){const y=F();T(null!=v?v:{},(e=>o(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=C(y);if(u(f)&&R(n,l)&&s)return yield e("DROP TABLE"+M(l)),void D(n,l);if(u(f)||R(n,l)){const t=g(n,l),r=F([...null!=(p=null==(h=t)?void 0:h.keys())?p:[]]);yield m([...o(f,(n=>k(void 0,null,(function*(){N(r,n)||(yield e(`ALTER TABLE${M(l)}ADD${M(n)}`),D(t,n,""))})))),...d?o(C(r),(n=>k(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(n)}`),D(t,n))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>t+M(e))))});`),D(n,l,_([[a,""],...o(f,(e=>[e,""]))]));var h,p;if(u(f))yield e("DELETE FROM"+M(l));else{const n=[],u=[],d=[];T(v,((e,t)=>{var l;c(n,`(?${l=i(f),",?".repeat(l)})`),c(u,t,...o(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+M(l)+"("+M(a)+r(o(f,(e=>t+M(e))))+")VALUES"+r(n,t),u),yield e("DELETE FROM"+M(l)+J+M(a)+"NOT IN("+r(o(d,(()=>"?")),t)+")",d)}}));return[()=>k(void 0,null,(function*(){return $(n,P(yield m(o(yield e("SELECT name "+q+"list "+V),(n=>k(void 0,[n],(function*({name:n}){return[n,P(o(yield e("SELECT name,type "+q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return D(n,t,$((i=_,R(r=n,o=t)||D(r,o,i()),g(r,o)),l,((e,n,t)=>{t!=g(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var r,o,i}),((e,t)=>D(n,t)))})),(n,t)=>k(void 0,null,(function*(){const r=l(n,t)?yield e(B+M(n)+J+M(t)+"=?",["_"]):[];return u(r)?null:L(r[0],t)})),(e,n,t,l)=>k(void 0,null,(function*(){return yield d(e,n,!0,!0,{[t]:l})})),(n,t)=>k(void 0,null,(function*(){return l(n,t)?P(a(o(yield e(B+M(n)),(e=>[e[t],L(e,t)])),(([e,n])=>!f(e)&&!S(n)))):
|
|
1
|
+
const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.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},E=Object,A=E.keys,w=E.freeze,P=(e=[])=>E.fromEntries(e),b=(...e)=>E.assign({},...e),L=(e,n)=>(delete e[n],e),T=(e,n)=>o(E.entries(e),(([e,t])=>n(t,e))),O=e=>E.values(e),x=e=>i(A(e)),S=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==x(e),R=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},C=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),_=e=>new Map(e),g=(e,n)=>null==e?void 0:e.get(n),I=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(N(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(T(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)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),j="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var 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 B="SELECT*FROM",q="FROM pragma_table_",J="WHERE",V=J+" schema='main'AND type='table'AND name!='sqlite_schema'",Y=e=>{const n=_(),l=(e,t)=>!f(g(g(n,e),t)),d=(l,a,d,s,v)=>k(void 0,null,(function*(){const y=F();T(null!=v?v:{},(e=>o(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=C(y);if(u(f)&&R(n,l)&&s)return yield e("DROP TABLE"+M(l)),void D(n,l);if(u(f)||R(n,l)){const t=g(n,l),r=F([...null!=(p=null==(h=t)?void 0:h.keys())?p:[]]);yield m([...o(f,(n=>k(void 0,null,(function*(){N(r,n)||(yield e(`ALTER TABLE${M(l)}ADD${M(n)}`),D(t,n,""))})))),...d?o(C(r),(n=>k(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(n)}`),D(t,n))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>t+M(e))))});`),D(n,l,_([[a,""],...o(f,(e=>[e,""]))]));var h,p;if(u(f))yield e("DELETE FROM"+M(l));else{const n=[],u=[],d=[];T(v,((e,t)=>{var l;c(n,`(?${l=i(f),",?".repeat(l)})`),c(u,t,...o(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+M(l)+"("+M(a)+r(o(f,(e=>t+M(e))))+")VALUES"+r(n,t),u),yield e("DELETE FROM"+M(l)+J+M(a)+"NOT IN("+r(o(d,(()=>"?")),t)+")",d)}}));return[()=>k(void 0,null,(function*(){return $(n,P(yield m(o(yield e("SELECT name "+q+"list "+V),(n=>k(void 0,[n],(function*({name:n}){return[n,P(o(yield e("SELECT name,type "+q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return D(n,t,$((i=_,R(r=n,o=t)||D(r,o,i()),g(r,o)),l,((e,n,t)=>{t!=g(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var r,o,i}),((e,t)=>D(n,t)))})),(n,t)=>k(void 0,null,(function*(){const r=l(n,t)?yield e(B+M(n)+J+M(t)+"=?",["_"]):[];return u(r)?null:L(r[0],t)})),(e,n,t,l)=>k(void 0,null,(function*(){return yield d(e,n,!0,!0,{[t]:l})})),(n,t)=>k(void 0,null,(function*(){return l(n,t)?P(a(o(yield e(B+M(n)),(e=>[e[t],L(e,t)])),(([e,n])=>!f(e)&&!S(n)))):{}})),d]};var z=(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 H=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>z(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),p={load:(t,l)=>z(void 0,null,(function*(){return yield y((()=>z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),p})),startAutoLoad:(...t)=>z(void 0,[...t],(function*(t={},r={}){return p.stopAutoLoad(),yield p.load(t,r),s=1,u=l(((t,l)=>z(void 0,null,(function*(){yield y((()=>z(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){}}))))})))),p})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),p),save:n=>z(void 0,null,(function*(){return yield p.schedule((()=>z(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),p})),startAutoSave:()=>z(void 0,null,(function*(){return yield p.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const t=n();p.save((()=>t))})),p})),stopAutoSave:()=>(h(o,e.delListener),p),schedule:(...e)=>z(void 0,null,(function*(){return c(v,...e),yield z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(p)};var 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 U="store",W=(e,t,l,r,{storeTableName:o=n})=>{const[i,u,a]=Y(t),d=H(e,(()=>K(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,j))?e:{})[U])}))),(e=>K(void 0,null,(function*(){return d.schedule(i,(()=>K(void 0,null,(function*(){var n;yield a(o,j,"_",{[U]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,r);return d},G="rowIdColumnName",Q="tableId",X="tableName",Z={load:0,save:0,[X]:n+"_values"},ee=(e,n,t,l)=>{const r=_();return T(e,((e,o)=>{const i=d(O(b(n,p(e)?{[t]:e}:e)),0,x(n));f(i[0])||l(o,i[0])||D(r,o,i)})),r};var ne=(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 te=(e,n,t,l,r)=>{const[o,i,[u,c,s]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=d(O(b(Z,t)),0,x(Z)),r=l[2];return[ee(e,{[Q]:null,[G]:j},Q,(e=>e==r)),ee(n,{[X]:null,[G]:j,deleteEmptyColumns:0,deleteEmptyTable:0},X,((e,n)=>n==r)),l]})(r),[v,y,h,p,E]=Y(n),A=H(e,(()=>ne(void 0,null,(function*(){yield v();const e=yield ne(void 0,null,(function*(){return P(a(yield m(I(o,((e,n)=>ne(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!S(e[1]))))})),n=yield ne(void 0,null,(function*(){return u?yield y(s,j):{}}));return S(e)&&f(n)?void 0:[e,n]}))),(e=>ne(void 0,null,(function*(){const[n,t]=e();A.schedule(v,...(e=>I(i,(([n,t,l,r],o)=>()=>ne(void 0,null,(function*(){return yield E(n,t,l,r,e[o])})))))(n),(e=>c?()=>ne(void 0,null,(function*(){return yield h(s,j,"_",e)})):null)(t))}))),t,l);return A},le="json",re="autoLoadIntervalSeconds",oe={mode:le,[re]:1},ie="pragma ",ue="data_version",ae="schema_version",de=(e,n,t,l,r)=>{const o=b(oe,p(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(o.mode==le?W:te)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ie+ue))[0][ue],l=(yield t(ie+ae))[0][ae];n==(null!=i?i:i=n)&&l==(null!=u?u:u=l)||(e(),i=n,u=l)}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*o[re]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,r(n)}),o)};var ce=Object.defineProperty,se=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,fe=(e,n,t)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const he=(e,n,t,l)=>de(e,l,((e,...n)=>{return l=[e,...n],r=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))ve.call(n,t)&&fe(e,t,n[t]);if(se)for(var t of se(n))ye.call(n,t)&&fe(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.capi.sqlite3_update_hook(t,(()=>e()),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)));export{he as createSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n="")=>e.join(n),r=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.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},E=Object,A=E.keys,L=E.freeze,T=(e=[])=>E.fromEntries(e),P=(...e)=>E.assign({},...e),b=(e,n)=>(delete e[n],e),w=(e,n)=>r(E.entries(e),(([e,t])=>n(t,e))),O=e=>E.values(e),S=e=>i(A(e)),g=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==S(e),C=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},N=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var t;return r([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(R(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(w(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)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),j="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var B=(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 k="SELECT*FROM",J="FROM pragma_table_",Y="WHERE",q=Y+" schema='main'AND type='table'AND name!='sqlite_schema'",z=e=>{const n=x(),l=(e,t)=>!f(I(I(n,e),t)),d=(l,a,d,s,v)=>B(void 0,null,(function*(){const y=F();w(null!=v?v:{},(e=>r(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=N(y);if(u(f)&&C(n,l)&&s)return yield e("DROP TABLE"+M(l)),void D(n,l);if(u(f)||C(n,l)){const t=I(n,l),o=F([...null!=(p=null==(h=t)?void 0:h.keys())?p:[]]);yield m([...r(f,(n=>B(void 0,null,(function*(){R(o,n)||(yield e(`ALTER TABLE${M(l)}ADD${M(n)}`),D(t,n,""))})))),...d?r(N(o),(n=>B(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(n)}`),D(t,n))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${o(r(f,(e=>t+M(e))))});`),D(n,l,x([[a,""],...r(f,(e=>[e,""]))]));var h,p;if(u(f))yield e("DELETE FROM"+M(l));else{const n=[],u=[],d=[];w(v,((e,t)=>{var l;c(n,`(?${l=i(f),",?".repeat(l)})`),c(u,t,...r(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+M(l)+"("+M(a)+o(r(f,(e=>t+M(e))))+")VALUES"+o(n,t),u),yield e("DELETE FROM"+M(l)+Y+M(a)+"NOT IN("+o(r(d,(()=>"?")),t)+")",d)}}));return[()=>B(void 0,null,(function*(){return $(n,T(yield m(r(yield e("SELECT name "+J+"list "+q),(n=>B(void 0,[n],(function*({name:n}){return[n,T(r(yield e("SELECT name,type "+J+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return D(n,t,$((i=x,C(o=n,r=t)||D(o,r,i()),I(o,r)),l,((e,n,t)=>{t!=I(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var o,r,i}),((e,t)=>D(n,t)))})),(n,t)=>B(void 0,null,(function*(){const o=l(n,t)?yield e(k+M(n)+Y+M(t)+"=?",["_"]):[];return u(o)?null:b(o[0],t)})),(e,n,t,l)=>B(void 0,null,(function*(){return yield d(e,n,!0,!0,{[t]:l})})),(n,t)=>B(void 0,null,(function*(){return l(n,t)?T(a(r(yield e(k+M(n)),(e=>[e[t],b(e,t)])),(([e,n])=>!f(e)&&!g(n)))):
|
|
1
|
+
const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n="")=>e.join(n),r=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.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},E=Object,A=E.keys,L=E.freeze,T=(e=[])=>E.fromEntries(e),P=(...e)=>E.assign({},...e),b=(e,n)=>(delete e[n],e),w=(e,n)=>r(E.entries(e),(([e,t])=>n(t,e))),O=e=>E.values(e),S=e=>i(A(e)),g=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==S(e),C=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},N=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var t;return r([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(R(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(w(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)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),j="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var B=(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 k="SELECT*FROM",J="FROM pragma_table_",Y="WHERE",q=Y+" schema='main'AND type='table'AND name!='sqlite_schema'",z=e=>{const n=x(),l=(e,t)=>!f(I(I(n,e),t)),d=(l,a,d,s,v)=>B(void 0,null,(function*(){const y=F();w(null!=v?v:{},(e=>r(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=N(y);if(u(f)&&C(n,l)&&s)return yield e("DROP TABLE"+M(l)),void D(n,l);if(u(f)||C(n,l)){const t=I(n,l),o=F([...null!=(p=null==(h=t)?void 0:h.keys())?p:[]]);yield m([...r(f,(n=>B(void 0,null,(function*(){R(o,n)||(yield e(`ALTER TABLE${M(l)}ADD${M(n)}`),D(t,n,""))})))),...d?r(N(o),(n=>B(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(n)}`),D(t,n))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${o(r(f,(e=>t+M(e))))});`),D(n,l,x([[a,""],...r(f,(e=>[e,""]))]));var h,p;if(u(f))yield e("DELETE FROM"+M(l));else{const n=[],u=[],d=[];w(v,((e,t)=>{var l;c(n,`(?${l=i(f),",?".repeat(l)})`),c(u,t,...r(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+M(l)+"("+M(a)+o(r(f,(e=>t+M(e))))+")VALUES"+o(n,t),u),yield e("DELETE FROM"+M(l)+Y+M(a)+"NOT IN("+o(r(d,(()=>"?")),t)+")",d)}}));return[()=>B(void 0,null,(function*(){return $(n,T(yield m(r(yield e("SELECT name "+J+"list "+q),(n=>B(void 0,[n],(function*({name:n}){return[n,T(r(yield e("SELECT name,type "+J+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return D(n,t,$((i=x,C(o=n,r=t)||D(o,r,i()),I(o,r)),l,((e,n,t)=>{t!=I(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var o,r,i}),((e,t)=>D(n,t)))})),(n,t)=>B(void 0,null,(function*(){const o=l(n,t)?yield e(k+M(n)+Y+M(t)+"=?",["_"]):[];return u(o)?null:b(o[0],t)})),(e,n,t,l)=>B(void 0,null,(function*(){return yield d(e,n,!0,!0,{[t]:l})})),(n,t)=>B(void 0,null,(function*(){return l(n,t)?T(a(r(yield e(k+M(n)),(e=>[e[t],b(e,t)])),(([e,n])=>!f(e)&&!g(n)))):{}})),d]};var H=(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 K=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,s=0;const v=[],y=e=>H(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),p={load:(t,l)=>H(void 0,null,(function*(){return yield y((()=>H(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),p})),startAutoLoad:(...t)=>H(void 0,[...t],(function*(t={},o={}){return p.stopAutoLoad(),yield p.load(t,o),s=1,u=l(((t,l)=>H(void 0,null,(function*(){yield y((()=>H(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),p})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),p),save:n=>H(void 0,null,(function*(){return yield p.schedule((()=>H(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),p})),startAutoSave:()=>H(void 0,null,(function*(){return yield p.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const t=n();p.save((()=>t))})),p})),stopAutoSave:()=>(h(r,e.delListener),p),schedule:(...e)=>H(void 0,null,(function*(){return c(v,...e),yield H(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(p)};var U=(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 V="store",W=(e,t,l,o,{storeTableName:r=n})=>{const[i,u,a]=z(t),d=K(e,(()=>U(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,j))?e:{})[V])}))),(e=>U(void 0,null,(function*(){return d.schedule(i,(()=>U(void 0,null,(function*(){var n;yield a(r,j,"_",{[V]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,o);return d},G="rowIdColumnName",Q="tableId",X="tableName",Z={load:0,save:0,[X]:n+"_values"},ee=(e,n,t,l)=>{const o=x();return w(e,((e,r)=>{const i=d(O(P(n,p(e)?{[t]:e}:e)),0,S(n));f(i[0])||l(r,i[0])||D(o,r,i)})),o};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=(e,n,t,l,o)=>{const[r,i,[u,c,s]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=d(O(P(Z,t)),0,S(Z)),o=l[2];return[ee(e,{[Q]:null,[G]:j},Q,(e=>e==o)),ee(n,{[X]:null,[G]:j,deleteEmptyColumns:0,deleteEmptyTable:0},X,((e,n)=>n==o)),l]})(o),[v,y,h,p,E]=z(n),A=K(e,(()=>ne(void 0,null,(function*(){yield v();const e=yield ne(void 0,null,(function*(){return T(a(yield m(_(r,((e,n)=>ne(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!g(e[1]))))})),n=yield ne(void 0,null,(function*(){return u?yield y(s,j):{}}));return g(e)&&f(n)?void 0:[e,n]}))),(e=>ne(void 0,null,(function*(){const[n,t]=e();A.schedule(v,...(e=>_(i,(([n,t,l,o],r)=>()=>ne(void 0,null,(function*(){return yield E(n,t,l,o,e[r])})))))(n),(e=>c?()=>ne(void 0,null,(function*(){return yield h(s,j,"_",e)})):null)(t))}))),t,l);return A},le="json",oe="autoLoadIntervalSeconds",re={mode:le,[oe]:1},ie="pragma ",ue="data_version",ae="schema_version",de=(e,n,t,l,o)=>{const r=P(re,p(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(r.mode==le?W:te)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ie+ue))[0][ue],l=(yield t(ie+ae))[0][ae];n==(null!=i?i:i=n)&&l==(null!=u?u:u=l)||(e(),i=n,u=l)}catch(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}),1e3*r[oe]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),r)};var ce=Object.defineProperty,se=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,fe=(e,n,t)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const he="change",pe=(e,n,t)=>de(e,t,((e,t=[])=>new s(((l,o)=>n.all(e,t,((e,n)=>e?o(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))ve.call(n,t)&&fe(e,t,n[t]);if(se)for(var t of se(n))ye.call(n,t)&&fe(e,t,n[t]);return e})({},e))))))))),(e=>{const t=()=>e();return n.on(he,t),t}),(e=>n.off(he,e)));export{pe 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,i=r.freeze,u=(t=[])=>r.fromEntries(t),s=(t,e)=>!o(((t,e)=>l(t,(t=>t[e])))(t,e)),a=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,n])=>e(n,t))),d=(t,e,n)=>(s(t,e)||(t[e]=n()),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=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));var f=(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 h="t",y="delete",g=t=>[t.get(h),t.get("v")],p=(e,n,l,r)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t);let d;return a(l,((t,e)=>{r(u,e,t)&&(d=1)})),u.forEach(((t,e)=>{s(l,e)||(u.delete(e),d=1)})),o(n)||u.size||e.delete(n),d},S=(r,s,S="tinybase")=>{const m=s.getMap(S);return((r,S,A,w,O)=>{let J,L,N,x=0,C=0,b=0;const z=[],E=t=>c(void 0,null,(function*(){2!=x&&(x=1,yield t(),x=0)})),P={load:(
|
|
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,i=r.freeze,u=(t=[])=>r.fromEntries(t),s=(t,e)=>!o(((t,e)=>l(t,(t=>t[e])))(t,e)),a=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,n])=>e(n,t))),d=(t,e,n)=>(s(t,e)||(t[e]=n()),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=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));var f=(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 h="t",y="delete",g=t=>[t.get(h),t.get("v")],p=(e,n,l,r)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t);let d;return a(l,((t,e)=>{r(u,e,t)&&(d=1)})),u.forEach(((t,e)=>{s(l,e)||(u.delete(e),d=1)})),o(n)||u.size||e.delete(n),d},S=(r,s,S="tinybase")=>{const m=s.getMap(S);return((r,S,A,w,O)=>{let J,L,N,x=0,C=0,b=0;const z=[],E=t=>c(void 0,null,(function*(){2!=x&&(x=1,yield t(),x=0)})),P={load:(t,e)=>c(void 0,null,(function*(){return yield E((()=>c(void 0,null,(function*(){try{r.setContent(yield S())}catch(n){r.setContent([t,e])}})))),P})),startAutoLoad:(...t)=>c(void 0,[...t],(function*(t={},o={}){return P.stopAutoLoad(),yield P.load(t,o),b=1,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[i,s]=g(t),a={},c={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==h?l(n(t),(o=>{const r=d(a,o,u),s=i.get(o);l(n(t),(t=>{const n=d(r,t,u),o=s.get(t);v(e,((t,{action:e})=>n[t]=e==y?null:o.get(t)))}),(()=>v(e,((t,{action:e})=>{var n;return r[t]=e==y?null:null==(n=s.get(t))?void 0:n.toJSON()}))))}),(()=>v(e,((t,{action:e})=>{var n;return a[t]=e==y?null:null==(n=i.get(t))?void 0:n.toJSON()})))):v(e,((t,{action:e})=>c[t]=e==y?null:s.get(t)))))})(o),[a,c]})(m,o)));return m.observeDeep(o),o})(((t,e)=>c(void 0,null,(function*(){yield E((()=>c(void 0,null,(function*(){var n;if(e)r.setTransactionChanges(e());else try{r.setContent(null!=(n=null==t?void 0:t())?n:yield S())}catch(t){}}))))})))),P})),stopAutoLoad:()=>{return b&&(t=N,m.unobserveDeep(t),N=void 0,b=0),P;var t},save:e=>c(void 0,null,(function*(){return yield P.schedule((()=>c(void 0,null,(function*(){if(1!=x){x=2;try{yield((e,n)=>f(void 0,null,(function*(){return s.transact((()=>((e,n,r)=>{(e=>{e.size||(e.set(h,new t),e.set("v",new t))})(e);const[i,u]=g(e),s=()=>{d=1};let d=1;if(l(null==r?void 0:r(),(([t,e])=>{d=0,a(t,((t,e)=>d?0:o(t)?i.delete(e):l(i.get(e),(e=>a(t,((t,n)=>d?0:o(t)?e.delete(n):l(e.get(n),(e=>a(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),s)))),s))),a(e,((t,e)=>d?0:o(t)?u.delete(e):u.set(e,t)))})),d){const[t,e]=n();p(i,void 0,t,((t,e,n)=>p(i,e,n,((t,e,n)=>p(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),p(u,void 0,e,((t,e,n)=>{u.get(e)!==n&&u.set(e,n)}))}})(m,e,n)))})))(r.getContent,e)}catch(t){}x=0}})))),P})),startAutoSave:()=>c(void 0,null,(function*(){return yield P.stopAutoSave().save(),J=r.addDidFinishTransactionListener(((t,e)=>{const n=e();P.save((()=>n))})),P})),stopAutoSave:()=>(l(J,r.delListener),P),schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(z,...t),yield c(void 0,null,(function*(){if(!C){for(C=1;!o(L=n(z));)try{yield L()}catch(t){}C=0}})),P})),getStore:()=>r,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(P)})(r,(()=>f(void 0,null,(function*(){return m.size?[m.get(h).toJSON(),m.get("v").toJSON()]:void 0}))))};export{S as createYjsPersister};
|
|
Binary file
|
package/lib/es6/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,e=Object.freeze;var n=(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())}));const o=(o,i,l,u,r)=>{let d,a,s,c=0,v=0,y=0;const f=[],h=t=>n(void 0,null,(function*(){2!=c&&(c=1,yield t(),c=0)})),p={load:(
|
|
1
|
+
const t=t=>null==t,e=Object.freeze;var n=(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())}));const o=(o,i,l,u,r)=>{let d,a,s,c=0,v=0,y=0;const f=[],h=t=>n(void 0,null,(function*(){2!=c&&(c=1,yield t(),c=0)})),p={load:(t,e)=>n(void 0,null,(function*(){return yield h((()=>n(void 0,null,(function*(){try{o.setContent(yield i())}catch(n){o.setContent([t,e])}})))),p})),startAutoLoad:(...t)=>n(void 0,[...t],(function*(t={},e={}){return p.stopAutoLoad(),yield p.load(t,e),y=1,s=u(((t,e)=>n(void 0,null,(function*(){yield h((()=>n(void 0,null,(function*(){var n;if(e)o.setTransactionChanges(e());else try{o.setContent(null!=(n=null==t?void 0:t())?n:yield i())}catch(t){}}))))})))),p})),stopAutoLoad:()=>(y&&(r(s),s=void 0,y=0),p),save:t=>n(void 0,null,(function*(){return yield p.schedule((()=>n(void 0,null,(function*(){if(1!=c){c=2;try{yield l(o.getContent,t)}catch(t){}c=0}})))),p})),startAutoSave:()=>n(void 0,null,(function*(){return yield p.stopAutoSave().save(),d=o.addDidFinishTransactionListener(((t,e)=>{const n=e();p.save((()=>n))})),p})),stopAutoSave:()=>{var e,n;return e=d,n=o.delListener,!!t(e)||n(e),p},schedule:(...e)=>n(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(f,...e),yield n(void 0,null,(function*(){if(!v){for(v=1;!t((e=f,a=e.shift()));)try{yield a()}catch(t){}v=0}var e})),p})),getStore:()=>o,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(p)};export{o as createCustomPersister};
|
package/lib/es6/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/es6/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Ids",c="Table",i=c+"s",d=c+u,h="Row"+u,v="Cell",g=v+u,f="Value",T=f+"s",V=f+u,b=e=>l+e,C=(e,l)=>e.forEach(l),S=(e,l)=>e.map(l),w=e=>e.length,I=(e,l,t)=>e.slice(l,t),R=(e,...l)=>e.push(...l),y=e=>JSON.stringify(e,((e,l)=>{return p(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),J=JSON.parse,m=isFinite,p=(e,l)=>e instanceof l,L=e=>null==e,E=(e,l,t)=>L(e)?null==t?void 0:t():l(e),F=e=>e==t||e==n,z=l=>e(l)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,l)=>!L(((e,l)=>E(e,(e=>e[l])))(e,l)),j=(e,l)=>(delete e[l],e),x=(e,l)=>S(O.entries(e),(([e,t])=>l(t,e))),D=e=>N(e)&&0==(e=>w(k(e)))(e),W=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,l)=>null==e?void 0:e.forEach(l),G=(e,l)=>null==e?void 0:e.delete(l),H=e=>new Map(e),K=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},Q=(e,l)=>null==e?void 0:e.get(l),U=(e,l)=>B(e,((e,t)=>l(t,e))),X=(e,l,t)=>L(t)?(G(e,l),e):null==e?void 0:e.set(l,t),Y=(e,l,t)=>(W(e,l)||X(e,l,t()),Q(e,l)),Z=(e,l,t,n=X)=>(x(l,((l,n)=>t(e,n,l))),U(e,(t=>P(l,t)?0:n(e,t))),e),_=(e,l,t)=>{const n={};return B(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},ee=(e,l,t)=>_(e,(e=>_(e,l,t)),D),le=(e,l,t)=>_(e,(e=>ee(e,l,t)),D),te=(e,l)=>{const t=H();return B(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},ne=e=>te(e,te),se=e=>te(e,ne),ae=(e,l,t,n,s=0)=>E((t?Y:Q)(e,l[s],s>w(l)-2?t:H),(a=>{if(s>w(l)-2)return(null==n?void 0:n(a))&&X(e,l[s]),a;const r=ae(a,l,t,n,s+1);return $(a)&&X(e,l[s]),r})),re=e=>new Set(Array.isArray(e)||L(e)?e:[e]),oe=(e,l)=>null==e?void 0:e.add(l),ue=/^\d+$/,ce=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{ue.test(l)&&w(e)<1e3&&R(e,l)}]},ie=e=>[e,e],de=()=>[H(),H()],he=e=>[...e],ve=([e,l])=>e===l,ge=l=>{const t=e(l);return F(t)||t==s&&m(l)?t:void 0},fe=(e,l,t,n,s)=>L(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Te=(e,l,t)=>L(t)?e.delValue(l):e.setValue(l,t),Ve=(e,l,t)=>L(e)||!N(e)||D(e)||A(e)?(null==t||t(),!1):(x(e,((t,n)=>{l(t,n)||j(e,n)})),!D(e)),be=(e,l,t)=>X(e,l,Q(e,l)==-t?void 0:t),Ce=()=>{let e,t,n=!1,a=!1,u=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),ue=H(),Se=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=H(),me=re(),pe=H(),Le=H(),Ee=H(),Fe=H(),ze=de(),Oe=de(),ke=de(),Ae=de(),Me=de(),Ne=de(),Pe=de(),je=de(),xe=de(),De=de(),We=de(),$e=de(),qe=de(),Be=de(),Ge=H(),He=de(),[Ke,Qe,Ue,Xe]=(e=>{let t;const[n,s]=ce(),a=H();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=ct);const c=n(1);return X(a,c,[e,s,r,o,u]),oe(ae(s,null!=r?r:[l],re),c),c},(e,n,...s)=>C(((e,t=[l])=>{const n=[],s=(e,l)=>l==w(t)?R(n,e):null===t[l]?B(e,(e=>s(e,l+1))):C([t[l],null],(t=>s(Q(e,t),l+1)));return s(e,0),n})(e,n),(e=>B(e,(e=>Q(a,e)[0](t,...null!=n?n:[],...s))))),e=>E(Q(a,e),(([,t,n])=>(ae(t,null!=n?n:[l],void 0,(l=>(G(l,e),$(l)?1:0))),X(a,e),s(e),n))),e=>E(Q(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const c=w(r);c==w(l)?e(t,...r,...s(r)):L(l[c])?C(null!=(u=null==(o=n[c])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[c])};a()}))]})(),Ye=e=>{if(!Ve(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!F(l)&&l!=s||(ge(e[o])!=l&&j(e,o),0))},Ze=(l,t)=>(!e||W(Ie,t)||Ll(t))&&Ve(l,((e,l)=>_e(t,l,e)),(()=>Ll(t))),_e=(e,l,t,n)=>Ve(n?t:nl(t,e,l),((n,s)=>E(el(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>Ll(e,l))),el=(l,t,n,s)=>e?E(Q(Q(Ie,l),n),(e=>ge(s)!=e[r]?Ll(l,t,n,s,e[o]):s),(()=>Ll(l,t,n,s))):L(ge(s))?Ll(l,t,n,s):s,ll=(e,l)=>Ve(l?e:sl(e),((l,t)=>E(tl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>El())),tl=(e,l)=>t?E(Q(ye,e),(t=>ge(l)!=t[r]?El(e,l,t[o]):l),(()=>El(e,l))):L(ge(l))?El(e,l):l,nl=(e,l,t)=>(E(Q(Re,l),(([n,s])=>{B(n,((l,t)=>{P(e,t)||(e[t]=l)})),B(s,(n=>{P(e,n)||Ll(l,t,n)}))})),e),sl=e=>(t&&(B(Je,((l,t)=>{P(e,t)||(e[t]=l)})),B(me,(l=>{P(e,l)||El(l)}))),e),al=e=>Z(Ie,e,((e,l,t)=>{const n=H(),s=re();Z(Y(Ie,l,H),t,((e,l,t)=>{X(e,l,t),E(t[o],(e=>X(n,l,e)),(()=>oe(s,l)))})),X(Re,l,[n,s])}),((e,l)=>{X(Ie,l),X(Re,l)})),rl=e=>Z(ye,e,((e,l,t)=>{X(ye,l,t),E(t[o],(e=>X(Je,l,e)),(()=>oe(me,l)))}),((e,l)=>{X(ye,l),X(Je,l),G(me,l)})),ol=e=>D(e)?et():Ul(e),ul=e=>Z(Ee,e,((e,l,t)=>cl(l,t)),((e,l)=>bl(l))),cl=(e,l)=>Z(Y(Ee,e,(()=>(Il(e,1),X(pe,e,ce()),X(Le,e,H()),H()))),l,((l,t,n)=>il(e,l,t,n)),((l,t)=>Cl(e,l,t))),il=(e,l,t,n,s)=>Z(Y(l,t,(()=>(Rl(e,t,1),H()))),n,((l,n,s)=>dl(e,t,l,n,s)),((n,a)=>Sl(e,l,t,n,a,s))),dl=(e,l,t,n,s)=>{W(t,n)||yl(e,l,n,1);const a=Q(t,n);s!==a&&(Jl(e,l,n,a,s),X(t,n,s))},hl=(e,l,t,n,s)=>E(Q(l,t),(l=>dl(e,t,l,n,s)),(()=>il(e,l,t,nl({[n]:s},e,t)))),vl=e=>D(e)?nt():Xl(e),gl=e=>Z(Fe,e,((e,l,t)=>fl(l,t)),((e,l)=>wl(l))),fl=(e,l)=>{W(Fe,e)||ml(e,1);const t=Q(Fe,e);l!==t&&(pl(e,t,l),X(Fe,e,l))},Tl=(e,l)=>{const[t]=Q(pe,e),n=t(l);return W(Q(Ee,e),n)?Tl(e,l):n},Vl=e=>{var l;return null!=(l=Q(Ee,e))?l:cl(e,{})},bl=e=>cl(e,{}),Cl=(e,l,t)=>{const[,n]=Q(pe,e);n(t),il(e,l,t,{},!0)},Sl=(e,l,t,n,s,a)=>{var r;const o=Q(null==(r=Q(Re,e))?void 0:r[0],s);if(!L(o)&&!a)return dl(e,t,n,s,o);const u=l=>{Jl(e,t,l,Q(n,l)),yl(e,t,l,-1),X(n,l)};L(o)?u(s):U(n,u),$(n)&&(Rl(e,t,-1),$(X(l,t))&&(Il(e,-1),X(Ee,e),X(pe,e),X(Le,e)))},wl=e=>{const l=Q(Je,e);if(!L(l))return fl(e,l);pl(e,Q(Fe,e)),ml(e,-1),X(Fe,e)},Il=(e,l)=>be(m,e,l),Rl=(e,l,t)=>be(Y(O,e,H),l,t),yl=(e,l,t,n)=>{var s;const a=Q(Le,e),r=null!=(s=Q(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&be(Y(p,e,H),t,n),X(a,t,r!=-n?r+n:null),be(Y(Y(k,e,H),l,H),t,n)},Jl=(e,l,t,n,s)=>Y(Y(Y(A,e,H),l,H),t,(()=>[n,0]))[1]=s,ml=(e,l)=>be(N,e,l),pl=(e,l,t)=>Y(ue,e,(()=>[l,0]))[1]=t,Ll=(e,l,t,n,s)=>(R(Y(Y(Y(Se,e,H),l,H),t,(()=>[])),n),s),El=(e,l,t)=>(R(Y(we,e,(()=>[])),l),t),Fl=(e,l,t)=>E(Q(Q(Q(A,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ie(Gl(e,l,t))])),zl=e=>E(Q(ue,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ie(Ql(e))])),Ol=e=>$(Se)||$(De[e])?0:B(e?se(Se):Se,((l,t)=>B(l,((l,n)=>B(l,((l,s)=>Qe(De[e],[t,n,s],l))))))),kl=e=>$(we)||$(We[e])?0:B(e?te(we):we,((l,t)=>Qe(We[e],[t],l))),Al=(e,l,t)=>{if(!$(l))return Qe(e,t,(()=>_(l))),1},Ml=e=>{const l=$(Ne[e]),t=$(je[e])&&$(Ae[e])&&$(Me[e])&&l&&$(Oe[e]),n=$(xe[e])&&$(Pe[e])&&$(ke[e])&&$(ze[e]);if(!t||!n){const s=e?[te(m),ne(p),ne(O),se(k),se(A)]:[m,p,O,k,A];if(!t){Al(Oe[e],s[0]),B(s[1],((l,t)=>Al(Ae[e],l,[t])));const t=re();B(s[2],((n,s)=>{Al(Me[e],n,[s])&&!l&&(Qe(Ne[e],[s,null]),oe(t,s))})),l||B(s[4],((l,n)=>{if(!W(t,n)){const t=re();B(l,(e=>B(e,(([l,n],s)=>n!==l?oe(t,s):G(e,s))))),B(t,(l=>Qe(Ne[e],[n,l])))}})),B(s[3],((l,t)=>B(l,((l,n)=>Al(je[e],l,[t,n])))))}if(!n){let l;B(s[4],((t,n)=>{let s;B(t,((t,a)=>{let r;B(t,(([t,o],u)=>{o!==t&&(Qe(xe[e],[n,a,u],o,t,Fl),l=s=r=1)})),r&&Qe(Pe[e],[n,a],Fl)})),s&&Qe(ke[e],[n],Fl)})),l&&Qe(ze[e],void 0,Fl)}}},Nl=e=>{const l=$(qe[e]),t=$(Be[e])&&$($e[e]);if(!l||!t){const n=e?[te(N),te(ue)]:[N,ue];if(l||Al(qe[e],n[0]),!t){let l;B(n[1],(([t,n],s)=>{n!==t&&(Qe(Be[e],[s],n,t,zl),l=1)})),l&&Qe($e[e],void 0,zl)}}},Pl=(e,...l)=>(rt((()=>e(...S(l,b)))),ct),jl=()=>[_(A,((e,l)=>-1===Q(m,l)?null:_(e,((e,t)=>-1===Q(Q(O,l),t)?null:_(e,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))),D)),D),_(ue,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))],xl=()=>({cellsTouched:n,valuesTouched:a,changedCells:le(A,he,ve),invalidCells:le(Se),changedValues:_(ue,he,ve),invalidValues:_(we),changedTableIds:_(m),changedRowIds:ee(O),changedCellIds:le(k),changedValueIds:_(N)}),Dl=()=>le(Ee),Wl=()=>K(Ee),$l=e=>K(Q(Ee,b(e))),ql=(e,l,t,n=0,s)=>{return S(I((r=Q(Ee,b(e)),o=(e,t)=>[L(l)?t:Q(e,b(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),S([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,L(s)?s:n+s),(([,e])=>e));var a,r,o,u},Bl=(e,l)=>K(Q(Q(Ee,b(e)),b(l))),Gl=(e,l,t)=>Q(Q(Q(Ee,b(e)),b(l)),b(t)),Hl=()=>_(Fe),Kl=()=>K(Fe),Ql=e=>Q(Fe,b(e)),Ul=e=>Pl((()=>(e=>Ve(e,Ze,Ll))(e)?ul(e):0)),Xl=e=>Pl((()=>ll(e)?gl(e):0)),Yl=e=>{try{ol(J(e))}catch(e){}return ct},Zl=l=>Pl((()=>{if((e=Ve(l,(e=>Ve(e,Ye))))&&(al(l),!$(Ee))){const e=Dl();et(),Ul(e)}})),_l=e=>Pl((()=>{if(t=(e=>Ve(e,Ye))(e)){const l=Hl();at(),nt(),t=!0,rl(e),Xl(l)}})),et=()=>Pl((()=>ul({}))),lt=e=>Pl((e=>W(Ee,e)?bl(e):0),e),tt=(e,l)=>Pl(((e,l)=>E(Q(Ee,e),(t=>W(t,l)?Cl(e,t,l):0))),e,l),nt=()=>Pl((()=>gl({}))),st=()=>Pl((()=>{al({}),e=!1})),at=()=>Pl((()=>{rl({}),t=!1})),rt=(e,l)=>{if(-1!=u){ot();const t=e();return ut(l),t}},ot=()=>(-1!=u&&u++,1==u&&Qe(Ge,void 0,jl,xl),ct),ut=e=>(u>0&&(u--,0==u&&(n=!$(A),a=!$(ue),u=1,Ol(1),n&&Ml(1),kl(1),a&&Nl(1),(null==e?void 0:e(jl,xl))&&(B(A,((e,l)=>B(e,((e,t)=>B(e,(([e],n)=>fe(ct,l,t,n,e))))))),B(ue,(([e],l)=>Te(ct,l,e))),n=a=!1),Qe(He[0],void 0,jl,xl),u=-1,Ol(0),n&&Ml(0),kl(0),a&&Nl(0),Qe(He[1],void 0,jl,xl),u=0,n=a=!1,C([m,p,O,k,A,Se,N,ue,we],q))),ct),ct={getContent:()=>[Dl(),Hl()],getTables:Dl,getTableIds:Wl,getTable:e=>ee(Q(Ee,b(e))),getTableCellIds:e=>K(Q(Le,b(e))),getRowIds:$l,getSortedRowIds:ql,getRow:(e,l)=>_(Q(Q(Ee,b(e)),b(l))),getCellIds:Bl,getCell:Gl,getValues:Hl,getValueIds:Kl,getValue:Ql,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,b(e)),hasTableCell:(e,l)=>W(Q(Le,b(e)),b(l)),hasRow:(e,l)=>W(Q(Ee,b(e)),b(l)),hasCell:(e,l,t)=>W(Q(Q(Ee,b(e)),b(l)),b(t)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,b(e)),getTablesJson:()=>y(Ee),getValuesJson:()=>y(Fe),getJson:()=>y([Ee,Fe]),getTablesSchemaJson:()=>y(Ie),getValuesSchemaJson:()=>y(ye),getSchemaJson:()=>y([Ie,ye]),setContent:([e,l])=>Pl((()=>{Ul(e),Xl(l)})),setTables:Ul,setTable:(e,l)=>Pl((e=>Ze(l,e)?cl(e,l):0),e),setRow:(e,l,t)=>Pl(((e,l)=>_e(e,l,t)?il(e,Vl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>rt((()=>{let n;return _e(e,n,l)&&(e=b(e),il(e,Vl(e),n=Tl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Pl(((e,l)=>{if(_e(e,l,t,1)){const n=Vl(e);x(t,((t,s)=>hl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Pl(((e,l,t)=>E(el(e,l,t,z(n)?n(Gl(e,l,t)):n),(n=>hl(e,Vl(e),l,t,n)))),e,l,t),setValues:Xl,setPartialValues:e=>Pl((()=>ll(e,1)?x(e,((e,l)=>fl(l,e))):0)),setValue:(e,l)=>Pl((e=>E(tl(e,z(l)?l(Ql(e)):l),(l=>fl(e,l)))),e),setTransactionChanges:e=>Pl((()=>{x(e[0],((e,l)=>L(e)?lt(l):x(e,((e,t)=>L(e)?tt(l,t):x(e,((e,n)=>fe(ct,l,t,n,e))))))),x(e[1],((e,l)=>Te(ct,l,e)))})),setTablesJson:Yl,setValuesJson:e=>{try{vl(J(e))}catch(e){}return ct},setJson:e=>{try{const[l,t]=J(e);ol(l),vl(t)}catch(l){Yl(e)}return ct},setTablesSchema:Zl,setValuesSchema:_l,setSchema:(e,l)=>Pl((()=>{Zl(e),_l(l)})),delTables:et,delTable:lt,delRow:tt,delCell:(e,l,t,n)=>Pl(((e,l,t)=>E(Q(Ee,e),(s=>E(Q(s,l),(a=>W(a,t)?Sl(e,s,l,a,t,n):0))))),e,l,t),delValues:nt,delValue:e=>Pl((e=>W(Fe,e)?wl(e):0),e),delTablesSchema:st,delValuesSchema:at,delSchema:()=>Pl((()=>{st(),at()})),transaction:rt,startTransaction:ot,finishTransaction:ut,forEachTable:e=>B(Ee,((l,t)=>e(t,(e=>B(l,((l,t)=>e(t,(e=>U(l,e))))))))),forEachTableCell:(e,l)=>U(Q(Le,b(e)),l),forEachRow:(e,l)=>B(Q(Ee,b(e)),((e,t)=>l(t,(l=>U(e,l))))),forEachCell:(e,l,t)=>U(Q(Q(Ee,b(e)),b(l)),t),forEachValue:e=>U(Fe,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=ql(e,l,t,n,s);return Ke((()=>{const r=ql(e,l,t,n,s);var u,c,i;c=o,w(u=r)===w(c)&&(i=(e,l)=>c[l]===e,u.every(i))||(o=r,a(ct,e,l,t,n,s,o))}),Ne[r?1:0],[e,l],[Wl])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),ct),delListener:e=>(Ue(e),ct),getListenerStats:()=>({}),createStore:Ce};return x({[i]:[0,ze],[d]:[0,Oe],[c]:[1,ke,[Wl]],[c+g]:[1,Ae,[Wl]],[h]:[1,Me,[Wl]],Row:[2,Pe,[Wl,$l]],[g]:[2,je,[Wl,$l]],[v]:[3,xe,[Wl,$l,Bl],e=>ie(Gl(...e))],InvalidCell:[3,De],[T]:[0,$e],[V]:[0,qe],[f]:[1,Be,[Kl],e=>ie(Ql(e[0]))],InvalidValue:[1,We]},(([e,l,t,n],s)=>{ct["add"+s+"Listener"]=(...s)=>Ke(s[e],l[s[e+1]?1:0],e>0?I(s,0,e):void 0,t,n)})),M(ct)};export{Ce as createStore};
|
|
1
|
+
const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Ids",c="Table",i=c+"s",d=c+u,h="Row"+u,v="Cell",g=v+u,f="Value",T=f+"s",V=f+u,b=e=>l+e,C=(e,l)=>e.forEach(l),S=(e,l)=>e.map(l),w=e=>e.length,I=(e,l,t)=>e.slice(l,t),R=(e,...l)=>e.push(...l),y=e=>JSON.stringify(e,((e,l)=>{return p(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),J=JSON.parse,m=isFinite,p=(e,l)=>e instanceof l,L=e=>null==e,E=(e,l,t)=>L(e)?null==t?void 0:t():l(e),F=e=>e==t||e==n,z=l=>e(l)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,l)=>!L(((e,l)=>E(e,(e=>e[l])))(e,l)),j=(e,l)=>(delete e[l],e),x=(e,l)=>S(O.entries(e),(([e,t])=>l(t,e))),D=e=>N(e)&&0==(e=>w(k(e)))(e),W=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,l)=>null==e?void 0:e.forEach(l),G=(e,l)=>null==e?void 0:e.delete(l),H=e=>new Map(e),K=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},Q=(e,l)=>null==e?void 0:e.get(l),U=(e,l)=>B(e,((e,t)=>l(t,e))),X=(e,l,t)=>L(t)?(G(e,l),e):null==e?void 0:e.set(l,t),Y=(e,l,t)=>(W(e,l)||X(e,l,t()),Q(e,l)),Z=(e,l,t,n=X)=>(x(l,((l,n)=>t(e,n,l))),U(e,(t=>P(l,t)?0:n(e,t))),e),_=(e,l,t)=>{const n={};return B(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},ee=(e,l,t)=>_(e,(e=>_(e,l,t)),D),le=(e,l,t)=>_(e,(e=>ee(e,l,t)),D),te=(e,l)=>{const t=H();return B(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},ne=e=>te(e,te),se=e=>te(e,ne),ae=(e,l,t,n,s=0)=>E((t?Y:Q)(e,l[s],s>w(l)-2?t:H),(a=>{if(s>w(l)-2)return(null==n?void 0:n(a))&&X(e,l[s]),a;const r=ae(a,l,t,n,s+1);return $(a)&&X(e,l[s]),r})),re=e=>new Set(Array.isArray(e)||L(e)?e:[e]),oe=(e,l)=>null==e?void 0:e.add(l),ue=/^\d+$/,ce=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{ue.test(l)&&w(e)<1e3&&R(e,l)}]},ie=e=>[e,e],de=()=>[H(),H()],he=e=>[...e],ve=([e,l])=>e===l,ge=l=>{const t=e(l);return F(t)||t==s&&m(l)?t:void 0},fe=(e,l,t,n,s)=>L(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Te=(e,l,t)=>L(t)?e.delValue(l):e.setValue(l,t),Ve=(e,l,t)=>L(e)||!N(e)||D(e)||A(e)?(null==t||t(),!1):(x(e,((t,n)=>{l(t,n)||j(e,n)})),!D(e)),be=(e,l,t)=>X(e,l,Q(e,l)==-t?void 0:t),Ce=()=>{let e,t,n=!1,a=!1,u=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),ue=H(),Se=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=H(),me=re(),pe=H(),Le=H(),Ee=H(),Fe=H(),ze=de(),Oe=de(),ke=de(),Ae=de(),Me=de(),Ne=de(),Pe=de(),je=de(),xe=de(),De=de(),We=de(),$e=de(),qe=de(),Be=de(),Ge=H(),He=de(),[Ke,Qe,Ue,Xe]=(e=>{let t;const[n,s]=ce(),a=H();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=ct);const c=n(1);return X(a,c,[e,s,r,o,u]),oe(ae(s,null!=r?r:[l],re),c),c},(e,n,...s)=>C(((e,t=[l])=>{const n=[],s=(e,l)=>l==w(t)?R(n,e):null===t[l]?B(e,(e=>s(e,l+1))):C([t[l],null],(t=>s(Q(e,t),l+1)));return s(e,0),n})(e,n),(e=>B(e,(e=>Q(a,e)[0](t,...null!=n?n:[],...s))))),e=>E(Q(a,e),(([,t,n])=>(ae(t,null!=n?n:[l],void 0,(l=>(G(l,e),$(l)?1:0))),X(a,e),s(e),n))),e=>E(Q(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const c=w(r);c==w(l)?e(t,...r,...s(r)):L(l[c])?C(null!=(u=null==(o=n[c])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[c])};a()}))]})(),Ye=e=>{if(!Ve(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!F(l)&&l!=s||(ge(e[o])!=l&&j(e,o),0))},Ze=(l,t)=>(!e||W(Ie,t)||Ll(t))&&Ve(l,((e,l)=>_e(t,l,e)),(()=>Ll(t))),_e=(e,l,t,n)=>Ve(n?t:nl(t,e,l),((n,s)=>E(el(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>Ll(e,l))),el=(l,t,n,s)=>e?E(Q(Q(Ie,l),n),(e=>ge(s)!=e[r]?Ll(l,t,n,s,e[o]):s),(()=>Ll(l,t,n,s))):L(ge(s))?Ll(l,t,n,s):s,ll=(e,l)=>Ve(l?e:sl(e),((l,t)=>E(tl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>El())),tl=(e,l)=>t?E(Q(ye,e),(t=>ge(l)!=t[r]?El(e,l,t[o]):l),(()=>El(e,l))):L(ge(l))?El(e,l):l,nl=(e,l,t)=>(E(Q(Re,l),(([n,s])=>{B(n,((l,t)=>{P(e,t)||(e[t]=l)})),B(s,(n=>{P(e,n)||Ll(l,t,n)}))})),e),sl=e=>(t&&(B(Je,((l,t)=>{P(e,t)||(e[t]=l)})),B(me,(l=>{P(e,l)||El(l)}))),e),al=e=>Z(Ie,e,((e,l,t)=>{const n=H(),s=re();Z(Y(Ie,l,H),t,((e,l,t)=>{X(e,l,t),E(t[o],(e=>X(n,l,e)),(()=>oe(s,l)))})),X(Re,l,[n,s])}),((e,l)=>{X(Ie,l),X(Re,l)})),rl=e=>Z(ye,e,((e,l,t)=>{X(ye,l,t),E(t[o],(e=>X(Je,l,e)),(()=>oe(me,l)))}),((e,l)=>{X(ye,l),X(Je,l),G(me,l)})),ol=e=>D(e)?et():Ul(e),ul=e=>Z(Ee,e,((e,l,t)=>cl(l,t)),((e,l)=>bl(l))),cl=(e,l)=>Z(Y(Ee,e,(()=>(Il(e,1),X(pe,e,ce()),X(Le,e,H()),H()))),l,((l,t,n)=>il(e,l,t,n)),((l,t)=>Cl(e,l,t))),il=(e,l,t,n,s)=>Z(Y(l,t,(()=>(Rl(e,t,1),H()))),n,((l,n,s)=>dl(e,t,l,n,s)),((n,a)=>Sl(e,l,t,n,a,s))),dl=(e,l,t,n,s)=>{W(t,n)||yl(e,l,n,1);const a=Q(t,n);s!==a&&(Jl(e,l,n,a,s),X(t,n,s))},hl=(e,l,t,n,s)=>E(Q(l,t),(l=>dl(e,t,l,n,s)),(()=>il(e,l,t,nl({[n]:s},e,t)))),vl=e=>D(e)?nt():Xl(e),gl=e=>Z(Fe,e,((e,l,t)=>fl(l,t)),((e,l)=>wl(l))),fl=(e,l)=>{W(Fe,e)||ml(e,1);const t=Q(Fe,e);l!==t&&(pl(e,t,l),X(Fe,e,l))},Tl=(e,l)=>{const[t]=Q(pe,e),n=t(l);return W(Q(Ee,e),n)?Tl(e,l):n},Vl=e=>{var l;return null!=(l=Q(Ee,e))?l:cl(e,{})},bl=e=>cl(e,{}),Cl=(e,l,t)=>{const[,n]=Q(pe,e);n(t),il(e,l,t,{},!0)},Sl=(e,l,t,n,s,a)=>{var r;const o=Q(null==(r=Q(Re,e))?void 0:r[0],s);if(!L(o)&&!a)return dl(e,t,n,s,o);const u=l=>{Jl(e,t,l,Q(n,l)),yl(e,t,l,-1),X(n,l)};L(o)?u(s):U(n,u),$(n)&&(Rl(e,t,-1),$(X(l,t))&&(Il(e,-1),X(Ee,e),X(pe,e),X(Le,e)))},wl=e=>{const l=Q(Je,e);if(!L(l))return fl(e,l);pl(e,Q(Fe,e)),ml(e,-1),X(Fe,e)},Il=(e,l)=>be(m,e,l),Rl=(e,l,t)=>be(Y(O,e,H),l,t),yl=(e,l,t,n)=>{var s;const a=Q(Le,e),r=null!=(s=Q(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&be(Y(p,e,H),t,n),X(a,t,r!=-n?r+n:null),be(Y(Y(k,e,H),l,H),t,n)},Jl=(e,l,t,n,s)=>Y(Y(Y(A,e,H),l,H),t,(()=>[n,0]))[1]=s,ml=(e,l)=>be(N,e,l),pl=(e,l,t)=>Y(ue,e,(()=>[l,0]))[1]=t,Ll=(e,l,t,n,s)=>(R(Y(Y(Y(Se,e,H),l,H),t,(()=>[])),n),s),El=(e,l,t)=>(R(Y(we,e,(()=>[])),l),t),Fl=(e,l,t)=>E(Q(Q(Q(A,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ie(Gl(e,l,t))])),zl=e=>E(Q(ue,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ie(Ql(e))])),Ol=e=>$(Se)||$(De[e])?0:B(e?se(Se):Se,((l,t)=>B(l,((l,n)=>B(l,((l,s)=>Qe(De[e],[t,n,s],l))))))),kl=e=>$(we)||$(We[e])?0:B(e?te(we):we,((l,t)=>Qe(We[e],[t],l))),Al=(e,l,t)=>{if(!$(l))return Qe(e,t,(()=>_(l))),1},Ml=e=>{const l=$(Ne[e]),t=$(je[e])&&$(Ae[e])&&$(Me[e])&&l&&$(Oe[e]),n=$(xe[e])&&$(Pe[e])&&$(ke[e])&&$(ze[e]);if(!t||!n){const s=e?[te(m),ne(p),ne(O),se(k),se(A)]:[m,p,O,k,A];if(!t){Al(Oe[e],s[0]),B(s[1],((l,t)=>Al(Ae[e],l,[t])));const t=re();B(s[2],((n,s)=>{Al(Me[e],n,[s])&&!l&&(Qe(Ne[e],[s,null]),oe(t,s))})),l||B(s[4],((l,n)=>{if(!W(t,n)){const t=re();B(l,(e=>B(e,(([l,n],s)=>n!==l?oe(t,s):G(e,s))))),B(t,(l=>Qe(Ne[e],[n,l])))}})),B(s[3],((l,t)=>B(l,((l,n)=>Al(je[e],l,[t,n])))))}if(!n){let l;B(s[4],((t,n)=>{let s;B(t,((t,a)=>{let r;B(t,(([t,o],u)=>{o!==t&&(Qe(xe[e],[n,a,u],o,t,Fl),l=s=r=1)})),r&&Qe(Pe[e],[n,a],Fl)})),s&&Qe(ke[e],[n],Fl)})),l&&Qe(ze[e],void 0,Fl)}}},Nl=e=>{const l=$(qe[e]),t=$(Be[e])&&$($e[e]);if(!l||!t){const n=e?[te(N),te(ue)]:[N,ue];if(l||Al(qe[e],n[0]),!t){let l;B(n[1],(([t,n],s)=>{n!==t&&(Qe(Be[e],[s],n,t,zl),l=1)})),l&&Qe($e[e],void 0,zl)}}},Pl=(e,...l)=>(rt((()=>e(...S(l,b)))),ct),jl=()=>[_(A,((e,l)=>-1===Q(m,l)?null:_(e,((e,t)=>-1===Q(Q(O,l),t)?null:_(e,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))),D)),D),_(ue,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))],xl=()=>({cellsTouched:n,valuesTouched:a,changedCells:le(A,he,ve),invalidCells:le(Se),changedValues:_(ue,he,ve),invalidValues:_(we),changedTableIds:_(m),changedRowIds:ee(O),changedCellIds:le(k),changedValueIds:_(N)}),Dl=()=>le(Ee),Wl=()=>K(Ee),$l=e=>K(Q(Ee,b(e))),ql=(e,l,t,n=0,s)=>{return S(I((r=Q(Ee,b(e)),o=(e,t)=>[L(l)?t:Q(e,b(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),S([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,L(s)?s:n+s),(([,e])=>e));var a,r,o,u},Bl=(e,l)=>K(Q(Q(Ee,b(e)),b(l))),Gl=(e,l,t)=>Q(Q(Q(Ee,b(e)),b(l)),b(t)),Hl=()=>_(Fe),Kl=()=>K(Fe),Ql=e=>Q(Fe,b(e)),Ul=e=>Pl((()=>(e=>Ve(e,Ze,Ll))(e)?ul(e):0)),Xl=e=>Pl((()=>ll(e)?gl(e):0)),Yl=e=>{try{ol(J(e))}catch(e){}return ct},Zl=l=>Pl((()=>{if((e=Ve(l,(e=>Ve(e,Ye))))&&(al(l),!$(Ee))){const e=Dl();et(),Ul(e)}})),_l=e=>Pl((()=>{if(t=(e=>Ve(e,Ye))(e)){const l=Hl();at(),nt(),t=!0,rl(e),Xl(l)}})),et=()=>Pl((()=>ul({}))),lt=e=>Pl((e=>W(Ee,e)?bl(e):0),e),tt=(e,l)=>Pl(((e,l)=>E(Q(Ee,e),(t=>W(t,l)?Cl(e,t,l):0))),e,l),nt=()=>Pl((()=>gl({}))),st=()=>Pl((()=>{al({}),e=!1})),at=()=>Pl((()=>{rl({}),t=!1})),rt=(e,l)=>{if(-1!=u){ot();const t=e();return ut(l),t}},ot=()=>(-1!=u&&u++,1==u&&Qe(Ge,void 0,jl,xl),ct),ut=e=>(u>0&&(u--,0==u&&(n=!$(A),a=!$(ue),u=1,Ol(1),n&&Ml(1),kl(1),a&&Nl(1),(null==e?void 0:e(jl,xl))&&(B(A,((e,l)=>B(e,((e,t)=>B(e,(([e],n)=>fe(ct,l,t,n,e))))))),B(ue,(([e],l)=>Te(ct,l,e))),n=a=!1),Qe(He[0],void 0,jl,xl),u=-1,Ol(0),n&&Ml(0),kl(0),a&&Nl(0),Qe(He[1],void 0,jl,xl),u=0,n=a=!1,C([m,p,O,k,A,Se,N,ue,we],q))),ct),ct={getContent:()=>[Dl(),Hl()],getTables:Dl,getTableIds:Wl,getTable:e=>ee(Q(Ee,b(e))),getTableCellIds:e=>K(Q(Le,b(e))),getRowIds:$l,getSortedRowIds:ql,getRow:(e,l)=>_(Q(Q(Ee,b(e)),b(l))),getCellIds:Bl,getCell:Gl,getValues:Hl,getValueIds:Kl,getValue:Ql,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,b(e)),hasTableCell:(e,l)=>W(Q(Le,b(e)),b(l)),hasRow:(e,l)=>W(Q(Ee,b(e)),b(l)),hasCell:(e,l,t)=>W(Q(Q(Ee,b(e)),b(l)),b(t)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,b(e)),getTablesJson:()=>y(Ee),getValuesJson:()=>y(Fe),getJson:()=>y([Ee,Fe]),getTablesSchemaJson:()=>y(Ie),getValuesSchemaJson:()=>y(ye),getSchemaJson:()=>y([Ie,ye]),setContent:([e,l])=>Pl((()=>{(D(e)?et:Ul)(e),(D(l)?nt:Xl)(l)})),setTables:Ul,setTable:(e,l)=>Pl((e=>Ze(l,e)?cl(e,l):0),e),setRow:(e,l,t)=>Pl(((e,l)=>_e(e,l,t)?il(e,Vl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>rt((()=>{let n;return _e(e,n,l)&&(e=b(e),il(e,Vl(e),n=Tl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Pl(((e,l)=>{if(_e(e,l,t,1)){const n=Vl(e);x(t,((t,s)=>hl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Pl(((e,l,t)=>E(el(e,l,t,z(n)?n(Gl(e,l,t)):n),(n=>hl(e,Vl(e),l,t,n)))),e,l,t),setValues:Xl,setPartialValues:e=>Pl((()=>ll(e,1)?x(e,((e,l)=>fl(l,e))):0)),setValue:(e,l)=>Pl((e=>E(tl(e,z(l)?l(Ql(e)):l),(l=>fl(e,l)))),e),setTransactionChanges:e=>Pl((()=>{x(e[0],((e,l)=>L(e)?lt(l):x(e,((e,t)=>L(e)?tt(l,t):x(e,((e,n)=>fe(ct,l,t,n,e))))))),x(e[1],((e,l)=>Te(ct,l,e)))})),setTablesJson:Yl,setValuesJson:e=>{try{vl(J(e))}catch(e){}return ct},setJson:e=>{try{const[l,t]=J(e);ol(l),vl(t)}catch(l){Yl(e)}return ct},setTablesSchema:Zl,setValuesSchema:_l,setSchema:(e,l)=>Pl((()=>{Zl(e),_l(l)})),delTables:et,delTable:lt,delRow:tt,delCell:(e,l,t,n)=>Pl(((e,l,t)=>E(Q(Ee,e),(s=>E(Q(s,l),(a=>W(a,t)?Sl(e,s,l,a,t,n):0))))),e,l,t),delValues:nt,delValue:e=>Pl((e=>W(Fe,e)?wl(e):0),e),delTablesSchema:st,delValuesSchema:at,delSchema:()=>Pl((()=>{st(),at()})),transaction:rt,startTransaction:ot,finishTransaction:ut,forEachTable:e=>B(Ee,((l,t)=>e(t,(e=>B(l,((l,t)=>e(t,(e=>U(l,e))))))))),forEachTableCell:(e,l)=>U(Q(Le,b(e)),l),forEachRow:(e,l)=>B(Q(Ee,b(e)),((e,t)=>l(t,(l=>U(e,l))))),forEachCell:(e,l,t)=>U(Q(Q(Ee,b(e)),b(l)),t),forEachValue:e=>U(Fe,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=ql(e,l,t,n,s);return Ke((()=>{const r=ql(e,l,t,n,s);var u,c,i;c=o,w(u=r)===w(c)&&(i=(e,l)=>c[l]===e,u.every(i))||(o=r,a(ct,e,l,t,n,s,o))}),Ne[r?1:0],[e,l],[Wl])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),ct),delListener:e=>(Ue(e),ct),getListenerStats:()=>({}),createStore:Ce};return x({[i]:[0,ze],[d]:[0,Oe],[c]:[1,ke,[Wl]],[c+g]:[1,Ae,[Wl]],[h]:[1,Me,[Wl]],Row:[2,Pe,[Wl,$l]],[g]:[2,je,[Wl,$l]],[v]:[3,xe,[Wl,$l,Bl],e=>ie(Gl(...e))],InvalidCell:[3,De],[T]:[0,$e],[V]:[0,qe],[f]:[1,Be,[Kl],e=>ie(Ql(e[0]))],InvalidValue:[1,We]},(([e,l,t,n],s)=>{ct["add"+s+"Listener"]=(...s)=>Ke(s[e],l[s[e+1]?1:0],e>0?I(s,0,e):void 0,t,n)})),M(ct)};export{Ce as createStore};
|
package/lib/es6/store.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),s=e(0),o=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=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,n)=>t[n]===e)),m=(e,t)=>b(e,((n,l)=>0==l||t(e[l-1],n)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,n)=>e.reduce(t,n),O=(e,t,n)=>e.slice(t,n),F=(e,...t)=>e.push(...t),P=e=>e.pop(),j=e=>e.shift(),Q=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),z=JSON.parse,N=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,n)=>q(e)?null==n?void 0:n():t(e),H=e=>e==n||e==l,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,ne=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),se=(e,t)=>x(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>q(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ue(e,((e,n)=>t(n,e))),ye=(e,t,n)=>q(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),Se=(e,t,n)=>(ie(e,t)||ye(e,t,n()),ge(e,t)),we=(e,t,n,l=ye)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),Ie=(e,t,n)=>{const l={};return ue(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Re=(e,t,n)=>Ie(e,(e=>Ie(e,t,n)),oe),Te=(e,t,n)=>Ie(e,(e=>Re(e,t,n)),oe),pe=(e,t)=>{const n=he();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Ce=e=>pe(e,pe),be=e=>pe(e,Ce),Ve=(e,t,n,l,s=0)=>G((n?Se:ge)(e,t[s],s>D(t)-2?n:he),(o=>{if(s>D(t)-2)return(null==l?void 0:l(o))&&ye(e,t[s]),o;const r=Ve(o,t,n,l,s+1);return ae(o)&&ye(e,t[s]),r})),me=t=>{const n=e(t);return H(n)||n==s&&B(t)?n:void 0},Ee=(e,t,n,l,s)=>q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),ke=(e,t,n)=>q(n)?e.delValue(t):e.setValue(t,n),xe=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n)=>{const l=e.hasRow,s=he(),o=he(),r=he(),i=he(),a=he(),d=(t,n,...l)=>{const s=Se(a,t,xe);return k(l,(t=>Me(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>G(ge(a,t),(l=>{k(J(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&ye(a,t)})),u=(e,n)=>{ye(s,e,n),ie(o,e)||(ye(o,e,t()),ye(r,e,he()),ye(i,e,he()))},v=e=>{ye(s,e),ye(o,e),ye(r,e),ye(i,e),c(e)};return[()=>e,()=>fe(s),e=>Le(o,e),e=>ie(o,e),e=>ge(s,e),e=>ge(o,e),(e,t)=>ye(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=he(),f=he(),g=ge(r,t),L=ge(i,t),y=t=>{const o=n=>e.getCell(s,t,n),r=ge(g,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||U(r)&&U(i)&&V(r,i)||ye(h,t,[r,i]),!q(v)){const e=ge(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&ye(f,t,n)}},S=e=>{o((()=>{ue(h,(([,e],t)=>ye(g,t,e))),ue(f,((e,t)=>ye(L,t,e)))}),h,f,g,L,e),ce(h),ce(f)};Le(g,y),e.hasTable(s)&&k(e.getRowIds(s),(e=>{ie(g,e)||y(e)})),S(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>y(n))),e.addTableListener(s,(()=>S())))},v,()=>Le(a,v),d,c]},Je=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Oe=/^\d+$/,Fe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?j(e):null)?s:t+n++},t=>{Oe.test(t)&&D(e)<1e3&&F(e,t)}]},Pe=e=>{let n;const[l,s]=Fe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const c=l(1);return ye(o,c,[s,r,i,a,d]),Me(Ve(r,null!=i?i:[t],xe),c),c},(e,l,...s)=>k(((e,n=[t])=>{const l=[],s=(e,t)=>t==D(n)?F(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):k([n[t],null],(n=>s(ge(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>ge(o,e)[0](n,...null!=l?l:[],...s))))),e=>G(ge(o,e),(([,n,l])=>(Ve(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),ye(o,e),s(e),l))),e=>G(ge(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=D(r);d==D(t)?e(n,...r,...s(r)):q(t[d])?k(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},je=Ae((e=>{let n,l,s,o=100,r=he(),i=he(),a=1;const d=he(),c=he(),[u,v,h]=Pe((()=>z)),f=he(),g=he(),L=[],y=[],S=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=ge(f,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>Ee(e,l,s,o,n[t]))))))),ue(s,((n,l)=>ke(e,l,n[t])))})),a=1},w=e=>{ye(f,e),ye(g,e),v(c,[e])},I=(e,t)=>k(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),R=()=>I(L,D(L)-o),T=()=>G(n,(()=>{F(L,n),R(),I(y),n=void 0,s=1})),p=()=>{n=P(L),s=1},b=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){T();const e=Se(r,t,he),i=Se(e,n,he),a=Se(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(ye(i,l))&&ae(ye(e,n))&&ae(ye(r,t))&&p(),M()}})),V=e.addValueListener(null,((e,t,n,l)=>{if(a){T();const e=Se(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(ye(i,t))&&p(),M()}})),m=(e="")=>(q(n)&&(n=t+l++,ye(f,n,[r,i]),O(n,e),r=he(),i=he(),s=1),n),E=()=>{J(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),S(0,n),n=P(L),s=1)},x=()=>{J(y)||(F(L,n),n=j(y),S(1,n),s=1)},M=()=>{s&&(v(d),s=0)},A=e=>{const t=m(e);return M(),t},O=(e,t)=>(Q(e)&&ge(g,e)!==t&&(ye(g,e,t),v(c,[e])),z),Q=e=>ie(f,e),z={setSize:e=>(o=e,R(),z),addCheckpoint:A,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:Q,getCheckpoint:e=>ge(g,e),goBackward:()=>(E(),M(),z),goForward:()=>(x(),M(),z),goTo:e=>{const t=C(L,e)?E:C(y,e)?x:null;for(;!q(t)&&e!=n;)t();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(I(L),I(y),q(n)||w(n),n=void 0,l=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(z.clear())})),Qe=(e,t)=>e<t?-1:1,ze=Ae((e=>{const n=he(),l=he(),[s,o,r,i,a,d,c,,u,v,h]=De(e,he,(e=>q(e)?t:U(e)?x(e,p):p(e))),[f,g,L]=Pe((()=>S)),y=(t,n,l)=>{const s=a(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},S={setIndexDefinition:(e,t,s,o,r,i=Qe)=>{const a=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,s,r,u,v,h)=>{let f=0;const L=xe(),y=xe(),S=d(e);if(ue(s,(([e,t],n)=>{const l=xe(e),s=xe(t);ue(l,(e=>ve(s,e)?ve(l,e):0)),ue(l,(e=>{Me(L,e),G(ge(S,e),(t=>{ve(t,n),ae(t)&&(ye(S,e),f=1)}))})),ue(s,(e=>{Me(L,e),ie(S,e)||(ye(S,e,xe()),f=1),Me(ge(S,e),n),q(o)||Me(y,e)}))})),t(),ae(v)||(h?Le(S,(e=>Me(y,e))):Le(r,(e=>G(ge(u,e),(e=>Me(y,e))))),ue(y,(e=>{const t=(t,n)=>i(ge(v,t),ge(v,n),e),n=[...ge(S,e)];m(n,t)||(ye(S,e,xe(E(n,t))),Me(L,e))}))),(f||h)&&!q(a)){const t=[...S];m(t,a)||(c(e,he(E(t,a))),f=1)}f&&g(n,[e]),ue(L,(t=>g(l,[e,t])))}),Je(s),G(o,Je)),S},delIndexDefinition:e=>(v(e),S),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)=>ie(d(e),t),getTableId:a,getSliceIds:e=>fe(d(e)),getSliceRowIds:(e,t)=>de(ge(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 ee(S)})),Ne=he([["avg",[(e,t)=>M(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=>N(...e),(e,t)=>N(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:N(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=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=q(e)),ue(l,(([n,l])=>{o||(e=q(n)?null==i?void 0:i(e,l,t++):q(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=q(e)))})),o?r(de(n),re(n)):e},Be=Ae((e=>{const n=he(),[l,s,o,r,i,a,d,,c,u,v]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,f,g]=Pe((()=>L)),L={setMetricDefinition:(e,t,l,s,o,r,i)=>{var u;const v=K(l)?[l,o,r,i]:null!=(u=ge(Ne,l))?u:ge(Ne,"sum");return c(e,t,((t,l,s,o,r,i)=>{const c=a(e),u=re(o);i||(i=q(c)),t();let h=We(c,u,o,l,v,i);B(h)||(h=void 0),h!=c&&(d(e,h),f(n,[e],h,c))}),Je(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return ee(L)}));var $e=(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())}));const qe=(e,t,n,l,s)=>{let o,r,i,a=0,d=0,c=0;const u=[],v=e=>$e(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(...n)=>$e(void 0,[...n],(function*(n={},l={}){return yield v((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),h})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,i=l(((n,l)=>$e(void 0,null,(function*(){yield v((()=>$e(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=>$e(void 0,null,(function*(){return yield h.schedule((()=>$e(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),h})),startAutoSave:()=>$e(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();h.save((()=>n))})),h})),stopAutoSave:()=>(G(o,e.delListener),h),schedule:(...e)=>$e(void 0,null,(function*(){return F(u,...e),yield $e(void 0,null,(function*(){if(!d){for(d=1;!q(r=j(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(h)};var Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Ae((e=>{const n=e.createStore,[l,s,o,r,i,,,u,,h,f,I,R]=De(e,(()=>!0),X),T=n(),p=n(),C=he(),V=(e,t,...n)=>k(n,(n=>Me(Se(Se(C,t,he),e,xe),n))),m=e=>{G(ge(C,e),(e=>{Le(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),k([p,T],(t=>t.delTable(e)))},E=(e,t,n)=>V(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,l,s)=>{u(n,l),m(n);const o=[],r=[[null,[l,null,null,[],he()]]],i=[],a=[],d=[];s({select:(e,n)=>{const l=K(e)?[D(o)+t,e]:[q(n)?e:n,t=>t(e,n)];return F(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=q(n)||K(t)?null:t,s=q(l)?t:n,o=[e,[e,l,K(s)?s:e=>e(s),[],he()]];return F(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>F(i,K(e)?e:q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,K(t)?[t,n,l,s]:null!=(o=ge(Ne,t))?o:[(e,t)=>t]]];return F(a,r),{as:e=>r[0]=e}},having:(e,t)=>F(d,K(e)?e:n=>n(e)===t)});const c=he(o);if(ae(c))return x;const v=he(r);Le(v,((e,[,t])=>G(ge(v,t),(({3:t})=>q(e)?0:F(t,e)))));const h=he(a);let f=T;if(ae(h)&&J(d))f=p;else{E(n,f,p);const e=he();Le(h,((t,[n,l])=>Me(Se(e,n,xe),[t,l])));const t=xe();Le(c,(n=>ie(e,n)?0:Me(t,n)));const l=he(),s=(t,l,s,o)=>G(t,(([r,i,a,c])=>{Le(l,((t,[n])=>{const l=Se(r,t,he),i=ge(l,s),a=o?void 0:n;if(i!==a){const n=xe([[i,a]]),o=re(l);ye(l,s,a),ue(ge(e,t),(([e,t])=>{const s=We(c[e],o,l,n,t);c[e]=q(me(s))?null:s}))}})),ae(i)||!b(d,(e=>e((e=>c[e]))))?p.delRow(n,a):q(a)?t[2]=p.addRow(n,c):p.setRow(n,a,c)}));V(f,n,f.addRowListener(n,null,((o,r,i,a)=>{const d=[],c=[],u=he(),v=f.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);F(d,l),F(c,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&ye(u,e,[l])})),h&&s(Ve(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),u,i,1),v&&s(Ve(l,c,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(n,i,t))),[he(),xe(),void 0,e]}),(([,e])=>{Me(e,i)})),u,i)})))}E(n,e,f);const g=(t,s,o,r)=>{const a=t=>e.getCell(s,o,t);k(r,(l=>{var s;const[o,,r,i,d]=ge(v,l),c=null==r?void 0:r(a,t),[u,h]=null!=(s=ge(d,t))?s:[];c!=u&&(q(h)||R(n,h),ye(d,t,q(c)?null:[c,...I(n,1,e.addRowListener(o,c,(()=>g(t,o,c,i))))]))})),(t=>{const s=(n,s)=>{var o,r,i;return e.getCell(...q(s)?[l,t,n]:n===l?[l,t,s]:[null==(o=ge(v,n))?void 0:o[0],null==(i=ge(null==(r=ge(v,n))?void 0:r[4],t))?void 0:i[0],s])};f.transaction((()=>b(i,(e=>e(s)))?Le(c,((e,l)=>Ee(f,n,t,e,l(s,t)))):f.delRow(n,t)))})(t)},{3:L}=ge(v,null);return f.transaction((()=>I(n,1,e.addRowListener(l,null,((t,s,o)=>{e.hasRow(l,o)?g(o,l,o,L):(f.delRow(n,o),ue(v,(({4:e})=>G(ge(e,o),(([,t])=>{R(n,t),ye(e,o)})))))}))))),x},delQueryDefinition:e=>(m(e),h(e),x),getStore:l,getQueryIds:s,forEachQuery:o,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 se({[v]:[1,1],[L]:[0,1],[y]:[0,5],[g]:[1,2],[w]:[0,2],[S]:[1,3]},(([e,t],n)=>{k(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](...O(e,0,t),((n,...l)=>e[t](x,...l)))})),ee(x)})),Xe=Ae((e=>{const n=he(),l=he(),s=he(),o=he(),[r,i,a,d,c,u,,,v,h,f]=De(e,(()=>[he(),he(),he(),he()]),(e=>q(e)?void 0:e+t)),[g,L,y]=Pe((()=>R)),S=(e,t,n)=>G(u(e),(([l,,s])=>{if(!ie(s,t)){const o=xe();if(c(e)!=I(e))Me(o,t);else{let e=t;for(;!q(e)&&!ie(o,e);)Me(o,e),e=ge(l,e)}if(n)return o;ye(s,t,o)}return ge(s,t)})),w=(e,t)=>G(u(e),(([,,e])=>ye(e,t))),I=e=>ge(n,e),R={setRelationshipDefinition:(e,t,r,i)=>(ye(n,e,r),v(e,t,((t,n)=>{const r=xe(),i=xe(),a=xe(),[d,c]=u(e);ue(n,(([t,n],l)=>{q(t)||(Me(i,t),G(ge(c,t),(e=>{ve(e,l),ae(e)&&ye(c,t)}))),q(n)||(Me(i,n),ie(c,n)||ye(c,n,xe()),Me(ge(c,n),l)),Me(r,l),ye(d,l,n),Le(ge(o,e),(t=>{ie(S(e,t),l)&&Me(a,t)}))})),t(),ue(r,(t=>L(l,[e,t]))),ue(i,(t=>L(s,[e,t]))),ue(a,(t=>{w(e,t),L(o,[e,t])}))}),Je(i)),R),delRelationshipDefinition:e=>(ye(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 ge(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>q(u(e))?[t]:de(S(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)=>(S(e,t),g(n,o,[e,t])),delListener:e=>(w(...y(e)),R),destroy:f,getListenerStats:()=>({})};return ee(R)})),Ye=e=>[e,e],Ze=()=>[he(),he()],_e=e=>[...e],et=([e,t])=>e===t,tt=(e,t,n)=>q(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),nt=(e,t,n)=>ye(e,t,ge(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,o=0;const d=he(),u=he(),y=he(),b=he(),m=he(),M=he(),D=he(),J=he(),A=he(),P=he(),j=he(),N=he(),W=he(),B=xe(),$=he(),U=he(),X=he(),Y=he(),Z=Ze(),_=Ze(),te=Ze(),re=Ze(),de=Ze(),Ve=Ze(),De=Ze(),Je=Ze(),Ae=Ze(),Oe=Ze(),je=Ze(),ze=Ze(),Ne=Ze(),We=Ze(),Be=he(),$e=Ze(),[qe,Ge,He,Ke]=Pe((()=>gn)),Ue=e=>{if(!tt(e,((e,t)=>C([r,i],t))))return!1;const t=e[r];return!(!H(t)&&t!=s||(me(e[i])!=t&&le(e,i),0))},Xe=(t,n)=>(!e||ie(P,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)=>G(ot(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,n,l,s)=>e?G(ge(ge(P,t),l),(e=>me(s)!=e[r]?Jt(t,n,l,s,e[i]):s),(()=>Jt(t,n,l,s))):q(me(s))?Jt(t,n,l,s):s,rt=(e,t)=>tt(t?e:dt(e),((t,n)=>G(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?G(ge(N,e),(t=>me(n)!=t[r]?At(e,n,t[i]):n),(()=>At(e,n))):q(me(n))?At(e,n):n,at=(e,t,n)=>(G(ge(j,t),(([l,s])=>{ue(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(s,(l=>{ne(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ue(W,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(B,(t=>{ne(e,t)||At(t)}))),e),ct=e=>we(P,e,((e,t,n)=>{const l=he(),s=xe();we(Se(P,t,he),n,((e,t,n)=>{ye(e,t,n),G(n[i],(e=>ye(l,t,e)),(()=>Me(s,t)))})),ye(j,t,[l,s])}),((e,t)=>{ye(P,t),ye(j,t)})),ut=e=>we(N,e,((e,t,n)=>{ye(N,t,n),G(n[i],(e=>ye(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{ye(N,t),ye(W,t),ve(B,t)})),vt=e=>oe(e)?on():en(e),ht=e=>we(X,e,((e,t,n)=>ft(t,n)),((e,t)=>pt(t))),ft=(e,t)=>we(Se(X,e,(()=>(mt(e,1),ye($,e,Fe()),ye(U,e,he()),he()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,s)=>we(Se(t,n,(()=>(Et(e,n,1),he()))),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)=>{ie(n,l)||kt(e,t,l,1);const o=ge(n,l);s!==o&&(xt(e,t,l,o,s),ye(n,l,s))},yt=(e,t,n,l,s)=>G(ge(t,n),(t=>Lt(e,n,t,l,s)),(()=>gt(e,t,n,at({[l]:s},e,n)))),St=e=>oe(e)?dn():tn(e),wt=e=>we(Y,e,((e,t,n)=>It(t,n)),((e,t)=>Vt(t))),It=(e,t)=>{ie(Y,e)||Mt(e,1);const n=ge(Y,e);t!==n&&(Dt(e,n,t),ye(Y,e,t))},Rt=(e,t)=>{const[n]=ge($,e),l=n(t);return ie(ge(X,e),l)?Rt(e,t):l},Tt=e=>{var t;return null!=(t=ge(X,e))?t:ft(e,{})},pt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=ge($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,s,o)=>{var r;const i=ge(null==(r=ge(j,e))?void 0:r[0],s);if(!q(i)&&!o)return Lt(e,n,l,s,i);const a=t=>{xt(e,n,t,ge(l,t)),kt(e,n,t,-1),ye(l,t)};q(i)?a(s):Le(l,a),ae(l)&&(Et(e,n,-1),ae(ye(t,n))&&(mt(e,-1),ye(X,e),ye($,e),ye(U,e)))},Vt=e=>{const t=ge(W,e);if(!q(t))return It(e,t);Dt(e,ge(Y,e)),Mt(e,-1),ye(Y,e)},mt=(e,t)=>nt(d,e,t),Et=(e,t,n)=>nt(Se(y,e,he),t,n),kt=(e,t,n,l)=>{var s;const o=ge(U,e),r=null!=(s=ge(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&nt(Se(u,e,he),n,l),ye(o,n,r!=-l?r+l:null),nt(Se(Se(b,e,he),t,he),n,l)},xt=(e,t,n,l,s)=>Se(Se(Se(m,e,he),t,he),n,(()=>[l,0]))[1]=s,Mt=(e,t)=>nt(M,e,t),Dt=(e,t,n)=>Se(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,s)=>(F(Se(Se(Se(J,e,he),t,he),n,(()=>[])),l),s),At=(e,t,n)=>(F(Se(A,e,(()=>[])),t),n),Ot=(e,t,n)=>G(ge(ge(ge(m,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(Xt(e,t,n))])),Ft=e=>G(ge(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(_t(e))])),Pt=e=>ae(J)||ae(Oe[e])?0:ue(e?be(J):J,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ge(Oe[e],[n,l,s],t))))))),jt=e=>ae(A)||ae(je[e])?0:ue(e?pe(A):A,((t,n)=>Ge(je[e],[n],t))),Qt=(e,t,n)=>{if(!ae(t))return Ge(e,n,(()=>Ie(t))),1},zt=e=>{const t=ae(Ve[e]),n=ae(Je[e])&&ae(re[e])&&ae(de[e])&&t&&ae(_[e]),l=ae(Ae[e])&&ae(De[e])&&ae(te[e])&&ae(Z[e]);if(!n||!l){const s=e?[pe(d),Ce(u),Ce(y),be(b),be(m)]:[d,u,y,b,m];if(!n){Qt(_[e],s[0]),ue(s[1],((t,n)=>Qt(re[e],t,[n])));const n=xe();ue(s[2],((l,s)=>{Qt(de[e],l,[s])&&!t&&(Ge(Ve[e],[s,null]),Me(n,s))})),t||ue(s[4],((t,l)=>{if(!ie(n,l)){const n=xe();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?Me(n,s):ve(e,s))))),ue(n,(t=>Ge(Ve[e],[l,t])))}})),ue(s[3],((t,n)=>ue(t,((t,l)=>Qt(Je[e],t,[n,l])))))}if(!l){let t;ue(s[4],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,o,a],i,n,Ot),t=s=r=1)})),r&&Ge(De[e],[l,o],Ot)})),s&&Ge(te[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=ae(Ne[e]),n=ae(We[e])&&ae(ze[e]);if(!t||!n){const l=e?[pe(M),pe(D)]:[M,D];if(t||Qt(Ne[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ge(We[e],[s],l,n,Ft),t=1)})),t&&Ge(ze[e],void 0,Ft)}}},Wt=(e,...t)=>(vn((()=>e(...x(t,p)))),gn),Bt=()=>[Ie(m,((e,t)=>-1===ge(d,t)?null:Ie(e,((e,n)=>-1===ge(ge(y,t),n)?null:Ie(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),oe)),oe),Ie(D,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Te(m,_e,et),invalidCells:Te(J),changedValues:Ie(D,_e,et),invalidValues:Ie(A),changedTableIds:Ie(d),changedRowIds:Re(y),changedCellIds:Te(b),changedValueIds:Ie(M)}),qt=()=>Te(X),Gt=()=>fe(X),Ht=e=>fe(ge(X,p(e))),Kt=(e,t,n,l=0,s)=>{return x(O(E((o=ge(X,p(e)),r=(e,n)=>[q(t)?n:ge(e,p(t)),n],x([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Qe(e,t)*(n?-1:1))),l,q(s)?s:l+s),(([,e])=>e));var o,r,i},Ut=(e,t)=>fe(ge(ge(X,p(e)),p(t))),Xt=(e,t,n)=>ge(ge(ge(X,p(e)),p(t)),p(n)),Yt=()=>Ie(Y),Zt=()=>fe(Y),_t=e=>ge(Y,p(e)),en=e=>Wt((()=>(e=>tt(e,Xe,Jt))(e)?ht(e):0)),tn=e=>Wt((()=>rt(e)?wt(e):0)),nn=e=>{try{vt(z(e))}catch(e){}return gn},ln=t=>Wt((()=>{if((e=tt(t,(e=>tt(e,Ue))))&&(ct(t),!ae(X))){const e=qt();on(),en(e)}})),sn=e=>Wt((()=>{if(t=(e=>tt(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),on=()=>Wt((()=>ht({}))),rn=e=>Wt((e=>ie(X,e)?pt(e):0),e),an=(e,t)=>Wt(((e,t)=>G(ge(X,e),(n=>ie(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!=o){hn();const n=e();return fn(t),n}},hn=()=>(-1!=o&&o++,1==o&&Ge(Be,void 0,Bt,$t),gn),fn=e=>(o>0&&(o--,0==o&&(n=!ae(m),l=!ae(D),o=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Bt,$t))&&(ue(m,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>Ee(gn,t,n,l,e))))))),ue(D,(([e],t)=>ke(gn,t,e))),n=l=!1),Ge($e[0],void 0,Bt,$t),o=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),Ge($e[1],void 0,Bt,$t),o=0,n=l=!1,k([d,u,y,b,m,J,M,D,A],ce))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Re(ge(X,p(e))),getTableCellIds:e=>fe(ge(U,p(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(ge(ge(X,p(e)),p(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ae(X),hasTable:e=>ie(X,p(e)),hasTableCell:(e,t)=>ie(ge(U,p(e)),p(t)),hasRow:(e,t)=>ie(ge(X,p(e)),p(t)),hasCell:(e,t,n)=>ie(ge(ge(X,p(e)),p(t)),p(n)),hasValues:()=>!ae(Y),hasValue:e=>ie(Y,p(e)),getTablesJson:()=>Q(X),getValuesJson:()=>Q(Y),getJson:()=>Q([X,Y]),getTablesSchemaJson:()=>Q(P),getValuesSchemaJson:()=>Q(N),getSchemaJson:()=>Q([P,N]),setContent:([e,t])=>Wt((()=>{en(e),tn(t)})),setTables:en,setTable:(e,t)=>Wt((e=>Xe(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Wt(((e,t)=>st(e,t,n)?gt(e,Tt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return st(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(st(e,t,n,1)){const l=Tt(e);se(n,((n,s)=>yt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ot(e,t,n,K(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)?se(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>G(it(e,K(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{se(e[0],((e,t)=>q(e)?rn(t):se(e,((e,n)=>q(e)?an(t,n):se(e,((e,l)=>Ee(gn,t,n,l,e))))))),se(e[1],((e,t)=>ke(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{St(z(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=z(e);vt(t),St(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:sn,setSchema:(e,t)=>Wt((()=>{ln(e),sn(t)})),delTables:on,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ge(X,e),(s=>G(ge(s,t),(o=>ie(o,n)?bt(e,s,t,o,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Wt((e=>ie(Y,e)?Vt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Wt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(U,p(e)),t),forEachRow:(e,t)=>ue(ge(X,p(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(X,p(e)),p(t)),n),forEachValue:e=>Le(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))}),Ve[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),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 se({[h]:[0,Z],[f]:[0,_],[v]:[1,te,[Gt]],[v+w]:[1,re,[Gt]],[L]:[1,de,[Gt]],[g]:[2,De,[Gt,Ht]],[w]:[2,Je,[Gt,Ht]],[S]:[3,Ae,[Gt,Ht,Ut],e=>Ye(Xt(...e))],InvalidCell:[3,Oe],[R]:[0,ze],[T]:[0,Ne],[I]:[1,We,[Zt],e=>Ye(_t(e[0]))],InvalidValue:[1,je]},(([e,t,n,l],s)=>{gn[c+s+a]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(gn)};export{je as createCheckpoints,qe as createCustomPersister,ze as createIndexes,Be as createMetrics,Ue as createQueries,Xe as createRelationships,lt as createStore,Qe as defaultSorter};
|
|
1
|
+
const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=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=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,n)=>t[n]===e)),m=(e,t)=>b(e,((n,l)=>0==l||t(e[l-1],n)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,n)=>e.reduce(t,n),O=(e,t,n)=>e.slice(t,n),F=(e,...t)=>e.push(...t),P=e=>e.pop(),j=e=>e.shift(),Q=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),z=JSON.parse,N=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,n)=>q(e)?null==n?void 0:n():t(e),H=e=>e==n||e==l,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,ne=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),se=(e,t)=>x(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>q(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ue(e,((e,n)=>t(n,e))),ye=(e,t,n)=>q(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),Se=(e,t,n)=>(ie(e,t)||ye(e,t,n()),ge(e,t)),we=(e,t,n,l=ye)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),Ie=(e,t,n)=>{const l={};return ue(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Re=(e,t,n)=>Ie(e,(e=>Ie(e,t,n)),oe),Te=(e,t,n)=>Ie(e,(e=>Re(e,t,n)),oe),pe=(e,t)=>{const n=he();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Ce=e=>pe(e,pe),be=e=>pe(e,Ce),Ve=(e,t,n,l,s=0)=>G((n?Se:ge)(e,t[s],s>D(t)-2?n:he),(o=>{if(s>D(t)-2)return(null==l?void 0:l(o))&&ye(e,t[s]),o;const r=Ve(o,t,n,l,s+1);return ae(o)&&ye(e,t[s]),r})),me=t=>{const n=e(t);return H(n)||n==s&&B(t)?n:void 0},Ee=(e,t,n,l,s)=>q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),ke=(e,t,n)=>q(n)?e.delValue(t):e.setValue(t,n),xe=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n)=>{const l=e.hasRow,s=he(),o=he(),r=he(),i=he(),a=he(),d=(t,n,...l)=>{const s=Se(a,t,xe);return k(l,(t=>Me(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>G(ge(a,t),(l=>{k(J(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&ye(a,t)})),u=(e,n)=>{ye(s,e,n),ie(o,e)||(ye(o,e,t()),ye(r,e,he()),ye(i,e,he()))},v=e=>{ye(s,e),ye(o,e),ye(r,e),ye(i,e),c(e)};return[()=>e,()=>fe(s),e=>Le(o,e),e=>ie(o,e),e=>ge(s,e),e=>ge(o,e),(e,t)=>ye(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=he(),f=he(),g=ge(r,t),L=ge(i,t),y=t=>{const o=n=>e.getCell(s,t,n),r=ge(g,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||U(r)&&U(i)&&V(r,i)||ye(h,t,[r,i]),!q(v)){const e=ge(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&ye(f,t,n)}},S=e=>{o((()=>{ue(h,(([,e],t)=>ye(g,t,e))),ue(f,((e,t)=>ye(L,t,e)))}),h,f,g,L,e),ce(h),ce(f)};Le(g,y),e.hasTable(s)&&k(e.getRowIds(s),(e=>{ie(g,e)||y(e)})),S(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>y(n))),e.addTableListener(s,(()=>S())))},v,()=>Le(a,v),d,c]},Je=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Oe=/^\d+$/,Fe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?j(e):null)?s:t+n++},t=>{Oe.test(t)&&D(e)<1e3&&F(e,t)}]},Pe=e=>{let n;const[l,s]=Fe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const c=l(1);return ye(o,c,[s,r,i,a,d]),Me(Ve(r,null!=i?i:[t],xe),c),c},(e,l,...s)=>k(((e,n=[t])=>{const l=[],s=(e,t)=>t==D(n)?F(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):k([n[t],null],(n=>s(ge(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>ge(o,e)[0](n,...null!=l?l:[],...s))))),e=>G(ge(o,e),(([,n,l])=>(Ve(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),ye(o,e),s(e),l))),e=>G(ge(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=D(r);d==D(t)?e(n,...r,...s(r)):q(t[d])?k(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},je=Ae((e=>{let n,l,s,o=100,r=he(),i=he(),a=1;const d=he(),c=he(),[u,v,h]=Pe((()=>z)),f=he(),g=he(),L=[],y=[],S=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=ge(f,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>Ee(e,l,s,o,n[t]))))))),ue(s,((n,l)=>ke(e,l,n[t])))})),a=1},w=e=>{ye(f,e),ye(g,e),v(c,[e])},I=(e,t)=>k(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),R=()=>I(L,D(L)-o),T=()=>G(n,(()=>{F(L,n),R(),I(y),n=void 0,s=1})),p=()=>{n=P(L),s=1},b=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){T();const e=Se(r,t,he),i=Se(e,n,he),a=Se(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(ye(i,l))&&ae(ye(e,n))&&ae(ye(r,t))&&p(),M()}})),V=e.addValueListener(null,((e,t,n,l)=>{if(a){T();const e=Se(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(ye(i,t))&&p(),M()}})),m=(e="")=>(q(n)&&(n=t+l++,ye(f,n,[r,i]),O(n,e),r=he(),i=he(),s=1),n),E=()=>{J(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),S(0,n),n=P(L),s=1)},x=()=>{J(y)||(F(L,n),n=j(y),S(1,n),s=1)},M=()=>{s&&(v(d),s=0)},A=e=>{const t=m(e);return M(),t},O=(e,t)=>(Q(e)&&ge(g,e)!==t&&(ye(g,e,t),v(c,[e])),z),Q=e=>ie(f,e),z={setSize:e=>(o=e,R(),z),addCheckpoint:A,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:Q,getCheckpoint:e=>ge(g,e),goBackward:()=>(E(),M(),z),goForward:()=>(x(),M(),z),goTo:e=>{const t=C(L,e)?E:C(y,e)?x:null;for(;!q(t)&&e!=n;)t();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(I(L),I(y),q(n)||w(n),n=void 0,l=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(z.clear())})),Qe=(e,t)=>e<t?-1:1,ze=Ae((e=>{const n=he(),l=he(),[s,o,r,i,a,d,c,,u,v,h]=De(e,he,(e=>q(e)?t:U(e)?x(e,p):p(e))),[f,g,L]=Pe((()=>S)),y=(t,n,l)=>{const s=a(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},S={setIndexDefinition:(e,t,s,o,r,i=Qe)=>{const a=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,s,r,u,v,h)=>{let f=0;const L=xe(),y=xe(),S=d(e);if(ue(s,(([e,t],n)=>{const l=xe(e),s=xe(t);ue(l,(e=>ve(s,e)?ve(l,e):0)),ue(l,(e=>{Me(L,e),G(ge(S,e),(t=>{ve(t,n),ae(t)&&(ye(S,e),f=1)}))})),ue(s,(e=>{Me(L,e),ie(S,e)||(ye(S,e,xe()),f=1),Me(ge(S,e),n),q(o)||Me(y,e)}))})),t(),ae(v)||(h?Le(S,(e=>Me(y,e))):Le(r,(e=>G(ge(u,e),(e=>Me(y,e))))),ue(y,(e=>{const t=(t,n)=>i(ge(v,t),ge(v,n),e),n=[...ge(S,e)];m(n,t)||(ye(S,e,xe(E(n,t))),Me(L,e))}))),(f||h)&&!q(a)){const t=[...S];m(t,a)||(c(e,he(E(t,a))),f=1)}f&&g(n,[e]),ue(L,(t=>g(l,[e,t])))}),Je(s),G(o,Je)),S},delIndexDefinition:e=>(v(e),S),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)=>ie(d(e),t),getTableId:a,getSliceIds:e=>fe(d(e)),getSliceRowIds:(e,t)=>de(ge(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 ee(S)})),Ne=he([["avg",[(e,t)=>M(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=>N(...e),(e,t)=>N(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:N(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=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=q(e)),ue(l,(([n,l])=>{o||(e=q(n)?null==i?void 0:i(e,l,t++):q(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=q(e)))})),o?r(de(n),re(n)):e},Be=Ae((e=>{const n=he(),[l,s,o,r,i,a,d,,c,u,v]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,f,g]=Pe((()=>L)),L={setMetricDefinition:(e,t,l,s,o,r,i)=>{var u;const v=K(l)?[l,o,r,i]:null!=(u=ge(Ne,l))?u:ge(Ne,"sum");return c(e,t,((t,l,s,o,r,i)=>{const c=a(e),u=re(o);i||(i=q(c)),t();let h=We(c,u,o,l,v,i);B(h)||(h=void 0),h!=c&&(d(e,h),f(n,[e],h,c))}),Je(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return ee(L)}));var $e=(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())}));const qe=(e,t,n,l,s)=>{let o,r,i,a=0,d=0,c=0;const u=[],v=e=>$e(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(n,l)=>$e(void 0,null,(function*(){return yield v((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),h})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,i=l(((n,l)=>$e(void 0,null,(function*(){yield v((()=>$e(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=>$e(void 0,null,(function*(){return yield h.schedule((()=>$e(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),h})),startAutoSave:()=>$e(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();h.save((()=>n))})),h})),stopAutoSave:()=>(G(o,e.delListener),h),schedule:(...e)=>$e(void 0,null,(function*(){return F(u,...e),yield $e(void 0,null,(function*(){if(!d){for(d=1;!q(r=j(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(h)};var Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Ae((e=>{const n=e.createStore,[l,s,o,r,i,,,u,,h,f,I,R]=De(e,(()=>!0),X),T=n(),p=n(),C=he(),V=(e,t,...n)=>k(n,(n=>Me(Se(Se(C,t,he),e,xe),n))),m=e=>{G(ge(C,e),(e=>{Le(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),k([p,T],(t=>t.delTable(e)))},E=(e,t,n)=>V(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,l,s)=>{u(n,l),m(n);const o=[],r=[[null,[l,null,null,[],he()]]],i=[],a=[],d=[];s({select:(e,n)=>{const l=K(e)?[D(o)+t,e]:[q(n)?e:n,t=>t(e,n)];return F(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=q(n)||K(t)?null:t,s=q(l)?t:n,o=[e,[e,l,K(s)?s:e=>e(s),[],he()]];return F(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>F(i,K(e)?e:q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,K(t)?[t,n,l,s]:null!=(o=ge(Ne,t))?o:[(e,t)=>t]]];return F(a,r),{as:e=>r[0]=e}},having:(e,t)=>F(d,K(e)?e:n=>n(e)===t)});const c=he(o);if(ae(c))return x;const v=he(r);Le(v,((e,[,t])=>G(ge(v,t),(({3:t})=>q(e)?0:F(t,e)))));const h=he(a);let f=T;if(ae(h)&&J(d))f=p;else{E(n,f,p);const e=he();Le(h,((t,[n,l])=>Me(Se(e,n,xe),[t,l])));const t=xe();Le(c,(n=>ie(e,n)?0:Me(t,n)));const l=he(),s=(t,l,s,o)=>G(t,(([r,i,a,c])=>{Le(l,((t,[n])=>{const l=Se(r,t,he),i=ge(l,s),a=o?void 0:n;if(i!==a){const n=xe([[i,a]]),o=re(l);ye(l,s,a),ue(ge(e,t),(([e,t])=>{const s=We(c[e],o,l,n,t);c[e]=q(me(s))?null:s}))}})),ae(i)||!b(d,(e=>e((e=>c[e]))))?p.delRow(n,a):q(a)?t[2]=p.addRow(n,c):p.setRow(n,a,c)}));V(f,n,f.addRowListener(n,null,((o,r,i,a)=>{const d=[],c=[],u=he(),v=f.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);F(d,l),F(c,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&ye(u,e,[l])})),h&&s(Ve(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),u,i,1),v&&s(Ve(l,c,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(n,i,t))),[he(),xe(),void 0,e]}),(([,e])=>{Me(e,i)})),u,i)})))}E(n,e,f);const g=(t,s,o,r)=>{const a=t=>e.getCell(s,o,t);k(r,(l=>{var s;const[o,,r,i,d]=ge(v,l),c=null==r?void 0:r(a,t),[u,h]=null!=(s=ge(d,t))?s:[];c!=u&&(q(h)||R(n,h),ye(d,t,q(c)?null:[c,...I(n,1,e.addRowListener(o,c,(()=>g(t,o,c,i))))]))})),(t=>{const s=(n,s)=>{var o,r,i;return e.getCell(...q(s)?[l,t,n]:n===l?[l,t,s]:[null==(o=ge(v,n))?void 0:o[0],null==(i=ge(null==(r=ge(v,n))?void 0:r[4],t))?void 0:i[0],s])};f.transaction((()=>b(i,(e=>e(s)))?Le(c,((e,l)=>Ee(f,n,t,e,l(s,t)))):f.delRow(n,t)))})(t)},{3:L}=ge(v,null);return f.transaction((()=>I(n,1,e.addRowListener(l,null,((t,s,o)=>{e.hasRow(l,o)?g(o,l,o,L):(f.delRow(n,o),ue(v,(({4:e})=>G(ge(e,o),(([,t])=>{R(n,t),ye(e,o)})))))}))))),x},delQueryDefinition:e=>(m(e),h(e),x),getStore:l,getQueryIds:s,forEachQuery:o,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 se({[v]:[1,1],[L]:[0,1],[y]:[0,5],[g]:[1,2],[w]:[0,2],[S]:[1,3]},(([e,t],n)=>{k(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](...O(e,0,t),((n,...l)=>e[t](x,...l)))})),ee(x)})),Xe=Ae((e=>{const n=he(),l=he(),s=he(),o=he(),[r,i,a,d,c,u,,,v,h,f]=De(e,(()=>[he(),he(),he(),he()]),(e=>q(e)?void 0:e+t)),[g,L,y]=Pe((()=>R)),S=(e,t,n)=>G(u(e),(([l,,s])=>{if(!ie(s,t)){const o=xe();if(c(e)!=I(e))Me(o,t);else{let e=t;for(;!q(e)&&!ie(o,e);)Me(o,e),e=ge(l,e)}if(n)return o;ye(s,t,o)}return ge(s,t)})),w=(e,t)=>G(u(e),(([,,e])=>ye(e,t))),I=e=>ge(n,e),R={setRelationshipDefinition:(e,t,r,i)=>(ye(n,e,r),v(e,t,((t,n)=>{const r=xe(),i=xe(),a=xe(),[d,c]=u(e);ue(n,(([t,n],l)=>{q(t)||(Me(i,t),G(ge(c,t),(e=>{ve(e,l),ae(e)&&ye(c,t)}))),q(n)||(Me(i,n),ie(c,n)||ye(c,n,xe()),Me(ge(c,n),l)),Me(r,l),ye(d,l,n),Le(ge(o,e),(t=>{ie(S(e,t),l)&&Me(a,t)}))})),t(),ue(r,(t=>L(l,[e,t]))),ue(i,(t=>L(s,[e,t]))),ue(a,(t=>{w(e,t),L(o,[e,t])}))}),Je(i)),R),delRelationshipDefinition:e=>(ye(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 ge(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>q(u(e))?[t]:de(S(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)=>(S(e,t),g(n,o,[e,t])),delListener:e=>(w(...y(e)),R),destroy:f,getListenerStats:()=>({})};return ee(R)})),Ye=e=>[e,e],Ze=()=>[he(),he()],_e=e=>[...e],et=([e,t])=>e===t,tt=(e,t,n)=>q(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),nt=(e,t,n)=>ye(e,t,ge(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,o=0;const d=he(),u=he(),y=he(),b=he(),m=he(),M=he(),D=he(),J=he(),A=he(),P=he(),j=he(),N=he(),W=he(),B=xe(),$=he(),U=he(),X=he(),Y=he(),Z=Ze(),_=Ze(),te=Ze(),re=Ze(),de=Ze(),Ve=Ze(),De=Ze(),Je=Ze(),Ae=Ze(),Oe=Ze(),je=Ze(),ze=Ze(),Ne=Ze(),We=Ze(),Be=he(),$e=Ze(),[qe,Ge,He,Ke]=Pe((()=>gn)),Ue=e=>{if(!tt(e,((e,t)=>C([r,i],t))))return!1;const t=e[r];return!(!H(t)&&t!=s||(me(e[i])!=t&&le(e,i),0))},Xe=(t,n)=>(!e||ie(P,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)=>G(ot(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,n,l,s)=>e?G(ge(ge(P,t),l),(e=>me(s)!=e[r]?Jt(t,n,l,s,e[i]):s),(()=>Jt(t,n,l,s))):q(me(s))?Jt(t,n,l,s):s,rt=(e,t)=>tt(t?e:dt(e),((t,n)=>G(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?G(ge(N,e),(t=>me(n)!=t[r]?At(e,n,t[i]):n),(()=>At(e,n))):q(me(n))?At(e,n):n,at=(e,t,n)=>(G(ge(j,t),(([l,s])=>{ue(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(s,(l=>{ne(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ue(W,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(B,(t=>{ne(e,t)||At(t)}))),e),ct=e=>we(P,e,((e,t,n)=>{const l=he(),s=xe();we(Se(P,t,he),n,((e,t,n)=>{ye(e,t,n),G(n[i],(e=>ye(l,t,e)),(()=>Me(s,t)))})),ye(j,t,[l,s])}),((e,t)=>{ye(P,t),ye(j,t)})),ut=e=>we(N,e,((e,t,n)=>{ye(N,t,n),G(n[i],(e=>ye(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{ye(N,t),ye(W,t),ve(B,t)})),vt=e=>oe(e)?on():en(e),ht=e=>we(X,e,((e,t,n)=>ft(t,n)),((e,t)=>pt(t))),ft=(e,t)=>we(Se(X,e,(()=>(mt(e,1),ye($,e,Fe()),ye(U,e,he()),he()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,s)=>we(Se(t,n,(()=>(Et(e,n,1),he()))),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)=>{ie(n,l)||kt(e,t,l,1);const o=ge(n,l);s!==o&&(xt(e,t,l,o,s),ye(n,l,s))},yt=(e,t,n,l,s)=>G(ge(t,n),(t=>Lt(e,n,t,l,s)),(()=>gt(e,t,n,at({[l]:s},e,n)))),St=e=>oe(e)?dn():tn(e),wt=e=>we(Y,e,((e,t,n)=>It(t,n)),((e,t)=>Vt(t))),It=(e,t)=>{ie(Y,e)||Mt(e,1);const n=ge(Y,e);t!==n&&(Dt(e,n,t),ye(Y,e,t))},Rt=(e,t)=>{const[n]=ge($,e),l=n(t);return ie(ge(X,e),l)?Rt(e,t):l},Tt=e=>{var t;return null!=(t=ge(X,e))?t:ft(e,{})},pt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=ge($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,s,o)=>{var r;const i=ge(null==(r=ge(j,e))?void 0:r[0],s);if(!q(i)&&!o)return Lt(e,n,l,s,i);const a=t=>{xt(e,n,t,ge(l,t)),kt(e,n,t,-1),ye(l,t)};q(i)?a(s):Le(l,a),ae(l)&&(Et(e,n,-1),ae(ye(t,n))&&(mt(e,-1),ye(X,e),ye($,e),ye(U,e)))},Vt=e=>{const t=ge(W,e);if(!q(t))return It(e,t);Dt(e,ge(Y,e)),Mt(e,-1),ye(Y,e)},mt=(e,t)=>nt(d,e,t),Et=(e,t,n)=>nt(Se(y,e,he),t,n),kt=(e,t,n,l)=>{var s;const o=ge(U,e),r=null!=(s=ge(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&nt(Se(u,e,he),n,l),ye(o,n,r!=-l?r+l:null),nt(Se(Se(b,e,he),t,he),n,l)},xt=(e,t,n,l,s)=>Se(Se(Se(m,e,he),t,he),n,(()=>[l,0]))[1]=s,Mt=(e,t)=>nt(M,e,t),Dt=(e,t,n)=>Se(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,s)=>(F(Se(Se(Se(J,e,he),t,he),n,(()=>[])),l),s),At=(e,t,n)=>(F(Se(A,e,(()=>[])),t),n),Ot=(e,t,n)=>G(ge(ge(ge(m,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(Xt(e,t,n))])),Ft=e=>G(ge(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(_t(e))])),Pt=e=>ae(J)||ae(Oe[e])?0:ue(e?be(J):J,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ge(Oe[e],[n,l,s],t))))))),jt=e=>ae(A)||ae(je[e])?0:ue(e?pe(A):A,((t,n)=>Ge(je[e],[n],t))),Qt=(e,t,n)=>{if(!ae(t))return Ge(e,n,(()=>Ie(t))),1},zt=e=>{const t=ae(Ve[e]),n=ae(Je[e])&&ae(re[e])&&ae(de[e])&&t&&ae(_[e]),l=ae(Ae[e])&&ae(De[e])&&ae(te[e])&&ae(Z[e]);if(!n||!l){const s=e?[pe(d),Ce(u),Ce(y),be(b),be(m)]:[d,u,y,b,m];if(!n){Qt(_[e],s[0]),ue(s[1],((t,n)=>Qt(re[e],t,[n])));const n=xe();ue(s[2],((l,s)=>{Qt(de[e],l,[s])&&!t&&(Ge(Ve[e],[s,null]),Me(n,s))})),t||ue(s[4],((t,l)=>{if(!ie(n,l)){const n=xe();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?Me(n,s):ve(e,s))))),ue(n,(t=>Ge(Ve[e],[l,t])))}})),ue(s[3],((t,n)=>ue(t,((t,l)=>Qt(Je[e],t,[n,l])))))}if(!l){let t;ue(s[4],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,o,a],i,n,Ot),t=s=r=1)})),r&&Ge(De[e],[l,o],Ot)})),s&&Ge(te[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=ae(Ne[e]),n=ae(We[e])&&ae(ze[e]);if(!t||!n){const l=e?[pe(M),pe(D)]:[M,D];if(t||Qt(Ne[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ge(We[e],[s],l,n,Ft),t=1)})),t&&Ge(ze[e],void 0,Ft)}}},Wt=(e,...t)=>(vn((()=>e(...x(t,p)))),gn),Bt=()=>[Ie(m,((e,t)=>-1===ge(d,t)?null:Ie(e,((e,n)=>-1===ge(ge(y,t),n)?null:Ie(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),oe)),oe),Ie(D,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Te(m,_e,et),invalidCells:Te(J),changedValues:Ie(D,_e,et),invalidValues:Ie(A),changedTableIds:Ie(d),changedRowIds:Re(y),changedCellIds:Te(b),changedValueIds:Ie(M)}),qt=()=>Te(X),Gt=()=>fe(X),Ht=e=>fe(ge(X,p(e))),Kt=(e,t,n,l=0,s)=>{return x(O(E((o=ge(X,p(e)),r=(e,n)=>[q(t)?n:ge(e,p(t)),n],x([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Qe(e,t)*(n?-1:1))),l,q(s)?s:l+s),(([,e])=>e));var o,r,i},Ut=(e,t)=>fe(ge(ge(X,p(e)),p(t))),Xt=(e,t,n)=>ge(ge(ge(X,p(e)),p(t)),p(n)),Yt=()=>Ie(Y),Zt=()=>fe(Y),_t=e=>ge(Y,p(e)),en=e=>Wt((()=>(e=>tt(e,Xe,Jt))(e)?ht(e):0)),tn=e=>Wt((()=>rt(e)?wt(e):0)),nn=e=>{try{vt(z(e))}catch(e){}return gn},ln=t=>Wt((()=>{if((e=tt(t,(e=>tt(e,Ue))))&&(ct(t),!ae(X))){const e=qt();on(),en(e)}})),sn=e=>Wt((()=>{if(t=(e=>tt(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),on=()=>Wt((()=>ht({}))),rn=e=>Wt((e=>ie(X,e)?pt(e):0),e),an=(e,t)=>Wt(((e,t)=>G(ge(X,e),(n=>ie(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!=o){hn();const n=e();return fn(t),n}},hn=()=>(-1!=o&&o++,1==o&&Ge(Be,void 0,Bt,$t),gn),fn=e=>(o>0&&(o--,0==o&&(n=!ae(m),l=!ae(D),o=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Bt,$t))&&(ue(m,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>Ee(gn,t,n,l,e))))))),ue(D,(([e],t)=>ke(gn,t,e))),n=l=!1),Ge($e[0],void 0,Bt,$t),o=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),Ge($e[1],void 0,Bt,$t),o=0,n=l=!1,k([d,u,y,b,m,J,M,D,A],ce))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Re(ge(X,p(e))),getTableCellIds:e=>fe(ge(U,p(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(ge(ge(X,p(e)),p(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ae(X),hasTable:e=>ie(X,p(e)),hasTableCell:(e,t)=>ie(ge(U,p(e)),p(t)),hasRow:(e,t)=>ie(ge(X,p(e)),p(t)),hasCell:(e,t,n)=>ie(ge(ge(X,p(e)),p(t)),p(n)),hasValues:()=>!ae(Y),hasValue:e=>ie(Y,p(e)),getTablesJson:()=>Q(X),getValuesJson:()=>Q(Y),getJson:()=>Q([X,Y]),getTablesSchemaJson:()=>Q(P),getValuesSchemaJson:()=>Q(N),getSchemaJson:()=>Q([P,N]),setContent:([e,t])=>Wt((()=>{(oe(e)?on:en)(e),(oe(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Wt((e=>Xe(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Wt(((e,t)=>st(e,t,n)?gt(e,Tt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return st(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(st(e,t,n,1)){const l=Tt(e);se(n,((n,s)=>yt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ot(e,t,n,K(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)?se(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>G(it(e,K(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{se(e[0],((e,t)=>q(e)?rn(t):se(e,((e,n)=>q(e)?an(t,n):se(e,((e,l)=>Ee(gn,t,n,l,e))))))),se(e[1],((e,t)=>ke(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{St(z(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=z(e);vt(t),St(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:sn,setSchema:(e,t)=>Wt((()=>{ln(e),sn(t)})),delTables:on,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ge(X,e),(s=>G(ge(s,t),(o=>ie(o,n)?bt(e,s,t,o,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Wt((e=>ie(Y,e)?Vt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Wt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(U,p(e)),t),forEachRow:(e,t)=>ue(ge(X,p(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(X,p(e)),p(t)),n),forEachValue:e=>Le(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))}),Ve[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),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 se({[h]:[0,Z],[f]:[0,_],[v]:[1,te,[Gt]],[v+w]:[1,re,[Gt]],[L]:[1,de,[Gt]],[g]:[2,De,[Gt,Ht]],[w]:[2,Je,[Gt,Ht]],[S]:[3,Ae,[Gt,Ht,Ut],e=>Ye(Xt(...e))],InvalidCell:[3,Oe],[R]:[0,ze],[T]:[0,Ne],[I]:[1,We,[Zt],e=>Ye(_t(e[0]))],InvalidValue:[1,je]},(([e,t,n,l],s)=>{gn[c+s+a]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(gn)};export{je as createCheckpoints,qe as createCustomPersister,ze as createIndexes,Be as createMetrics,Ue as createQueries,Xe as createRelationships,lt as createStore,Qe as defaultSorter};
|
package/lib/es6/tinybase.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,a=(a,e,n)=>t(a)?n?.():e(a),e=Object,n=e.keys,s=e.freeze,o=(t,e)=>a(t,(t=>t[e])),c=(a,e)=>!t(o(a,e)),i=(t,a)=>(delete t[a],t),r=(t,a)=>((t,a)=>t.map(a))(e.entries(t),(([t,e])=>a(e,t))),d=t=>n(t).length,y=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==d(t),u=(t,a)=>[t[a].t,t[a].v],v=(a,e,n,s)=>{const o=t(e)?a:((t,a,e)=>(c(t,a)||(t[a]={}),t[a]))(a,e);let d;return r(n,((t,a)=>{s(o,a,t)&&(d=1)})),r(o,((t,a)=>{c(n,a)||(i(o,a),d=1)})),!t(e)&&y(o)&&i(a,e),d},h=(e,n,c="tinybase")=>(n.change((t=>t[c]={})),((e,d,h,l,w)=>{let f,g,p,A=0,L=0,S=0;const C=[],b=async t=>{2!=A&&(A=1,await t(),A=0)},m={load:async(t
|
|
1
|
+
const t=t=>null==t,a=(a,e,n)=>t(a)?n?.():e(a),e=Object,n=e.keys,s=e.freeze,o=(t,e)=>a(t,(t=>t[e])),c=(a,e)=>!t(o(a,e)),i=(t,a)=>(delete t[a],t),r=(t,a)=>((t,a)=>t.map(a))(e.entries(t),(([t,e])=>a(e,t))),d=t=>n(t).length,y=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==d(t),u=(t,a)=>[t[a].t,t[a].v],v=(a,e,n,s)=>{const o=t(e)?a:((t,a,e)=>(c(t,a)||(t[a]={}),t[a]))(a,e);let d;return r(n,((t,a)=>{s(o,a,t)&&(d=1)})),r(o,((t,a)=>{c(n,a)||(i(o,a),d=1)})),!t(e)&&y(o)&&i(a,e),d},h=(e,n,c="tinybase")=>(n.change((t=>t[c]={})),((e,d,h,l,w)=>{let f,g,p,A=0,L=0,S=0;const C=[],b=async t=>{2!=A&&(A=1,await t(),A=0)},m={load:async(t,a)=>(await b((async()=>{try{e.setContent(await d())}catch{e.setContent([t,a])}})),m),startAutoLoad:async(t={},a={})=>(m.stopAutoLoad(),await m.load(t,a),S=1,p=(t=>{const a=({doc:a})=>t((()=>u(a,c)));return n.on("change",a),a})((async(t,a)=>{await b((async()=>{if(a)e.setTransactionChanges(a());else try{e.setContent(t?.()??await d())}catch{}}))})),m),stopAutoLoad:()=>{return S&&(t=p,n.removeListener("change",t),p=void 0,S=0),m;var t},save:async s=>(await m.schedule((async()=>{if(1!=A){A=2;try{await(async(e,s)=>n.change((n=>((e,n,s,c)=>{((t,a)=>{y(t[a])&&(t[a]={t:{},v:{}})})(e,n);const[d,h]=u(e,n),l=()=>{w=1};let w=1;if(a(c?.(),(([e,n])=>{w=0,r(e,((e,n)=>w?0:t(e)?i(d,n):a(d[n],(n=>r(e,((e,s)=>w?0:t(e)?i(n,s):a(o(n,s),(a=>r(e,((e,n)=>t(e)?i(a,n):a[n]=e))),l)))),l))),r(n,((a,e)=>w?0:t(a)?i(h,e):h[e]=a))})),w){const[t,a]=s();v(d,void 0,t,((t,a,e)=>v(d,a,e,((t,a,e)=>v(t,a,e,((t,a,e)=>{if(o(t,a)!==e)return t[a]=e,1})))))),v(h,void 0,a,((t,a,e)=>{o(h,a)!==e&&(h[a]=e)}))}})(n,c,e,s))))(e.getContent,s)}catch{}A=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),f=e.addDidFinishTransactionListener(((t,a)=>{const e=a();m.save((()=>e))})),m),stopAutoSave:()=>(a(f,e.delListener),m),schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(C,...a),await(async()=>{if(!L){for(L=1;!t((a=C,g=a.shift()));)try{await g()}catch{}L=0}var a})(),m),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(m)})(e,(async()=>2==d(n.doc[c])?u(n.doc,c):void 0)));export{h as createAutomergePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=JSON.parse,a=t=>null==t,e=Object.freeze,s="storage",n=globalThis.window,o=(o,r,c)=>((o,i,u,y,d)=>{let v,l,w,g=0,h=0,p=0;const S=[],A=async t=>{2!=g&&(g=1,await t(),g=0)},f={load:async(t
|
|
1
|
+
const t=JSON.parse,a=t=>null==t,e=Object.freeze,s="storage",n=globalThis.window,o=(o,r,c)=>((o,i,u,y,d)=>{let v,l,w,g=0,h=0,p=0;const S=[],A=async t=>{2!=g&&(g=1,await t(),g=0)},f={load:async(t,a)=>(await A((async()=>{try{o.setContent(await i())}catch{o.setContent([t,a])}})),f),startAutoLoad:async(a={},e={})=>(f.stopAutoLoad(),await f.load(a,e),p=1,w=(a=>{const e=e=>{e.storageArea===c&&e.key===r&&a((()=>t(e.newValue)))};return n.addEventListener(s,e),e})((async(t,a)=>{await A((async()=>{if(a)o.setTransactionChanges(a());else try{o.setContent(t?.()??await i())}catch{}}))})),f),stopAutoLoad:()=>{return p&&(t=w,n.removeEventListener(s,t),w=void 0,p=0),f;var t},save:async t=>(await f.schedule((async()=>{if(1!=g){g=2;try{await(async t=>{return c.setItem(r,(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))));var a})(o.getContent)}catch{}g=0}})),f),startAutoSave:async()=>(await f.stopAutoSave().save(),v=o.addDidFinishTransactionListener(((t,a)=>{const e=a();f.save((()=>e))})),f),stopAutoSave:()=>{var t,e;return t=v,e=o.delListener,a(t)||e(t),f},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(S,...t),await(async()=>{if(!h){for(h=1;!a((t=S,l=t.shift()));)try{await l()}catch{}h=0}var t})(),f),getStore:()=>o,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(f)})(o,(async()=>t(c.getItem(r)))),r=(t,a)=>o(t,a,localStorage),c=(t,a)=>o(t,a,sessionStorage);export{r as createLocalPersister,c as createSessionPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),r=a=>a.length,o=a=>0==r(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),r=a=>a.length,o=a=>0==r(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),w=Promise,u=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,p=async a=>w.all(a),A=Object,L=A.keys,T=A.freeze,h=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),C=(a,t)=>c(A.entries(a),(([a,e])=>t(e,a))),N=a=>A.values(a),O=a=>r(L(a)),R=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==O(a),g=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],I=(a,t)=>a?.delete(t),_=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>c([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(I(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",B=a=>`"${a.replace(/"/g,'""')}"`,j=a=>new Set(Array.isArray(a)||E(a)?a:[a]),k="SELECT*FROM",x="FROM pragma_table_",J="WHERE",U=J+" schema='main'AND type='table'AND name!='sqlite_schema'",Y=a=>{const t=_(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,w,u)=>{const d=j();C(u??{},(a=>c(L(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(o(E)&&g(t,s)&&w)return await a("DROP TABLE"+B(s)),void M(t,s);if(o(E)||g(t,s)){const e=D(t,s),n=j((v=e,[...v?.keys()??[]]));await p([...c(E,(async t=>{I(n,t)||(await a(`ALTER TABLE${B(s)}ADD${B(t)}`),M(e,t,""))})),...l?c(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${B(s)}DROP${B(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${B(s)}(${B(i)} PRIMARY KEY ON CONFLICT REPLACE${n(c(E,(a=>e+B(a))))});`),M(t,s,_([[i,""],...c(E,(a=>[a,""]))]));var v;if(o(E))await a("DELETE FROM"+B(s));else{const t=[],o=[],l=[];C(u,((a,e)=>{var s;y(t,`(?${s=r(E),",?".repeat(s)})`),y(o,e,...c(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+B(s)+"("+B(i)+n(c(E,(a=>e+B(a))))+")VALUES"+n(t,e),o),await a("DELETE FROM"+B(s)+J+B(i)+"NOT IN("+n(c(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,h(await p(c(await a("SELECT name "+x+"list "+U),(async({name:t})=>[t,h(c(await a("SELECT name,type "+x+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((r=_,g(n=t,c=e)||M(n,c,r()),D(n,c)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,c,r}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(k+B(t)+J+B(e)+"=?",["_"]):[];return o(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?h(i(c(await a(k+B(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!R(t)))):{},l]},q=(a,t,e,s,n)=>{let c,r,o,i=0,l=0,w=0;const u=[],d=async a=>{2!=i&&(i=1,await a(),i=0)},m={load:async(e,s)=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),m),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),w=1,o=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),m),stopAutoLoad:()=>(w&&(n(o),o=void 0,w=0),m),save:async t=>(await m.schedule((async()=>{if(1!=i){i=2;try{await e(a.getContent,t)}catch{}i=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const e=t();m.save((()=>e))})),m),stopAutoSave:()=>(v(c,a.delListener),m),schedule:async(...a)=>(y(u,...a),await(async()=>{if(!l){for(l=1;!E((a=u,r=a.shift()));)try{await r()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(m)},z="store",H=(a,e,s,n,{storeTableName:c=t})=>{const[r,o,i]=Y(e),l=q(a,(async()=>(await r(),u((await o(c,P)??{})[z]))),(async a=>l.schedule(r,(async()=>{var t;await i(c,P,"_",{[z]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},K="rowIdColumnName",V="tableId",W="tableName",G={load:0,save:0,[W]:t+"_values"},Q=(a,t,e,s)=>{const n=_();return C(a,((a,c)=>{const r=l(N(f(t,m(a)?{[e]:a}:a)),0,O(t));E(r[0])||s(c,r[0])||M(n,c,r)})),n},X=(a,t,e,s,n)=>{const[c,r,[o,y,w]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(N(f(G,e)),0,O(G)),n=s[2];return[Q(a,{[V]:null,[K]:P},V,(a=>a==n)),Q(t,{[W]:null,[K]:P,deleteEmptyColumns:0,deleteEmptyTable:0},W,((a,t)=>t==n)),s]})(n),[u,d,v,m,A]=Y(t),L=q(a,(async()=>{await u();const a=await(async()=>h(i(await p($(c,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!R(a[1])))))(),t=await(async()=>o?await d(w,P):{})();return R(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();L.schedule(u,...(a=>$(r,(([t,e,s,n],c)=>async()=>await A(t,e,s,n,a[c]))))(t),(a=>y?async()=>await v(w,P,"_",a):null)(e))}),e,s);return L},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",ca=(a,t,e,s,n)=>{const c=f(ta,m(t)?{storeTableName:t}:t??{});let r,o;return(c.mode==Z?H:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(r??=t)&&s==(o??=s)||(a(),r=t,o=s)}catch{}}),1e3*c[aa]),s(a)]),(([a,t])=>{clearInterval(a),r=o=null,n(t)}),c)},ra=(a,t,e)=>ca(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate((()=>a()))),(a=>a()));export{ra as createCrSqliteWasmPersister};
|
|
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=JSON.parse,o=t=>null==t,r=Object.freeze,c=(c,i)=>((a,n,c,u,y)=>{let d,v,f,p=0,w=0,h=0;const l=[],A=async t=>{2!=p&&(p=1,await t(),p=0)},S={load:async(t
|
|
1
|
+
import{watch as t}from"fs";import{readFile as a,writeFile as s}from"fs/promises";const e="utf8",n=JSON.parse,o=t=>null==t,r=Object.freeze,c=(c,i)=>((a,n,c,u,y)=>{let d,v,f,p=0,w=0,h=0;const l=[],A=async t=>{2!=p&&(p=1,await t(),p=0)},S={load:async(t,s)=>(await A((async()=>{try{a.setContent(await n())}catch{a.setContent([t,s])}})),S),startAutoLoad:async(s={},e={})=>{return S.stopAutoLoad(),await S.load(s,e),h=1,o=async(t,s)=>{await A((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(t?.()??await n())}catch{}}))},f=t(i,(()=>o())),S;var o},stopAutoLoad:()=>{return h&&(t=f,t?.close(),f=void 0,h=0),S;var t},save:async t=>(await S.schedule((async()=>{if(1!=p){p=2;try{await(async t=>{return await s(i,(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(s=(t,[a,s])=>(t[a]=s,t),e={},[...a].reduce(s,e)):a;var s,e}))),e);var a})(a.getContent)}catch{}p=0}})),S),startAutoSave:async()=>(await S.stopAutoSave().save(),d=a.addDidFinishTransactionListener(((t,a)=>{const s=a();S.save((()=>s))})),S),stopAutoSave:()=>{var t,s;return t=d,s=a.delListener,o(t)||s(t),S},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(l,...t),await(async()=>{if(!w){for(w=1;!o((t=l,v=t.shift()));)try{await v()}catch{}w=0}var t})(),S),getStore:()=>a,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(S)})(c,(async()=>n(await a(i,e))));export{c as createFilePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=JSON.parse,a=t=>null==t,e=Object.freeze,s=t=>t.headers.get("ETag"),n=(n,o,r,c)=>{let i;return((t,n,y,d,u)=>{let h,v,w,l=0,p=0,f=0;const A=[],S=async t=>{2!=l&&(l=1,await t(),l=0)},g={load:async(a
|
|
1
|
+
const t=JSON.parse,a=t=>null==t,e=Object.freeze,s=t=>t.headers.get("ETag"),n=(n,o,r,c)=>{let i;return((t,n,y,d,u)=>{let h,v,w,l=0,p=0,f=0;const A=[],S=async t=>{2!=l&&(l=1,await t(),l=0)},g={load:async(a,e)=>(await S((async()=>{try{t.setContent(await n())}catch{t.setContent([a,e])}})),g),startAutoLoad:async(e={},r={})=>{return g.stopAutoLoad(),await g.load(e,r),f=1,y=async(a,e)=>{await S((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await n())}catch{}}))},w=setInterval((async()=>{const t=await fetch(o,{method:"HEAD"}),e=s(t);a(i)||a(e)||e==i||(i=e,y())}),1e3*c),g;var y},stopAutoLoad:()=>(f&&(clearInterval(w),w=void 0,f=0),g),save:async a=>(await g.schedule((async()=>{if(1!=l){l=2;try{await(async t=>{return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s})))});var a})(t.getContent)}catch{}l=0}})),g),startAutoSave:async()=>(await g.stopAutoSave().save(),h=t.addDidFinishTransactionListener(((t,a)=>{const e=a();g.save((()=>e))})),g),stopAutoSave:()=>{var e,s;return e=h,s=t.delListener,a(e)||s(e),g},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(A,...t),await(async()=>{if(!p){for(p=1;!a((t=A,v=t.shift()));)try{await v()}catch{}p=0}var t})(),g),getStore:()=>t,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(g)})(n,(async()=>{const a=await fetch(o);return i=s(a),t(await a.text())}))};export{n as createRemotePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),o=(a,t)=>a.map(t),c=a=>a.length,r=a=>0==c(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),p=t=>a(t)==s,m=async a=>u.all(a),A=Object,h=A.keys,L=A.freeze,T=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),R=(a,t)=>(delete a[t],a),S=(a,t)=>o(A.entries(a),(([a,e])=>t(e,a))),C=a=>A.values(a),N=a=>c(h(a)),_=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==N(a),O=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],g=(a,t)=>a?.delete(t),I=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>o([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(g(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(S(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",j=a=>`"${a.replace(/"/g,'""')}"`,k=a=>new Set(Array.isArray(a)||E(a)?a:[a]),B="SELECT*FROM",q="FROM pragma_table_",x="WHERE",J=x+" schema='main'AND type='table'AND name!='sqlite_schema'",V=a=>{const t=I(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,u,w)=>{const d=k();S(w??{},(a=>o(h(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(r(E)&&O(t,s)&&u)return await a("DROP TABLE"+j(s)),void M(t,s);if(r(E)||O(t,s)){const e=D(t,s),n=k((v=e,[...v?.keys()??[]]));await m([...o(E,(async t=>{g(n,t)||(await a(`ALTER TABLE${j(s)}ADD${j(t)}`),M(e,t,""))})),...l?o(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${j(s)}DROP${j(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${j(s)}(${j(i)} PRIMARY KEY ON CONFLICT REPLACE${n(o(E,(a=>e+j(a))))});`),M(t,s,I([[i,""],...o(E,(a=>[a,""]))]));var v;if(r(E))await a("DELETE FROM"+j(s));else{const t=[],r=[],l=[];S(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(r,e,...o(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+j(s)+"("+j(i)+n(o(E,(a=>e+j(a))))+")VALUES"+n(t,e),r),await a("DELETE FROM"+j(s)+x+j(i)+"NOT IN("+n(o(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,T(await m(o(await a("SELECT name "+q+"list "+J),(async({name:t})=>[t,T(o(await a("SELECT name,type "+q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=I,O(n=t,o=e)||M(n,o,c()),D(n,o)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,o,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(B+j(t)+x+j(e)+"=?",["_"]):[];return r(n)?null:R(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?T(i(o(await a(B+j(t)),(a=>[a[e],R(a,e)])),(([a,t])=>!E(a)&&!_(t)))):
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),o=(a,t)=>a.map(t),c=a=>a.length,r=a=>0==c(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),p=t=>a(t)==s,m=async a=>u.all(a),A=Object,h=A.keys,L=A.freeze,T=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),R=(a,t)=>(delete a[t],a),S=(a,t)=>o(A.entries(a),(([a,e])=>t(e,a))),C=a=>A.values(a),N=a=>c(h(a)),_=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==N(a),O=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],g=(a,t)=>a?.delete(t),I=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>o([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(g(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(S(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",j=a=>`"${a.replace(/"/g,'""')}"`,k=a=>new Set(Array.isArray(a)||E(a)?a:[a]),B="SELECT*FROM",q="FROM pragma_table_",x="WHERE",J=x+" schema='main'AND type='table'AND name!='sqlite_schema'",V=a=>{const t=I(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,u,w)=>{const d=k();S(w??{},(a=>o(h(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(r(E)&&O(t,s)&&u)return await a("DROP TABLE"+j(s)),void M(t,s);if(r(E)||O(t,s)){const e=D(t,s),n=k((v=e,[...v?.keys()??[]]));await m([...o(E,(async t=>{g(n,t)||(await a(`ALTER TABLE${j(s)}ADD${j(t)}`),M(e,t,""))})),...l?o(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${j(s)}DROP${j(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${j(s)}(${j(i)} PRIMARY KEY ON CONFLICT REPLACE${n(o(E,(a=>e+j(a))))});`),M(t,s,I([[i,""],...o(E,(a=>[a,""]))]));var v;if(r(E))await a("DELETE FROM"+j(s));else{const t=[],r=[],l=[];S(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(r,e,...o(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+j(s)+"("+j(i)+n(o(E,(a=>e+j(a))))+")VALUES"+n(t,e),r),await a("DELETE FROM"+j(s)+x+j(i)+"NOT IN("+n(o(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,T(await m(o(await a("SELECT name "+q+"list "+J),(async({name:t})=>[t,T(o(await a("SELECT name,type "+q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=I,O(n=t,o=e)||M(n,o,c()),D(n,o)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,o,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(B+j(t)+x+j(e)+"=?",["_"]):[];return r(n)?null:R(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?T(i(o(await a(B+j(t)),(a=>[a[e],R(a,e)])),(([a,t])=>!E(a)&&!_(t)))):{},l]},Y=(a,t,e,s,n)=>{let o,c,r,i=0,l=0,u=0;const w=[],d=async a=>{2!=i&&(i=1,await a(),i=0)},p={load:async(e,s)=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),p),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),u=1,r=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),p),stopAutoLoad:()=>(u&&(n(r),r=void 0,u=0),p),save:async t=>(await p.schedule((async()=>{if(1!=i){i=2;try{await e(a.getContent,t)}catch{}i=0}})),p),startAutoSave:async()=>(await p.stopAutoSave().save(),o=a.addDidFinishTransactionListener(((a,t)=>{const e=t();p.save((()=>e))})),p),stopAutoSave:()=>(v(o,a.delListener),p),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,c=a.shift()));)try{await c()}catch{}l=0}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(p)},z="store",H=(a,e,s,n,{storeTableName:o=t})=>{const[c,r,i]=V(e),l=Y(a,(async()=>(await c(),w((await r(o,P)??{})[z]))),(async a=>l.schedule(c,(async()=>{var t;await i(o,P,"_",{[z]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},K="rowIdColumnName",U="tableId",W="tableName",G={load:0,save:0,[W]:t+"_values"},Q=(a,t,e,s)=>{const n=I();return S(a,((a,o)=>{const c=l(C(f(t,p(a)?{[e]:a}:a)),0,N(t));E(c[0])||s(o,c[0])||M(n,o,c)})),n},X=(a,t,e,s,n)=>{const[o,c,[r,y,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(C(f(G,e)),0,N(G)),n=s[2];return[Q(a,{[U]:null,[K]:P},U,(a=>a==n)),Q(t,{[W]:null,[K]:P,deleteEmptyColumns:0,deleteEmptyTable:0},W,((a,t)=>t==n)),s]})(n),[w,d,v,p,A]=V(t),h=Y(a,(async()=>{await w();const a=await(async()=>T(i(await m($(o,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>r?await d(u,P):{})();return _(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();h.schedule(w,...(a=>$(c,(([t,e,s,n],o)=>async()=>await A(t,e,s,n,a[o]))))(t),(a=>y?async()=>await v(u,P,"_",a):null)(e))}),e,s);return h},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",oa=(a,t,e,s,n)=>{const o=f(ta,p(t)?{storeTableName:t}:t??{});let c,r;return(o.mode==Z?H:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(c??=t)&&s==(r??=s)||(a(),c=t,r=s)}catch{}}),1e3*o[aa]),s(a)]),(([a,t])=>{clearInterval(a),c=r=null,n(t)}),o)},ca=(a,t,e,s)=>oa(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,(()=>a()),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)));export{ca as createSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),r=(a,t)=>a.map(t),c=a=>a.length,o=a=>0==c(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,p=async a=>u.all(a),A=Object,L=A.keys,T=A.freeze,h=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),C=(a,t)=>r(A.entries(a),(([a,e])=>t(e,a))),N=a=>A.values(a),R=a=>c(L(a)),O=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==R(a),g=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],I=(a,t)=>a?.delete(t),_=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>r([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(I(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",B=a=>`"${a.replace(/"/g,'""')}"`,j=a=>new Set(Array.isArray(a)||E(a)?a:[a]),k="SELECT*FROM",J="FROM pragma_table_",Y="WHERE",q=Y+" schema='main'AND type='table'AND name!='sqlite_schema'",x=a=>{const t=_(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,u,w)=>{const d=j();C(w??{},(a=>r(L(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(o(E)&&g(t,s)&&u)return await a("DROP TABLE"+B(s)),void M(t,s);if(o(E)||g(t,s)){const e=D(t,s),n=j((v=e,[...v?.keys()??[]]));await p([...r(E,(async t=>{I(n,t)||(await a(`ALTER TABLE${B(s)}ADD${B(t)}`),M(e,t,""))})),...l?r(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${B(s)}DROP${B(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${B(s)}(${B(i)} PRIMARY KEY ON CONFLICT REPLACE${n(r(E,(a=>e+B(a))))});`),M(t,s,_([[i,""],...r(E,(a=>[a,""]))]));var v;if(o(E))await a("DELETE FROM"+B(s));else{const t=[],o=[],l=[];C(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(o,e,...r(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+B(s)+"("+B(i)+n(r(E,(a=>e+B(a))))+")VALUES"+n(t,e),o),await a("DELETE FROM"+B(s)+Y+B(i)+"NOT IN("+n(r(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,h(await p(r(await a("SELECT name "+J+"list "+q),(async({name:t})=>[t,h(r(await a("SELECT name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=_,g(n=t,r=e)||M(n,r,c()),D(n,r)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,r,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(k+B(t)+Y+B(e)+"=?",["_"]):[];return o(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?h(i(r(await a(k+B(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!O(t)))):
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),r=(a,t)=>a.map(t),c=a=>a.length,o=a=>0==c(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,p=async a=>u.all(a),A=Object,L=A.keys,T=A.freeze,h=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),C=(a,t)=>r(A.entries(a),(([a,e])=>t(e,a))),N=a=>A.values(a),R=a=>c(L(a)),O=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==R(a),g=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],I=(a,t)=>a?.delete(t),_=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>r([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(I(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",B=a=>`"${a.replace(/"/g,'""')}"`,j=a=>new Set(Array.isArray(a)||E(a)?a:[a]),k="SELECT*FROM",J="FROM pragma_table_",Y="WHERE",q=Y+" schema='main'AND type='table'AND name!='sqlite_schema'",x=a=>{const t=_(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,u,w)=>{const d=j();C(w??{},(a=>r(L(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(o(E)&&g(t,s)&&u)return await a("DROP TABLE"+B(s)),void M(t,s);if(o(E)||g(t,s)){const e=D(t,s),n=j((v=e,[...v?.keys()??[]]));await p([...r(E,(async t=>{I(n,t)||(await a(`ALTER TABLE${B(s)}ADD${B(t)}`),M(e,t,""))})),...l?r(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${B(s)}DROP${B(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${B(s)}(${B(i)} PRIMARY KEY ON CONFLICT REPLACE${n(r(E,(a=>e+B(a))))});`),M(t,s,_([[i,""],...r(E,(a=>[a,""]))]));var v;if(o(E))await a("DELETE FROM"+B(s));else{const t=[],o=[],l=[];C(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(o,e,...r(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+B(s)+"("+B(i)+n(r(E,(a=>e+B(a))))+")VALUES"+n(t,e),o),await a("DELETE FROM"+B(s)+Y+B(i)+"NOT IN("+n(r(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,h(await p(r(await a("SELECT name "+J+"list "+q),(async({name:t})=>[t,h(r(await a("SELECT name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=_,g(n=t,r=e)||M(n,r,c()),D(n,r)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,r,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(k+B(t)+Y+B(e)+"=?",["_"]):[];return o(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?h(i(r(await a(k+B(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!O(t)))):{},l]},z=(a,t,e,s,n)=>{let r,c,o,i=0,l=0,u=0;const w=[],d=async a=>{2!=i&&(i=1,await a(),i=0)},m={load:async(e,s)=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),m),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),u=1,o=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),m),stopAutoLoad:()=>(u&&(n(o),o=void 0,u=0),m),save:async t=>(await m.schedule((async()=>{if(1!=i){i=2;try{await e(a.getContent,t)}catch{}i=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((a,t)=>{const e=t();m.save((()=>e))})),m),stopAutoSave:()=>(v(r,a.delListener),m),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,c=a.shift()));)try{await c()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(m)},H="store",K=(a,e,s,n,{storeTableName:r=t})=>{const[c,o,i]=x(e),l=z(a,(async()=>(await c(),w((await o(r,P)??{})[H]))),(async a=>l.schedule(c,(async()=>{var t;await i(r,P,"_",{[H]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},U="rowIdColumnName",V="tableId",W="tableName",G={load:0,save:0,[W]:t+"_values"},Q=(a,t,e,s)=>{const n=_();return C(a,((a,r)=>{const c=l(N(f(t,m(a)?{[e]:a}:a)),0,R(t));E(c[0])||s(r,c[0])||M(n,r,c)})),n},X=(a,t,e,s,n)=>{const[r,c,[o,y,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(N(f(G,e)),0,R(G)),n=s[2];return[Q(a,{[V]:null,[U]:P},V,(a=>a==n)),Q(t,{[W]:null,[U]:P,deleteEmptyColumns:0,deleteEmptyTable:0},W,((a,t)=>t==n)),s]})(n),[w,d,v,m,A]=x(t),L=z(a,(async()=>{await w();const a=await(async()=>h(i(await p($(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!O(a[1])))))(),t=await(async()=>o?await d(u,P):{})();return O(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();L.schedule(w,...(a=>$(c,(([t,e,s,n],r)=>async()=>await A(t,e,s,n,a[r]))))(t),(a=>y?async()=>await v(u,P,"_",a):null)(e))}),e,s);return L},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",ra=(a,t,e,s,n)=>{const r=f(ta,m(t)?{storeTableName:t}:t??{});let c,o;return(r.mode==Z?K:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(c??=t)&&s==(o??=s)||(a(),c=t,o=s)}catch{}}),1e3*r[aa]),s(a)]),(([a,t])=>{clearInterval(a),c=o=null,n(t)}),r)},ca="change",oa=(a,t,e)=>ra(a,e,((a,e=[])=>new u(((s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t.map((a=>({...a}))))))))),(a=>{const e=()=>a();return t.on(ca,e),e}),(a=>t.off(ca,a)));export{oa as createSqlite3Persister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Map as t}from"yjs";const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,c=o.freeze,r=(t=[])=>o.fromEntries(t),i=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),d=(t,e,a)=>(i(t,e)||(t[e]=a()),t[e]),u=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),g="t",y="delete",v=t=>[t.get(g),t.get("v")],h=(e,a,n,o)=>{const c=s(a)?e:e.get(a)??e.set(a,new t);let r;return l(n,((t,e)=>{o(c,e,t)&&(r=1)})),c.forEach(((t,e)=>{i(n,e)||(c.delete(e),r=1)})),s(a)||c.size||e.delete(a),r},p=(o,i,p="tinybase")=>{const f=i.getMap(p);return((o,p,w,S,A)=>{let O,J,L,N=0,C=0,b=0;const m=[],z=async t=>{2!=N&&(N=1,await t(),N=0)},E={load:async(t
|
|
1
|
+
import{Map as t}from"yjs";const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,c=o.freeze,r=(t=[])=>o.fromEntries(t),i=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),d=(t,e,a)=>(i(t,e)||(t[e]=a()),t[e]),u=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),g="t",y="delete",v=t=>[t.get(g),t.get("v")],h=(e,a,n,o)=>{const c=s(a)?e:e.get(a)??e.set(a,new t);let r;return l(n,((t,e)=>{o(c,e,t)&&(r=1)})),c.forEach(((t,e)=>{i(n,e)||(c.delete(e),r=1)})),s(a)||c.size||e.delete(a),r},p=(o,i,p="tinybase")=>{const f=i.getMap(p);return((o,p,w,S,A)=>{let O,J,L,N=0,C=0,b=0;const m=[],z=async t=>{2!=N&&(N=1,await t(),N=0)},E={load:async(t,e)=>(await z((async()=>{try{o.setContent(await p())}catch{o.setContent([t,e])}})),E),startAutoLoad:async(t={},s={})=>(E.stopAutoLoad(),await E.load(t,s),b=1,L=(t=>{const s=s=>t(void 0,(()=>((t,s)=>{if(1==e(s)&&(o=s[0].path,0==e(o)))return[t.get("t").toJSON(),t.get("v").toJSON()];var o;const[c,i]=v(t),l={},h={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==g?n(a(t),(s=>{const o=d(l,s,r),i=c.get(s);n(a(t),(t=>{const a=d(o,t,r),s=i.get(t);u(e,((t,{action:e})=>a[t]=e==y?null:s.get(t)))}),(()=>u(e,((t,{action:e})=>o[t]=e==y?null:i.get(t)?.toJSON()))))}),(()=>u(e,((t,{action:e})=>l[t]=e==y?null:c.get(t)?.toJSON())))):u(e,((t,{action:e})=>h[t]=e==y?null:i.get(t)))))})(s),[l,h]})(f,s)));return f.observeDeep(s),s})((async(t,e)=>{await z((async()=>{if(e)o.setTransactionChanges(e());else try{o.setContent(t?.()??await p())}catch{}}))})),E),stopAutoLoad:()=>{return b&&(t=L,f.unobserveDeep(t),L=void 0,b=0),E;var t},save:async e=>(await E.schedule((async()=>{if(1!=N){N=2;try{await(async(e,a)=>i.transact((()=>((e,a,o)=>{(e=>{e.size||(e.set(g,new t),e.set("v",new t))})(e);const[c,r]=v(e),i=()=>{d=1};let d=1;if(n(o?.(),(([t,e])=>{d=0,l(t,((t,e)=>d?0:s(t)?c.delete(e):n(c.get(e),(e=>l(t,((t,a)=>d?0:s(t)?e.delete(a):n(e.get(a),(e=>l(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),i)))),i))),l(e,((t,e)=>d?0:s(t)?r.delete(e):r.set(e,t)))})),d){const[t,e]=a();h(c,void 0,t,((t,e,a)=>h(c,e,a,((t,e,a)=>h(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),h(r,void 0,e,((t,e,a)=>{r.get(e)!==a&&r.set(e,a)}))}})(f,e,a))))(o.getContent,e)}catch{}N=0}})),E),startAutoSave:async()=>(await E.stopAutoSave().save(),O=o.addDidFinishTransactionListener(((t,e)=>{const a=e();E.save((()=>a))})),E),stopAutoSave:()=>(n(O,o.delListener),E),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(m,...t),await(async()=>{if(!C){for(C=1;!s(J=a(m));)try{await J()}catch{}C=0}})(),E),getStore:()=>o,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c(E)})(o,(async()=>f.size?[f.get(g).toJSON(),f.get("v").toJSON()]:void 0))};export{p as createYjsPersister};
|
|
Binary file
|
package/lib/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,a=Object.freeze,s=(s,e,o,n,c)=>{let i,r,y,d=0,u=0,w=0;const h=[],v=async t=>{2!=d&&(d=1,await t(),d=0)},l={load:async(t
|
|
1
|
+
const t=t=>null==t,a=Object.freeze,s=(s,e,o,n,c)=>{let i,r,y,d=0,u=0,w=0;const h=[],v=async t=>{2!=d&&(d=1,await t(),d=0)},l={load:async(t,a)=>(await v((async()=>{try{s.setContent(await e())}catch{s.setContent([t,a])}})),l),startAutoLoad:async(t={},a={})=>(l.stopAutoLoad(),await l.load(t,a),w=1,y=n((async(t,a)=>{await v((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await e())}catch{}}))})),l),stopAutoLoad:()=>(w&&(c(y),y=void 0,w=0),l),save:async t=>(await l.schedule((async()=>{if(1!=d){d=2;try{await o(s.getContent,t)}catch{}d=0}})),l),startAutoSave:async()=>(await l.stopAutoSave().save(),i=s.addDidFinishTransactionListener(((t,a)=>{const s=a();l.save((()=>s))})),l),stopAutoSave:()=>{var a,e;return a=i,e=s.delListener,t(a)||e(a),l},schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(h,...a),await(async()=>{if(!u){for(u=1;!t((a=h,r=a.shift()));)try{await r()}catch{}u=0}var a})(),l),getStore:()=>s,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(l)};export{s as createCustomPersister};
|
package/lib/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),l=e(!0),n=e(0),a=e(e),r="type",o="default",c="Ids",i="Table",d=i+"s",u=i+c,h="Row"+c,g="Cell",f=g+c,T="Value",V=T+"s",b=T+c,C=e=>t+e,v=(e,t)=>e.forEach(t),S=(e,t)=>e.map(t),w=e=>e.length,I=(e,t,s)=>e.slice(t,s),R=(e,...t)=>e.push(...t),y=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),J=JSON.parse,m=isFinite,p=(e,t)=>e instanceof t,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),F=e=>e==s||e==l,z=t=>e(t)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,t)=>!L(((e,t)=>E(e,(e=>e[t])))(e,t)),j=(e,t)=>(delete e[t],e),x=(e,t)=>S(O.entries(e),(([e,s])=>t(s,e))),D=e=>N(e)&&0==(e=>w(k(e)))(e),W=(e,t)=>e?.has(t)??!1,$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,t)=>e?.forEach(t),G=(e,t)=>e?.delete(t),H=e=>new Map(e),K=e=>[...e?.keys()??[]],Q=(e,t)=>e?.get(t),U=(e,t)=>B(e,((e,s)=>t(s,e))),X=(e,t,s)=>L(s)?(G(e,t),e):e?.set(t,s),Y=(e,t,s)=>(W(e,t)||X(e,t,s()),Q(e,t)),Z=(e,t,s,l=X)=>(x(t,((t,l)=>s(e,l,t))),U(e,(s=>P(t,s)?0:l(e,s))),e),_=(e,t,s)=>{const l={};return B(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},ee=(e,t,s)=>_(e,(e=>_(e,t,s)),D),te=(e,t,s)=>_(e,(e=>ee(e,t,s)),D),se=(e,t)=>{const s=H();return B(e,((e,l)=>s.set(l,t?.(e)??e))),s},le=e=>se(e,se),ne=e=>se(e,le),ae=(e,t,s,l,n=0)=>E((s?Y:Q)(e,t[n],n>w(t)-2?s:H),(a=>{if(n>w(t)-2)return l?.(a)&&X(e,t[n]),a;const r=ae(a,t,s,l,n+1);return $(a)&&X(e,t[n]),r})),re=e=>new Set(Array.isArray(e)||L(e)?e:[e]),oe=(e,t)=>e?.add(t),ce=/^\d+$/,ie=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ce.test(t)&&w(e)<1e3&&R(e,t)}]},de=e=>[e,e],ue=()=>[H(),H()],he=e=>[...e],ge=([e,t])=>e===t,fe=t=>{const s=e(t);return F(s)||s==n&&m(t)?s:void 0},Te=(e,t,s,l,n)=>L(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ve=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),be=(e,t,s)=>L(e)||!N(e)||D(e)||A(e)?(s?.(),!1):(x(e,((s,l)=>{t(s,l)||j(e,l)})),!D(e)),Ce=(e,t,s)=>X(e,t,Q(e,t)==-s?void 0:s),ve=()=>{let e,s,l=!1,a=!1,c=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),ce=H(),Se=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=H(),me=re(),pe=H(),Le=H(),Ee=H(),Fe=H(),ze=ue(),Oe=ue(),ke=ue(),Ae=ue(),Me=ue(),Ne=ue(),Pe=ue(),je=ue(),xe=ue(),De=ue(),We=ue(),$e=ue(),qe=ue(),Be=ue(),Ge=H(),He=ue(),[Ke,Qe,Ue,Xe]=(e=>{let s;const[l,n]=ie(),a=H();return[(e,n,r,o=[],c=(()=>[]))=>{s??=is;const i=l(1);return X(a,i,[e,n,r,o,c]),oe(ae(n,r??[t],re),i),i},(e,l,...n)=>v(((e,s=[t])=>{const l=[],n=(e,t)=>t==w(s)?R(l,e):null===s[t]?B(e,(e=>n(e,t+1))):v([s[t],null],(s=>n(Q(e,s),t+1)));return n(e,0),l})(e,l),(e=>B(e,(e=>Q(a,e)[0](s,...l??[],...n))))),e=>E(Q(a,e),(([,s,l])=>(ae(s,l??[t],void 0,(t=>(G(t,e),$(t)?1:0))),X(a,e),n(e),l))),e=>E(Q(a,e),(([e,,t=[],l,n])=>{const a=(...r)=>{const o=w(r);o==w(t)?e(s,...r,...n(r)):L(t[o])?v(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),Ye=e=>{if(!be(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=n||(fe(e[o])!=t&&j(e,o),0))},Ze=(t,s)=>(!e||W(Ie,s)||Lt(s))&&be(t,((e,t)=>_e(s,t,e)),(()=>Lt(s))),_e=(e,t,s,l)=>be(l?s:lt(s,e,t),((l,n)=>E(et(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Lt(e,t))),et=(t,s,l,n)=>e?E(Q(Q(Ie,t),l),(e=>fe(n)!=e[r]?Lt(t,s,l,n,e[o]):n),(()=>Lt(t,s,l,n))):L(fe(n))?Lt(t,s,l,n):n,tt=(e,t)=>be(t?e:nt(e),((t,s)=>E(st(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Et())),st=(e,t)=>s?E(Q(ye,e),(s=>fe(t)!=s[r]?Et(e,t,s[o]):t),(()=>Et(e,t))):L(fe(t))?Et(e,t):t,lt=(e,t,s)=>(E(Q(Re,t),(([l,n])=>{B(l,((t,s)=>{P(e,s)||(e[s]=t)})),B(n,(l=>{P(e,l)||Lt(t,s,l)}))})),e),nt=e=>(s&&(B(Je,((t,s)=>{P(e,s)||(e[s]=t)})),B(me,(t=>{P(e,t)||Et(t)}))),e),at=e=>Z(Ie,e,((e,t,s)=>{const l=H(),n=re();Z(Y(Ie,t,H),s,((e,t,s)=>{X(e,t,s),E(s[o],(e=>X(l,t,e)),(()=>oe(n,t)))})),X(Re,t,[l,n])}),((e,t)=>{X(Ie,t),X(Re,t)})),rt=e=>Z(ye,e,((e,t,s)=>{X(ye,t,s),E(s[o],(e=>X(Je,t,e)),(()=>oe(me,t)))}),((e,t)=>{X(ye,t),X(Je,t),G(me,t)})),ot=e=>D(e)?es():Ut(e),ct=e=>Z(Ee,e,((e,t,s)=>it(t,s)),((e,t)=>Ct(t))),it=(e,t)=>Z(Y(Ee,e,(()=>(It(e,1),X(pe,e,ie()),X(Le,e,H()),H()))),t,((t,s,l)=>dt(e,t,s,l)),((t,s)=>vt(e,t,s))),dt=(e,t,s,l,n)=>Z(Y(t,s,(()=>(Rt(e,s,1),H()))),l,((t,l,n)=>ut(e,s,t,l,n)),((l,a)=>St(e,t,s,l,a,n))),ut=(e,t,s,l,n)=>{W(s,l)||yt(e,t,l,1);const a=Q(s,l);n!==a&&(Jt(e,t,l,a,n),X(s,l,n))},ht=(e,t,s,l,n)=>E(Q(t,s),(t=>ut(e,s,t,l,n)),(()=>dt(e,t,s,lt({[l]:n},e,s)))),gt=e=>D(e)?ls():Xt(e),ft=e=>Z(Fe,e,((e,t,s)=>Tt(t,s)),((e,t)=>wt(t))),Tt=(e,t)=>{W(Fe,e)||mt(e,1);const s=Q(Fe,e);t!==s&&(pt(e,s,t),X(Fe,e,t))},Vt=(e,t)=>{const[s]=Q(pe,e),l=s(t);return W(Q(Ee,e),l)?Vt(e,t):l},bt=e=>Q(Ee,e)??it(e,{}),Ct=e=>it(e,{}),vt=(e,t,s)=>{const[,l]=Q(pe,e);l(s),dt(e,t,s,{},!0)},St=(e,t,s,l,n,a)=>{const r=Q(Q(Re,e)?.[0],n);if(!L(r)&&!a)return ut(e,s,l,n,r);const o=t=>{Jt(e,s,t,Q(l,t)),yt(e,s,t,-1),X(l,t)};L(r)?o(n):U(l,o),$(l)&&(Rt(e,s,-1),$(X(t,s))&&(It(e,-1),X(Ee,e),X(pe,e),X(Le,e)))},wt=e=>{const t=Q(Je,e);if(!L(t))return Tt(e,t);pt(e,Q(Fe,e)),mt(e,-1),X(Fe,e)},It=(e,t)=>Ce(m,e,t),Rt=(e,t,s)=>Ce(Y(O,e,H),t,s),yt=(e,t,s,l)=>{const n=Q(Le,e),a=Q(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&Ce(Y(p,e,H),s,l),X(n,s,a!=-l?a+l:null),Ce(Y(Y(k,e,H),t,H),s,l)},Jt=(e,t,s,l,n)=>Y(Y(Y(A,e,H),t,H),s,(()=>[l,0]))[1]=n,mt=(e,t)=>Ce(N,e,t),pt=(e,t,s)=>Y(ce,e,(()=>[t,0]))[1]=s,Lt=(e,t,s,l,n)=>(R(Y(Y(Y(Se,e,H),t,H),s,(()=>[])),l),n),Et=(e,t,s)=>(R(Y(we,e,(()=>[])),t),s),Ft=(e,t,s)=>E(Q(Q(Q(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...de(Gt(e,t,s))])),zt=e=>E(Q(ce,e),(([e,t])=>[!0,e,t]),(()=>[!1,...de(Qt(e))])),Ot=e=>$(Se)||$(De[e])?0:B(e?ne(Se):Se,((t,s)=>B(t,((t,l)=>B(t,((t,n)=>Qe(De[e],[s,l,n],t))))))),kt=e=>$(we)||$(We[e])?0:B(e?se(we):we,((t,s)=>Qe(We[e],[s],t))),At=(e,t,s)=>{if(!$(t))return Qe(e,s,(()=>_(t))),1},Mt=e=>{const t=$(Ne[e]),s=$(je[e])&&$(Ae[e])&&$(Me[e])&&t&&$(Oe[e]),l=$(xe[e])&&$(Pe[e])&&$(ke[e])&&$(ze[e]);if(!s||!l){const n=e?[se(m),le(p),le(O),ne(k),ne(A)]:[m,p,O,k,A];if(!s){At(Oe[e],n[0]),B(n[1],((t,s)=>At(Ae[e],t,[s])));const s=re();B(n[2],((l,n)=>{At(Me[e],l,[n])&&!t&&(Qe(Ne[e],[n,null]),oe(s,n))})),t||B(n[4],((t,l)=>{if(!W(s,l)){const s=re();B(t,(e=>B(e,(([t,l],n)=>l!==t?oe(s,n):G(e,n))))),B(s,(t=>Qe(Ne[e],[l,t])))}})),B(n[3],((t,s)=>B(t,((t,l)=>At(je[e],t,[s,l])))))}if(!l){let t;B(n[4],((s,l)=>{let n;B(s,((s,a)=>{let r;B(s,(([s,o],c)=>{o!==s&&(Qe(xe[e],[l,a,c],o,s,Ft),t=n=r=1)})),r&&Qe(Pe[e],[l,a],Ft)})),n&&Qe(ke[e],[l],Ft)})),t&&Qe(ze[e],void 0,Ft)}}},Nt=e=>{const t=$(qe[e]),s=$(Be[e])&&$($e[e]);if(!t||!s){const l=e?[se(N),se(ce)]:[N,ce];if(t||At(qe[e],l[0]),!s){let t;B(l[1],(([s,l],n)=>{l!==s&&(Qe(Be[e],[n],l,s,zt),t=1)})),t&&Qe($e[e],void 0,zt)}}},Pt=(e,...t)=>(rs((()=>e(...S(t,C)))),is),jt=()=>[_(A,((e,t)=>-1===Q(m,t)?null:_(e,((e,s)=>-1===Q(Q(O,t),s)?null:_(e,(([,e])=>e??null),((e,t)=>ge(t)))),D)),D),_(ce,(([,e])=>e??null),((e,t)=>ge(t)))],xt=()=>({cellsTouched:l,valuesTouched:a,changedCells:te(A,he,ge),invalidCells:te(Se),changedValues:_(ce,he,ge),invalidValues:_(we),changedTableIds:_(m),changedRowIds:ee(O),changedCellIds:te(k),changedValueIds:_(N)}),Dt=()=>te(Ee),Wt=()=>K(Ee),$t=e=>K(Q(Ee,C(e))),qt=(e,t,s,l=0,n)=>{return S(I((r=Q(Ee,C(e)),o=(e,s)=>[L(t)?s:Q(e,C(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),S([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),l,L(n)?n:l+n),(([,e])=>e));var a,r,o},Bt=(e,t)=>K(Q(Q(Ee,C(e)),C(t))),Gt=(e,t,s)=>Q(Q(Q(Ee,C(e)),C(t)),C(s)),Ht=()=>_(Fe),Kt=()=>K(Fe),Qt=e=>Q(Fe,C(e)),Ut=e=>Pt((()=>(e=>be(e,Ze,Lt))(e)?ct(e):0)),Xt=e=>Pt((()=>tt(e)?ft(e):0)),Yt=e=>{try{ot(J(e))}catch{}return is},Zt=t=>Pt((()=>{if((e=be(t,(e=>be(e,Ye))))&&(at(t),!$(Ee))){const e=Dt();es(),Ut(e)}})),_t=e=>Pt((()=>{if(s=(e=>be(e,Ye))(e)){const t=Ht();as(),ls(),s=!0,rt(e),Xt(t)}})),es=()=>Pt((()=>ct({}))),ts=e=>Pt((e=>W(Ee,e)?Ct(e):0),e),ss=(e,t)=>Pt(((e,t)=>E(Q(Ee,e),(s=>W(s,t)?vt(e,s,t):0))),e,t),ls=()=>Pt((()=>ft({}))),ns=()=>Pt((()=>{at({}),e=!1})),as=()=>Pt((()=>{rt({}),s=!1})),rs=(e,t)=>{if(-1!=c){os();const s=e();return cs(t),s}},os=()=>(-1!=c&&c++,1==c&&Qe(Ge,void 0,jt,xt),is),cs=e=>(c>0&&(c--,0==c&&(l=!$(A),a=!$(ce),c=1,Ot(1),l&&Mt(1),kt(1),a&&Nt(1),e?.(jt,xt)&&(B(A,((e,t)=>B(e,((e,s)=>B(e,(([e],l)=>Te(is,t,s,l,e))))))),B(ce,(([e],t)=>Ve(is,t,e))),l=a=!1),Qe(He[0],void 0,jt,xt),c=-1,Ot(0),l&&Mt(0),kt(0),a&&Nt(0),Qe(He[1],void 0,jt,xt),c=0,l=a=!1,v([m,p,O,k,A,Se,N,ce,we],q))),is),is={getContent:()=>[Dt(),Ht()],getTables:Dt,getTableIds:Wt,getTable:e=>ee(Q(Ee,C(e))),getTableCellIds:e=>K(Q(Le,C(e))),getRowIds:$t,getSortedRowIds:qt,getRow:(e,t)=>_(Q(Q(Ee,C(e)),C(t))),getCellIds:Bt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Qt,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,C(e)),hasTableCell:(e,t)=>W(Q(Le,C(e)),C(t)),hasRow:(e,t)=>W(Q(Ee,C(e)),C(t)),hasCell:(e,t,s)=>W(Q(Q(Ee,C(e)),C(t)),C(s)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,C(e)),getTablesJson:()=>y(Ee),getValuesJson:()=>y(Fe),getJson:()=>y([Ee,Fe]),getTablesSchemaJson:()=>y(Ie),getValuesSchemaJson:()=>y(ye),getSchemaJson:()=>y([Ie,ye]),setContent:([e,t])=>Pt((()=>{Ut(e),Xt(t)})),setTables:Ut,setTable:(e,t)=>Pt((e=>Ze(t,e)?it(e,t):0),e),setRow:(e,t,s)=>Pt(((e,t)=>_e(e,t,s)?dt(e,bt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>rs((()=>{let l;return _e(e,l,t)&&(e=C(e),dt(e,bt(e),l=Vt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Pt(((e,t)=>{if(_e(e,t,s,1)){const l=bt(e);x(s,((s,n)=>ht(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Pt(((e,t,s)=>E(et(e,t,s,z(l)?l(Gt(e,t,s)):l),(l=>ht(e,bt(e),t,s,l)))),e,t,s),setValues:Xt,setPartialValues:e=>Pt((()=>tt(e,1)?x(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Pt((e=>E(st(e,z(t)?t(Qt(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Pt((()=>{x(e[0],((e,t)=>L(e)?ts(t):x(e,((e,s)=>L(e)?ss(t,s):x(e,((e,l)=>Te(is,t,s,l,e))))))),x(e[1],((e,t)=>Ve(is,t,e)))})),setTablesJson:Yt,setValuesJson:e=>{try{gt(J(e))}catch{}return is},setJson:e=>{try{const[t,s]=J(e);ot(t),gt(s)}catch{Yt(e)}return is},setTablesSchema:Zt,setValuesSchema:_t,setSchema:(e,t)=>Pt((()=>{Zt(e),_t(t)})),delTables:es,delTable:ts,delRow:ss,delCell:(e,t,s,l)=>Pt(((e,t,s)=>E(Q(Ee,e),(n=>E(Q(n,t),(a=>W(a,s)?St(e,n,t,a,s,l):0))))),e,t,s),delValues:ls,delValue:e=>Pt((e=>W(Fe,e)?wt(e):0),e),delTablesSchema:ns,delValuesSchema:as,delSchema:()=>Pt((()=>{ns(),as()})),transaction:rs,startTransaction:os,finishTransaction:cs,forEachTable:e=>B(Ee,((t,s)=>e(s,(e=>B(t,((t,s)=>e(s,(e=>U(t,e))))))))),forEachTableCell:(e,t)=>U(Q(Le,C(e)),t),forEachRow:(e,t)=>B(Q(Ee,C(e)),((e,s)=>t(s,(t=>U(e,t))))),forEachCell:(e,t,s)=>U(Q(Q(Ee,C(e)),C(t)),s),forEachValue:e=>U(Fe,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=qt(e,t,s,l,n);return Ke((()=>{const r=qt(e,t,s,l,n);var c,i,d;i=o,w(c=r)===w(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(is,e,t,s,l,n,o))}),Ne[r?1:0],[e,t],[Wt])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),is),delListener:e=>(Ue(e),is),getListenerStats:()=>({}),createStore:ve};return x({[d]:[0,ze],[u]:[0,Oe],[i]:[1,ke,[Wt]],[i+f]:[1,Ae,[Wt]],[h]:[1,Me,[Wt]],Row:[2,Pe,[Wt,$t]],[f]:[2,je,[Wt,$t]],[g]:[3,xe,[Wt,$t,Bt],e=>de(Gt(...e))],InvalidCell:[3,De],[V]:[0,$e],[b]:[0,qe],[T]:[1,Be,[Kt],e=>de(Qt(e[0]))],InvalidValue:[1,We]},(([e,t,s,l],n)=>{is["add"+n+"Listener"]=(...n)=>Ke(n[e],t[n[e+1]?1:0],e>0?I(n,0,e):void 0,s,l)})),M(is)};export{ve as createStore};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),l=e(!0),n=e(0),a=e(e),r="type",o="default",c="Ids",i="Table",d=i+"s",u=i+c,h="Row"+c,g="Cell",f=g+c,T="Value",V=T+"s",b=T+c,C=e=>t+e,v=(e,t)=>e.forEach(t),S=(e,t)=>e.map(t),w=e=>e.length,I=(e,t,s)=>e.slice(t,s),R=(e,...t)=>e.push(...t),y=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),J=JSON.parse,m=isFinite,p=(e,t)=>e instanceof t,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),F=e=>e==s||e==l,z=t=>e(t)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,t)=>!L(((e,t)=>E(e,(e=>e[t])))(e,t)),j=(e,t)=>(delete e[t],e),x=(e,t)=>S(O.entries(e),(([e,s])=>t(s,e))),D=e=>N(e)&&0==(e=>w(k(e)))(e),W=(e,t)=>e?.has(t)??!1,$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,t)=>e?.forEach(t),G=(e,t)=>e?.delete(t),H=e=>new Map(e),K=e=>[...e?.keys()??[]],Q=(e,t)=>e?.get(t),U=(e,t)=>B(e,((e,s)=>t(s,e))),X=(e,t,s)=>L(s)?(G(e,t),e):e?.set(t,s),Y=(e,t,s)=>(W(e,t)||X(e,t,s()),Q(e,t)),Z=(e,t,s,l=X)=>(x(t,((t,l)=>s(e,l,t))),U(e,(s=>P(t,s)?0:l(e,s))),e),_=(e,t,s)=>{const l={};return B(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},ee=(e,t,s)=>_(e,(e=>_(e,t,s)),D),te=(e,t,s)=>_(e,(e=>ee(e,t,s)),D),se=(e,t)=>{const s=H();return B(e,((e,l)=>s.set(l,t?.(e)??e))),s},le=e=>se(e,se),ne=e=>se(e,le),ae=(e,t,s,l,n=0)=>E((s?Y:Q)(e,t[n],n>w(t)-2?s:H),(a=>{if(n>w(t)-2)return l?.(a)&&X(e,t[n]),a;const r=ae(a,t,s,l,n+1);return $(a)&&X(e,t[n]),r})),re=e=>new Set(Array.isArray(e)||L(e)?e:[e]),oe=(e,t)=>e?.add(t),ce=/^\d+$/,ie=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ce.test(t)&&w(e)<1e3&&R(e,t)}]},de=e=>[e,e],ue=()=>[H(),H()],he=e=>[...e],ge=([e,t])=>e===t,fe=t=>{const s=e(t);return F(s)||s==n&&m(t)?s:void 0},Te=(e,t,s,l,n)=>L(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ve=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),be=(e,t,s)=>L(e)||!N(e)||D(e)||A(e)?(s?.(),!1):(x(e,((s,l)=>{t(s,l)||j(e,l)})),!D(e)),Ce=(e,t,s)=>X(e,t,Q(e,t)==-s?void 0:s),ve=()=>{let e,s,l=!1,a=!1,c=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),ce=H(),Se=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=H(),me=re(),pe=H(),Le=H(),Ee=H(),Fe=H(),ze=ue(),Oe=ue(),ke=ue(),Ae=ue(),Me=ue(),Ne=ue(),Pe=ue(),je=ue(),xe=ue(),De=ue(),We=ue(),$e=ue(),qe=ue(),Be=ue(),Ge=H(),He=ue(),[Ke,Qe,Ue,Xe]=(e=>{let s;const[l,n]=ie(),a=H();return[(e,n,r,o=[],c=(()=>[]))=>{s??=is;const i=l(1);return X(a,i,[e,n,r,o,c]),oe(ae(n,r??[t],re),i),i},(e,l,...n)=>v(((e,s=[t])=>{const l=[],n=(e,t)=>t==w(s)?R(l,e):null===s[t]?B(e,(e=>n(e,t+1))):v([s[t],null],(s=>n(Q(e,s),t+1)));return n(e,0),l})(e,l),(e=>B(e,(e=>Q(a,e)[0](s,...l??[],...n))))),e=>E(Q(a,e),(([,s,l])=>(ae(s,l??[t],void 0,(t=>(G(t,e),$(t)?1:0))),X(a,e),n(e),l))),e=>E(Q(a,e),(([e,,t=[],l,n])=>{const a=(...r)=>{const o=w(r);o==w(t)?e(s,...r,...n(r)):L(t[o])?v(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),Ye=e=>{if(!be(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=n||(fe(e[o])!=t&&j(e,o),0))},Ze=(t,s)=>(!e||W(Ie,s)||Lt(s))&&be(t,((e,t)=>_e(s,t,e)),(()=>Lt(s))),_e=(e,t,s,l)=>be(l?s:lt(s,e,t),((l,n)=>E(et(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Lt(e,t))),et=(t,s,l,n)=>e?E(Q(Q(Ie,t),l),(e=>fe(n)!=e[r]?Lt(t,s,l,n,e[o]):n),(()=>Lt(t,s,l,n))):L(fe(n))?Lt(t,s,l,n):n,tt=(e,t)=>be(t?e:nt(e),((t,s)=>E(st(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Et())),st=(e,t)=>s?E(Q(ye,e),(s=>fe(t)!=s[r]?Et(e,t,s[o]):t),(()=>Et(e,t))):L(fe(t))?Et(e,t):t,lt=(e,t,s)=>(E(Q(Re,t),(([l,n])=>{B(l,((t,s)=>{P(e,s)||(e[s]=t)})),B(n,(l=>{P(e,l)||Lt(t,s,l)}))})),e),nt=e=>(s&&(B(Je,((t,s)=>{P(e,s)||(e[s]=t)})),B(me,(t=>{P(e,t)||Et(t)}))),e),at=e=>Z(Ie,e,((e,t,s)=>{const l=H(),n=re();Z(Y(Ie,t,H),s,((e,t,s)=>{X(e,t,s),E(s[o],(e=>X(l,t,e)),(()=>oe(n,t)))})),X(Re,t,[l,n])}),((e,t)=>{X(Ie,t),X(Re,t)})),rt=e=>Z(ye,e,((e,t,s)=>{X(ye,t,s),E(s[o],(e=>X(Je,t,e)),(()=>oe(me,t)))}),((e,t)=>{X(ye,t),X(Je,t),G(me,t)})),ot=e=>D(e)?es():Ut(e),ct=e=>Z(Ee,e,((e,t,s)=>it(t,s)),((e,t)=>Ct(t))),it=(e,t)=>Z(Y(Ee,e,(()=>(It(e,1),X(pe,e,ie()),X(Le,e,H()),H()))),t,((t,s,l)=>dt(e,t,s,l)),((t,s)=>vt(e,t,s))),dt=(e,t,s,l,n)=>Z(Y(t,s,(()=>(Rt(e,s,1),H()))),l,((t,l,n)=>ut(e,s,t,l,n)),((l,a)=>St(e,t,s,l,a,n))),ut=(e,t,s,l,n)=>{W(s,l)||yt(e,t,l,1);const a=Q(s,l);n!==a&&(Jt(e,t,l,a,n),X(s,l,n))},ht=(e,t,s,l,n)=>E(Q(t,s),(t=>ut(e,s,t,l,n)),(()=>dt(e,t,s,lt({[l]:n},e,s)))),gt=e=>D(e)?ls():Xt(e),ft=e=>Z(Fe,e,((e,t,s)=>Tt(t,s)),((e,t)=>wt(t))),Tt=(e,t)=>{W(Fe,e)||mt(e,1);const s=Q(Fe,e);t!==s&&(pt(e,s,t),X(Fe,e,t))},Vt=(e,t)=>{const[s]=Q(pe,e),l=s(t);return W(Q(Ee,e),l)?Vt(e,t):l},bt=e=>Q(Ee,e)??it(e,{}),Ct=e=>it(e,{}),vt=(e,t,s)=>{const[,l]=Q(pe,e);l(s),dt(e,t,s,{},!0)},St=(e,t,s,l,n,a)=>{const r=Q(Q(Re,e)?.[0],n);if(!L(r)&&!a)return ut(e,s,l,n,r);const o=t=>{Jt(e,s,t,Q(l,t)),yt(e,s,t,-1),X(l,t)};L(r)?o(n):U(l,o),$(l)&&(Rt(e,s,-1),$(X(t,s))&&(It(e,-1),X(Ee,e),X(pe,e),X(Le,e)))},wt=e=>{const t=Q(Je,e);if(!L(t))return Tt(e,t);pt(e,Q(Fe,e)),mt(e,-1),X(Fe,e)},It=(e,t)=>Ce(m,e,t),Rt=(e,t,s)=>Ce(Y(O,e,H),t,s),yt=(e,t,s,l)=>{const n=Q(Le,e),a=Q(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&Ce(Y(p,e,H),s,l),X(n,s,a!=-l?a+l:null),Ce(Y(Y(k,e,H),t,H),s,l)},Jt=(e,t,s,l,n)=>Y(Y(Y(A,e,H),t,H),s,(()=>[l,0]))[1]=n,mt=(e,t)=>Ce(N,e,t),pt=(e,t,s)=>Y(ce,e,(()=>[t,0]))[1]=s,Lt=(e,t,s,l,n)=>(R(Y(Y(Y(Se,e,H),t,H),s,(()=>[])),l),n),Et=(e,t,s)=>(R(Y(we,e,(()=>[])),t),s),Ft=(e,t,s)=>E(Q(Q(Q(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...de(Gt(e,t,s))])),zt=e=>E(Q(ce,e),(([e,t])=>[!0,e,t]),(()=>[!1,...de(Qt(e))])),Ot=e=>$(Se)||$(De[e])?0:B(e?ne(Se):Se,((t,s)=>B(t,((t,l)=>B(t,((t,n)=>Qe(De[e],[s,l,n],t))))))),kt=e=>$(we)||$(We[e])?0:B(e?se(we):we,((t,s)=>Qe(We[e],[s],t))),At=(e,t,s)=>{if(!$(t))return Qe(e,s,(()=>_(t))),1},Mt=e=>{const t=$(Ne[e]),s=$(je[e])&&$(Ae[e])&&$(Me[e])&&t&&$(Oe[e]),l=$(xe[e])&&$(Pe[e])&&$(ke[e])&&$(ze[e]);if(!s||!l){const n=e?[se(m),le(p),le(O),ne(k),ne(A)]:[m,p,O,k,A];if(!s){At(Oe[e],n[0]),B(n[1],((t,s)=>At(Ae[e],t,[s])));const s=re();B(n[2],((l,n)=>{At(Me[e],l,[n])&&!t&&(Qe(Ne[e],[n,null]),oe(s,n))})),t||B(n[4],((t,l)=>{if(!W(s,l)){const s=re();B(t,(e=>B(e,(([t,l],n)=>l!==t?oe(s,n):G(e,n))))),B(s,(t=>Qe(Ne[e],[l,t])))}})),B(n[3],((t,s)=>B(t,((t,l)=>At(je[e],t,[s,l])))))}if(!l){let t;B(n[4],((s,l)=>{let n;B(s,((s,a)=>{let r;B(s,(([s,o],c)=>{o!==s&&(Qe(xe[e],[l,a,c],o,s,Ft),t=n=r=1)})),r&&Qe(Pe[e],[l,a],Ft)})),n&&Qe(ke[e],[l],Ft)})),t&&Qe(ze[e],void 0,Ft)}}},Nt=e=>{const t=$(qe[e]),s=$(Be[e])&&$($e[e]);if(!t||!s){const l=e?[se(N),se(ce)]:[N,ce];if(t||At(qe[e],l[0]),!s){let t;B(l[1],(([s,l],n)=>{l!==s&&(Qe(Be[e],[n],l,s,zt),t=1)})),t&&Qe($e[e],void 0,zt)}}},Pt=(e,...t)=>(rs((()=>e(...S(t,C)))),is),jt=()=>[_(A,((e,t)=>-1===Q(m,t)?null:_(e,((e,s)=>-1===Q(Q(O,t),s)?null:_(e,(([,e])=>e??null),((e,t)=>ge(t)))),D)),D),_(ce,(([,e])=>e??null),((e,t)=>ge(t)))],xt=()=>({cellsTouched:l,valuesTouched:a,changedCells:te(A,he,ge),invalidCells:te(Se),changedValues:_(ce,he,ge),invalidValues:_(we),changedTableIds:_(m),changedRowIds:ee(O),changedCellIds:te(k),changedValueIds:_(N)}),Dt=()=>te(Ee),Wt=()=>K(Ee),$t=e=>K(Q(Ee,C(e))),qt=(e,t,s,l=0,n)=>{return S(I((r=Q(Ee,C(e)),o=(e,s)=>[L(t)?s:Q(e,C(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),S([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),l,L(n)?n:l+n),(([,e])=>e));var a,r,o},Bt=(e,t)=>K(Q(Q(Ee,C(e)),C(t))),Gt=(e,t,s)=>Q(Q(Q(Ee,C(e)),C(t)),C(s)),Ht=()=>_(Fe),Kt=()=>K(Fe),Qt=e=>Q(Fe,C(e)),Ut=e=>Pt((()=>(e=>be(e,Ze,Lt))(e)?ct(e):0)),Xt=e=>Pt((()=>tt(e)?ft(e):0)),Yt=e=>{try{ot(J(e))}catch{}return is},Zt=t=>Pt((()=>{if((e=be(t,(e=>be(e,Ye))))&&(at(t),!$(Ee))){const e=Dt();es(),Ut(e)}})),_t=e=>Pt((()=>{if(s=(e=>be(e,Ye))(e)){const t=Ht();as(),ls(),s=!0,rt(e),Xt(t)}})),es=()=>Pt((()=>ct({}))),ts=e=>Pt((e=>W(Ee,e)?Ct(e):0),e),ss=(e,t)=>Pt(((e,t)=>E(Q(Ee,e),(s=>W(s,t)?vt(e,s,t):0))),e,t),ls=()=>Pt((()=>ft({}))),ns=()=>Pt((()=>{at({}),e=!1})),as=()=>Pt((()=>{rt({}),s=!1})),rs=(e,t)=>{if(-1!=c){os();const s=e();return cs(t),s}},os=()=>(-1!=c&&c++,1==c&&Qe(Ge,void 0,jt,xt),is),cs=e=>(c>0&&(c--,0==c&&(l=!$(A),a=!$(ce),c=1,Ot(1),l&&Mt(1),kt(1),a&&Nt(1),e?.(jt,xt)&&(B(A,((e,t)=>B(e,((e,s)=>B(e,(([e],l)=>Te(is,t,s,l,e))))))),B(ce,(([e],t)=>Ve(is,t,e))),l=a=!1),Qe(He[0],void 0,jt,xt),c=-1,Ot(0),l&&Mt(0),kt(0),a&&Nt(0),Qe(He[1],void 0,jt,xt),c=0,l=a=!1,v([m,p,O,k,A,Se,N,ce,we],q))),is),is={getContent:()=>[Dt(),Ht()],getTables:Dt,getTableIds:Wt,getTable:e=>ee(Q(Ee,C(e))),getTableCellIds:e=>K(Q(Le,C(e))),getRowIds:$t,getSortedRowIds:qt,getRow:(e,t)=>_(Q(Q(Ee,C(e)),C(t))),getCellIds:Bt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Qt,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,C(e)),hasTableCell:(e,t)=>W(Q(Le,C(e)),C(t)),hasRow:(e,t)=>W(Q(Ee,C(e)),C(t)),hasCell:(e,t,s)=>W(Q(Q(Ee,C(e)),C(t)),C(s)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,C(e)),getTablesJson:()=>y(Ee),getValuesJson:()=>y(Fe),getJson:()=>y([Ee,Fe]),getTablesSchemaJson:()=>y(Ie),getValuesSchemaJson:()=>y(ye),getSchemaJson:()=>y([Ie,ye]),setContent:([e,t])=>Pt((()=>{(D(e)?es:Ut)(e),(D(t)?ls:Xt)(t)})),setTables:Ut,setTable:(e,t)=>Pt((e=>Ze(t,e)?it(e,t):0),e),setRow:(e,t,s)=>Pt(((e,t)=>_e(e,t,s)?dt(e,bt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>rs((()=>{let l;return _e(e,l,t)&&(e=C(e),dt(e,bt(e),l=Vt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Pt(((e,t)=>{if(_e(e,t,s,1)){const l=bt(e);x(s,((s,n)=>ht(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Pt(((e,t,s)=>E(et(e,t,s,z(l)?l(Gt(e,t,s)):l),(l=>ht(e,bt(e),t,s,l)))),e,t,s),setValues:Xt,setPartialValues:e=>Pt((()=>tt(e,1)?x(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Pt((e=>E(st(e,z(t)?t(Qt(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Pt((()=>{x(e[0],((e,t)=>L(e)?ts(t):x(e,((e,s)=>L(e)?ss(t,s):x(e,((e,l)=>Te(is,t,s,l,e))))))),x(e[1],((e,t)=>Ve(is,t,e)))})),setTablesJson:Yt,setValuesJson:e=>{try{gt(J(e))}catch{}return is},setJson:e=>{try{const[t,s]=J(e);ot(t),gt(s)}catch{Yt(e)}return is},setTablesSchema:Zt,setValuesSchema:_t,setSchema:(e,t)=>Pt((()=>{Zt(e),_t(t)})),delTables:es,delTable:ts,delRow:ss,delCell:(e,t,s,l)=>Pt(((e,t,s)=>E(Q(Ee,e),(n=>E(Q(n,t),(a=>W(a,s)?St(e,n,t,a,s,l):0))))),e,t,s),delValues:ls,delValue:e=>Pt((e=>W(Fe,e)?wt(e):0),e),delTablesSchema:ns,delValuesSchema:as,delSchema:()=>Pt((()=>{ns(),as()})),transaction:rs,startTransaction:os,finishTransaction:cs,forEachTable:e=>B(Ee,((t,s)=>e(s,(e=>B(t,((t,s)=>e(s,(e=>U(t,e))))))))),forEachTableCell:(e,t)=>U(Q(Le,C(e)),t),forEachRow:(e,t)=>B(Q(Ee,C(e)),((e,s)=>t(s,(t=>U(e,t))))),forEachCell:(e,t,s)=>U(Q(Q(Ee,C(e)),C(t)),s),forEachValue:e=>U(Fe,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=qt(e,t,s,l,n);return Ke((()=>{const r=qt(e,t,s,l,n);var c,i,d;i=o,w(c=r)===w(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(is,e,t,s,l,n,o))}),Ne[r?1:0],[e,t],[Wt])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),is),delListener:e=>(Ue(e),is),getListenerStats:()=>({}),createStore:ve};return x({[d]:[0,ze],[u]:[0,Oe],[i]:[1,ke,[Wt]],[i+f]:[1,Ae,[Wt]],[h]:[1,Me,[Wt]],Row:[2,Pe,[Wt,$t]],[f]:[2,je,[Wt,$t]],[g]:[3,xe,[Wt,$t,Bt],e=>de(Gt(...e))],InvalidCell:[3,De],[V]:[0,$e],[b]:[0,qe],[T]:[1,Be,[Kt],e=>de(Qt(e[0]))],InvalidValue:[1,We]},(([e,t,s,l],n)=>{is["add"+n+"Listener"]=(...n)=>Ke(n[e],t[n[e+1]?1:0],e>0?I(n,0,e):void 0,s,l)})),M(is)};export{ve as createStore};
|
package/lib/store.js.gz
CHANGED
|
Binary file
|